MQTT-Neuling braucht Hilfe (p4d - Fröling S1 Turbo Holzscheitkessel mit S-3200)

Begonnen von hoppel118, 19 April 2020, 23:12:06

Vorheriges Thema - Nächstes Thema

Beta-User

Zitat von: rudolfkoenig am 29 April 2020, 00:23:37
Kuerzer aber nicht weniger kryptisch ist diese Schreibweise:
attr Boiler readingList p4d2mqtt.* { hashKeyRename(json2nameValue($EVENT), '^(Boiler_(.*)_value)', '(Boiler.*)') }
...ich hoffe, das wiederzufinden, wenn wir es wirklich brauchen ::) .

(Und hoffe immer noch, dass horchi und "Teilstücke der Pipeline" jeweils auf einem eigenen Teil des Topic-Pfades liefern mag...)

Vielleicht nochmal ein paar Anmerkungen/Fragen):
- (das Connect/Disconnect-Ding ist gelöst?)
- Einen "last will" habe ich nicht gesehen? Absicht? Später? Nicht verstanden, um was es da geht bzw. wie das gedacht ist?
- Es sollte ein "Subgerät" "Busmaster" geben:
-- (da gehört der last will zu online/offline hin = eigener Topic)
-- da sollte man einstellen können, ob
  --- das Bezugssystem metrisch oder imperial ist (=km+°C vs. miles+°F). Optimalerweise umschaltbar von metrisch auf imperial via einem MQTT-Kommando;
  --- Einheiten überhaupt gesendet werden sollen => Senden von Einheiten ebenfalls im default abgeschaltet, nur bei Bedarf einschaltbar (via MQTT)
  --- man die "discovery-Meldung" für homeassistant haben will; auch die fände ich by default im abgeschalteten Zustand besser...

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

rudolfkoenig

Zitat-- da sollte man einstellen können, ob
  --- das Bezugssystem metrisch oder imperial ist (=km+°C vs. miles+°F). Optimalerweise umschaltbar von metrisch auf imperial via einem MQTT-Kommando;
Warum nur Imperial und nicht US? Oder Magdeburg, von 1430 bis 1630 ? Will damit sagen: sind die Benutzer von diesem Holzscheitkessel-Steuerung in US oder GB (oder Magdeburg, vor 1630 :) ) relevant? Und selbst wenn ja, eine Umstellung direkt am Geraet sollte reichen, sowas stellt man doch nicht staendig um, und schon gar nicht aus der Ferne.
Eine Umstellmoeglichkeit macht Software/Doku/Support/Benutzung komplizierter.

Beta-User

Zitat von: rudolfkoenig am 29 April 2020, 09:47:01
Warum nur Imperial und nicht US? Oder Magdeburg, von 1430 bis 1630 ? Will damit sagen: sind die Benutzer von diesem Holzscheitkessel-Steuerung in US oder GB (oder Magdeburg, vor 1630 :) ) relevant? Und selbst wenn ja, eine Umstellung direkt am Geraet sollte reichen, sowas stellt man doch nicht staendig um, und schon gar nicht aus der Ferne.
Eine Umstellmoeglichkeit macht Software/Doku/Support/Benutzung komplizierter.
Soweit korrekt, von mir aus auch gem. US-System oder was auch immer.

Geht nur drum zu sagen: Selbst wenn man es auf "einmalig beim Systemstart" beschränkt, macht das Senden von Einheiten mMn. wenig Sinn. Es erzeugt einfach nur (@FHEM: in 99,999% der Fälle unnötige) Daten - schon gleich, wenn es gar nicht änderbar ist (auf der Sender-Seite).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hoppel118

Danke euch beiden für die stetige Beteiligung an diesem Thema. Ich bin dazu weiterhin mit horchi in Kontakt.

Der Openhab User ist anscheinend mit der Lösung fein.

Zitat von: Beta-User am 29 April 2020, 09:24:23
- (das Connect/Disconnect-Ding ist gelöst?)

Ich weiß nicht, kann man das in einem verbose 5 vom Server sehen?

Hier hatte ich das gestern Abend mitgeloggt:

https://pastebin.com/Qr8m58Kk

Ich sehe ein CONNECT zu Beginn (systemctl start p4d) und ein DISCONNECT zum Ende (systemctl stop p4d). Passt das nun so?

Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Beta-User

Ein Connect beim Starten und einer beim Stoppen ist m.E. sehr gut.

Du könntest ggf. mal testen, was passiert, wenn du die Netzwerkverbindung zum FHEM-Server trennst (falls möglich); da sollte dann auch ein "unclean" disconnect kommen und ein reconnect.

Sonst muß ich zugeben, dass ich das log nicht intensiv angeschaut habe.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hoppel118

Das schaue ich mir heute Abend nochmal an...

horchi fragt gerade nochmal folgendes. Da ich mir nicht sicher bin, auch wenn die Antwort klar scheint, möchte ich nochmal deine Bestätigung @Beta-User . Nicht dass horchi irgendwas baut, weil wir aneinander vorbeireden. ;)

horchi:
Zitatzusammenfassend soll für FHEM die Baugruppe komplett aus dem Json raus und in den Topic Namen, Rest bleibt wie es gerade ist?

Passt die Aussage für unseren FHEM-Anwendungsfall?

Danke und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Beta-User

Zitat von: hoppel118 am 29 April 2020, 12:34:22
zusammenfassend soll für FHEM die Baugruppe komplett aus dem Json raus und in den Topic Namen, Rest bleibt wie es gerade ist?
Die Begrifflichkeit irritiert mich etwas.

Minimalziel sollte sein:
p4d2mqtt/Holzscheitkessel <payload>
Mir persönlich würden auch weniger verschachtelte JSON besser gefallen. Das ergäbe:
p4d2mqtt/Holzscheitkessel/Saugzugdrehzahl_0x7 <payload>(Das ist aber wirklich eine Geschmacksfrage, kannst du so weitergeben, wie es dir besser erscheint; Vorteil auf FHEM-Sicht: Das gibt "kürzere" Reading-Namen bzw. weniger JSON-Mapping-Bedarf).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hoppel118

So, kurz vor Mitternacht bin ich wieder da... ;)

horchi hat eine neue Version bereitgestellt, anhand der man nun selbst entscheiden kann, was man will:


  • wer separate Topics je Sensor möchte, verwendet im "Data Topic Name" das <NAME> Template
  • wer ein Topic je Baugruppe möchte, verwendet das <GROUP> Template
  • wer ordentlich strukturiertes JSON und alles auf einem Topic möchte, verwendet keines der beiden Templates

Baugruppen sind eingerichtet und zugewiesen und unter "MQTT Data Topic Name" habe ich folgendes eingetragen: "p4d2mqtt/<GROUP>/state". Ich verwende also das <GROUP> Template.

Anschließend habe ich auf dem MQTT2_Server verbose 5 aktiviert und p4d auf dem Heizungs-RPi gestartet.

Hier das Logfile: https://pastebin.com/Hg3Mcefk

Das autocreated MQTT2_Device sieht wie folgt aus:

Internals:
   CFGFN     
   CID        p4d_publisher
   DEF        p4d_publisher
   DEVICETOPIC MQTT2_p4d_publisher
   FUUID      5ea9e259-f33f-5dcf-8815-cb9a2073c3ef1373
   IODev      mqtt2server
   LASTInputDev mqtt2server
   MSGCNT     234
   NAME       MQTT2_p4d_publisher
   NR         659
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2server_MSGCNT 234
   mqtt2server_TIME 2020-04-29 22:48:44
   READINGS:
     2020-04-29 22:48:44   Abgas-Solltemperatur_0x13_description Abgas-Solltemperatur
     2020-04-29 22:48:44   Abgas-Solltemperatur_0x13_unit °C
     2020-04-29 22:48:44   Abgas-Solltemperatur_0x13_value 183.00
     2020-04-29 22:48:44   Abgastemperatur_0x1_description Abgastemperatur
     2020-04-29 22:48:44   Abgastemperatur_0x1_unit °C
     2020-04-29 22:48:44   Abgastemperatur_0x1_value 139.00
     2020-04-29 22:48:44   Aussentemperatur_0x4_description Außentemperatur
     2020-04-29 22:48:44   Aussentemperatur_0x4_unit °C
     2020-04-29 22:48:44   Aussentemperatur_0x4_value 10.00
     2020-04-29 22:48:44   BetriebsartBoiler_0x156_description Betriebsart Boiler
     2020-04-29 22:48:44   BetriebsartBoiler_0x156_unit
     2020-04-29 22:48:44   BetriebsartBoiler_0x156_value 1.00
     2020-04-29 22:48:44   BetriebsartHeizkreis_0x17_description Betriebsart Heizkreis
     2020-04-29 22:48:44   BetriebsartHeizkreis_0x17_unit
     2020-04-29 22:48:44   BetriebsartHeizkreis_0x17_value 0.00
     2020-04-29 22:48:44   BetriebsartHeizkreis_0x1b_description Betriebsart Heizkreis
     2020-04-29 22:48:44   BetriebsartHeizkreis_0x1b_unit
     2020-04-29 22:48:44   BetriebsartHeizkreis_0x1b_value 0.00
     2020-04-29 22:48:44   Betriebsmodus_description Betriebsmodus
     2020-04-29 22:48:44   Betriebsmodus_unit zst
     2020-04-29 22:48:44   Betriebsmodus_value Dauerlast
     2020-04-29 22:48:44   Betriebsstunden_0x62_description Betriebsstunden
     2020-04-29 22:48:44   Betriebsstunden_0x62_unit h
     2020-04-29 22:48:44   Betriebsstunden_0x62_value 9900.00
     2020-04-29 22:48:44   BetriebsstundeninderFeuererhaltung_0x73_description Betriebsstunden in der Feuererhaltung
     2020-04-29 22:48:44   BetriebsstundeninderFeuererhaltung_0x73_unit h
     2020-04-29 22:48:44   BetriebsstundeninderFeuererhaltung_0x73_value 27.00
     2020-04-29 22:48:44   BetriebsstundenvonKessel2Brennerkontakt_0x109_description Betriebsstunden von Kessel 2 (Brennerkontakt)
     2020-04-29 22:48:44   BetriebsstundenvonKessel2Brennerkontakt_0x109_unit h
     2020-04-29 22:48:44   BetriebsstundenvonKessel2Brennerkontakt_0x109_value 2476.00
     2020-04-29 22:48:44   Boardtemperatur_0x2_description Boardtemperatur
     2020-04-29 22:48:44   Boardtemperatur_0x2_unit °C
     2020-04-29 22:48:44   Boardtemperatur_0x2_value 40.50
     2020-04-29 22:48:44   BoilerpumpeAnsteuerung_0x90_description Boilerpumpe Ansteuerung
     2020-04-29 22:48:44   BoilerpumpeAnsteuerung_0x90_unit %
     2020-04-29 22:48:44   BoilerpumpeAnsteuerung_0x90_value 0.00
     2020-04-29 22:48:44   Boilertemperaturoben_0x5d_description Boilertemperatur oben
     2020-04-29 22:48:44   Boilertemperaturoben_0x5d_unit °C
     2020-04-29 22:48:44   Boilertemperaturoben_0x5d_value 62.00
     2020-04-29 22:48:44   Build_0x16f_description Build
     2020-04-29 22:48:44   Build_0x16f_unit
     2020-04-29 22:48:44   Build_0x16f_value 2.00
     2020-04-29 22:48:44   EmpfohleneHolzmengebeimNachlegen_0x10a_description Empfohlene Holzmenge beim Nachlegen
     2020-04-29 22:48:44   EmpfohleneHolzmengebeimNachlegen_0x10a_unit k
     2020-04-29 22:48:44   EmpfohleneHolzmengebeimNachlegen_0x10a_value 1.00
     2020-04-29 22:48:44   FuehleramHydraulikmodul03_0xff_description Fühler am Hydraulikmodul      0.3
     2020-04-29 22:48:44   FuehleramHydraulikmodul03_0xff_unit °C
     2020-04-29 22:48:44   FuehleramHydraulikmodul03_0xff_value 62.00
     2020-04-29 22:48:44   Kesselstellgroesse_0x12_description Kesselstellgröße
     2020-04-29 22:48:44   Kesselstellgroesse_0x12_unit %
     2020-04-29 22:48:44   Kesselstellgroesse_0x12_value 100.00
     2020-04-29 22:48:44   Kesseltemperatur_0x0_description Kesseltemperatur
     2020-04-29 22:48:44   Kesseltemperatur_0x0_unit °C
     2020-04-29 22:48:44   Kesseltemperatur_0x0_value 74.50
     2020-04-29 22:48:44   Kesselzustand_0x1c9_description Kesselzustand
     2020-04-29 22:48:44   Kesselzustand_0x1c9_unit
     2020-04-29 22:48:44   Kesselzustand_0x1c9_value 3.00
     2020-04-29 22:48:44   Lambdasondenspannunggemessen_0xd3_description Lambdasondenspannung gemessen
     2020-04-29 22:48:44   Lambdasondenspannunggemessen_0xd3_unit m
     2020-04-29 22:48:44   Lambdasondenspannunggemessen_0xd3_value 24.07
     2020-04-29 22:48:44   Lambdasondenspannungkorrigiert_0xdc_description Lambdasondenspannung korrigiert
     2020-04-29 22:48:44   Lambdasondenspannungkorrigiert_0xdc_unit m
     2020-04-29 22:48:44   Lambdasondenspannungkorrigiert_0xdc_value 24.07
     2020-04-29 22:48:44   PufferladezustandDiskret_0x1c0_description Pufferladezustand Diskret
     2020-04-29 22:48:44   PufferladezustandDiskret_0x1c0_unit
     2020-04-29 22:48:44   PufferladezustandDiskret_0x1c0_value 4.00
     2020-04-29 22:48:44   Pufferladezustand_0xe1_description Pufferladezustand
     2020-04-29 22:48:44   Pufferladezustand_0xe1_unit %
     2020-04-29 22:48:44   Pufferladezustand_0xe1_value 91.00
     2020-04-29 22:48:44   PufferpumpenAnsteuerung_0x8c_description Pufferpumpen Ansteuerung
     2020-04-29 22:48:44   PufferpumpenAnsteuerung_0x8c_unit %
     2020-04-29 22:48:44   PufferpumpenAnsteuerung_0x8c_value 55.00
     2020-04-29 22:48:44   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_description Pufferpumpenbegrenzung durch Abgastemperatur
     2020-04-29 22:48:44   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_unit %
     2020-04-29 22:48:44   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_value 8.00
     2020-04-29 22:48:44   Puffertemperaturoben_0x76_description Puffertemperatur oben
     2020-04-29 22:48:44   Puffertemperaturoben_0x76_unit °C
     2020-04-29 22:48:44   Puffertemperaturoben_0x76_value 73.50
     2020-04-29 22:48:44   Puffertemperaturunten_0x78_description Puffertemperatur unten
     2020-04-29 22:48:44   Puffertemperaturunten_0x78_unit °C
     2020-04-29 22:48:44   Puffertemperaturunten_0x78_value 71.00
     2020-04-29 22:48:44   RaumfuehlerKBGTouch_0x191_description Raumfühler KBG Touch
     2020-04-29 22:48:44   RaumfuehlerKBGTouch_0x191_unit °C
     2020-04-29 22:48:44   RaumfuehlerKBGTouch_0x191_value 19.00
     2020-04-29 22:48:44   Saugzug-Ansteuerung_0xf_description Saugzug - Ansteuerung
     2020-04-29 22:48:44   Saugzug-Ansteuerung_0xf_unit %
     2020-04-29 22:48:44   Saugzug-Ansteuerung_0xf_value 90.00
     2020-04-29 22:48:44   Saugzugdrehzahl_0x7_description Saugzugdrehzahl
     2020-04-29 22:48:44   Saugzugdrehzahl_0x7_unit U
     2020-04-29 22:48:44   Saugzugdrehzahl_0x7_value 2698.00
     2020-04-29 22:48:44   Status_description zst
     2020-04-29 22:48:44   Status_unit     Heizungsstatus
     2020-04-29 22:48:44   Status_value    Heizen
     2020-04-29 22:48:44   StundenseitletzterWartung_0xd5_description Stunden seit letzter Wartung
     2020-04-29 22:48:44   StundenseitletzterWartung_0xd5_unit h
     2020-04-29 22:48:44   StundenseitletzterWartung_0xd5_value 9900.00
     2020-04-29 22:48:44   TemperaturdesZweitkessel_0xc4_description Temperatur des Zweitkessel
     2020-04-29 22:48:44   TemperaturdesZweitkessel_0xc4_unit °C
     2020-04-29 22:48:44   TemperaturdesZweitkessel_0xc4_value 15.50
     2020-04-29 22:48:44   Uhrzeit_description Datum Uhrzeit der Heizung
     2020-04-29 22:48:44   Uhrzeit_unit    T
     2020-04-29 22:48:44   Uhrzeit_value   Wednesday, 29. Apr. 2020 22:37:13
     2020-04-29 22:48:44   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_description Vergangene Zeit seit letzter Wärmetauscherreinigung
     2020-04-29 22:48:44   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_unit m
     2020-04-29 22:48:44   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_value 438.00
     2020-04-29 22:48:44   Vorlauf-Isttemperatur_0x15_description Vorlauf-Isttemperatur
     2020-04-29 22:48:44   Vorlauf-Isttemperatur_0x15_unit °C
     2020-04-29 22:48:44   Vorlauf-Isttemperatur_0x15_value 40.50
     2020-04-29 22:48:44   Vorlauf-Isttemperatur_0x19_description Vorlauf-Isttemperatur
     2020-04-29 22:48:44   Vorlauf-Isttemperatur_0x19_unit °C
     2020-04-29 22:48:44   Vorlauf-Isttemperatur_0x19_value 43.00
     2020-04-29 22:48:44   Vorlauf-Solltemperatur_0x16_description Vorlauf-Solltemperatur
     2020-04-29 22:48:44   Vorlauf-Solltemperatur_0x16_unit °C
     2020-04-29 22:48:44   Vorlauf-Solltemperatur_0x16_value 49.50
     2020-04-29 22:48:44   Vorlauf-Solltemperatur_0x1a_description Vorlauf-Solltemperatur
     2020-04-29 22:48:44   Vorlauf-Solltemperatur_0x1a_unit °C
     2020-04-29 22:48:44   Vorlauf-Solltemperatur_0x1a_value 49.50
     2020-04-29 22:48:44   Zykluszeit_0xe_description Zykluszeit:
     2020-04-29 22:48:44   Zykluszeit_0xe_unit u
     2020-04-29 22:48:44   Zykluszeit_0xe_value 54.10
Attributes:
   IODev      mqtt2server
   readingList p4d_publisher:p4d2mqtt/Anlagenstatus/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Holzscheitkessel/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Gaskessel/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Puffer/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Boiler/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Heizkreis01/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Heizkreis02/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Aussensensor/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Raumsensor/state:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


Momentan werden alle Readings geloggt, auch Beschreibungen und Einheiten. Die sollten ja eigentlich nur beim Start von p4d einmalig übertragen werden. Habe horchi nochmal darauf aufmerksam gemacht und bei der Gelegenheit darum gebeten, eine Option anzubieten, mit der man das grundsätzlich deaktivieren kann. Mal sehen...

Das Server Device sieht wie folgt aus:

Internals:
   CFGFN     
   CONNECTS   28
   DEF        1883 10.11.11.11
   FD         64
   FUUID      5ea9e211-f33f-5dcf-25fa-e65cfb4057c58044
   NAME       mqtt2server
   NR         654
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2020-04-29 22:49:44   RETAIN          {"p4d2mqtt/Anlagenstatus/state":"{\u0022Status\u0022: {\u0022value\u0022: \u0022Heizen\u0022, \u0022unit\u0022: \u0022Heizungsstatus\u0022, \u0022description\u0022: \u0022zst\u0022}, \u0022Betriebsmodus\u0022: {\u0022value\u0022: \u0022Dauerlast\u0022, \u0022unit\u0022: \u0022zst\u0022, \u0022description\u0022: \u0022Betriebsmodus\u0022}, \u0022Boardtemperatur_0x2\u0022: {\u0022value\u0022: \u002240.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Boardtemperatur\u0022}, \u0022Uhrzeit\u0022: {\u0022value\u0022: \u0022Wednesday, 29. Apr. 2020 22:38:13\u0022, \u0022unit\u0022: \u0022T\u0022, \u0022description\u0022: \u0022Datum Uhrzeit der Heizung\u0022}, \u0022Betriebsstunden_0x62\u0022: {\u0022value\u0022: \u00229900.00\u0022, \u0022unit\u0022: \u0022h\u0022, \u0022description\u0022: \u0022Betriebsstunden\u0022}, \u0022BetriebsstundeninderFeuererhaltung_0x73\u0022: {\u0022value\u0022: \u002227.00\u0022, \u0022unit\u0022: \u0022h\u0022, \u0022description\u0022: \u0022Betriebsstunden in der Feuererhaltung\u0022}, \u0022StundenseitletzterWartung_0xd5\u0022: {\u0022value\u0022: \u00229900.00\u0022, \u0022unit\u0022: \u0022h\u0022, \u0022description\u0022: \u0022Stunden seit letzter Wartung\u0022}, \u0022BetriebsstundenvonKessel2Brennerkontakt_0x109\u0022: {\u0022value\u0022: \u00222476.00\u0022, \u0022unit\u0022: \u0022h\u0022, \u0022description\u0022: \u0022Betriebsstunden von Kessel 2 (Brennerkontakt)\u0022}, \u0022Build_0x16f\u0022: {\u0022value\u0022: \u00222.00\u0022, \u0022unit\u0022: \u0022\u0022, \u0022description\u0022: \u0022Build\u0022}, \u0022VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7\u0022: {\u0022value\u0022: \u0022439.00\u0022, \u0022unit\u0022: \u0022m\u0022, \u0022description\u0022: \u0022Vergangene Zeit seit letzter Wärmetauscherreinigung\u0022}}","p4d2mqtt/Aussensensor/state":"{\u0022Aussentemperatur_0x4\u0022: {\u0022value\u0022: \u002210.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Außentemperatur\u0022}}","p4d2mqtt/Boiler/state":"{\u0022Boilertemperaturoben_0x5d\u0022: {\u0022value\u0022: \u002262.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Boilertemperatur oben\u0022}, \u0022BoilerpumpeAnsteuerung_0x90\u0022: {\u0022value\u0022: \u00220.00\u0022, \u0022unit\u0022: \u0022%\u0022, \u0022description\u0022: \u0022Boilerpumpe Ansteuerung\u0022}, \u0022BetriebsartBoiler_0x156\u0022: {\u0022value\u0022: \u00221.00\u0022, \u0022unit\u0022: \u0022\u0022, \u0022description\u0022: \u0022Betriebsart Boiler\u0022}}","p4d2mqtt/Gaskessel/state":"{\u0022TemperaturdesZweitkessel_0xc4\u0022: {\u0022value\u0022: \u002215.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Temperatur des Zweitkessel\u0022}}","p4d2mqtt/Heizkreis01/state":"{\u0022Vorlauf-Isttemperatur_0x15\u0022: {\u0022value\u0022: \u002240.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Vorlauf-Isttemperatur\u0022}, \u0022Vorlauf-Solltemperatur_0x16\u0022: {\u0022value\u0022: \u002249.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Vorlauf-Solltemperatur\u0022}, \u0022BetriebsartHeizkreis_0x17\u0022: {\u0022value\u0022: \u00220.00\u0022, \u0022unit\u0022: \u0022\u0022, \u0022description\u0022: \u0022Betriebsart Heizkreis\u0022}}","p4d2mqtt/Heizkreis02/state":"{\u0022Vorlauf-Isttemperatur_0x19\u0022: {\u0022value\u0022: \u002258.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Vorlauf-Isttemperatur\u0022}, \u0022Vorlauf-Solltemperatur_0x1a\u0022: {\u0022value\u0022: \u002249.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Vorlauf-Solltemperatur\u0022}, \u0022BetriebsartHeizkreis_0x1b\u0022: {\u0022value\u0022: \u00220.00\u0022, \u0022unit\u0022: \u0022\u0022, \u0022description\u0022: \u0022Betriebsart Heizkreis\u0022}}","p4d2mqtt/Holzscheitkessel/state":"{\u0022Kesseltemperatur_0x0\u0022: {\u0022value\u0022: \u002274.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Kesseltemperatur\u0022}, \u0022Abgastemperatur_0x1\u0022: {\u0022value\u0022: \u0022138.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Abgastemperatur\u0022}, \u0022Saugzugdrehzahl_0x7\u0022: {\u0022value\u0022: \u00222697.00\u0022, \u0022unit\u0022: \u0022U\u0022, \u0022description\u0022: \u0022Saugzugdrehzahl\u0022}, \u0022Zykluszeit_0xe\u0022: {\u0022value\u0022: \u002254.10\u0022, \u0022unit\u0022: \u0022u\u0022, \u0022description\u0022: \u0022Zykluszeit:\u0022}, \u0022Saugzug-Ansteuerung_0xf\u0022: {\u0022value\u0022: \u002290.00\u0022, \u0022unit\u0022: \u0022%\u0022, \u0022description\u0022: \u0022Saugzug - Ansteuerung\u0022}, \u0022Kesselstellgroesse_0x12\u0022: {\u0022value\u0022: \u0022100.00\u0022, \u0022unit\u0022: \u0022%\u0022, \u0022description\u0022: \u0022Kesselstellgröße\u0022}, \u0022Abgas-Solltemperatur_0x13\u0022: {\u0022value\u0022: \u0022179.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Abgas-Solltemperatur\u0022}, \u0022Lambdasondenspannunggemessen_0xd3\u0022: {\u0022value\u0022: \u002224.07\u0022, \u0022unit\u0022: \u0022m\u0022, \u0022description\u0022: \u0022Lambdasondenspannung gemessen\u0022}, \u0022Lambdasondenspannungkorrigiert_0xdc\u0022: {\u0022value\u0022: \u002224.07\u0022, \u0022unit\u0022: \u0022m\u0022, \u0022description\u0022: \u0022Lambdasondenspannung korrigiert\u0022}, \u0022FuehleramHydraulikmodul03_0xff\u0022: {\u0022value\u0022: \u002262.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Fühler am Hydraulikmodul      0.3\u0022}, \u0022EmpfohleneHolzmengebeimNachlegen_0x10a\u0022: {\u0022value\u0022: \u00221.00\u0022, \u0022unit\u0022: \u0022k\u0022, \u0022description\u0022: \u0022Empfohlene Holzmenge beim Nachlegen\u0022}, \u0022Kesselzustand_0x1c9\u0022: {\u0022value\u0022: \u00223.00\u0022, \u0022unit\u0022: \u0022\u0022, \u0022description\u0022: \u0022Kesselzustand\u0022}}","p4d2mqtt/Puffer/state":"{\u0022Puffertemperaturoben_0x76\u0022: {\u0022value\u0022: \u002273.50\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Puffertemperatur oben\u0022}, \u0022Puffertemperaturunten_0x78\u0022: {\u0022value\u0022: \u002271.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Puffertemperatur unten\u0022}, \u0022PufferpumpenAnsteuerung_0x8c\u0022: {\u0022value\u0022: \u002255.00\u0022, \u0022unit\u0022: \u0022%\u0022, \u0022description\u0022: \u0022Pufferpumpen Ansteuerung\u0022}, \u0022PufferpumpenbegrenzungdurchAbgastemperatur_0xde\u0022: {\u0022value\u0022: \u00228.00\u0022, \u0022unit\u0022: \u0022%\u0022, \u0022description\u0022: \u0022Pufferpumpenbegrenzung durch Abgastemperatur\u0022}, \u0022Pufferladezustand_0xe1\u0022: {\u0022value\u0022: \u002291.00\u0022, \u0022unit\u0022: \u0022%\u0022, \u0022description\u0022: \u0022Pufferladezustand\u0022}, \u0022PufferladezustandDiskret_0x1c0\u0022: {\u0022value\u0022: \u00224.00\u0022, \u0022unit\u0022: \u0022\u0022, \u0022description\u0022: \u0022Pufferladezustand Diskret\u0022}}","p4d2mqtt/Raumsensor/state":"{\u0022RaumfuehlerKBGTouch_0x191\u0022: {\u0022value\u0022: \u002219.00\u0022, \u0022unit\u0022: \u0022°C\u0022, \u0022description\u0022: \u0022Raumfühler KBG Touch\u0022}}"}
     2020-04-29 22:50:43   nrclients       0
     2020-04-29 22:22:55   state           Initialized
   clients:
   retain:
     p4d2mqtt/Anlagenstatus/state:
       ts         1588193384.62519
       val        {"Status": {"value": "Heizen", "unit": "Heizungsstatus", "description": "zst"}, "Betriebsmodus": {"value": "Dauerlast", "unit": "zst", "description": "Betriebsmodus"}, "Boardtemperatur_0x2": {"value": "40.50", "unit": "°C", "description": "Boardtemperatur"}, "Uhrzeit": {"value": "Wednesday, 29. Apr. 2020 22:38:13", "unit": "T", "description": "Datum Uhrzeit der Heizung"}, "Betriebsstunden_0x62": {"value": "9900.00", "unit": "h", "description": "Betriebsstunden"}, "BetriebsstundeninderFeuererhaltung_0x73": {"value": "27.00", "unit": "h", "description": "Betriebsstunden in der Feuererhaltung"}, "StundenseitletzterWartung_0xd5": {"value": "9900.00", "unit": "h", "description": "Stunden seit letzter Wartung"}, "BetriebsstundenvonKessel2Brennerkontakt_0x109": {"value": "2476.00", "unit": "h", "description": "Betriebsstunden von Kessel 2 (Brennerkontakt)"}, "Build_0x16f": {"value": "2.00", "unit": "", "description": "Build"}, "VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7": {"value": "439.00", "unit": "m", "description": "Vergangene Zeit seit letzter Wärmetauscherreinigung"}}
     p4d2mqtt/Aussensensor/state:
       ts         1588193384.65146
       val        {"Aussentemperatur_0x4": {"value": "10.00", "unit": "°C", "description": "Außentemperatur"}}
     p4d2mqtt/Boiler/state:
       ts         1588193384.64474
       val        {"Boilertemperaturoben_0x5d": {"value": "62.00", "unit": "°C", "description": "Boilertemperatur oben"}, "BoilerpumpeAnsteuerung_0x90": {"value": "0.00", "unit": "%", "description": "Boilerpumpe Ansteuerung"}, "BetriebsartBoiler_0x156": {"value": "1.00", "unit": "", "description": "Betriebsart Boiler"}}
     p4d2mqtt/Gaskessel/state:
       ts         1588193384.63979
       val        {"TemperaturdesZweitkessel_0xc4": {"value": "15.50", "unit": "°C", "description": "Temperatur des Zweitkessel"}}
     p4d2mqtt/Heizkreis01/state:
       ts         1588193384.64694
       val        {"Vorlauf-Isttemperatur_0x15": {"value": "40.50", "unit": "°C", "description": "Vorlauf-Isttemperatur"}, "Vorlauf-Solltemperatur_0x16": {"value": "49.50", "unit": "°C", "description": "Vorlauf-Solltemperatur"}, "BetriebsartHeizkreis_0x17": {"value": "0.00", "unit": "", "description": "Betriebsart Heizkreis"}}
     p4d2mqtt/Heizkreis02/state:
       ts         1588193384.64926
       val        {"Vorlauf-Isttemperatur_0x19": {"value": "58.00", "unit": "°C", "description": "Vorlauf-Isttemperatur"}, "Vorlauf-Solltemperatur_0x1a": {"value": "49.50", "unit": "°C", "description": "Vorlauf-Solltemperatur"}, "BetriebsartHeizkreis_0x1b": {"value": "0.00", "unit": "", "description": "Betriebsart Heizkreis"}}
     p4d2mqtt/Holzscheitkessel/state:
       ts         1588193384.6339
       val        {"Kesseltemperatur_0x0": {"value": "74.50", "unit": "°C", "description": "Kesseltemperatur"}, "Abgastemperatur_0x1": {"value": "138.00", "unit": "°C", "description": "Abgastemperatur"}, "Saugzugdrehzahl_0x7": {"value": "2697.00", "unit": "U", "description": "Saugzugdrehzahl"}, "Zykluszeit_0xe": {"value": "54.10", "unit": "u", "description": "Zykluszeit:"}, "Saugzug-Ansteuerung_0xf": {"value": "90.00", "unit": "%", "description": "Saugzug - Ansteuerung"}, "Kesselstellgroesse_0x12": {"value": "100.00", "unit": "%", "description": "Kesselstellgröße"}, "Abgas-Solltemperatur_0x13": {"value": "179.00", "unit": "°C", "description": "Abgas-Solltemperatur"}, "Lambdasondenspannunggemessen_0xd3": {"value": "24.07", "unit": "m", "description": "Lambdasondenspannung gemessen"}, "Lambdasondenspannungkorrigiert_0xdc": {"value": "24.07", "unit": "m", "description": "Lambdasondenspannung korrigiert"}, "FuehleramHydraulikmodul03_0xff": {"value": "62.00", "unit": "°C", "description": "Fühler am Hydraulikmodul      0.3"}, "EmpfohleneHolzmengebeimNachlegen_0x10a": {"value": "1.00", "unit": "k", "description": "Empfohlene Holzmenge beim Nachlegen"}, "Kesselzustand_0x1c9": {"value": "3.00", "unit": "", "description": "Kesselzustand"}}
     p4d2mqtt/Puffer/state:
       ts         1588193384.64135
       val        {"Puffertemperaturoben_0x76": {"value": "73.50", "unit": "°C", "description": "Puffertemperatur oben"}, "Puffertemperaturunten_0x78": {"value": "71.00", "unit": "°C", "description": "Puffertemperatur unten"}, "PufferpumpenAnsteuerung_0x8c": {"value": "55.00", "unit": "%", "description": "Pufferpumpen Ansteuerung"}, "PufferpumpenbegrenzungdurchAbgastemperatur_0xde": {"value": "8.00", "unit": "%", "description": "Pufferpumpenbegrenzung durch Abgastemperatur"}, "Pufferladezustand_0xe1": {"value": "91.00", "unit": "%", "description": "Pufferladezustand"}, "PufferladezustandDiskret_0x1c0": {"value": "4.00", "unit": "", "description": "Pufferladezustand Diskret"}}
     p4d2mqtt/Raumsensor/state:
       ts         1588193384.65288
       val        {"RaumfuehlerKBGTouch_0x191": {"value": "19.00", "unit": "°C", "description": "Raumfühler KBG Touch"}}
Attributes:
   icon       mqtt_broker
   room       Erdgeschoss->Heizungsraum,Hersteller->Fröling,Hersteller->MQTT,System->Zentralen


So wie ich das sehe, sieht das doch schonmal gut aus. Wie seht ihr das bzw. wo seht ihr Verbesserungspotential?

EDIT: Achja, fast hätte ich es vergessen, wie muss das readingList aussehen?

Ich habe das Gefühl wir nähern uns dem Ziel und haben es alle bald geschafft. ;)


Danke euch und viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Zitat von: Beta-User am 29 April 2020, 11:33:24
Du könntest ggf. mal testen, was passiert, wenn du die Netzwerkverbindung zum FHEM-Server trennst (falls möglich); da sollte dann auch ein "unclean" disconnect kommen und ein reconnect.

So, habe die WLAN IP vom Heizungs-RPi mal ein paar Minuten geblockt. Das Ergebnis sieht wie folgt aus:

2020.04.29 23:22:56 5: in:  PINGREQ: (192)(0)
2020.04.29 23:22:56 4:   mqtt2server_10.11.11.8_37338 p4d_publisher PINGREQ
2020.04.29 23:22:56 5: out: PINGRESP: (208)(0)
2020.04.29 23:23:26 3: mqtt2server: mqtt2server_10.11.11.8_37338/p4d_publisher left us (keepalive check)
2020.04.29 23:28:14 4: Connection accepted from mqtt2server_10.11.11.8_37340
2020.04.29 23:28:14 5: in:  CONNECT: (16)(25)(0)(4)MQTT(4)(2)(0)(20)(0)(13)p4d_publisher
2020.04.29 23:28:14 4:   mqtt2server_10.11.11.8_37340 cid:p4d_publisher CONNECT V:4 keepAlive:20
2020.04.29 23:28:14 5: out: CONNACK:  (2)(0)(0)


Ich schätze, das sieht so aus, wie es aussehen soll. Oder? ;)

Danke euch und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

hoppel118

Guten morgen,

OK, horchi hat den Bug behoben. Die Einheiten und Beschreibungen werden nun nur noch einmalig beim Start von p4d versendet. systemd ist immer wieder abgestürzt und neugestartet, weshalb es so aussah als ob Einheiten/Beschreibungen immer übertragen werden. Die entsprechenden "connection closed/accepted" messages sind nun weg:

2020.04.29 22:24:36 4:   mqtt2server_10.11.11.8_37244 p4d_publisher PINGREQ
2020.04.29 22:24:36 5: out: PINGRESP: (208)(0)
2020.04.29 22:24:52 4: Connection closed for mqtt2server_10.11.11.8_37244: EOF
2020.04.29 22:24:53 4: Connection accepted from mqtt2server_10.11.11.8_37246
2020.04.29 22:24:53 5: in:  CONNECT: (16)(25)(0)(4)MQTT(4)(2)(0)(20)(0)(13)p4d_publisher
2020.04.29 22:24:53 4:   mqtt2server_10.11.11.8_37246 cid:p4d_publisher CONNECT V:4 keepAlive:20
2020.04.29 22:24:53 5: out: CONNACK:  (2)(0)(0)


Hier das neue Logfile: https://pastebin.com/sMDs3wEz

Hier das list vom Device:

Internals:
   CFGFN     
   CID        p4d_publisher
   DEF        p4d_publisher
   DEVICETOPIC MQTT2_p4d_publisher
   FUUID      5eaa7af9-f33f-5dcf-0d5f-83609ef8aea472e1
   IODev      mqtt2server
   LASTInputDev mqtt2server
   MSGCNT     18
   NAME       MQTT2_p4d_publisher
   NR         1479
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2server_MSGCNT 18
   mqtt2server_TIME 2020-04-30 09:17:04
   READINGS:
     2020-04-30 09:15:05   Abgas-Solltemperatur_0x13_description Abgas-Solltemperatur
     2020-04-30 09:15:05   Abgas-Solltemperatur_0x13_unit °C
     2020-04-30 09:17:04   Abgas-Solltemperatur_0x13_value 110.00
     2020-04-30 09:15:05   Abgastemperatur_0x1_description Abgastemperatur
     2020-04-30 09:15:05   Abgastemperatur_0x1_unit °C
     2020-04-30 09:17:04   Abgastemperatur_0x1_value 100.00
     2020-04-30 09:15:05   Aussentemperatur_0x4_description Außentemperatur
     2020-04-30 09:15:05   Aussentemperatur_0x4_unit °C
     2020-04-30 09:17:04   Aussentemperatur_0x4_value 10.00
     2020-04-30 09:15:05   BetriebsartBoiler_0x156_description Betriebsart Boiler
     2020-04-30 09:15:05   BetriebsartBoiler_0x156_unit
     2020-04-30 09:17:04   BetriebsartBoiler_0x156_value 1.00
     2020-04-30 09:15:05   BetriebsartHeizkreis_0x17_description Betriebsart Heizkreis
     2020-04-30 09:15:05   BetriebsartHeizkreis_0x17_unit
     2020-04-30 09:17:04   BetriebsartHeizkreis_0x17_value 0.00
     2020-04-30 09:15:05   BetriebsartHeizkreis_0x1b_description Betriebsart Heizkreis
     2020-04-30 09:15:05   BetriebsartHeizkreis_0x1b_unit
     2020-04-30 09:17:04   BetriebsartHeizkreis_0x1b_value 0.00
     2020-04-30 09:15:05   Betriebsmodus_description Betriebsmodus
     2020-04-30 09:15:05   Betriebsmodus_unit zst
     2020-04-30 09:17:04   Betriebsmodus_value Dauerlast
     2020-04-30 09:15:05   Betriebsstunden_0x62_description Betriebsstunden
     2020-04-30 09:15:05   Betriebsstunden_0x62_unit h
     2020-04-30 09:17:04   Betriebsstunden_0x62_value 9903.00
     2020-04-30 09:15:05   BetriebsstundeninderFeuererhaltung_0x73_description Betriebsstunden in der Feuererhaltung
     2020-04-30 09:15:05   BetriebsstundeninderFeuererhaltung_0x73_unit h
     2020-04-30 09:17:04   BetriebsstundeninderFeuererhaltung_0x73_value 27.00
     2020-04-30 09:15:05   BetriebsstundenvonKessel2Brennerkontakt_0x109_description Betriebsstunden von Kessel 2 (Brennerkontakt)
     2020-04-30 09:15:05   BetriebsstundenvonKessel2Brennerkontakt_0x109_unit h
     2020-04-30 09:17:04   BetriebsstundenvonKessel2Brennerkontakt_0x109_value 2476.00
     2020-04-30 09:15:05   Boardtemperatur_0x2_description Boardtemperatur
     2020-04-30 09:15:05   Boardtemperatur_0x2_unit °C
     2020-04-30 09:17:04   Boardtemperatur_0x2_value 36.50
     2020-04-30 09:15:05   BoilerpumpeAnsteuerung_0x90_description Boilerpumpe Ansteuerung
     2020-04-30 09:15:05   BoilerpumpeAnsteuerung_0x90_unit %
     2020-04-30 09:17:04   BoilerpumpeAnsteuerung_0x90_value 100.00
     2020-04-30 09:15:05   Boilertemperaturoben_0x5d_description Boilertemperatur oben
     2020-04-30 09:15:05   Boilertemperaturoben_0x5d_unit °C
     2020-04-30 09:17:04   Boilertemperaturoben_0x5d_value 47.50
     2020-04-30 09:15:05   Build_0x16f_description Build
     2020-04-30 09:15:05   Build_0x16f_unit
     2020-04-30 09:17:04   Build_0x16f_value 2.00
     2020-04-30 09:15:05   EmpfohleneHolzmengebeimNachlegen_0x10a_description Empfohlene Holzmenge beim Nachlegen
     2020-04-30 09:15:05   EmpfohleneHolzmengebeimNachlegen_0x10a_unit k
     2020-04-30 09:17:04   EmpfohleneHolzmengebeimNachlegen_0x10a_value 10.00
     2020-04-30 09:15:05   FuehleramHydraulikmodul03_0xff_description Fühler am Hydraulikmodul      0.3
     2020-04-30 09:15:05   FuehleramHydraulikmodul03_0xff_unit °C
     2020-04-30 09:17:04   FuehleramHydraulikmodul03_0xff_value 47.50
     2020-04-30 09:15:05   Kesselstellgroesse_0x12_description Kesselstellgröße
     2020-04-30 09:15:05   Kesselstellgroesse_0x12_unit %
     2020-04-30 09:17:04   Kesselstellgroesse_0x12_value 100.00
     2020-04-30 09:15:05   Kesseltemperatur_0x0_description Kesseltemperatur
     2020-04-30 09:15:05   Kesseltemperatur_0x0_unit °C
     2020-04-30 09:17:04   Kesseltemperatur_0x0_value 65.00
     2020-04-30 09:15:05   Kesselzustand_0x1c9_description Kesselzustand
     2020-04-30 09:15:05   Kesselzustand_0x1c9_unit
     2020-04-30 09:17:04   Kesselzustand_0x1c9_value 3.00
     2020-04-30 09:15:05   Lambdasondenspannunggemessen_0xd3_description Lambdasondenspannung gemessen
     2020-04-30 09:15:05   Lambdasondenspannunggemessen_0xd3_unit m
     2020-04-30 09:17:04   Lambdasondenspannunggemessen_0xd3_value 24.14
     2020-04-30 09:15:05   Lambdasondenspannungkorrigiert_0xdc_description Lambdasondenspannung korrigiert
     2020-04-30 09:15:05   Lambdasondenspannungkorrigiert_0xdc_unit m
     2020-04-30 09:17:04   Lambdasondenspannungkorrigiert_0xdc_value 24.14
     2020-04-30 09:15:05   PufferladezustandDiskret_0x1c0_description Pufferladezustand Diskret
     2020-04-30 09:15:05   PufferladezustandDiskret_0x1c0_unit
     2020-04-30 09:17:04   PufferladezustandDiskret_0x1c0_value 2.00
     2020-04-30 09:15:05   Pufferladezustand_0xe1_description Pufferladezustand
     2020-04-30 09:15:05   Pufferladezustand_0xe1_unit %
     2020-04-30 09:17:04   Pufferladezustand_0xe1_value 47.00
     2020-04-30 09:15:05   PufferpumpenAnsteuerung_0x8c_description Pufferpumpen Ansteuerung
     2020-04-30 09:15:05   PufferpumpenAnsteuerung_0x8c_unit %
     2020-04-30 09:17:04   PufferpumpenAnsteuerung_0x8c_value 46.00
     2020-04-30 09:15:05   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_description Pufferpumpenbegrenzung durch Abgastemperatur
     2020-04-30 09:15:05   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_unit %
     2020-04-30 09:17:04   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_value 8.00
     2020-04-30 09:15:05   Puffertemperaturoben_0x76_description Puffertemperatur oben
     2020-04-30 09:15:05   Puffertemperaturoben_0x76_unit °C
     2020-04-30 09:17:04   Puffertemperaturoben_0x76_value 71.50
     2020-04-30 09:15:05   Puffertemperaturunten_0x78_description Puffertemperatur unten
     2020-04-30 09:15:05   Puffertemperaturunten_0x78_unit °C
     2020-04-30 09:17:04   Puffertemperaturunten_0x78_value 33.00
     2020-04-30 09:15:05   RaumfuehlerKBGTouch_0x191_description Raumfühler KBG Touch
     2020-04-30 09:15:05   RaumfuehlerKBGTouch_0x191_unit °C
     2020-04-30 09:17:04   RaumfuehlerKBGTouch_0x191_value 19.00
     2020-04-30 09:15:05   Saugzug-Ansteuerung_0xf_description Saugzug - Ansteuerung
     2020-04-30 09:15:05   Saugzug-Ansteuerung_0xf_unit %
     2020-04-30 09:17:04   Saugzug-Ansteuerung_0xf_value 90.00
     2020-04-30 09:15:05   Saugzugdrehzahl_0x7_description Saugzugdrehzahl
     2020-04-30 09:15:05   Saugzugdrehzahl_0x7_unit U
     2020-04-30 09:17:04   Saugzugdrehzahl_0x7_value 2706.00
     2020-04-30 09:15:05   Status_description zst
     2020-04-30 09:15:05   Status_unit     Heizungsstatus
     2020-04-30 09:17:04   Status_value    Heizen
     2020-04-30 09:15:05   StundenseitletzterWartung_0xd5_description Stunden seit letzter Wartung
     2020-04-30 09:15:05   StundenseitletzterWartung_0xd5_unit h
     2020-04-30 09:17:04   StundenseitletzterWartung_0xd5_value 9903.00
     2020-04-30 09:15:05   TemperaturdesZweitkessel_0xc4_description Temperatur des Zweitkessel
     2020-04-30 09:15:05   TemperaturdesZweitkessel_0xc4_unit °C
     2020-04-30 09:17:04   TemperaturdesZweitkessel_0xc4_value 14.00
     2020-04-30 09:15:05   Uhrzeit_description Datum Uhrzeit der Heizung
     2020-04-30 09:15:05   Uhrzeit_unit    T
     2020-04-30 09:17:04   Uhrzeit_value   Thursday, 30. Apr. 2020 09:05:33
     2020-04-30 09:15:05   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_description Vergangene Zeit seit letzter Wärmetauscherreinigung
     2020-04-30 09:15:05   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_unit m
     2020-04-30 09:17:04   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_value 79.00
     2020-04-30 09:15:05   Vorlauf-Isttemperatur_0x15_description Vorlauf-Isttemperatur
     2020-04-30 09:15:05   Vorlauf-Isttemperatur_0x15_unit °C
     2020-04-30 09:17:04   Vorlauf-Isttemperatur_0x15_value 43.00
     2020-04-30 09:15:05   Vorlauf-Isttemperatur_0x19_description Vorlauf-Isttemperatur
     2020-04-30 09:15:05   Vorlauf-Isttemperatur_0x19_unit °C
     2020-04-30 09:17:04   Vorlauf-Isttemperatur_0x19_value 48.00
     2020-04-30 09:15:05   Vorlauf-Solltemperatur_0x16_description Vorlauf-Solltemperatur
     2020-04-30 09:15:05   Vorlauf-Solltemperatur_0x16_unit °C
     2020-04-30 09:17:04   Vorlauf-Solltemperatur_0x16_value 50.00
     2020-04-30 09:15:05   Vorlauf-Solltemperatur_0x1a_description Vorlauf-Solltemperatur
     2020-04-30 09:15:05   Vorlauf-Solltemperatur_0x1a_unit °C
     2020-04-30 09:17:04   Vorlauf-Solltemperatur_0x1a_value 50.00
     2020-04-30 09:15:05   Zykluszeit_0xe_description Zykluszeit:
     2020-04-30 09:15:05   Zykluszeit_0xe_unit u
     2020-04-30 09:17:04   Zykluszeit_0xe_value 54.00
Attributes:
   IODev      mqtt2server
   readingList p4d_publisher:p4d2mqtt/Anlagenstatus/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Holzscheitkessel/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Gaskessel/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Puffer/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Boiler/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Heizkreis01/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Heizkreis02/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Aussensensor/state:.* { json2nameValue($EVENT) }
p4d_publisher:p4d2mqtt/Raumsensor/state:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


und hier vom Server:

Internals:
   CFGFN     
   CONNECTS   1
   DEF        1883 10.11.11.11
   FD         60
   FUUID      5eaa7a54-f33f-5dcf-8a84-6aeae75d462b8870
   NAME       mqtt2server
   NR         1466
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   READINGS:
     2020-04-30 09:17:04   RETAIN          {"p4d2mqtt/Anlagenstatus/state":"{\u0022Status\u0022: {\u0022value\u0022: \u0022Heizen\u0022}, \u0022Betriebsmodus\u0022: {\u0022value\u0022: \u0022Dauerlast\u0022}, \u0022Boardtemperatur_0x2\u0022: {\u0022value\u0022: \u002236.50\u0022}, \u0022Uhrzeit\u0022: {\u0022value\u0022: \u0022Thursday, 30. Apr. 2020 09:05:33\u0022}, \u0022Betriebsstunden_0x62\u0022: {\u0022value\u0022: \u00229903.00\u0022}, \u0022BetriebsstundeninderFeuererhaltung_0x73\u0022: {\u0022value\u0022: \u002227.00\u0022}, \u0022StundenseitletzterWartung_0xd5\u0022: {\u0022value\u0022: \u00229903.00\u0022}, \u0022BetriebsstundenvonKessel2Brennerkontakt_0x109\u0022: {\u0022value\u0022: \u00222476.00\u0022}, \u0022Build_0x16f\u0022: {\u0022value\u0022: \u00222.00\u0022}, \u0022VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7\u0022: {\u0022value\u0022: \u002279.00\u0022}}","p4d2mqtt/Aussensensor/state":"{\u0022Aussentemperatur_0x4\u0022: {\u0022value\u0022: \u002210.00\u0022}}","p4d2mqtt/Boiler/state":"{\u0022Boilertemperaturoben_0x5d\u0022: {\u0022value\u0022: \u002247.50\u0022}, \u0022BoilerpumpeAnsteuerung_0x90\u0022: {\u0022value\u0022: \u0022100.00\u0022}, \u0022BetriebsartBoiler_0x156\u0022: {\u0022value\u0022: \u00221.00\u0022}}","p4d2mqtt/Gaskessel/state":"{\u0022TemperaturdesZweitkessel_0xc4\u0022: {\u0022value\u0022: \u002214.00\u0022}}","p4d2mqtt/Heizkreis01/state":"{\u0022Vorlauf-Isttemperatur_0x15\u0022: {\u0022value\u0022: \u002243.00\u0022}, \u0022Vorlauf-Solltemperatur_0x16\u0022: {\u0022value\u0022: \u002250.00\u0022}, \u0022BetriebsartHeizkreis_0x17\u0022: {\u0022value\u0022: \u00220.00\u0022}}","p4d2mqtt/Heizkreis02/state":"{\u0022Vorlauf-Isttemperatur_0x19\u0022: {\u0022value\u0022: \u002248.00\u0022}, \u0022Vorlauf-Solltemperatur_0x1a\u0022: {\u0022value\u0022: \u002250.00\u0022}, \u0022BetriebsartHeizkreis_0x1b\u0022: {\u0022value\u0022: \u00220.00\u0022}}","p4d2mqtt/Holzscheitkessel/state":"{\u0022Kesseltemperatur_0x0\u0022: {\u0022value\u0022: \u002265.00\u0022}, \u0022Abgastemperatur_0x1\u0022: {\u0022value\u0022: \u0022100.00\u0022}, \u0022Saugzugdrehzahl_0x7\u0022: {\u0022value\u0022: \u00222706.00\u0022}, \u0022Zykluszeit_0xe\u0022: {\u0022value\u0022: \u002254.00\u0022}, \u0022Saugzug-Ansteuerung_0xf\u0022: {\u0022value\u0022: \u002290.00\u0022}, \u0022Kesselstellgroesse_0x12\u0022: {\u0022value\u0022: \u0022100.00\u0022}, \u0022Abgas-Solltemperatur_0x13\u0022: {\u0022value\u0022: \u0022110.00\u0022}, \u0022Lambdasondenspannunggemessen_0xd3\u0022: {\u0022value\u0022: \u002224.14\u0022}, \u0022Lambdasondenspannungkorrigiert_0xdc\u0022: {\u0022value\u0022: \u002224.14\u0022}, \u0022FuehleramHydraulikmodul03_0xff\u0022: {\u0022value\u0022: \u002247.50\u0022}, \u0022EmpfohleneHolzmengebeimNachlegen_0x10a\u0022: {\u0022value\u0022: \u002210.00\u0022}, \u0022Kesselzustand_0x1c9\u0022: {\u0022value\u0022: \u00223.00\u0022}}","p4d2mqtt/Puffer/state":"{\u0022Puffertemperaturoben_0x76\u0022: {\u0022value\u0022: \u002271.50\u0022}, \u0022Puffertemperaturunten_0x78\u0022: {\u0022value\u0022: \u002233.00\u0022}, \u0022PufferpumpenAnsteuerung_0x8c\u0022: {\u0022value\u0022: \u002246.00\u0022}, \u0022PufferpumpenbegrenzungdurchAbgastemperatur_0xde\u0022: {\u0022value\u0022: \u00228.00\u0022}, \u0022Pufferladezustand_0xe1\u0022: {\u0022value\u0022: \u002247.00\u0022}, \u0022PufferladezustandDiskret_0x1c0\u0022: {\u0022value\u0022: \u00222.00\u0022}}","p4d2mqtt/Raumsensor/state":"{\u0022RaumfuehlerKBGTouch_0x191\u0022: {\u0022value\u0022: \u002219.00\u0022}}"}
     2020-04-30 09:17:09   nrclients       0
     2020-04-30 09:12:20   state           Initialized
   clients:
   retain:
     p4d2mqtt/Anlagenstatus/state:
       ts         1588231024.73708
       val        {"Status": {"value": "Heizen"}, "Betriebsmodus": {"value": "Dauerlast"}, "Boardtemperatur_0x2": {"value": "36.50"}, "Uhrzeit": {"value": "Thursday, 30. Apr. 2020 09:05:33"}, "Betriebsstunden_0x62": {"value": "9903.00"}, "BetriebsstundeninderFeuererhaltung_0x73": {"value": "27.00"}, "StundenseitletzterWartung_0xd5": {"value": "9903.00"}, "BetriebsstundenvonKessel2Brennerkontakt_0x109": {"value": "2476.00"}, "Build_0x16f": {"value": "2.00"}, "VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7": {"value": "79.00"}}
     p4d2mqtt/Aussensensor/state:
       ts         1588231024.76
       val        {"Aussentemperatur_0x4": {"value": "10.00"}}
     p4d2mqtt/Boiler/state:
       ts         1588231024.75497
       val        {"Boilertemperaturoben_0x5d": {"value": "47.50"}, "BoilerpumpeAnsteuerung_0x90": {"value": "100.00"}, "BetriebsartBoiler_0x156": {"value": "1.00"}}
     p4d2mqtt/Gaskessel/state:
       ts         1588231024.75015
       val        {"TemperaturdesZweitkessel_0xc4": {"value": "14.00"}}
     p4d2mqtt/Heizkreis01/state:
       ts         1588231024.75672
       val        {"Vorlauf-Isttemperatur_0x15": {"value": "43.00"}, "Vorlauf-Solltemperatur_0x16": {"value": "50.00"}, "BetriebsartHeizkreis_0x17": {"value": "0.00"}}
     p4d2mqtt/Heizkreis02/state:
       ts         1588231024.75847
       val        {"Vorlauf-Isttemperatur_0x19": {"value": "48.00"}, "Vorlauf-Solltemperatur_0x1a": {"value": "50.00"}, "BetriebsartHeizkreis_0x1b": {"value": "0.00"}}
     p4d2mqtt/Holzscheitkessel/state:
       ts         1588231024.74561
       val        {"Kesseltemperatur_0x0": {"value": "65.00"}, "Abgastemperatur_0x1": {"value": "100.00"}, "Saugzugdrehzahl_0x7": {"value": "2706.00"}, "Zykluszeit_0xe": {"value": "54.00"}, "Saugzug-Ansteuerung_0xf": {"value": "90.00"}, "Kesselstellgroesse_0x12": {"value": "100.00"}, "Abgas-Solltemperatur_0x13": {"value": "110.00"}, "Lambdasondenspannunggemessen_0xd3": {"value": "24.14"}, "Lambdasondenspannungkorrigiert_0xdc": {"value": "24.14"}, "FuehleramHydraulikmodul03_0xff": {"value": "47.50"}, "EmpfohleneHolzmengebeimNachlegen_0x10a": {"value": "10.00"}, "Kesselzustand_0x1c9": {"value": "3.00"}}
     p4d2mqtt/Puffer/state:
       ts         1588231024.75258
       val        {"Puffertemperaturoben_0x76": {"value": "71.50"}, "Puffertemperaturunten_0x78": {"value": "33.00"}, "PufferpumpenAnsteuerung_0x8c": {"value": "46.00"}, "PufferpumpenbegrenzungdurchAbgastemperatur_0xde": {"value": "8.00"}, "Pufferladezustand_0xe1": {"value": "47.00"}, "PufferladezustandDiskret_0x1c0": {"value": "2.00"}}
     p4d2mqtt/Raumsensor/state:
       ts         1588231024.7612
       val        {"RaumfuehlerKBGTouch_0x191": {"value": "19.00"}}
Attributes:
   icon       mqtt_broker
   room       Erdgeschoss->Heizungsraum,Hersteller->Fröling,Hersteller->MQTT,System->Zentralen


Seht ihr noch Fehler?

Danke und viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Beta-User

Zum "Verteilen der Devices" schreibe ich ggf. später was. Wenn du magst, kannst du ja mal versuchen, das von den templates zu ems-esp her nachzubasteln (erst mal nur bezogen auf deine konkreten Devices) ;) .

In Richtung Horchi evtl. noch zwei Punkte:
- laufende Infos braucht man mMn. nicht mit "retain"-flags senden (Achtung: Bauchgefühl). Nach Zustellung an alle Subscriber kann das wieder vom Server verschwinden, oder?
- einen "last will" kann ich immer noch nicht sehen (das wäre ggf. die einzige Meldung, bei der retain ggf. Sinn macht (bin aber unsicher)).

(Generell wäre auch hier die Frage, ob man "einen ganzen Pi" dafür "verbraten" muß, oder ob das nicht auch auf einer MCU (Arduino/ESP8266/ESP32/STM32) laufen könnte... Scheint aber Java zu sein, ist evtl. etwas schwierig zu portieren; bei C aä. wäre das vermutlich recht einfach.)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hoppel118

Zitat von: Beta-User am 30 April 2020, 10:23:39
Zum "Verteilen der Devices" schreibe ich ggf. später was. Wenn du magst, kannst du ja mal versuchen, das von den templates zu ems-esp her nachzubasteln (erst mal nur bezogen auf deine konkreten Devices) ;) .

Wäre klasse, wenn du mich da unterstützen könntest. Aber ich schau mir das nachher auch nochmal an. Ich müsste das gesamte "Template-System" wohl erstmal verstehen. Wie das mit diesen dynamischen Topics/Messwerten überhaupt umsetzbar sein soll, ist für mich gerade fraglich...

Zitat von: Beta-User am 30 April 2020, 10:23:39
In Richtung Horchi evtl. noch zwei Punkte:
- laufende Infos braucht man mMn. nicht mit "retain"-flags senden (Achtung: Bauchgefühl). Nach Zustellung an alle Subscriber kann das wieder vom Server verschwinden, oder?
- einen "last will" kann ich immer noch nicht sehen (das wäre ggf. die einzige Meldung, bei der retain ggf. Sinn macht (bin aber unsicher)).

Immer mit der Ruhe. ;) horchi baut wie verrückt jeden Tag etwas neues. Ich hatte ihm deine letzten Punkte (Busmaster, etc.) schon weiter gegeben. Aber ich komme immer schon mit neuen Themen um die Ecke, bevor das gerade in Bearbeitung befindliche Thema überhaupt gelöst ist. ;)

Ich bringe, die beiden Punkte nochmal bei ihm an, wenn wir uns sicher sind, dass das Topic Thema jetzt gelöst ist.

Zitat von: Beta-User am 30 April 2020, 10:23:39
(Generell wäre auch hier die Frage, ob man "einen ganzen Pi" dafür "verbraten" muß, oder ob das nicht auch auf einer MCU (Arduino/ESP8266/ESP32/STM32) laufen könnte... Scheint aber Java zu sein, ist evtl. etwas schwierig zu portieren; bei C aä. wäre das vermutlich recht einfach.)

Ja, klar, alles ist möglich. Für mich war die RasPi Lösung erstmal die einfachste Lösung. Von dem ganzen anderen "Kram", den du da aufgelistet hast, habe ich zwar schonmal was gehört, aber keine Ahnung. Grundsätzlich geht das aber so in der Art, wie du es schreibst.

p4d könnte ich auch auf meinem FHEM Server laufen lassen und die serielle Schnittstelle per Eth/Wifi (ser2net, ESP8266, whatever) ansprechen. Das Thema werde ich in einem späteren Projekt beleuchten. Erstmal wollte ich das schnell zum Laufen kriegen. Das geht halt mit so einem RasPi wirklich schnell und einfach. ;)

Viele Grüße Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Beta-User

Hmm, da wir den "Anlagenstatus" vermutlich als "Hauptdevice" ansehen können, würde ich mal alles andere in je ein Device umleiten und nur das in der readingList lassen.

Das könnte so klappen:
attr MQTT2_p4d_publisher bridgeRegexp \
   p4d2mqtt[/](?!Anlagenstatus)([^/]+)[/]state:.* "p4d2_$1"

attr MQTT2_p4d_publisher readingList p4d2mqtt/Anlagenstatus/state:.* { json2nameValue($EVENT,,$JSONMAP) }

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

hoppel118

Jo, richtig, Anlagenstatus ist das Hauptdevice. (Wobei ich dazu sagen muss, dass man alle Bezeichnungen der Baugruppen selbst vergibt und anschließend auch die Messwerte diesen Baugruppen selbst zuordnet. Vielleicht kann man das in der Zukunft nochmal automatisieren. Erstmal bin ich froh, dass es so läuft.)

Evtl. macht es aber aus diesem Grund Sinn alle Topics in ein eigenes Device umzuleiten (weil man nicht weiß, wie andere p4d User ihre Baugruppen nennen). Wie siehst du das?

Wie dem auch sei... Alle Devices und die FileLogs dazu wurden angelegt.

Hat es einen Grund, dass nun alle Devices "p4d2" im Namen haben und der publisher nur "p4d" (Hauptdevice/Subdevices). Siehst du darin einen Vorteil bzw. ist das ein Versehen oder deinerseits so gewollt?


MQTT2_p4d2_Aussensensor
MQTT2_p4d2_Boiler
MQTT2_p4d2_Gaskessel
MQTT2_p4d2_Heizkreis01
MQTT2_p4d2_Heizkreis02
MQTT2_p4d2_Holzscheitkessel
MQTT2_p4d2_Puffer
MQTT2_p4d2_Raumsensor
MQTT2_p4d_publisher


Hier ein list vom publisher device (Ich denke, dass das noch nicht so funktioniert, wie es soll. Es beinhaltet alle Readings, die umgeleiteten werden nicht mehr aktualisiert. Wunder dich nicht über die Aktualisierungsdaten dieser Readings. Ich hatte heute Nachmittag p4d abgeschaltet. Die Readings des Anlagenstatus haben noch einen eigenartigen Namen, werden aber dafür aktualisiert.):

Internals:
   CFGFN     
   CID        p4d_publisher
   DEF        p4d_publisher
   DEVICETOPIC MQTT2_p4d_publisher
   FUUID      5eaa7af9-f33f-5dcf-0d5f-83609ef8aea472e1
   IODev      mqtt2server
   LASTInputDev mqtt2server
   MSGCNT     3405
   NAME       MQTT2_p4d_publisher
   NR         1479
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2server_MSGCNT 3405
   mqtt2server_TIME 2020-04-30 20:23:57
   OLDREADINGS:
   READINGS:
     2020-04-30 09:37:02   Abgas-Solltemperatur_0x13_description Abgas-Solltemperatur
     2020-04-30 09:37:02   Abgas-Solltemperatur_0x13_unit °C
     2020-04-30 15:36:31   Abgas-Solltemperatur_0x13_value 152.00
     2020-04-30 09:37:02   Abgastemperatur_0x1_description Abgastemperatur
     2020-04-30 09:37:02   Abgastemperatur_0x1_unit °C
     2020-04-30 15:36:31   Abgastemperatur_0x1_value 106.00
     2020-04-30 09:37:02   Aussentemperatur_0x4_description Außentemperatur
     2020-04-30 09:37:02   Aussentemperatur_0x4_unit °C
     2020-04-30 15:36:31   Aussentemperatur_0x4_value 11.50
     2020-04-30 09:37:02   BetriebsartBoiler_0x156_description Betriebsart Boiler
     2020-04-30 09:37:02   BetriebsartBoiler_0x156_unit
     2020-04-30 15:36:31   BetriebsartBoiler_0x156_value 1.00
     2020-04-30 09:37:02   BetriebsartHeizkreis_0x17_description Betriebsart Heizkreis
     2020-04-30 09:37:02   BetriebsartHeizkreis_0x17_unit
     2020-04-30 15:36:31   BetriebsartHeizkreis_0x17_value 0.00
     2020-04-30 09:37:02   BetriebsartHeizkreis_0x1b_description Betriebsart Heizkreis
     2020-04-30 09:37:02   BetriebsartHeizkreis_0x1b_unit
     2020-04-30 15:36:31   BetriebsartHeizkreis_0x1b_value 0.00
     2020-04-30 09:37:02   Betriebsmodus_description Betriebsmodus
     2020-04-30 09:37:02   Betriebsmodus_unit zst
     2020-04-30 15:36:31   Betriebsmodus_value Dauerlast
     2020-04-30 09:37:02   Betriebsstunden_0x62_description Betriebsstunden
     2020-04-30 09:37:02   Betriebsstunden_0x62_unit h
     2020-04-30 15:36:31   Betriebsstunden_0x62_value 9910.00
     2020-04-30 09:37:02   BetriebsstundeninderFeuererhaltung_0x73_description Betriebsstunden in der Feuererhaltung
     2020-04-30 09:37:02   BetriebsstundeninderFeuererhaltung_0x73_unit h
     2020-04-30 15:36:31   BetriebsstundeninderFeuererhaltung_0x73_value 27.00
     2020-04-30 09:37:02   BetriebsstundenvonKessel2Brennerkontakt_0x109_description Betriebsstunden von Kessel 2 (Brennerkontakt)
     2020-04-30 09:37:02   BetriebsstundenvonKessel2Brennerkontakt_0x109_unit h
     2020-04-30 15:36:31   BetriebsstundenvonKessel2Brennerkontakt_0x109_value 2476.00
     2020-04-30 09:37:02   Boardtemperatur_0x2_description Boardtemperatur
     2020-04-30 09:37:02   Boardtemperatur_0x2_unit °C
     2020-04-30 15:36:31   Boardtemperatur_0x2_value 39.00
     2020-04-30 09:37:02   BoilerpumpeAnsteuerung_0x90_description Boilerpumpe Ansteuerung
     2020-04-30 09:37:02   BoilerpumpeAnsteuerung_0x90_unit %
     2020-04-30 15:36:31   BoilerpumpeAnsteuerung_0x90_value 0.00
     2020-04-30 09:37:02   Boilertemperaturoben_0x5d_description Boilertemperatur oben
     2020-04-30 09:37:02   Boilertemperaturoben_0x5d_unit °C
     2020-04-30 15:36:31   Boilertemperaturoben_0x5d_value 65.00
     2020-04-30 09:37:02   Build_0x16f_description Build
     2020-04-30 09:37:02   Build_0x16f_unit
     2020-04-30 15:36:31   Build_0x16f_value 2.00
     2020-04-30 09:37:02   EmpfohleneHolzmengebeimNachlegen_0x10a_description Empfohlene Holzmenge beim Nachlegen
     2020-04-30 09:37:02   EmpfohleneHolzmengebeimNachlegen_0x10a_unit k
     2020-04-30 15:36:31   EmpfohleneHolzmengebeimNachlegen_0x10a_value 2.00
     2020-04-30 09:37:02   FuehleramHydraulikmodul03_0xff_description Fühler am Hydraulikmodul      0.3
     2020-04-30 09:37:02   FuehleramHydraulikmodul03_0xff_unit °C
     2020-04-30 15:36:31   FuehleramHydraulikmodul03_0xff_value 65.00
     2020-04-30 09:37:02   Kesselstellgroesse_0x12_description Kesselstellgröße
     2020-04-30 09:37:02   Kesselstellgroesse_0x12_unit %
     2020-04-30 15:36:31   Kesselstellgroesse_0x12_value 100.00
     2020-04-30 09:37:02   Kesseltemperatur_0x0_description Kesseltemperatur
     2020-04-30 09:37:02   Kesseltemperatur_0x0_unit °C
     2020-04-30 15:36:31   Kesseltemperatur_0x0_value 71.00
     2020-04-30 09:37:02   Kesselzustand_0x1c9_description Kesselzustand
     2020-04-30 09:37:02   Kesselzustand_0x1c9_unit
     2020-04-30 15:36:31   Kesselzustand_0x1c9_value 3.00
     2020-04-30 09:37:02   Lambdasondenspannunggemessen_0xd3_description Lambdasondenspannung gemessen
     2020-04-30 09:37:02   Lambdasondenspannunggemessen_0xd3_unit m
     2020-04-30 15:36:31   Lambdasondenspannunggemessen_0xd3_value 24.07
     2020-04-30 09:37:02   Lambdasondenspannungkorrigiert_0xdc_description Lambdasondenspannung korrigiert
     2020-04-30 09:37:02   Lambdasondenspannungkorrigiert_0xdc_unit m
     2020-04-30 15:36:31   Lambdasondenspannungkorrigiert_0xdc_value 24.07
     2020-04-30 09:37:02   PufferladezustandDiskret_0x1c0_description Pufferladezustand Diskret
     2020-04-30 09:37:02   PufferladezustandDiskret_0x1c0_unit
     2020-04-30 15:36:31   PufferladezustandDiskret_0x1c0_value 4.00
     2020-04-30 09:37:02   Pufferladezustand_0xe1_description Pufferladezustand
     2020-04-30 09:37:02   Pufferladezustand_0xe1_unit %
     2020-04-30 15:36:31   Pufferladezustand_0xe1_value 84.00
     2020-04-30 09:37:02   PufferpumpenAnsteuerung_0x8c_description Pufferpumpen Ansteuerung
     2020-04-30 09:37:02   PufferpumpenAnsteuerung_0x8c_unit %
     2020-04-30 15:36:31   PufferpumpenAnsteuerung_0x8c_value 45.00
     2020-04-30 09:37:02   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_description Pufferpumpenbegrenzung durch Abgastemperatur
     2020-04-30 09:37:02   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_unit %
     2020-04-30 15:36:31   PufferpumpenbegrenzungdurchAbgastemperatur_0xde_value 8.00
     2020-04-30 09:37:02   Puffertemperaturoben_0x76_description Puffertemperatur oben
     2020-04-30 09:37:02   Puffertemperaturoben_0x76_unit °C
     2020-04-30 15:36:31   Puffertemperaturoben_0x76_value 69.50
     2020-04-30 09:37:02   Puffertemperaturunten_0x78_description Puffertemperatur unten
     2020-04-30 09:37:02   Puffertemperaturunten_0x78_unit °C
     2020-04-30 15:36:31   Puffertemperaturunten_0x78_value 69.00
     2020-04-30 09:37:02   RaumfuehlerKBGTouch_0x191_description Raumfühler KBG Touch
     2020-04-30 09:37:02   RaumfuehlerKBGTouch_0x191_unit °C
     2020-04-30 15:36:31   RaumfuehlerKBGTouch_0x191_value 19.00
     2020-04-30 09:37:02   Saugzug-Ansteuerung_0xf_description Saugzug - Ansteuerung
     2020-04-30 09:37:02   Saugzug-Ansteuerung_0xf_unit %
     2020-04-30 15:36:31   Saugzug-Ansteuerung_0xf_value 90.00
     2020-04-30 09:37:02   Saugzugdrehzahl_0x7_description Saugzugdrehzahl
     2020-04-30 09:37:02   Saugzugdrehzahl_0x7_unit U
     2020-04-30 15:36:31   Saugzugdrehzahl_0x7_value 2699.00
     2020-04-30 09:37:02   Status_description zst
     2020-04-30 09:37:02   Status_unit     Heizungsstatus
     2020-04-30 15:36:31   Status_value    Heizen
     2020-04-30 09:37:02   StundenseitletzterWartung_0xd5_description Stunden seit letzter Wartung
     2020-04-30 09:37:02   StundenseitletzterWartung_0xd5_unit h
     2020-04-30 15:36:31   StundenseitletzterWartung_0xd5_value 9910.00
     2020-04-30 09:37:02   TemperaturdesZweitkessel_0xc4_description Temperatur des Zweitkessel
     2020-04-30 09:37:02   TemperaturdesZweitkessel_0xc4_unit °C
     2020-04-30 15:36:31   TemperaturdesZweitkessel_0xc4_value 17.50
     2020-04-30 09:37:02   Uhrzeit_description Datum Uhrzeit der Heizung
     2020-04-30 09:37:02   Uhrzeit_unit    T
     2020-04-30 15:36:31   Uhrzeit_value   Thursday, 30. Apr. 2020 15:25:00
     2020-04-30 09:37:02   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_description Vergangene Zeit seit letzter Wärmetauscherreinigung
     2020-04-30 09:37:02   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_unit m
     2020-04-30 15:36:31   VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_value 453.00
     2020-04-30 09:37:02   Vorlauf-Isttemperatur_0x15_description Vorlauf-Isttemperatur
     2020-04-30 09:37:02   Vorlauf-Isttemperatur_0x15_unit °C
     2020-04-30 15:36:31   Vorlauf-Isttemperatur_0x15_value 38.50
     2020-04-30 09:37:02   Vorlauf-Isttemperatur_0x19_description Vorlauf-Isttemperatur
     2020-04-30 09:37:02   Vorlauf-Isttemperatur_0x19_unit °C
     2020-04-30 15:36:31   Vorlauf-Isttemperatur_0x19_value 57.00
     2020-04-30 09:37:02   Vorlauf-Solltemperatur_0x16_description Vorlauf-Solltemperatur
     2020-04-30 09:37:02   Vorlauf-Solltemperatur_0x16_unit °C
     2020-04-30 15:36:31   Vorlauf-Solltemperatur_0x16_value 48.00
     2020-04-30 09:37:02   Vorlauf-Solltemperatur_0x1a_description Vorlauf-Solltemperatur
     2020-04-30 09:37:02   Vorlauf-Solltemperatur_0x1a_unit °C
     2020-04-30 15:36:31   Vorlauf-Solltemperatur_0x1a_value 48.00
     2020-04-30 09:37:02   Zykluszeit_0xe_description Zykluszeit:
     2020-04-30 09:37:02   Zykluszeit_0xe_unit u
     2020-04-30 15:36:31   Zykluszeit_0xe_value 53.90
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Betriebsmodus_description Betriebsmodus
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Betriebsmodus_unit zst
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_Betriebsmodus_value Dauerlast
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Betriebsstunden_0x62_description Betriebsstunden
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Betriebsstunden_0x62_unit h
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_Betriebsstunden_0x62_value 9914.00
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_BetriebsstundeninderFeuererhaltung_0x73_description Betriebsstunden in der Feuererhaltung
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_BetriebsstundeninderFeuererhaltung_0x73_unit h
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_BetriebsstundeninderFeuererhaltung_0x73_value 27.00
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_BetriebsstundenvonKessel2Brennerkontakt_0x109_description Betriebsstunden von Kessel 2 (Brennerkontakt)
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_BetriebsstundenvonKessel2Brennerkontakt_0x109_unit h
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_BetriebsstundenvonKessel2Brennerkontakt_0x109_value 2476.00
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Boardtemperatur_0x2_description Boardtemperatur
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Boardtemperatur_0x2_unit °C
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_Boardtemperatur_0x2_value 40.00
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Build_0x16f_description Build
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Build_0x16f_unit
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_Build_0x16f_value 2.00
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Status_description zst
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Status_unit Heizungsstatus
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_Status_value Heizen
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_StundenseitletzterWartung_0xd5_description Stunden seit letzter Wartung
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_StundenseitletzterWartung_0xd5_unit h
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_StundenseitletzterWartung_0xd5_value 9914.00
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Uhrzeit_description Datum Uhrzeit der Heizung
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_Uhrzeit_unit T
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_Uhrzeit_value Thursday, 30. Apr. 2020 20:12:25
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_description Vergangene Zeit seit letzter Wärmetauscherreinigung
     2020-04-30 20:12:58   _defs__MQTT2_p4d_publisher___JSONMAP_VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_unit m
     2020-04-30 20:23:57   _defs__MQTT2_p4d_publisher___JSONMAP_VergangeneZeitseitletzterWaermetauscherreinigung_0x1c7_value 198.00
Attributes:
   IODev      mqtt2server
   bridgeRegexp p4d2mqtt[/](?!Anlagenstatus)([^/]+)[/]state:.* "p4d2_$1"
   readingList p4d2mqtt/Anlagenstatus/state:.* { json2nameValue($EVENT,,$JSONMAP) }
   room       MQTT2_DEVICE


Hier exemplarisch ein list vom Holzscheitkessel:

Internals:
   CFGFN     
   CID        p4d2_Holzscheitkessel
   DEF        p4d2_Holzscheitkessel
   DEVICETOPIC MQTT2_p4d2_Holzscheitkessel
   FUUID      5eab152a-f33f-5dcf-c366-1f6dcfef25a5b5c6
   IODev      mqtt2server
   LASTInputDev mqtt2server
   MSGCNT     15
   NAME       MQTT2_p4d2_Holzscheitkessel
   NR         1547
   STATE      ???
   TYPE       MQTT2_DEVICE
   mqtt2server_MSGCNT 15
   mqtt2server_TIME 2020-04-30 20:27:57
   READINGS:
     2020-04-30 20:12:58   Abgas-Solltemperatur_0x13_description Abgas-Solltemperatur
     2020-04-30 20:12:58   Abgas-Solltemperatur_0x13_unit °C
     2020-04-30 20:27:57   Abgas-Solltemperatur_0x13_value 155.00
     2020-04-30 20:12:58   Abgastemperatur_0x1_description Abgastemperatur
     2020-04-30 20:12:58   Abgastemperatur_0x1_unit °C
     2020-04-30 20:27:57   Abgastemperatur_0x1_value 90.00
     2020-04-30 20:12:58   EmpfohleneHolzmengebeimNachlegen_0x10a_description Empfohlene Holzmenge beim Nachlegen
     2020-04-30 20:12:58   EmpfohleneHolzmengebeimNachlegen_0x10a_unit k
     2020-04-30 20:27:57   EmpfohleneHolzmengebeimNachlegen_0x10a_value 2.00
     2020-04-30 20:12:58   FuehleramHydraulikmodul03_0xff_description Fühler am Hydraulikmodul      0.3
     2020-04-30 20:12:58   FuehleramHydraulikmodul03_0xff_unit °C
     2020-04-30 20:27:57   FuehleramHydraulikmodul03_0xff_value 58.50
     2020-04-30 20:12:58   Kesselstellgroesse_0x12_description Kesselstellgröße
     2020-04-30 20:12:58   Kesselstellgroesse_0x12_unit %
     2020-04-30 20:27:57   Kesselstellgroesse_0x12_value 100.00
     2020-04-30 20:12:58   Kesseltemperatur_0x0_description Kesseltemperatur
     2020-04-30 20:12:58   Kesseltemperatur_0x0_unit °C
     2020-04-30 20:27:57   Kesseltemperatur_0x0_value 69.00
     2020-04-30 20:12:58   Kesselzustand_0x1c9_description Kesselzustand
     2020-04-30 20:12:58   Kesselzustand_0x1c9_unit
     2020-04-30 20:27:57   Kesselzustand_0x1c9_value 3.00
     2020-04-30 20:12:58   Lambdasondenspannunggemessen_0xd3_description Lambdasondenspannung gemessen
     2020-04-30 20:12:58   Lambdasondenspannunggemessen_0xd3_unit m
     2020-04-30 20:27:57   Lambdasondenspannunggemessen_0xd3_value 24.07
     2020-04-30 20:12:58   Lambdasondenspannungkorrigiert_0xdc_description Lambdasondenspannung korrigiert
     2020-04-30 20:12:58   Lambdasondenspannungkorrigiert_0xdc_unit m
     2020-04-30 20:27:57   Lambdasondenspannungkorrigiert_0xdc_value 24.07
     2020-04-30 20:12:58   Saugzug-Ansteuerung_0xf_description Saugzug - Ansteuerung
     2020-04-30 20:12:58   Saugzug-Ansteuerung_0xf_unit %
     2020-04-30 20:27:57   Saugzug-Ansteuerung_0xf_value 90.00
     2020-04-30 20:12:58   Saugzugdrehzahl_0x7_description Saugzugdrehzahl
     2020-04-30 20:12:58   Saugzugdrehzahl_0x7_unit U
     2020-04-30 20:27:57   Saugzugdrehzahl_0x7_value 2696.00
     2020-04-30 20:12:58   Zykluszeit_0xe_description Zykluszeit:
     2020-04-30 20:12:58   Zykluszeit_0xe_unit u
     2020-04-30 20:27:57   Zykluszeit_0xe_value 53.90
     2020-04-30 20:12:58   associatedWith  MQTT2_p4d_publisher
Attributes:
   IODev      mqtt2server
   readingList p4d2mqtt/Holzscheitkessel/state:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


Die Readings wurden korrekt umgeleitet, nur das Format passt noch nicht.

Das sieht so aus, als ob wir dem Ziel schon sehr nahe sind. ;)

TOP, vielen Dank. Ich habe heute eigentlich keine Zeit, meine Holde hat heute Geb. Ich kriege gerade schon Ärger. ;)

Schönen Abend noch! Ich freu mich auf deinen nächsten Vorschlag.

Danke dir und Gruß Hoppel
Server: Openmediavault, XEON E3-1240L-v5, Supermicro X11SSH-CTF, 64GB ECC RAM, SSD, RAID-Z2
Homebridge | Alexa | Yowsup
Homematic | HomeConnect | MQTT | Philips Hue | Sonos | Unifi Network & Protect | vbus | Xiaomi

Beta-User

Zitat von: hoppel118 am 30 April 2020, 20:31:15
(Wobei ich dazu sagen muss, dass man alle Bezeichnungen der Baugruppen selbst vergibt und anschließend auch die Messwerte diesen Baugruppen selbst zuordnet. Vielleicht kann man das in der Zukunft nochmal automatisieren. Erstmal bin ich froh, dass es so läuft.)
Na ja, wenn man es auf der p4d-Seite nicht automatisiert bekommt (oder sowas wie csv-templates erstellen kann), wäre es am Ende einfacher, schlicht die HEX-Adressen der einzelnen Datenpunkte in den Topic-Tree aufzunehmen und dann nur unter FHEM zu sortieren. Das wird dann etwas aufwändiger, das auf der FHEM-Seite zu realisieren, aber dafür wäre es ohne weiteres in einem attrTemplate allgemeingültig vercodebar: Man kann via bridgeRegexp auch mehrere Topic-branches in ein Device umleiten und darüber die Gruppen bilden. ems-esp macht das z.B. teilweise so...

Zitat
Evtl. macht es aber aus diesem Grund Sinn alle Topics in ein eigenes Device umzuleiten (weil man nicht weiß, wie andere p4d User ihre Baugruppen nennen). Wie siehst du das?
Mir im Prinzip egal; letztlich _glaube_ ich, dass es für "den typischen FEHM-user" leichter nachzuvollziehen ist, wenn das bridge-Device - wie bei allen anderen "IO-Bridges" auch (angefangen z.B. bei zigbee2mqtt) - eine eigene Funktion hat. Zwingend ist das aber nicht.
Andererseits kann man die bridgeRegexp ja jederzeit ändern und entsprechende Hinweise in comment und farewell aufnehmen.
Es wäre eben wünschenswert, dass die Konfiguration auf der p4d-Seite irgendwie standardisiert ist, sonst ist es mMn. einfacher, das @FHEM zu erledigen.

ZitatHat es einen Grund, dass nun alle Devices "p4d2" im Namen haben
Hat keinen tieferen Grund, ich wollte nur schnell das "Bausteinchen" mit dem "negative lookahead" (nur das "Anlagenstatus" wird nicht weitergeleitet) hier posten, weil das vermutlich eine sehr harte Nuß war... Die "2" kann gerne raus bzw. du kannst das gerne auch ganz anders benennen, z.B. Froeling_$1".

Ansonsten noch: du darfst frei entscheiden, was du mit den Bauteilchen anfangen magst, ich kann nicht wissen, was wie zusammengehört/angezeigt werden soll (oder nicht)/...
Vielleicht schaust du jetzt nochmal den attrTemplate-Quelltext zu ems-esp an; der ist zwar m.E. auch noch nicht "fertig", aber die Funktionsweise ist recht nah an dem, was hier stattfindet und die attrTemplate-Struktur ist noch nicht so komplex wie beim ebus (sonst ist das aber auch eine gute Quelle! Dort gibt es nämlich z.B. myUtils-Code für temperaturabhängige Farbgebung usw. ;) ). Und laß dir Zeit, Rom wurde auch nicht an einem Tag erbaut...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors