AndyS1989 hat geschrieben: ↑19. Okt 2021 10:57
Hallo zusammen,
habe den Volkszähler und Openhabian mit Openhab 3, jeweil auf einem eigenen Raspi laufen. Die Anbindung von Openhab zu Volkszähler über http funktioniert soweit. Ist es möglich zu dem aktuellen Verbrauch, Min, Max auch den aktuellen Zählerstand auf Openhab auszugeben?
Hallo.
Ich weiß nicht, ob das Thema noch aktuell ist, aber da ich mich mal wieder mit dem Volkszähler und openHAB beschäftigt habe und dabei deine Frage gegoogelt habe, hier meine Antwort:
Zuerst mal interpretiere ich in deine Frage, dass du einen Stromzähler mit Infrarotschnittstelle (z.B. sml) meinst.
Bei Impulszählern, oder bei Gas oder Wasser, sieht es etwas anders aus.
Ich nehme an, du meinst mit "aktuellen Verbrauch, Min, Max" den aktuellen Leistungswert in Watt.
Weiter nehme ich an du meinst mit "aktuellen Zählerstand" den aktuellen Verbrauchswert in kWh.
Wenn alle meine Annahmen stimmen kannst du dein Ziel ganz einfach erreichen.
Dazu brauchst du neben der Hardware nur den vzlogger
https://wiki.volkszaehler.org/software/ ... tartscript. Du brauchst keine Middelware und auch kein Web- Frontend oder ähnliches.
Der vzlogger hat einen eingebauten HTTPd server mit einen AJAX-Frontend, den du direkt von OH3 abfragen kannst.
Bei dieser Lösung ist dann der OH3 deine Middleware und dein Frontend, was ja auch so von OH3 gewollt bzw. gedacht ist.
Konfiguration vzlogger.conf:
Die genaue Beschreibung aller Parameter findest du uunter volkszaehler.org (
https://wiki.volkszaehler.org/software/ ... _parameter).
Steps:
1. Den besagten Buid-in HTTP server aktivieren. Port würde ich auf 8090 ändern, damit bei Abfragen nicht das nicht benutzte WEB-Frontend meldet.
2. Wenn vzlogger nicht an die api der middleware übergeben soll "api": "null" setzen
3. SML-Meter mit 2 Channel Leistung und Verbrauch einrichten (je nach Zähler den identifeier für die Channels anpassen).
uuid ist irrelevant, wenn Middleware und Web-Frontend von Volkszähler nicht genutzt werden.
Konfiguration OH3:
1. HTTP-Binding installieren.
2. Thing "http" mit get request anlegen. IP-adresse und Port angeben.
3. Die zwei Channels Leistung und Verbrauch anlgen.
Dazu unter State Transformation z.B. für die Leistung "JSONPATH:$.data[0].tuples[0][1]" und den Verbrauch "JSONPATH:$.data[1].tuples[0][1]" eintragen. Das kann je nach Zäler und Auslesemethode variieren. Da muss man bei den JSONPATH-Abfragen etwas experimentieren.
Dazu im Browser die IP:Port eingeben und die abgefragten Werte der Ausgabe analysieren.
Dort müsstest Du die gewünschten Werte schon sehen (Teilerfolg). Die JSONPATH-Abfrage dient jetzt nur noch dazu den gewünschten Wert ab zu fischen. Dazu meine Beispiele.
4. Zu dem jeweiligen Channel ein Number-Item mit gewünschter Formatierung/Darstellung (z.B. [%.3f] ) anlegen.
Im WEB-LOG von OH3 kannst du die Anfrage und das Ergebnis sehr schön beobachten und ggf. einem Fehler auf die Spur kommen.
Das soll nur der Beschreibung des generellen Weges dienen, so dass man sich nicht stundenlang (so wie ich) mit irrelevanten Sachen beschäftigen muss. Auch immer gut zu wissen, dass es eine Lösung gibt, die irgendwo funktioniert.
Viel Erfolg
Kuli