CUxD Device-Log in eine Datenbank

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
FranzW
Beiträge: 2
Registriert: 23.11.2013, 16:26

CUxD Device-Log in eine Datenbank

Beitrag von FranzW » 26.11.2013, 21:00

Hallo,
vorab ein Lob für eine wirklich nützliche Erweiterung der HM an Uwe.

Ich habe nach langer Irrfahrt durch die Hausautomatisierungs-Systeme eine CCU2 mit CUxD und CUL, einige Aktoren und Sensoren für die HM sowie eine bunte Mischung anderer Teile wie Wetterstation und Energie-Messung von ELV und anderen Herstellern sowie selbstgebaute Sensoren. Mein Ziel ist, diese alle in eine Datenbank ( zZt. mySQL auf einem RaspBerry) zu bekommen.

Ein erster Ansatz, zumindest für HM-Sensoren, war der Einsatz des CCU Historian. Das hat funktioniert, soweit es HM-Konforme Geräte betrifft. Die mir wichtige Energie-Aufzeichnung über CUxD hat wie bei anderen im Forum nicht funktioniert. Ausserdem wil ich nur von mir festgelegte Daten in der Datenbank speichern.

Deshalb denke ich an ein Verfahren, dass ich schon früher in großem Umfang ( Datenaufzeichnung in der Elektronikproduktion mit über 100 unterschiedlichen Datenquellen und über 1.5 Mio. Datensätzen pro Jahr ) verwendet habe.

Das Verfahren beruht auf der Fähigkeit der verwendeten Geräte, ein File im Netzwerk schreiben zu können. Das kann CUxD grundsätzlich schon, allerdings kann ich jeweils nur die Daten bis Mitternacht des Vortages in die Datenbank importieren. Ich möchte aber auch Zugriff auf die Echtzeit-Daten haben.

Daher folgender Vorschlag an Uwe :

Jede Zeile, die an die Device-Log-Datei angehängt wird, auch in einen User-definierten Pfad als Einzel-File zu schreiben. Dieses File wird von einem Dienst gelesen, interpretiert und in einer Datenbank eingefügt.

in den temorären Filenamen : DATUM_ZEIT.TMP zB: 2013-11-19T21-51-05.TMP
wird der Inhalt : 2013-11-19T21:51:05 KEQ0005268:1.TEMPERATURE 20.900000<CR><LF>
geschrieben, wobei auch mehrere zusammengehörige, durch <CR><LF> getrennte Zeilen pro File zulässig sind.

Danach wird das File von CUxD umbenannt in : DATUM_ZEIT.DAT zB: 2013-11-19T21-51-05.DAT

Ein Dienst auf dem Raspberry wartet auf Files mit der Extension .DAT
Diese werden gelesen, ausgewertet, in die Datenbank geschrieben und anschließend das File gelöscht.

Das Umbenennen hat den Zweck, das File während des Schreibens vor dem vorzeitigen Zugriff durch den Dienst zu verstecken -> File-Locking ;o) .

Sobald die Daten in der Datenbank verfügbar sind, gibt es ja unzählige Möglichkeiten, diese auszuwerten und grafisch darzustellen.

Ich denke, das könnte auch für andere von Interesse sein. Das Verfahren funktioniert übrigens auch mit Arduinos + Ethernet- oder WIFI-Shield als Datenquelle.

Ciao
Franz

klassisch
Beiträge: 3974
Registriert: 24.03.2011, 04:32
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 110 Mal
Danksagung erhalten: 71 Mal

Re: CUxD Device-Log in eine Datenbank

Beitrag von klassisch » 26.11.2013, 21:31

Schau Dir mal CCU.IO an. Das läuft auf einem RasPi, hat alle Daten und es gibt auch einen Adapter zu mySQL.
Infos dazu hier im Forum oder aufGithub.
Und man kann yahui oder dashUI auf ccu.io aufsetzen.

OsnaTim
Beiträge: 10
Registriert: 16.10.2012, 14:22
Wohnort: Osnabrück

Re: CUxD Device-Log in eine Datenbank

Beitrag von OsnaTim » 27.11.2013, 08:56

Den Ansatz das CUxD Device-Log in eine Datenbank zu schreiben interessiert mich auch! Allerdings nicht über CCU io, das ist mir zu umständlich.

Bisher habe ich ein Terminal-Skript (Mac) genutzt, welches alle Log-Files in eine einzige *.csv-Datei schreibt. Allerdings kann Excel nur maximal 1.000.000 Zeilen verarbeiten und die habe ich bereits überschritten :)

FranzW
Beiträge: 2
Registriert: 23.11.2013, 16:26

Re: CUxD Device-Log in eine Datenbank

Beitrag von FranzW » 28.11.2013, 22:10

Danke für den Hinweis auf CCU.IO.
Das hab ich mir auch schon angesehen, entspricht aber nicht meinen Anforderungen.

Frage an Uwe111 : ist der Sourcecode von CUxD für eigene Anpassungen verfügbar ? Ich habe diesbezüglich nichts gefunden.

Ciao
Franz

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: CUxD Device-Log in eine Datenbank

Beitrag von uwe111 » 28.11.2013, 22:29

Hallo Franz,

ja, den Source-Code kann ich per Email zur Verfügung stellen. Am besten schreibst Du mir dazu eine Email.
Noch besser wäre es natürlich, wenn sich Deine Anpassungen in die aktuelle CUxD-Version integrieren lassen, damit am Ende alle etwas davon haben.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Antworten

Zurück zu „CUxD“