Daten auslesen mit Homematic?

ToFu
Beiträge: 10
Registriert: Fr Aug 19, 2022 11:53 am

Re: Daten auslesen mit Homematic?

Beitrag von ToFu »

Das hatte ich mir fast schon gedacht, aber nirgens eindeutig lesen können.
Dann muss ich wohl redmatic mal wieder installieren das hatte ich mal in der Vergangenheit, hatte es dann aber nicht wirklich verwendet.
Gero hat geschrieben: Mo Feb 26, 2024 5:16 pm Am einfachsten ist es mit der Zusatzsoftware Redmatic. Das ist ein nodeRED angepasst auf die homematic-CCU3. Die Anpassung beinhaltet einfaches lesen und schreiben von Systemvariablen und auch Schalten von Aktoren ist einfach möglich.

Ich hab‘ das so und kann da eben helfen was zusammenzuklicken. Musst mir nur sagen, welche Werte du in welche Systemvariablen reingeschrieben haben magst.
Vielen Dank für das Angebot!
Ich benötige den Hausverbrauch/die Einspeisung, PV Leistung gesamt (Wenn möglich auch einzeln hab da noch zwei shellys, die einen Ertrag abfragen), Speicherladung (Hausspeicher), Speicherstatus Auto und wenn möglich aktuelle Ladeleistung.
Vielen Dank im Voraus!
Gero
Beiträge: 2565
Registriert: Sa Feb 20, 2021 9:55 am

Re: Daten auslesen mit Homematic?

Beitrag von Gero »

Da ja die Anleitung zur Selbsthilfe die beste Hilfe ist, hier ein die ersten Schritte für PV-Leistung. Zuerst einmal suchen wir mit dem MQTT-Explorer das richtige Topic für PV raus. Ich nehme mal die Gesamtleisung aus openWB/pv/get/power, die einzelnen stehen auch irgendwo anders. Dann füge ich eine MQTT-in-Node ein und schreibe da das gewünschte zu abonnierende Topic rein.
pv-single.jpg
pv-single.jpg (28.57 KiB) 1238 mal betrachtet
Mit einem Doppelklick kommt man auf die Details der node, wo man die Verbindung zur openWB und das Topic einstellen kann:
PV-p.jpg
PV-p.jpg (94.01 KiB) 1238 mal betrachtet
Damit wir nun herausbekommen, was da so passiert, hänge ich noch eine debug-node dahinter:
PV.jpg
PV.jpg (40.68 KiB) 1238 mal betrachtet
nun klicke ich rechts oben auf "Deploy" um die Änderungen zu aktivieren.
deploy.jpg
deploy.jpg (13.39 KiB) 1238 mal betrachtet
Nun ein bisschen warten und schon sieht man im debug-output rechts, was da so von der openWB so kommt:
pv-deb.jpg
pv-deb.jpg (88.85 KiB) 1238 mal betrachtet
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Gero
Beiträge: 2565
Registriert: Sa Feb 20, 2021 9:55 am

Re: Daten auslesen mit Homematic?

Beitrag von Gero »

Nun wollen wir das ja in einer Systemvariablen haben und nicht nur im Debug-Oputput. Also nehme ich eine sysvar-Node und verbinde sie mit dem Ausgang der MQTT-in-Node.
pv-p.jpg
(70.59 KiB) Noch nie heruntergeladen
In welche Systemvariable der Wert nun geschrieben wird, kann man mit einem Doppelklick auf die Node einstellen. Bei mir ist es "S10 PV-Produktion"

(Ich weiß gerade nicht, warum das Bild nicht inline angezeigt wird.)

Man kann die debug-node auch stummschalten, indem man den grünen Knopf rechts drückt und dann nochmal deployd.

Nun kann es ja sein, dass man die PV-Produktion gerne nicht negativ hat. Dann fügt man einfach eine function-node ein und in die Formel schreibt man dann eine Multiplikation mit -1:
msg.payload = msg.payload * -1;
return msg;
p-fna.jpg
(59.44 KiB) Noch nie heruntergeladen
Damit man nicht immer alles abtippen muss, gibt es auch die Möglichkeit, Flows per Copy&Paste zu importieren. Dazu das folgende kopieren und dann im Hamburger-Menü "Import" (über Export) drücken.

Code: Alles auswählen

[{"id":"8fc5fcb5.5a33","type":"mqtt in","z":"aa9fb964.b9ee58","name":"","topic":"openWB/pv/get/power","qos":"2","datatype":"auto","broker":"c4cb83c8.1bd0c","x":160,"y":1560,"wires":[["a3bd2efa.f8a17"]]},{"id":"a3bd2efa.f8a17","type":"function","z":"aa9fb964.b9ee58","name":"","func":"msg.payload = msg.payload * -1;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":390,"y":1560,"wires":[["c4dc297f.d1d1c"]]},{"id":"c4dc297f.d1d1c","type":"ccu-sysvar","z":"aa9fb964.b9ee58","name":"S10 PV-Produktion","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":620,"y":1560,"wires":[[]]},{"id":"c4cb83c8.1bd0c","type":"mqtt-broker","name":"OpenWB","broker":"wallbox.fritz.box","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"30","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":false,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5000","queuePause":"250","contextStore":""}]
Die weiteren Topics lauten:
EVU-Punkt: openWB/counter/0/get/powers
Ladeleistung: openWB/chargepoint/get/power
Hausspeicher: openWB/bat/get/power und openWB/bat/get/soc
Der EVU-Punkt kommt als einzelner Wert je Phase in einem JSON-String so in dieser Form: "[100, -40, 22]". Deshalb den in einer function-node in ein Array wandeln und die drei Werte aufsummieren:
var m = JSON.parse(msg.payload);
msg.payload = m[0] + m[1] + m[2];
return msg;
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
ToFu
Beiträge: 10
Registriert: Fr Aug 19, 2022 11:53 am

Re: Daten auslesen mit Homematic?

Beitrag von ToFu »

Vielen Dank für die Erklärungen! Versuche gerade daraus schlau zu werden.
Ich frage mich wo ich den oder einen Mqtt Explorer finde?

Na ja habe das mal nachgebaut und tatsächlich auch hinbekommen. Der PV Ertrag wird nun angezeigt und wird in meine Systemvareable geschrieben. Das mit dem importieren des Flows habe ich auch geschafft.
Um die anderen Vareablen zu schreiben, z.B. den Speicher SOC Habe ich auch wieder einen mqtt in node genommen und ohne Funktion auf sysvar gelegt. Da muss ja nichts umgerechnet werden. Dort kommen aber keine Daten an. Wenn ich den auf den debug node lege kommt im debug Fenster ebenfalls nichts an. Fehlermeldung erscheint "xmlrpc server close timeout". Was mache ich da verkehrt?
Gero
Beiträge: 2565
Registriert: Sa Feb 20, 2021 9:55 am

Re: Daten auslesen mit Homematic?

Beitrag von Gero »

ToFu hat geschrieben: Di Feb 27, 2024 7:51 pm Ich frage mich wo ich den oder einen Mqtt Explorer finde?
Googlen, download und installieren.

Um die anderen Vareablen zu schreiben, z.B. den Speicher SOC Habe ich auch wieder einen mqtt in node genommen und ohne Funktion auf sysvar gelegt. Da muss ja nichts umgerechnet werden. Dort kommen aber keine Daten an. Wenn ich den auf den debug node lege kommt im debug Fenster ebenfalls nichts an. Fehlermeldung erscheint "xmlrpc server close timeout". Was mache ich da verkehrt?
Hast du in der Seitenleiste auch auf die Debug-Ausgaben umgeschaltet? Oder mach mal einen Reload der Seite, wenn die zu lange ungenutzt rumateht, gehen ab und an mal Verbindungen flöten. (Um das zu überprüfen kannst du eine Inject-Node direkt mit einer debug-Node verbinden. Da muss dann was kommen.)

Das mit dem xmlprc ist eine Fehlermeldung der homematic-Integration. Hab‘ ich auch ab und an mal. Ich ignoriere das geflissentlich. Das hat nichts mit dem MQTT aus der openwb zu tun.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
ToFu
Beiträge: 10
Registriert: Fr Aug 19, 2022 11:53 am

Re: Daten auslesen mit Homematic?

Beitrag von ToFu »

Vielen Dank für die vielen Infos!

Einiges konnte ich mir jetzt erarbeiten. Warum auch immer war mir am ersten Abend Redmatic immer Abgestüzt und war offline.
Mit dem Mqtt Explorer konnte ich einiges finden. Meine Zähler scheinen anders durchnumeriert zu sein. Vermutlich ist das die Reihenfolge in der ich die damals angelegt habe.
Jetzt bin ich allerdings wieder auf ein Problem gestoßen, welches vermutlich nicht hierher gehört. Vielleicht fehlt mir hier aber auch nur ein kleiner Tipp.
-Zum einen habe ich den Hausverbrauch im Mqtt Explorer nicht finden können.
-Dann ist mir aber auch aufgefallen, das im Diagramm der WB bei der Tagesauswertung bei Netzbezug gar kein Hausverbrauch angezeigt wird. Das Problem entsteht aber wohl nicht bei PV Ertrag und solange noch Energie aus dem Hausspeicher kommt. Um das Problem zu verdeutlichen habe ich mal ein Bild angefügt.
Bild
Fehlender_Hausverbrauch.jpg
Fehlender Hausverbrauch bei Netzbezug
(289.14 KiB) Noch nie heruntergeladen
Keine Ahnung warum das Bild im Beitrag nicht angezeigt wird :?
Gero
Beiträge: 2565
Registriert: Sa Feb 20, 2021 9:55 am

Re: Daten auslesen mit Homematic?

Beitrag von Gero »

ToFu hat geschrieben: Fr Mär 01, 2024 9:38 am Vermutlich ist das die Reihenfolge in der ich die damals angelegt habe.
Genau. Sämtliche Komponenten werden durchnummeriert in der Reihenfolge der Anlage. Das betrifft Ladepunkte, Zähler, Ladprofile, Fahrzeug-profile, etc.

Der Hausverbrauch errechnet sich (EVU-Punkt plus (negative) PV-Produktion plus Speicher (Entladung ist negativ), ein MQTT-Topic dafür finde ich allerdings auf die Schnelle auch nicht.

Aber irgendwas stimmt an Deiner Konfiguration nicht. Vergleich' doch mal die Werte der Status-Seite mit denen von SMA.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Antworten