Datenlogging aller Messwerte und Events (auch) für HMIP-Komponenten

Moderator: Co-Administratoren

Antworten
fibbsanton
Beiträge: 4
Registriert: 04.11.2018, 21:29

Datenlogging aller Messwerte und Events (auch) für HMIP-Komponenten

Beitrag von fibbsanton » 04.11.2018, 22:33

Hi Forum!

Dies ist mein erster Post hier, deshalb leite ich erst mal ein wenig her, wie ich dazu komme hier zu schreiben.

Ich habe durch einen Hauskauf dieses Jahr die Voraussetzung geschaffen, eine Heimautomatisierungslösung zu brauchen. Nach ein wenig Recherche mitten in der Renovierungs- und Umzugsphase habe ich mich gegen coole hippe Zigbee und andere Devices und für Homematic entschieden, weil ich an verschiedenen Stellen viel gutes gehört hatte. Um es kurz zu machen, ich habe inzwischen einen Raspberry Pi 3+ mit Raspberrymatic als CCU und 34 Geräte eingebunden. Bei den Geräten handelt es sich ausschließlich um HMIP-Geräte (Heizungsthermostate, Wandthermostate, Fensterkontakte optisch, Schaltsteckdosen und Unterputz-Schaltaktoren für vorhandene Wechselschaltungen.

Inzwischen bin ich mit dem System "warm" geworden und möchte gern in ein externes Tool alle Metriken und Events überführen, um diese dort weiter zu verarbeiten (Graphing, Reporting, Dashboards, Alerts, ...). Ideal für diese Lösung ist es, wenn die Werte im Klartext in ein File oder via Syslog geschrieben werden, und ich bringe nun schon einige Zeit damit zu, herauszufinden wie man das bewerkstelligen könnte.

Ein einfaches "Hochdrehen" des Log-Levels und Eintragen eines Syslog-Servers bringt mir leider diese Daten nicht, soweit bin ich schon. Also habe ich mich bei den vielen vorhandenen Addons umgesehen und auch schon einiges ausprobiert:

Sehr vielversprechend las sich erst das DEVLOG von CUxd: das Datenformat wäre perfekt, lediglich die Tatsache, dass das Gerät nur anhand der ID und nicht mit dem Namen geloggt wird (außer man erstellt eine LOGIT-Zeile für jeden Wert auf jedem Gerät) stört mich ein bisschen, aber das wäre zu verschmerzen. Problem: um über CUxd auch HMIP-Geräte zu loggen, muss ich ein Programm einstellen in dem jedes Gerät und jede Metrik die geloggt werden soll aufgeführt sein muss. Das ist schrecklich unübersichtlich und klappt auch nicht ganz problemlos (auf das Problem möchte ich hier aber nicht eingehen). Ich verstehe auch nicht, was an HMIP-Geräten anders ist als an HM-Geräten und warum CUxd nicht einfach beides auf gleiche Art loggen kann, wenn doch der CUXd quasi im Programmcode von der CCU eingeklinkt ist und dort interfacet. Kann mir das jemand erklären?

Auch angesehen habe ich mir CCU-Historian. Hieran gefällt mir nicht, dass die Daten in eine Datenbank gespeichert werden. Die Anbindung dieser DB in mein Tool wäre nicht zuletzt wegen der gewöhnungsbedürftigen Struktur (dynamische Tabellen pro Gerät...) äußerst kompliziert, außerdem hätte ich gern keine Datenbank sondern würde meinem externen Tool das indizieren und Verwalten der historischen Daten überlassen. Ich weiß auch nicht, ob CCU-Historian an die Daten über die API der CCU im Pull (Alle X Sekunden schauen ob es was neues gibt) oder im Push-Verfahren (Aufbau einer Verbindung und "Subscribe" auf Änderungen) kommt. Wenn letzteres möglich wäre, könnte ich mir vorstellen, das einfach selbst in Python zu implementieren. Wenn es aber einfacher geht, gerne.

Ich hoffe es ist klar geworden was ich bezwecke. Ich freue mich auf Antworten und Links zu weiterführender Literatur. Das ganze Thema Homematic, CCU, Addons, Funktionsweise und Protokolle ist etwas kompliziert, weil unglaublich viele Links, Seiten und Projekte existieren und ich noch nicht recht weiß nach was ich eigentlich suche.


Vielen Dank für viele hilfreiche Antworten im Voraus :)


Christian

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Datenlogging aller Messwerte und Events (auch) für HMIP-Komponenten

Beitrag von Black » 04.11.2018, 23:08

sowas bringt von hause aus jede vernünftige middleware mit.

bei mir läuft IOBroker. archiv liegt bei mir in einer mySQL Datenbank. geht aber auch filebasiert via history im JSON Format.
mit eigener Logig kannste dich in javascript in epischer Tiefe austoben.

black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Fonzo
Beiträge: 6687
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 25 Mal
Danksagung erhalten: 478 Mal

Re: Datenlogging aller Messwerte und Events (auch) für HMIP-Komponenten

Beitrag von Fonzo » 05.11.2018, 00:03

fibbsanton hat geschrieben:
04.11.2018, 22:33
Inzwischen bin ich mit dem System "warm" geworden und möchte gern in ein externes Tool alle Metriken und Events überführen, um diese dort weiter zu verarbeiten (Graphing, Reporting, Dashboards, Alerts, ...). Ideal für diese Lösung ist es, wenn die Werte im Klartext in ein File oder via Syslog geschrieben werden, und ich bringe nun schon einige Zeit damit zu, herauszufinden wie man das bewerkstelligen könnte.
Ich selber nutzte für so was IP-Symcon, Daten werden einfach mit Aktivierung von Alle Variablenänderungen aufzeichen alle Änderungen protokolliert und automatisch ein Graph erstellt. Die Werte sind im Klartext lesbar, da als CSV gespeichert. Dashboard wird automatisch erstellt und kann individuell angepasst werden. Alerts können auf alle mobilen Geräte verschickt werden dabei kann so was wie z.B. der Sound angepasst werden.

Du kannst die Daten auch einfach in Excel exportieren oder mit anderen Programmen weiterbearbeiten, die CSV als Import unterstützten.

fibbsanton
Beiträge: 4
Registriert: 04.11.2018, 21:29

Re: Datenlogging aller Messwerte und Events (auch) für HMIP-Komponenten

Beitrag von fibbsanton » 05.11.2018, 22:06

Moin!

Danke für die Antworten. IOBroker scheint tatsächlich das Mittel der Wahl zu sein. Ich habe es jetzt innerhalb weniger Minuten (also ca. 2 Stunden) hinbekommen IOBroker auf einer VM zu installieren, grundsätzlich in Betrieb zu nehmen und einfach mal ALLE Werte die irgendwie anfallen in JSON dumpen zu lassen. Ich bin begeistert!

Wenn ich das history-Modul jetzt noch dazu überreden könnte einfach pauschal statt der Device ID den Device Namen in die Dateinamen zu packen wäre das genial. Ansonsten muss ich mir irgend eine Art periodischen Export basteln mit dem ich dann ein Lookup befüttere.


Christian

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: Datenlogging aller Messwerte und Events (auch) für HMIP-Komponenten

Beitrag von Black » 06.11.2018, 21:52

die Adapter würde ich standart belassen und nicht versuchen da selfmade codeänderungen reinzustricken.

dann schreib dir lieber paar zeilen javascript, die dir periodisch das aus den history files schreiben, was du gerne willst.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Antworten

Zurück zu „Sonstige Steuerungen und Visualisierungen“