mdzio / ccu-jack

CCU-Jack bietet einen einfachen und sicheren REST- und MQTT-basierten Zugriff auf die Datenpunkte der Zentrale (CCU) des Hausautomations-Systems HomeMatic. Zudem können einfach Fremdgeräte an die CCU angebunden werden.
GNU General Public License v3.0
112 stars 11 forks source link

Virtuelle Geräte: HM-ES-TX-WM Gas/Energiezähler #150

Closed jens-maus closed 8 months ago

jens-maus commented 8 months ago

Getrieben von dem Punkt, dass in den nächsten Tagen bei mir der Einbau eines neuen Gaszählers (BK-G4 AT) ansteht und dieser wohl leider es notwendig macht das bisherige HM-ES-TX-WM Gerät gegen eine ESP betriebene Ausleseeinhaite (WiFi ACM-ESP - https://www.seegel-systeme.de/2022/12/21/wlan-acm-esp-kommunikationsmodul-fuer-elster-gaszaehler/) zu tauschen, beschäftige ich mir gerade mit einer möglichen Integration dieses Gerätes in die bestehende HomeMatic-Welt.

Da diese ESP basierte Ausleseeinheit dann direkt via WiFi Integration und entsprechender Netzwerkverbindung in regelmäßigen Abständen via MQTT die Daten des Gaszählers an andere weiterliefern kann, möchte ich gerne den CCU-Jack dann nutzen um hier möglichst nahtlos (und so nah wie möglich an der HomeMatic Welt) dieses Gerät in einer CCU/RaspberryMatic integrieren.

Ich habe bereits wahrgenommen, das vor nicht allzu langer Zeit in CCU-Jack bereits die Möglichkeit integriert wurde einen MQTT-Leistungs/Stromzähler als virtuelles HM-ES-PMSw1 Gerät umzusetzen (#105). Nun steht jedoch in meinem Fall die Integration eines Gaszählers an und da der HM-ES-TX-WM ja als Gaszähler betrieben werden kann, hoffe ich das die Integration des HM-ES-TX-WM ähnlich einfach gehen wird wie seinerzeit die des HM-ES-PMSw1.

Um hier in Vorleistung zu gehen, sieht das HM-ES-TX-WM Gerät in einer CCU wie folgt aus:

Bildschirmfoto 2023-10-21 um 10 35 19

Und die Datenpunkte in den Kanälen dann wie folgt:

Bildschirmfoto 2023-10-21 um 10 39 48

Würde mich freuen wenn die integration eines virtuelle HM-ES-TX-WM in CCU-Jack einmal evaluiert würde und ggf. dann umgesetzt damit ich den WiFi ACM-ESP dann entsprechend so nah wie möglich an der HomeMatic-Welt integrieren könnte und CCU-Jack so um die Möglichkeit auch erweitert wäre einen Gas-/Energiezähler auf Basis eines HM-ES-TX-WM umzusetzen.

jens-maus commented 8 months ago

BTW: Vielleicht kann hier auch @Phunkafizer (der Entwickler hinter dem WiFi ACM-ESP für die BK-G4 AT) entsprechend unterstützen damit dieses Gerät sich noch besser in die HomeMatic-Welt integrieren lässt. Ein Punkt wäre z.B. das anhand der Dokumentation anscheinend der WiFi ACM-ESP aktuell wohl nur den absoluten Zählerstand liefert, der HM-ES-TX-WM aus der HomeMatic-Welt aber auch normal die Leistung (GAS_POWER Datenpunkt) liefert. Da der WiFI ACM-ESP wohl mit Netzteil aber in einem 30 Sekunden Intervall den Zählerstand auslesen kann, wäre es schön die Firmware dahingehend zu ändern, das diese basierend auf dem letzten Zählerstand auch immer via MQTT die aktuell berechnete Leistung mit ausliefert, dann muss diese Berechnung nicht im Nachgang erfolgen.

friedpa commented 8 months ago

Hi Jens, du könntest Dir auch das Github Projekt: "AI on the Edge" von jomjol anschauen. Das funktioniert sehr gut und passiert auf Bildauswertung. Datenübertragung über MQTT, oder API

grafik

friedpa commented 8 months ago

grafik

friedpa commented 8 months ago

Geht auch mit Wasserzähler:

grafik

jens-maus commented 8 months ago

Hi Jens, du könntest Dir auch das Github Projekt: "AI on the Edge" von jomjol anschauen. Das funktioniert sehr gut und passiert auf Bildauswertung. Datenübertragung über MQTT, oder API

Alles schon gesehen/wahrgenommen. Das ist aber definitiv IMHO over-the-top und etwas zu sehr "Durch die Brust ins Auge" und ich will mir auch nicht die Sicht auf den Zähler versperren. Es gibt das von mir erwähnte WiFi ACM-ESP für die Absolute Encoder basierten Gaszähler und das ist IMHO der moderne way to go...

jens-maus commented 8 months ago

Aber zumindest im Bezug auf CCU-Jack wäre auch für diese Anwendung es IMHO gut den HM-ES-TX-WM in CCU Jack als virtuelles Gerät implementiert zu haben (darum geht es hier ja).

mdzio commented 8 months ago

Generell ist es bereits jetzt möglich, beliebige Analogwerte über MQTT zu empfangen. Der Wert steht dann in der CCU als "Spannung" eines Analogeingangs eines HmIP-MIO16-PCB zur Verfügung. So mache ich es zurzeit für meine Energiemessung. Die Nachbildung eines HM-ES-TX-WM ist natürlich schöner, weswegen ich das Thema mal weiter verfolge.

Um ein reales HM-IP Gerät virtuell nachbilden zu können, werden alle Geräte- und Kanaleigenschaften benötigt, wie sie der Schnittstellenprozess der CCU zur Verfügung stellt. Diese können am besten mit dem device-info Werkzeug (Download) aus der CCU ausgelesen werden. Dieses sollte einmal mit der Geräteseriennummer und dann für jeden Kanal durch anhängen von :0, :1, usw. aufgerufen werden. Die Ausgabe bitte hier zur Verfügung stellen.

mdzio commented 8 months ago

Wie sieht denn der Zählersensor HM-ES-TX-WM unter "Status und Bedienung" in der CCU-Web-UI aus?

jens-maus commented 8 months ago

Generell ist es bereits jetzt möglich, beliebige Analogwerte über MQTT zu empfangen. Der Wert steht dann in der CCU als "Spannung" eines Analogeingangs eines HmIP-MIO16-PCB zur Verfügung. So mache ich es zurzeit für meine Energiemessung. Die Nachbildung eines HM-ES-TX-WM ist natürlich schöner, weswegen ich das Thema mal weiter verfolge.

Danke dir. Ich halte es auch für eine sehr gute Idee den HM-ES-TX-WM wenn möglich als virtuelles Gerät in CCU-Jack einbinden zu können um darauf das MQTT oder andere Werte in HomeMatic/CCU konformer Art&Weise ablegen lassen zu können. Bin da gerne bereit entsprechendes Testing und ggf. auch gemeinsame Entwicklungsarbeit reinzustecken...

Um ein reales HM-IP Gerät virtuell nachbilden zu können, werden alle Geräte- und Kanaleigenschaften benötigt, wie sie der Schnittstellenprozess der CCU zur Verfügung stellt. Diese können am besten mit dem device-info Werkzeug (Download) aus der CCU ausgelesen werden. Dieses sollte einmal mit der Geräteseriennummer und dann für jeden Kanal durch anhängen von :0, :1, usw. aufgerufen werden. Die Ausgabe bitte hier zur Verfügung stellen.

Danke für den Hinweis. Das kannte ich noch gar nicht – bin aber auch beim Thema CCU-Jack noch recht neu unterwegs. Beim HM-ES-TX-WM ist es jedoch so (wie @Baxxy13 schon erwähnt hatte), dass es diesen prinzipiell in zwei Firmwareversionen (2.5 vs. 1.2) gibt die unterschiedliche Features bringen und auch leider inkompatibel zueinander sind. Es ist also z.B. nicht so, das man nur die "höhere" Firmware 2.5 benötigt und dann hat man alle Features. In der Tat betreibe ich in meiner Installation aktuell 3 HM-ES-TX-WM, zwei davon mit Firmware 1.2 und eins mit Firmware 2.5. Die Firmware 2.5 wird vor allem dafür benötigt den HM-ES-TX-WM neue Protokoll- und Verarbeitungsarten im Bezug auf moderne Stromzähler mit Opto-Elektrischem Lesekopf (IEC) zu bescheren. Und die Firmware 1.2 wird benötigt um hier impuls-basierte (Reedkontakt, LED Lesekopf) Gas- (oder wie ich umgesetzt habe auch Wasserzähler) in die CCU/HomeMatic-Welt integrieren zu können.

Und diese beiden Firmwareversionen kommen dann mit unterschiedlichen Kanälen/Datenpunkten daher, sodass ich denke das am Ende in CCU-Jack wohl zwei Implementationen des HM-ES-TX-WM erfolgen müsste um beide Welten dann abdecken zu können.

Wie gewünscht hier nun die entsprechenden ausgelesenen Kanal/Datenpunkt Daten der drei HM-ES-TX-WM meiner Installation:

HM-ES-TX-WM-v1.2-gas.txt HM-ES-TX-WM-v1.2-wasser.txt HM-ES-TX-WM-v2.5-strom.txt

Hierbei sind die Kanäle/Datenpunkte der beiden v1.2 HM-ES-TX-WM ja im Grunde gleich. Ich hab aber trotzdem mal alle drei ausgelesenen device-info Daten für dich hinzugefügt. Der große Unterschied sollte ja zwischen v1.2 und v2.5 Firmware in diesen device-infos zu erkennen sein.

Wie sieht denn der Zählersensor HM-ES-TX-WM unter "Status und Bedienung" in der CCU-Web-UI aus?

Dazu hier einmal die entsprechenden drei Screenshots damit du dir ein Bild davon machen kannst.

Bildschirmfoto 2023-10-23 um 09 56 53 Bildschirmfoto 2023-10-23 um 09 57 18 Bildschirmfoto 2023-10-23 um 09 57 39

Die jeweils drei großen herausgelöschten Bereiche sind einfach nur zusätzlich hinzugefügte Systemvariablen die ich dort für mich mit anzeigen lasse. Die sind natürlich nicht teil des Standard-Sets bzw. der Kanäle.

mdzio commented 8 months ago

Unten ist eine erste Liste der relevanten Parameter für das virutelle Gerät zu finden.

Einige Fragen hätte ich noch:

Version Kanal Kanaltyp Parmset Parameter Einheit Kommentar
1.2 1 POWERMETER_IEC1 MASTER ENERGY_COUNTER_STRING    
1.2 1 POWERMETER_IEC1 MASTER METER_TYPE   "GAS-SENSOR", "IR-SENSOR", "LED-SENSOR", "IEC-SENSOR", "UNKOWN"
1.2 1 POWERMETER_IEC1 MASTER POWER_STRING    
1.2 1 POWERMETER_IEC1 VAUES ENERGY_COUNTER Wh  
1.2 1 POWERMETER_IEC1 VAUES GAS_ENERGY_COUNTER m3  
1.2 1 POWERMETER_IEC1 VAUES GAS_POWER m3 Einheit passt nicht
1.2 1 POWERMETER_IEC1 VAUES IEC_ENERGY_COUNTER kWh  
1.2 1 POWERMETER_IEC1 VAUES IEC_POWER W  
1.2 1 POWERMETER_IEC1 VAUES POWER W  
1.2 2 POWERMETER_IEC2 MASTER ENERGY_COUNTER_STRING    
1.2 2 POWERMETER_IEC2 MASTER METER_TYPE   "GAS-SENSOR", "IR-SENSOR", "LED-SENSOR", "IEC-SENSOR", "UNKOWN"
1.2 2 POWERMETER_IEC2 MASTER POWER_STRING    
1.2 2 POWERMETER_IEC2 VAUES IEC_ENERGY_COUNTER kWh  
1.2 2 POWERMETER_IEC2 VAUES IEC_POWER W  
2.5 1 POWERMETER_IEC1 MASTER ENERGY_COUNTER_STRING    
2.5 1 POWERMETER_IEC1 MASTER POWER_STRING    
2.5 1 POWERMETER_IEC1 VAUES IEC_ENERGY_COUNTER kWh  
2.5 1 POWERMETER_IEC1 VAUES IEC_POWER W  
2.5 2 POWERMETER_IEC2 MASTER ENERGY_COUNTER_STRING    
2.5 2 POWERMETER_IEC2 MASTER POWER_STRING    
2.5 2 POWERMETER_IEC2 VAUES IEC_ENERGY_COUNTER kWh  
2.5 2 POWERMETER_IEC2 VAUES IEC_POWER W  
jens-maus commented 8 months ago
  • Der 2. Kanal bei Gas und Wasser (Firmware V1.2) hat keine Funktion?

Das kommt drauf an welche Einstellung unter Kanal 1:METER_TYPE bzw. 2:METER_TYPE eingestellt ist (die beiden sind immer synchron). Wenn dort IEC-SENSOR oder UNKNOWN eingestellt ist, dann taucht in Kanal 2 weitere Einstellmöglichkeiten auf wie das auch bei Firmware 2.5 in Kanal 2 der Fall ist. Weil in Firmware 1.2 konnte man auch schon den IEC Sensor verwenden, aber eben mit sehr abgespeckter Funktionalität und ich würde meinen, jeder der den IEC Sensor den man direkt auf ein SmartMeter auflegen kann verwendet ohnehin inzwischen Firmware 2.5 einfach weil damit modernere Protokolle (SML) usw. möglich sind. Konkret bedeutet das, wenn eben IEC-SENSOR oder UNKNOWN als METER_TYPE eingestellt ist wird Kanal 2 bei Firmware 1.2 auch zur Ermittlung/Darstellung der Einspeiseleistung/Einspeisezählerstand verwendet. Bei den anderen METER_TYPE Werten ist dann dieser Kanal ungenutzt und hat keine Funktion, ja.

  • Der 2. Kanal bei Strom (Firmware V2.5) ist für die eingespeiste Leistung?

Genau so ist es. Dieser zeigt dann die Einspeiseleistung/Einspeisezählerstand an. Wie oben erwähnt ist das aber auch bei Firmware 1.2 so wenn IEC-SENSOR eingestellt ist. Im Grunde wird mit Firmware 2.5 der HM-ES-TX-WM zu einem reinen IEC-Sensorauswertegerät weil dann es ja dann keinerlei METER_TYPE Einstellmöglichkeit wird um z.B. diesen als Gassensor zu verwenden.

  • Die angezeigten Einheiten in den Faceplates der Kanäle können unter Geräteeinstellungen vorgegeben werden (Parameter ENERGY_COUNTER_STRING und POWER_STRING)? Ein Screen-Shot von den Geräte-Einstellungen wäre noch hilfreich.

Nein, die Einheiten die in der WebUI angezeigt werden lassen sich nicht für den HM-ES-TX-WM explizit einstellen in den Geräteeinstellungen, sondern ergeben sich automatisch aus der Einstellung von METER_TYPE (bei FW 1.2) und bei Verwendung von FW 2.5 ist das immer W/Wh eben weil dieser dann ohnehin nur als Energiemesser an einem Stromzähler verwendet werden kann. Deshalb muss man eben den METER_TYPE ändern um hier zwischen Gas (m3) und Strom (kWh) zu unterscheiden. Und deshalb wird z.B. der HM-ES-TX-WM auch nicht als "Wasserzähler" verkauft bzw. angeboten. Glücklicherweise ist aber die Einheit für Gas (m3) ja die gleiche wie für Wasser (m3) und so verwende ich einen HM-ES-TX-WM mit METER_TYPE = GAS-SENSOR und hab den mit meinem Wasserzähler verbunden und dann zeigt die WebUI dann dort auch m3 als Einheit an und auch an externe Engines wie ioBroker/HomeAssistant wird dieser Kanal ja mit Einheit "m3" weitergegeben, steht als nur über als "GAS" drin im Datenpunkt, was ja aber irrelevant ist.

Die Screenshots der Geräteeinstellungen hänge ich dir trotzdem hier mal an. Beim Screenshot für "Hausanschluss-Wasser" gilt zu beachten, dass ich da einfach mal auf "IEC" als Sensor kurz umgestellt habe damit du sehen kannst das dort bei FW 1.2 und 2.5 im Grunde das gleiche angezeigt wird wenn der METER_TYPE auf IEC-SENSOR steht.

Bildschirmfoto 2023-10-29 um 11 36 39 Bildschirmfoto 2023-10-29 um 11 38 08 Bildschirmfoto 2023-10-29 um 11 37 19
  • Wird METER_TYPE über die Geräte-Einstellungen gesetzt? Oder stellt die Auswerteeinheit das selber fest?

Denke das hat sich mit meiner oberen Antwort dazu schon geklat.

  • Der 1. Kanel von Firmware V1.2 hat alles dreifach: ENERGY_COUNTER, GAS_ENERGY_COUNTER, IEC_ENERGY_COUNTER und POWER, GAS_POWER, IEC_POWER. Wie unterscheiden sich denn die jeweiligen Werte? Welche werden in den Faceplates angezeigt?

Was meinst du denn genau mit "Faceplates"? Wie schon oben gesagt wird je nach manueller Einstellung des METER_TYPE dann ggf. ENERGY_COUNTER, GAS_ENERGY_COUNTER oder eben IEC_ENERGY_COUNTER verwendet.

Hoffe damit ist nun das durcheinander mit diesem Sensor etwas mehr aufgeklärt....

Baxxy13 commented 8 months ago

Eigentlich sollten doch 2 Geräte bzw. Kanäle reichen.

Zwischen 1.2 und 2.5 muss man m.E. nicht unterscheiden, da die Werte per MQTT reinkommen.

Eventuell müsste man vom Original 1.2 etwas abweichen da ja bei manchen Zählern die Einspeisewerte auch als negative Zahl reinkommen können. Ob sowas dann auch mit den internen Scripten läuft weiß ich nicht. Hat der 2.5er auf dem Einspeisekanal überhaupt die Scripte + SysVars?

jens-maus commented 8 months ago

Hat der 2.5er auf dem Einspeisekanal überhaupt die Scripte + SysVars?

Nein, für Kanal 2 gibt es keinerlei interne Skripte oder Sysvars und deshalb auch dort (wie man oben in den screenshots sehen kann) in der WebUI auch keinerlei "Energiezähler - Zentrale" Anzeige.

mdzio commented 8 months ago

Mit diesen Informationen kann ich mal ein virtuelles Gerät erstellen und schauen, was die CCU daraus macht.

Der Begriff "Faceplate" kommt aus der industriellen Automatisierungstechnik. Damit wird eine Detailansicht (meistens ein Pop-Up-Fenster auf einem Bedienbild) zu einem Sensor/Aktor zwecks Anzeige aller Informationen und Bedienung bezeichnet. Das passt ganz gut zu den Kanalansichten der CCU.

jens-maus commented 8 months ago

Mit diesen Informationen kann ich mal ein virtuelles Gerät erstellen und schauen, was die CCU daraus macht.

Wunderbar, dann geb bescheid wenn du eine CCU-Jack Version hast die ich testen kann. Ich hab inzwischen auch meinen Gaszähler mit dem WiFi ACM-ESP (den ich oben genannt hatte) in Betrieb und er liefert bereits an meinen MQTT Broker (und damit auch an HomeAssistant + ioBroker) problemlos schon die Werte. Nun fehlt mir nur noch die Integration in die HomeMatic-Welt via HM-ES-TX-WM damit der alte Komfort wieder hergestellt ist :)

mdzio commented 8 months ago

In der nächsten Veröffentlichung (Version 2.8.0) sind virtuelle HM-ES-TX-WM-Kanäle für Strom und Gas enthalten. Allerdings handelt es sich um rein statische Kanäle, die nur die nötigen Datenpunkte zum Beschreiben und Lesen zur Verfügung stellen. Sicherlich können sie, wie dies bei allen CCU-Geräten und virtuellen Jack-Geräten möglich ist, über die REST-API und die vordefinierten MQTT-Topics und Payloads beschrieben und gelesen werden.

Zusätzliche virtuelle Kanäle für eine frei konfigurierbare MQTT-Anbindung erfolgt dann im Rahmen von #152.

jens-maus commented 8 months ago

In der nächsten Veröffentlichung (Version 2.8.0) sind virtuelle HM-ES-TX-WM-Kanäle für Strom und Gas enthalten.

Danke. Dann teste ich das dann mal sobald die Version draussen ist. Hätte das natürlich auch einfach in nightly builds/snapshots testen können wenn du das irgendwo hast oder du mir die zukommen lässt damit du vorab da schon einmal ein paar Rückmeldungen hast. Abe rich kann auch auf die offizielle 2.8.0 warten, klar..

Allerdings handelt es sich um rein statische Kanäle, die nur die nötigen Datenpunkte zum Beschreiben und Lesen zur Verfügung stellen. Sicherlich können sie, wie dies bei allen CCU-Geräten und virtuellen Jack-Geräten möglich ist, über die REST-API und die vordefinierten MQTT-Topics und Payloads beschrieben und gelesen werden.

Zusätzliche virtuelle Kanäle für eine frei konfigurierbare MQTT-Anbindung erfolgt dann im Rahmen von #152.

Für mich wäre in der Tat noch interessant (auch weil ich das nicht überblicke) ob du

  1. dem virtuellen HM-ES-TX-WM vielleicht auch noch entsprechende WATER Kanäle spendieren könntest damit man den ggf. auch als Wasserzähler einsetzen kann. Dann kann der virtuelle HM-ES-TX-WM am Ende sogar mehr als sein original :)
  2. Du vielleicht auch funktionalität ggf. in die POWER Kanäle einbauen kann das dieser sich vielleicht automatisch aus den Werten ergibt die über die ENERGY_COUNTER Kanäle geliefert werden. Weil hier ist es so, das mein neues Auslesegerät das ich am Gaszähler habe nur den absoluten Zählerstand liefert aber leider keine Ableitung bzw. Berechnung des "Durchflusses" bzw. "POWER", also m3/h oder so. Das könnte man aber locker natürlich aus den absoluten Zählerständen z.B. berechnen/ableiten die einem geliefert werden. Und wenn das gehen würde wäre das natürlich super, dann müsste ich @Phunkafizer nicht versuchen zu überzeugen das in die Firmware des WiFI ACM-ESP direkt irgendwie einzubauen, auch weil er sich hier leider noch nicht gemeldet hatte.
mdzio commented 8 months ago

In der nächsten Veröffentlichung (Version 2.8.0) sind virtuelle HM-ES-TX-WM-Kanäle für Strom und Gas enthalten.

Danke. Dann teste ich das dann mal sobald die Version draussen ist. Hätte das natürlich auch einfach in nightly builds/snapshots testen können wenn du das irgendwo hast oder du mir die zukommen lässt damit du vorab da schon einmal ein paar Rückmeldungen hast. Abe rich kann auch auf die offizielle 2.8.0 warten, klar..

Ich kann Dir gerne eine Vorabversion zukommen lassen. Snapshots werden noch nicht automatisch gebaut. Für welche Plattform?

jens-maus commented 8 months ago

In der nächsten Veröffentlichung (Version 2.8.0) sind virtuelle HM-ES-TX-WM-Kanäle für Strom und Gas enthalten.

Danke. Dann teste ich das dann mal sobald die Version draussen ist. Hätte das natürlich auch einfach in nightly builds/snapshots testen können wenn du das irgendwo hast oder du mir die zukommen lässt damit du vorab da schon einmal ein paar Rückmeldungen hast. Abe rich kann auch auf die offizielle 2.8.0 warten, klar..

Ich kann Dir gerne eine Vorabversion zukommen lassen. Snapshots werden noch nicht automatisch gebaut. Für welche Plattform?

x86_64 / ova.

mdzio commented 8 months ago

Ich habe gerade nur die 32 Bit-Version zur Hand. Da gab es bisher keine Beschwerden, dass sie unter 64 Bit nicht läuft: ccu-jack-vccu-x86-2.8.0.tar.gz

jens-maus commented 8 months ago

Ich habe gerade nur die 32 Bit-Version zur Hand. Da gab es bisher keine Beschwerden, dass sie unter 64 Bit nicht läuft: ccu-jack-vccu-x86-2.8.0.tar.gz

Danke, das funktioniert bereits prinzipiell und ich kann einen virtuelle HM-ES-TX-WM damit integrieren. Nur wie ich diesen nun mit Werten befüllen kann muss ich mir noch genauer überlegen. Aktuell schickt mein Gaszähler via MQTT an meinen MQTT Broker in ioBroker seien Daten und auch HomeAssistant erhält über diesen Broker problemlos die Daten des Gaszählers. Habe zwar bereits versucht CCU-Jack auch an den zentralen Broker anzubinden. Wie ich nun aber das im Broker existierende MQTT Topic nun an den virtuellen HM-ES-TX-WM binden kann ist mir noch nicht so ganz klar, bzw. hat in den MQTT Bridge Einstellungen nicht auf anhieb funktioniert.

mdzio commented 8 months ago

Für mich wäre in der Tat noch interessant (auch weil ich das nicht überblicke) ob du

  1. dem virtuellen HM-ES-TX-WM vielleicht auch noch entsprechende WATER Kanäle spendieren könntest damit man den ggf. auch als Wasserzähler einsetzen kann. Dann kann der virtuelle HM-ES-TX-WM am Ende sogar mehr als sein original :)

Für jeden Kanaltyp ist die Darstellung in der CCU fest hinterlegt. Um eigene Kanalansichten zu erstellen, müssten etliche Dateien auf der CCU angepasst werden (stringtable_de.txt, powermeter.fn, datapointconfigurator.fn, newdevices.htm, webui.js, ...). Das hat beispielsweise @jp112sdl in seinem JP-HB-Devices-addon realisiert. Meiner Meinung nach ist das ein erheblicher Aufwand und geht über das Ziel des CCU-Jacks weit hinaus.

  1. Du vielleicht auch funktionalität ggf. in die POWER Kanäle einbauen kann das dieser sich vielleicht automatisch aus den Werten ergibt die über die ENERGY_COUNTER Kanäle geliefert werden. Weil hier ist es so, das mein neues Auslesegerät das ich am Gaszähler habe nur den absoluten Zählerstand liefert aber leider keine Ableitung bzw. Berechnung des "Durchflusses" bzw. "POWER", also m3/h oder so. Das könnte man aber locker natürlich aus den absoluten Zählerständen z.B. berechnen/ableiten die einem geliefert werden. Und wenn das gehen würde wäre das natürlich super, dann müsste ich @Phunkafizer nicht versuchen zu überzeugen das in die Firmware des WiFI ACM-ESP direkt irgendwie einzubauen, auch weil er sich hier leider noch nicht gemeldet hatte.

Ja, das kann ich einbauen. Wenn keine MQTT-Anbindung für die Leistung bzw. den Durchfluss konfiguriert wurde, werden diese Werte automatisch berechnet. Beim Gaszähler hat das CCU-Gerät die Einheit m³. Ist da nicht eine Einheit wie l/h (Liter/Stunde) passender?

jens-maus commented 8 months ago
  1. dem virtuellen HM-ES-TX-WM vielleicht auch noch entsprechende WATER Kanäle spendieren könntest damit man den ggf. auch als Wasserzähler einsetzen kann. Dann kann der virtuelle HM-ES-TX-WM am Ende sogar mehr als sein original :)

Für jeden Kanaltyp ist die Darstellung in der CCU fest hinterlegt. Um eigene Kanalansichten zu erstellen, müssten etliche Dateien auf der CCU angepasst werden (stringtable_de.txt, powermeter.fn, datapointconfigurator.fn, newdevices.htm, webui.js, ...). Das hat beispielsweise @jp112sdl in seinem JP-HB-Devices-addon realisiert. Meiner Meinung nach ist das ein erheblicher Aufwand und geht über das Ziel des CCU-Jacks weit hinaus.

Da geb ich dir recht. Das sollte man wenn möglich unterlassen bzw. den Aufwand dafür gering halten.

Ja, das kann ich einbauen. Wenn keine MQTT-Anbindung für die Leistung bzw. den Durchfluss konfiguriert wurde, werden diese Werte automatisch berechnet. Beim Gaszähler hat das CCU-Gerät die Einheit m³. Ist da nicht eine Einheit wie l/h (Liter/Stunde) passender?

Für RaspberryMatic hab ich im letzten Nightly Snapshot die Einheit bereits auf m3/h geändert.

mdzio commented 8 months ago

Danke, das funktioniert bereits prinzipiell und ich kann einen virtuelle HM-ES-TX-WM damit integrieren. Nur wie ich diesen nun mit Werten befüllen kann muss ich mir noch genauer überlegen. Aktuell schickt mein Gaszähler via MQTT an meinen MQTT Broker in ioBroker seien Daten und auch HomeAssistant erhält über diesen Broker problemlos die Daten des Gaszählers. Habe zwar bereits versucht CCU-Jack auch an den zentralen Broker anzubinden. Wie ich nun aber das im Broker existierende MQTT Topic nun an den virtuellen HM-ES-TX-WM binden kann ist mir noch nicht so ganz klar, bzw. hat in den MQTT Bridge Einstellungen nicht auf anhieb funktioniert.

Der CCU-Jack besitzt zwei Arten von virtuellen Geräten:

Erstens die "statischen" Geräte, die einfach die Datenpunkte ohne irgendeine interne Logik zur Verfügung stellen. Dort müssen Datenpunkte explizit über die REST-API, vordefinierte MQTT-Topics oder HM-Skript beschrieben werden. Alle realen und virtuellen CCU- und Jack-Geräte sind über diese 3 Schnittstellen lesbar und beschreibbar.

Zweitens die MQTT-Geräte, die eine interne frei konfigurierbarer MQTT-Anbindung besitzen. Auf dem MQTT-Server erscheinen diese daher doppelt. Einmal unter den vom CCU-Jack vordefinierten Topics und einmal unter den frei konfigurierbaren Topics.

Die Vorabversion und dann auch V2.8.0 enthält nur die statischen Kanäle für den Zähler-Sensor. Die Variante mit frei konfigurierbaren MQTT-Topics ist noch in Arbeit.

mdzio commented 8 months ago

Die statischen Geräte sind soweit getestet und sind in der V2.8.0 enthalten. Es geht dann in #152 weiter.

mdzio commented 7 months ago

Es gibt jetzt auch die gleichen Geräte mit konfigurierbarer MQTT-Anbindung in der v2.8.1-beta.3.