Verlaufsdaten in eine Datenbank pumpen und diese dann graphisch darstellen

@hblaschka Ich stimme dir zu, dass wir die Chance haben, Menschen Zugang zu Technik zu geben, die sonst eher als Hexenwerk empfunden wird. Ich denke an dieser Stelle ist die Homee API (auch wenn noch nicht offiziell), die bessere Alternative. Man koennte ueberlegen, ob man einen Influx importer oder einen Prometheus importer fuer die CSV bereitstellt.

Kennt jemanden einen guten hosted oder managed Services fuer Metriken? Mir fallen da ein:

Hosted / Managed

  • AWS CloudWatch (Kosten skalieren mit der Anzahl der Metriken)
  • Google StackDriver (Kosten skalieren mit der Anzahl der Metriken)
  • Azure Metriken (Kosten skalieren mit der Anzahl der Metriken, max 90 Tage Retention)
  • DataDog (freie Version hat nur 24h Retention)
  • https://www.hostedgraphite.com/ (ab 29 USD / Monat, dafuer aber mit 2 Jahre Retention)

Self-Hosted:

  • Prometheus
  • InfluxDB
  • ElasticSearch
1 „Gefällt mir“

Habe mal ein paar Daten in meine MariaDB auf der Synology gepumpt.
Und mit Grafana visualisiert

Wäre echt super, wenn homee die Daten gleich in eine DB speichern könnte.
Jede einzelne Datei täglich in die DB zu importieren, ist ein Unding!

5 „Gefällt mir“

Und was hindert dich daran, ein kleines Script zu schreiben, dass das Verzeichnis regelmäßig ausliest und importiert?
Wenn dein Datenbanktool das nicht sogar schon von Haus aus kann?

Versteh mich bitte nicht falsch, das sind sicher alles nette und sinnvolle Features, aber im Vergleich zu unseren Wünschen an homee insgesamt (Stabilität, Heizung, viel mehr neue Geräte, Pflege der Einbindung der bestehenden Geräte, Zugang zu Logfiles) würde ich die Abwesenheit eines nicht zugesicherten Features nicht ein Unding nennen. Zumal du ja mit etwas Bastelei dein Ziel erreichen kannst.
Siehe auch meine Frage im anderen Thread, welches Konkurrenzprodukt dich hier besser bedient.

1 „Gefällt mir“

Ich sehe da auch keine Notwendigkeit irgendwelche zusaetzliche Software drauf zu werfen. Ein einfaches PHP/Ruby/Python/Bash Script sollte da den Dienst tun.

Ich arbeite gerade an nem Stueck Software, dass den homee via der Websocket API mit dem Azure IoT Hub verbindet. Ich denke da kann man ne Menge rausholen. Einen laufenden Prototypen hab ich schon, muss das allerdings noch mal richtig durchimplementieren.

Wenn du Azure sagst, hätte ich noch “PowerShell” erwartet… :wink:
Aber MS ist ja wohl der größte Linux-Hoster der Welt jetzt…

wrt Websocket API: würdest du das mit AMQP oder MQTT angehen?

Das lasse ich aktuell von der Library aushandeln. Ich schreib den Kram in C# und dotnet core 2, damit hab ich halt den kompletten Luxus der Microsoft eigenen Libs.

3 „Gefällt mir“

Moin moin,
wollte hier mal wieder “zündeln” … :wink:
Ich bin gerade dabei meine Hardware zu entschlacken und habe im Keller gerade einen Raspi, Switch und Kabelmodem durch eine Fritzbox 6490 ersetzt.
Möchte also so viel wie möglich auf der DS laufen lassen, wenn auch ressourcenschonend, da ich nur eine kleine DS116 habe. Also Docker fällt schon mal aus.

Nun meine Idee die Verlaufsdaten auf einer Homepage über Wordpress darzustellen.
Diese Visu-Plugins können die Daten ohne Umweg einer DB aus einer CSV lesen und darstellen.
https://fastwp.de/3-plugins-fur-diagramme-in-wordpress/

Weiss nur noch nicht wie man dort eine Datenbank auslesen und darstellen kann.
Oder kann man automatisch neue CSV-Dateien importieren?

Das sind so meine Überlegungen/Denkanstöße.
Da ich meine DS gerade platt gemacht habe und nicht vermüllen will, werde ich mir vielleicht eine xpenology aus nem alten miniPC basteln.

Oder jemand von Euch kennt sich mit WP gut aus ?
Oder ist das ne blöde Idee? :roll_eyes:

Grüße

1 „Gefällt mir“

Moin,
Also habe noch ein bischen gesucht.
Es gibt viel wp-plugins die xls oder csv importieren. Aber wenige die direkt eine sql auslesen und grafischbdarstellen.
Ein Plugin würde super passen:
https://www.drweb.de/wpdatatables-macht-tabellen-wordpress-einem-kinderspiel/

Eine kostenlose liteversion gibt es, die macht aber keine DB, die Pro kostet 44€.

Aaaaber nun bin ich mal in meine exportieren Verlaufsdaten gegangen und war erschrocken wie wenig bzw viel die Sensoren u. Aktoren preis geben.
Manche geben alle paar Wochen was aus, manche alle paar stunden.
Was bringt mir ein Batteriestatus vom 19.9., wenn die Batterie innerhalb 2-3 Tage zusammenbrechen kann?
Wenn man wenigstens einheitlich 1x Tag den Status von allen Geräten bekommen würde, aber so hat das kaum Sinn. Ich glaube ich leg die Sache auf Eis und warte bis homee mir den virtuellen :facepunch: zeigt. “Huhu deine Batterie war gestern schon tot”

Das das Leben immer so kompliziert sein muss … :thinking:

2 „Gefällt mir“

Ich bleib dabei, Wordpress is keine Antwort, egal wie die Frage lautet. Bitte versteh das nicht als geflame, ich sehe halt hier nicht den Grund ein Blogging System mit CMS Ambitionen als Metrik Zentrale in Betracht zu ziehen. Da kommt mir der Vergleich “mit dem Trecker in der Grossstadt zum Einkaufen fahren” in den Sinn. Kannste schon so machen ^^

Ich bin grad n bissl busy. Wenn ich Zeit finde formuliere ich mal eine sachlich fundiertere Aussage dazu :wink:

3 „Gefällt mir“

Moin @xenji
(ist schon ein paar Tage her :wink: ) bin aber nochmal an dem Thema dran.
Wäre ein Pi4 mit 4GB-Ram - kleine SSD, eine Option für Grafana/InfluxDB/Homee
Wollte noch zusätzlich meine Fritzbox (6591) und eine DS116 und DS920+ „überwachen“.
Das ganze auf der DS920 laufen zu lassen ist für mich keine Option, weil die ja denn ständig online sein muß, bzw/oder beim Zugriff auf Grafana jedesmal 4 HDDs anlaufen müssen. Die DS116 geht auch nicht, weil kein Docker drauf läuft.
Raspi wäre mir lieber, weil ich auch nur Linux per Copy/Paste betreue und eigentlich kaum Ahnung habe. :wink:
Ausserdem gibt es viele Hilfe im Internet zum Raspi.
Grüße

Ich habe iobroker auf nen PI4 laufen. Adapter homee, SQL installiert und die entsprechenden Datenpunkte aktiviert. So laufen die Daten in meine DB (SQLite). Das einzige ist, dass die Auswertung dann ein anderes System ist. Ich habe mein Dashboard mit der VIS von iobroker realisiert. Ist halt ne andere Welt, wie homee. Muss man sich komplett selbst zusammen bauen. Hat aber auch viel mehr Möglichkeiten, vor allem grafisch.

Naja beim homee wird ja nur 1x am Tage die csv importiert - das wird nicht so schlimm sein.
Ich denke die Hauptlast kommt von Grafana oder InfluxDB ?
Will nur mal eine Klomplettübersicht der Batteriestände oder Verbräuche haben.
Bei den anderen genannten Geräten die Füllstände der Festplatten und Temperaturen/Last.
Also nur mal so fix vom Handy oder Tablet reinschauen, ohne sich extra jeweils beim Gerät einloggen zu müssen und durch Menüs zu hangeln usw.

Also bei mir sieht das so aus:

LS (aka Logstash) braucht relativ viel RAM. Aber den Container könnte man auch über nen bash zeitgesteuert kurz starten und dann wieder stoppen - nachts, wenn homee die CSVs geschrieben hat.

VG
M

P.s.: die Influx braucht jetzt 117MB an HDD. Und da sind jetzt ca. 15 Monate Daten drin.

P.p.s: Imagegröße:

Bei mir kommen die Daten in iobroker über den homee-Adapter rein. grafik
Die Daten, die ich nicht direkt sondern als Verlauf darstellen will, lasse ich in den history-Adapter laufen.grafik
Der hat eine eigene kleine Datenbank. Von dort kann ich sie dann z.B. mit dem FLOT-Adapter darstellen.grafik
Ich mache das z.B. mit der Termperaturverläufen der HKTs.

1 „Gefällt mir“

Kann man die Daten aus dem history Adapter auch mit VIS darstellen?

Ich bin auch gerade auf der Suche: letzte Idee iobroker+influxdb + grafana+VIS. Aber so mit dem history adapter wäre die Lösung schlanker.

Also ich mache das so.

Hat die history DB eine Größenbeschränkung oder irgendwelche Ressourcen Themen? Im Sinne von Archivieren, Data aging und/oder Zeitscheiben klein halten?

Du kannst den max. RAM-Verbrauch und den Speicherzeitraum (Lebensdauer) der Daten eintragen. Für jeden Datenpunkt kannst Du noch das Intervall einstellen, in dem die Daten in der Datenbank gespeichert werden. Das muss nicht dasselbe Intervall sein, in dem der Sensor über homee die Daten über den homee-Adapter anliefert, da bei manchen Sensoren nur Daten geliefert werden, wenn eine Änderung um xy% stattgefunden hat. Die Daten werden aber in einem festgelegten Intervall in der DB gespeichert, damit das später im FLOT vernünftig aussieht.

Ich nutze das Widget Line History Chart von Materialdesign.
Das sieht dann so aus:
image
Man kann den Zeitraum fest einstellen bzw. über das Dashboard.

1 „Gefällt mir“

Oder so…

1 „Gefällt mir“