erledigt - Ersatz für https://www.mypowerrouter.com/ - Beratung gewünscht

Begonnen von macfly, 18 Januar 2021, 15:00:21

Vorheriges Thema - Nächstes Thema

macfly

Moin zusammen,

wie vielleicht einige von euch auch, habe ich von Nedap nun auch schriftlich mitgeteilt bekommen, dass das Portal mypowerrouter.com zum 1.2.2021 abgeschaltet wird. Da ich aber nicht auf Statistik-Daten verzichten möchte, habe ich mal flugs zum Editor gegriffen.

Was bereits fertig ist:

  • Entgegennahme von log-einträgen und events
  • speichern in sqlite

um das ganze zu nutzen, müsste man einen eigenen dns haben (z.B. dnsmasq), und dort in die /etc/hosts eintragen:

192.168.42.3  logging1.powerrouter.com

nach einiger Zeit aktualisiert der nedap seinen dns-cache und die POSTs laufen auf der IP auf. Soweit, so gut.


Jetzt komme ich zum Punkt "Beratung gewünscht":
zurzeit schreibe ich die Daten so weg, wie sie kommen:

Es gibt insgesamt 5 Module (DC/AC, Grid sensor, Solar, Platform, Battery), die jeweils die Attribute param_0-param_12 mit jeweils unterschiedlichen Messwerten gesetzt haben. So bedeutet z.B.
module_id=11
param_4
=> Spannung an Phase 2


wohingegen
module_id=12
param_4
=> gemeldete Temperatur (in C°) an String1 Solar Input


Die gesamte Zuordnung liegt mir vor.

akutell sieht meine sqlite also so aus:

time_send|period|module_id|status|version|param_0|param_1|param_2|param_3|param_4|param_5|param_6|param_7|param_8|param_9|param_10|param_11|param_12
2021-01-18T14:27:44+00:00|60|9|7955|1|5001|2355|10|16125935|93906|2332|0|1134|35937|13|233||
2021-01-18T14:27:44+00:00|60|11|1299|1|2363|507|1148|10540000|2405|108|203|5293900|2389|0|0|1213100|
2021-01-18T14:27:44+00:00|60|12|61507|1|16241|2|4|7930288|420|25375|3|8|11560861|180|12|19491149|
2021-01-18T14:27:44+00:00|60|16|26899|1|5001|2353|130|1351|3963484|14042683|||||||
2021-01-18T14:27:44+00:00|60|136|71581953|1|0|0|0|5579091|5970862|41|0|130|128|5810|5500|4523|11000
2021-01-18T14:28:44+00:00|60|9|7955|1|5001|2353|17|16125935|93907|2330|0|1134|35959|17|233||
2021-01-18T14:28:44+00:00|60|11|1299|1|2361|517|1171|10540100|2410|102|190|5293900|2392|0|0|1213100|
2021-01-18T14:28:44+00:00|60|12|61507|1|16026|1|1|7930288|420|25375|3|8|11560861|170|11|19491149|
2021-01-18T14:28:44+00:00|60|16|26899|1|5001|2351|130|1361|3963484|14042702|||||||
2021-01-18T14:28:44+00:00|60|136|71581953|1|0|0|0|5579091|5970862|41|0|130|128|5810|5500|4523|11000


ist das langfristig ok, das so zu speichern, oder sollte ich das eher so speichern wie fhem in sqlite events abspeichert, also


TIMESTAMP|DEVICE|TYPE|EVENT|READING|VALUE|UNIT
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|136_param_0|0|V
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|136_param_1|0|A
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|136_param_2|0|W
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|136_param_3|5579091|KWh


Das hätte den Nachteil, dass ich die module (136=Battery) und die Attribute (param_3=W_battery_produced/kWh) verknüpfen muss.

oder sollte das gleich so ausmultipliziert werden:

TIMESTAMP|DEVICE|TYPE|EVENT|READING|VALUE|UNIT
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|V_batt|0|V
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|I_batt|0|A
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|P_batt|0|W
2021-01-18T14:28:44+00:00|mypowerrouter|mypowerrouter|W_battery_produced|5579091|KWh


Wie ist eurer Meinung?

Ist das überhaupt machbar, in die sqlite, die fhem nutzt, von extern events reinzukippen, auf die man dann irgendwie reagieren kann (ala doif, notify?) oder wenigstens SVGs zeichnen kann? Ich frage so dumm, weil bisher bei mir alles via Filelog läuft ..




macfly

achso, ich habe vergessen, das script anzuhängen (zum testen) ;-)

damit das läuft, wird folgendes benötigt:

php-cli
sqlite3
dns


in der /etc/hosts des für eurer Netz relevanten DNS muss folgender Eintrag rein (natürlich mit der IP, auf der ihr den logger laufen lassen wollt):

192.168.42.3  logging1.powerrouter.com

gestartet wird der logger mit (auch hier die IP, auf die php horchen soll. Port 80 ist Pflicht, also nur als root ...)
/usr/bin/php -S 192.168.42.3:80 index.php


Natürlich könnt ihr das script auch unter apache/nginx/lighhttpd laufen lassen, dann entsprechend ablegen und benennen (logs.json sowie events.json).

Den Pfad zur sqlite könnt ihr in Zeile 4 konfigurieren.

Aktuell schreibt das script die Daten in sqlite und postet diese dann anschließend an das powerrouter.com Portal (um die Werte zu vergleichen).

macfly

Und falls noch jemand die komplette Zuordnung der module/params zu den Sprechenden Bezeichnern sowie deren Einheiten sucht:

hier im Anhang.


macfly


hallo000de

Ja ich kann mich nur anschließen, leider ist mypowerrouter weg vom netz. Jetzt stellt sich die Große Frage , wie kommt man an die Daten ran, denn der Router sendet ja weiter.
Gibt es irgendwas um dies abzugreifen und wie. Mit Programmieren kenne ich mich nicht aus...leider.
Was kann man tun?????????


macfly