Feature Request: Parametrierbare Datenbankanbindung

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
zelmani
Beiträge: 9
Registriert: 19.10.2018, 08:43

Feature Request: Parametrierbare Datenbankanbindung

Beitrag von zelmani » 07.12.2018, 22:43

Lieber Mathias, liebe Forumsteilnehmer,

ich nutze nun seit einigen Wochen den CCU-Historian auf einem Raspberry Pi und bin begeistert von dem Ansatz, einfach erst Mal wahllos alles aufzuzeichnen, so dass man sich zu Beginn nicht durch lange Listen von Datenpunkten durcharbeiten muss, um zu entscheiden: was ist das und brauch ich das nun oder brauch ich das nicht? Die Performance des Webservers ist auf dem Raspberry Pi zwar alles andere als berauschend, aber damit hab ich mich arrangiert. Was mich etwas stört ist, dass ich auf die interne Datenbankengine angewiesen bin und nicht die Möglichkeit habe, die Datenbank z.B. in der Cloud und mit einer anderen Engine zu betreiben. Dadurch hätte ich erstens für eigene SQL-Abfragen eine bessere Performance und könnte vor allem auch von außerhalb des Heimnetzes ohne VPN darauf zugreifen. Im Grunde sollte es ja nicht allzu schwer zu realisieren sein, Server-IP, Engine-Type, Datenbanknamen und Zugangsdaten über die Konfigurations-Datei anpassbar zu machen. Ist ein solches Feature eventuell schon in Planung?

Viele Grüße,
Bernd

darkbrain85
Beiträge: 1343
Registriert: 27.06.2015, 22:17
Hat sich bedankt: 43 Mal
Danksagung erhalten: 32 Mal

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von darkbrain85 » 08.12.2018, 09:22

Hallo Bernd!

Ob das beim Historian in Planung ist, kann ich Dir nicht sagen.
Allerdings dient dieser bei mir eh nur zur Fehlersuche. Dafür ist er aber mit dem Highcharts Addon einfach unschlagbar und vor allem schnell zu bedienen.

Hast Du Dir mal die Möglichkeiten von IOBroker angesehen? Damit kannst Du mittels SQL, InfluxDB oder in eine Datei schreiben.
Wenn gewünscht kann man dort auch einfach alle Datenpunkte hinzufügen. Dabei kann die Datenbank auch auf einem entfernten System liegen.

Damit ist dann auch eine hervorragende Visualisierung der Daten möglich!
Ich persönlich habe InfluxDB im Einsatz.

zelmani
Beiträge: 9
Registriert: 19.10.2018, 08:43

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von zelmani » 08.12.2018, 11:40

Danke für Deine Antwort! Hab ich das richtig verstanden, dass der ioBroker wie der CCU Historian alle Datenpunkte bei einer Wertänderung oder -aktualisierung in eine entfernte Datenbank schreiben kann?

darkbrain85
Beiträge: 1343
Registriert: 27.06.2015, 22:17
Hat sich bedankt: 43 Mal
Danksagung erhalten: 32 Mal

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von darkbrain85 » 08.12.2018, 12:01

zelmani hat geschrieben:
08.12.2018, 11:40
Danke für Deine Antwort! Hab ich das richtig verstanden, dass der ioBroker wie der CCU Historian alle Datenpunkte bei einer Wertänderung oder -aktualisierung in eine entfernte Datenbank schreiben kann?
Ja richtig!Und wenn man die Daten in MySQL oder Influx hat, kann man da sogar mit den großen bekannten Tools dran. Also z.B. Grafana!

Benutzeravatar
jmaus
Beiträge: 9864
Registriert: 17.02.2015, 14:45
System: Alternative CCU (auf Basis OCCU)
Wohnort: Dresden
Hat sich bedankt: 464 Mal
Danksagung erhalten: 1882 Mal
Kontaktdaten:

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von jmaus » 08.12.2018, 12:09

zelmani hat geschrieben:
08.12.2018, 11:40
Danke für Deine Antwort! Hab ich das richtig verstanden, dass der ioBroker wie der CCU Historian alle Datenpunkte bei einer Wertänderung oder -aktualisierung in eine entfernte Datenbank schreiben kann?
Nicht „alle“ Datenpunkte und das auch nicht als default. Man muss in ioBroker die Datenpunkte explizit aktivieren für eine dauerhafte Speicherung der Werte. Insgesamt muss man auch sagen macht hier CCU Historian auch wirklich bzgl dauerhafter speicherung/verwaltung der werte IMHO einen wesentlich besseren Job. ioBroker kann das prinzipiell auch, aber meiner Erfahrung nach konmt es hier in Sachen Handhabung und verwaltung der Verwaltung aller Datenpunkte nicht an Historian heran. Auch deshalb nutze ich zusätzlich zu ioBroker auch weiter CCU Historian.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal / ☕️

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von Mathias » 08.12.2018, 18:56

zelmani hat geschrieben:
07.12.2018, 22:43
ich nutze nun seit einigen Wochen den CCU-Historian auf einem Raspberry Pi und bin begeistert von dem Ansatz, einfach erst Mal wahllos alles aufzuzeichnen, so dass man sich zu Beginn nicht durch lange Listen von Datenpunkten durcharbeiten muss, um zu entscheiden: was ist das und brauch ich das nun oder brauch ich das nicht?
Für mich hat es sich oft auch als hilfreich erwiesen, grundsätzlich alle Datenpunkte auszuzeichnen. Ein Beispiel sind die Datenpunkte für die Wartungsmeldungen. Mit der kürzlich hinzugekommenen Meldungsansicht im CCU-Historian können die Wartungsmeldungen auch nachträglich ausgewertet werden.
zelmani hat geschrieben:
07.12.2018, 22:43
Die Performance des Webservers ist auf dem Raspberry Pi zwar alles andere als berauschend, aber damit hab ich mich arrangiert. Was mich etwas stört ist, dass ich auf die interne Datenbankengine angewiesen bin und nicht die Möglichkeit habe, die Datenbank z.B. in der Cloud und mit einer anderen Engine zu betreiben. ... Ist ein solches Feature eventuell schon in Planung?
Diese Verbesserungsidee gibt es schon einige Zeit (s.a. https://github.com/mdzio/ccu-historian/issues/36). Bei der Gewichtung der Verbesserungen, die als nächstes in den CCU-Historian eingebaut werden sollen, hat sie aber bisher immer den kürzeren gezogen.
zelmani hat geschrieben:
07.12.2018, 22:43
Dadurch hätte ich erstens für eigene SQL-Abfragen eine bessere Performance
Die Performance einer Datenbank hängt natürlich von der Rechner-Hardware ab. Ich betreibe ihn auf mittlerer x86-Hardware mit viel Speicher und SSD, wodurch der CCU-Historian schon sehr schnell bei den Abfragen wird. Die eingebettete Datenbank ist i.d.R. schneller als eine MySQL-Datenbank auf gleicher Hardware. Spezialisierte Zeitreihendatenbanken, wie z.B. InfluxDB oder Prometheus, sollten schneller sein. Ich habe es aber noch nicht getestet. Eine InfluxDB auf einem RaspberryPi wird ebenfalls nicht berauschend sein.
zelmani hat geschrieben:
07.12.2018, 22:43
und könnte vor allem auch von außerhalb des Heimnetzes ohne VPN darauf zugreifen.
Da stimme ich zu, dass das ein Vorteil ist. Allerdings stellt sich dann die Frage nach dem Frontend.
zelmani hat geschrieben:
07.12.2018, 22:43
Im Grunde sollte es ja nicht allzu schwer zu realisieren sein, Server-IP, Engine-Type, Datenbanknamen und Zugangsdaten über die Konfigurations-Datei anpassbar zu machen.
Es ist nicht schwer zu realisieren, aber es bedeutet trotzdem einen gewissen Aufwand. Die SQL-Ausdrücke müssten ebenfalls konfigurierbar gemacht werden, da sich die Datenbanken in den Details immer unterscheiden. Das wird natürlich auch viele Support-Anfragen auslösen, bei denen ich gar nicht helfen kann.

Es stellt sich dann auch die Frage nach der Zielgruppe. Eigentlich bin ich davon ausgegangen, dass derjenige, der eine Datenbank in der Cloud oder ioBroker und eine InfluxDB aufsetzen und pflegen kann, sich eine eigene Lösung baut, und eben nicht zum CCU-Historian greift. Da werde ich wohl meine Meinung ändern müssen.

Ich werde dem Verbesserungsvorschlag auf jeden Fall mal einen höheren Stellenwert einräumen, wenn ich mal wieder die nächste umzusetzende Erweiterung raus suchen muss. Aber es gibt so viele interessante Ideen...

Gruß
Mathias
Zuletzt geändert von Mathias am 08.12.2018, 19:35, insgesamt 1-mal geändert.

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von Mathias » 08.12.2018, 19:03

darkbrain85 hat geschrieben:
08.12.2018, 12:01
Und wenn man die Daten in MySQL oder Influx hat, kann man da sogar mit den großen bekannten Tools dran. Also z.B. Grafana!
Mit den großen bekannten Tools und auch mit Grafana ist Zugriff auf die CCU-Historian-Datenbank möglich.

Auf dem letzten großen User-Treffen habe ich es z.B. mit Grafana demonstriert.

Alle Tools, die an eine PostgreSQL-Datenbank andocken können, können auch die CCU-Historian-Datenbank auslesen. Die eingebettete Datenbank ist nicht PostgreSQL, sondern H2Database, aber sie unterstützt das entsprechende Protokoll.

Gruß
Mathias

zelmani
Beiträge: 9
Registriert: 19.10.2018, 08:43

Re: Feature Request: Parametrierbare Datenbankanbindung

Beitrag von zelmani » 10.12.2018, 00:36

Hallo Mathias,

das Frontend (für die Anzeige, nicht für die Konfiguration) würde ich mir dann selbst bauen, entweder mit eigenem Code oder mit Hilfe von Grafana oder ähnlichem. Nur kann ich halt von außerhalb nur per VPN auf die Daten zugreifen, und das ist bisweilen schon umständlich bzw. auch nicht immer möglich. Ich habe mir mal den Quelltext von Database.groovy angesehen, komme aber aus der C#, PHP- und Javascript-Ecke und habe bisher weder mit Java noch mit Groovy etwas zu tun gehabt, deswegen werde ich wahrscheinlich ohne erheblichen Einarbeitungsaufwand leider nichts selbst beitragen können. Falls der Request es irgendwann mal in die Release-Planung schafft, wäre ich jedenfalls sehr happy, da ich die Kernfunktionalität des CCU Historian sonst wirklich sehr überzeugend finde.

Viele Grüße,
Bernd

Antworten

Zurück zu „CCU-Historian“