ebusd neue MQTT Devices

Begonnen von Damian, 22 März 2022, 16:21:24

Vorheriges Thema - Nächstes Thema

Damian

Ich habe bei mir ebusd laufen. Nun habe ich seinerzeit das automatisch generierte MQTT-Device umbenannt und nach meinen Bedürfnissen angepasst.

Der MQTT2-Server steht auf autocreate, was bei neuen MQTT-Devices ganz praktisch ist. Jedoch werden auch ständig neue Versionen vom ebusd-MQTT2-Device erzeugt z. Zt. MQTT2_ebusd_3.4_460, die dann zusätzlich zu meinem ursprünglichen MQTT-Device bedient werden - das muss nicht sein.

Kann man das Erzeugen neuer MQTT-Versionen auf der ebusd-Seite abstellen? Autocreate auf der FHEM-Seite wollte ich eigentlich belassen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beta-User

Vermutlich sind das keine "neuen" Infos von der ebus-Seite her, sondern es handelt sich eher um irgendwas "kaputtes", das aus der Fehlinterpretation der Topics via bridgeRegexp herrührt (da kommen von der ebus-Seite her uU. auch Sonderzeichen usw.).

Ohne mehr Details ist das aber schwer zu beurteilen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Ergaenzung: Eine neue MQTT2_DEVICE Instanz wird angelegt, falls keine Existierende das aktuelle Topic kennt, und auch keine Instanz mit der aktuellen ClientID existiert.
bridgeRegexp "erfindet" aus der Topic/Message-Kombination eine neue ClientID, und ordnet so die Topics unterschiedlichen Instanzen zu.

Damian

Zitat von: rudolfkoenig am 22 März 2022, 16:42:20
Ergaenzung: Eine neue MQTT2_DEVICE Instanz wird angelegt, falls keine Existierende das aktuelle Topic kennt, und auch keine Instanz mit der aktuellen ClientID existiert.
bridgeRegexp "erfindet" aus der Topic/Message-Kombination eine neue ClientID, und ordnet so die Topics unterschiedlichen Instanzen zu.

Das würde also bedeuten niemals MQTT2_Devices auf der FHEM-Seite selbst umbenennen, sondern auf der Senderseite den Namen anpassen.

Ich frage mich nur: Warum wird das umbenannte Device zusätzlich zum neu angelegten MQTT-Device weiter bedient? Offensichtlich ist es ja dem MQTT-Server noch bekannt.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beta-User

Zitat von: Damian am 22 März 2022, 16:54:14
Das würde also bedeuten niemals MQTT2_Devices auf der FHEM-Seite selbst umbenennen, sondern auf der Senderseite den Namen anpassen.
Nein, entscheidend ist die (Pseudo-) CID, nicht der Name.

Zitat
Ich frage mich nur: Warum wird das umbenannte Device zusätzlich zum neu angelegten MQTT-Device weiter bedient? Offensichtlich ist es ja dem MQTT-Server noch bekannt.
Alle Instanzen mit passender readingList bekommen die Infos. Es sollte aber mit bereits vorhandenem passende readingList-Eintrag (unabhängig von der Frage, wo der "hängt" (!)) niemals zu einer autocreate-Aktion kommen.

(Insbesondere) falls es um "Irrläufer" geht, kannst du auch einfach bridgeRegexp löschen, damit diese Topics ggf. einfach beim "Stammdevice" verbleiben.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Oder auch: zeig uns mehr Daten, dann koennen wir Dir besser helfen :)

Damian

Zitat von: rudolfkoenig am 22 März 2022, 17:54:25
Oder auch: zeig uns mehr Daten, dann koennen wir Dir besser helfen :)

hier das umbenannte und angepasste MQTT-Device:

Internals:
   CID        ebusd_bai
   DEF        ebusd_bai
   DEVICETOPIC vaillant
   FUUID      5e824f68-f33f-30f6-e98d-2bfb72be2975d5a6
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.178.130_52494
   MQTT2_FHEM_Server_MSGCNT 65
   MQTT2_FHEM_Server_TIME 2022-03-22 17:59:17
   MSGCNT     65
   NAME       vaillant
   NR         597
   STATE      WarmwasserSollTemp
   TYPE       MQTT2_DEVICE
   JSONMAP:
     FanSpeed_0_name 0
     FanSpeed_0_value LuefterDrehzahl
     Flame_0_name 0
     Flame_0_value Flame
     FlowTempDesired_temp_value VorlaufSoll
     Hc1HeatCurve_0_name 0
     Hc1HeatCurve_0_value HeizKennlinie
     HolidayEndPeriod_hto_value FerienEnde
     HolidayStartPeriod_hfrom_value FerienBeginn
     HwcTempDesired_tempv_value WarmwasserSollTemp
     PrimaryCircuitFlowrate_uin100_value Umlaufmenge
     PumpPowerDesired_0_name 0
     PumpPowerDesired_0_value PumpenLeistungSoll
     PumpPower_0_name 0
     PumpPower_0_value PumpenLeistung
     Status01_0_name 0
     Status01_0_value Vorlauf
     Status01_1_name 0
     Status01_1_value Ruecklauf
     Status01_2_name 0
     Status01_2_value Aussentemp
     Status01_3_name 0
     Status01_3_value Warmwasser
     Status01_4_name 0
     Status01_4_value WWSpeicher
     Status01_5_name 0
     Status01_5_value Pumpenstatus
     Storageloadpump_percent0_value Storageloadpump
     WaterPressure_pressv_value Wasserdruck
     z1DayTemp_tempv_value TagSolltemp
     z1NightTemp_tempv_value NachtSolltemp
     z1OpMode_opmode_value Heizmodus
   READINGS:
     2022-03-22 17:59:17   Aussentemp      17.375
     2022-03-22 17:58:38   DateTime_bdate_value -.-.-
     2022-03-22 17:58:38   DateTime_btime_value -:-:-
     2022-03-22 17:58:38   DateTime_dcfstate_value nosignal
     2022-03-22 17:58:38   DateTime_temp2_value 17.375
     2022-03-22 17:31:02   FanHours_hoursum2_value 5073
     2022-03-21 19:14:40   FanSpeed_0_name
     2022-03-21 19:14:40   FanSpeed_0_value 0
     2022-03-22 00:01:32   FerienBeginn    01.01.2015
     2022-03-22 00:01:32   FerienEnde      01.01.2015
     2022-03-22 17:59:02   Flame           off
     2022-03-22 17:31:02   HcHours_hoursum2_value 4254
     2022-03-22 00:01:32   HcStarts_0_name
     2022-03-22 00:01:32   HcStarts_0_value 4400
     2022-03-06 19:50:26   HeizKennlinie   0.5
     2022-03-22 00:01:37   Heizmodus       auto
     2022-03-22 17:31:02   HwcHours_hoursum2_value 773
     2022-03-22 00:01:32   HwcStarts_0_name
     2022-03-22 00:01:32   HwcStarts_0_value 15300
     2022-01-08 20:10:14   HwcTempDesired_tempv_value 47.0
     2022-03-22 17:56:50   IODev           MQTT2_FHEM_Server
     2022-03-22 17:59:02   LuefterDrehzahl 0
     2022-03-22 00:01:32   NachtSolltemp   15
     2022-03-22 00:01:37   OpMode_opmode_value auto
     2022-03-22 17:31:02   PrEnergySumHc1_0_name
     2022-03-22 17:31:02   PrEnergySumHc1_0_value 2161267054
     2022-03-22 17:31:02   PrEnergySumHwc1_0_name
     2022-03-22 17:31:02   PrEnergySumHwc1_0_value 722716636
     2021-12-03 23:12:55   PumpHours_hoursum2_value 14798
     2022-03-22 17:59:02   PumpenLeistung  15
     2022-01-26 19:44:31   PumpenLeistungSoll auto
     2022-03-22 17:59:17   Pumpenstatus    off
     2022-03-22 17:59:17   Ruecklauf       22.0
     2022-01-08 19:43:23   StorageExitTemp_sensor_value ok
     2022-01-08 19:43:23   StorageExitTemp_temp_value 39.88
     2022-01-08 19:16:08   StorageTempDesired_temp_value 50.00
     2021-12-03 23:12:55   Storageloadpump 0
     2022-03-22 00:01:32   TagSolltemp     22
     2022-03-08 19:17:39   Time_0_name     
     2022-03-08 19:17:39   Time_0_value    19:17:03
     2022-03-22 17:59:02   Umlaufmenge     10.95
     2022-03-22 17:59:17   Vorlauf         23.0
     2021-12-03 23:12:55   VorlaufSoll     25.00
     2022-03-22 17:59:17   WWSpeicher      48.0
     2022-03-22 17:59:17   Warmwasser      42.5
     2022-03-08 21:55:44   WarmwasserSollTemp 50.0
     2022-03-22 00:01:32   Wasserdruck     1
     2022-03-22 17:58:38   outsidetemp_temp2_value 17.375
     2022-03-22 17:57:07   running         true
     2022-03-22 17:57:06   signal          true
     2022-03-08 21:55:38   state           WarmwasserSollTemp
     2022-03-22 17:59:17   total_h         28839.8369
     2022-03-22 17:59:17   total_hc        21612.67054
     2022-03-22 17:59:17   total_hwc       7227.16636
     2022-03-08 17:50:59   updatecheck     "version 22.2 available"
     2022-03-22 17:59:17   uptime          1210235
     2022-03-22 17:58:37   vdatetime_date_value 22.03.2022
     2022-03-22 17:58:37   vdatetime_time_value 17:57:58
     2022-03-22 17:57:07   version         "ebusd 3.4.v3.3-51-g57eae05"
     2022-03-15 21:01:06   z1Timer.Friday_0_name from
     2022-03-15 21:01:06   z1Timer.Friday_0_value 04:00
     2022-03-15 21:01:06   z1Timer.Friday_1_name to
     2022-03-15 21:01:06   z1Timer.Friday_1_value 08:00
     2022-03-15 21:01:06   z1Timer.Friday_2_name from
     2022-03-15 21:01:06   z1Timer.Friday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Friday_3_name to
     2022-03-15 21:01:06   z1Timer.Friday_3_value 21:30
     2022-03-15 21:01:06   z1Timer.Friday_4_name from
     2022-03-15 21:01:06   z1Timer.Friday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Friday_5_name to
     2022-03-15 21:01:06   z1Timer.Friday_5_value -:-
     2022-03-15 21:01:06   z1Timer.Monday_0_name from
     2022-03-15 21:01:06   z1Timer.Monday_0_value 04:00
     2022-03-15 21:01:06   z1Timer.Monday_1_name to
     2022-03-15 21:01:06   z1Timer.Monday_1_value 08:00
     2022-03-15 21:01:06   z1Timer.Monday_2_name from
     2022-03-15 21:01:06   z1Timer.Monday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Monday_3_name to
     2022-03-15 21:01:06   z1Timer.Monday_3_value 21:00
     2022-03-15 21:01:06   z1Timer.Monday_4_name from
     2022-03-15 21:01:06   z1Timer.Monday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Monday_5_name to
     2022-03-15 21:01:06   z1Timer.Monday_5_value -:-
     2022-03-15 21:01:06   z1Timer.Saturday_0_name from
     2022-03-15 21:01:06   z1Timer.Saturday_0_value 05:00
     2022-03-15 21:01:06   z1Timer.Saturday_1_name to
     2022-03-15 21:01:06   z1Timer.Saturday_1_value 09:00
     2022-03-15 21:01:06   z1Timer.Saturday_2_name from
     2022-03-15 21:01:06   z1Timer.Saturday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Saturday_3_name to
     2022-03-15 21:01:06   z1Timer.Saturday_3_value 21:30
     2022-03-15 21:01:06   z1Timer.Saturday_4_name from
     2022-03-15 21:01:06   z1Timer.Saturday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Saturday_5_name to
     2022-03-15 21:01:06   z1Timer.Saturday_5_value -:-
     2022-03-15 21:01:06   z1Timer.Sunday_0_name from
     2022-03-15 21:01:06   z1Timer.Sunday_0_value 05:00
     2022-03-15 21:01:06   z1Timer.Sunday_1_name to
     2022-03-15 21:01:06   z1Timer.Sunday_1_value 09:00
     2022-03-15 21:01:06   z1Timer.Sunday_2_name from
     2022-03-15 21:01:06   z1Timer.Sunday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Sunday_3_name to
     2022-03-15 21:01:06   z1Timer.Sunday_3_value 21:30
     2022-03-15 21:01:06   z1Timer.Sunday_4_name from
     2022-03-15 21:01:06   z1Timer.Sunday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Sunday_5_name to
     2022-03-15 21:01:06   z1Timer.Sunday_5_value -:-
     2022-03-15 21:01:06   z1Timer.Thursday_0_name from
     2022-03-15 21:01:06   z1Timer.Thursday_0_value 04:00
     2022-03-15 21:01:06   z1Timer.Thursday_1_name to
     2022-03-15 21:01:06   z1Timer.Thursday_1_value 08:00
     2022-03-15 21:01:06   z1Timer.Thursday_2_name from
     2022-03-15 21:01:06   z1Timer.Thursday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Thursday_3_name to
     2022-03-15 21:01:06   z1Timer.Thursday_3_value 21:00
     2022-03-15 21:01:06   z1Timer.Thursday_4_name from
     2022-03-15 21:01:06   z1Timer.Thursday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Thursday_5_name to
     2022-03-15 21:01:06   z1Timer.Thursday_5_value -:-
     2022-03-15 21:01:06   z1Timer.Tuesday_0_name from
     2022-03-15 21:01:06   z1Timer.Tuesday_0_value 04:00
     2022-03-15 21:01:06   z1Timer.Tuesday_1_name to
     2022-03-15 21:01:06   z1Timer.Tuesday_1_value 08:00
     2022-03-15 21:01:06   z1Timer.Tuesday_2_name from
     2022-03-15 21:01:06   z1Timer.Tuesday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Tuesday_3_name to
     2022-03-15 21:01:06   z1Timer.Tuesday_3_value 21:00
     2022-03-15 21:01:06   z1Timer.Tuesday_4_name from
     2022-03-15 21:01:06   z1Timer.Tuesday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Tuesday_5_name to
     2022-03-15 21:01:06   z1Timer.Tuesday_5_value -:-
     2022-03-15 21:01:06   z1Timer.Wednesday_0_name from
     2022-03-15 21:01:06   z1Timer.Wednesday_0_value 04:00
     2022-03-15 21:01:06   z1Timer.Wednesday_1_name to
     2022-03-15 21:01:06   z1Timer.Wednesday_1_value 08:00
     2022-03-15 21:01:06   z1Timer.Wednesday_2_name from
     2022-03-15 21:01:06   z1Timer.Wednesday_2_value 12:00
     2022-03-15 21:01:06   z1Timer.Wednesday_3_name to
     2022-03-15 21:01:06   z1Timer.Wednesday_3_value 21:00
     2022-03-15 21:01:06   z1Timer.Wednesday_4_name from
     2022-03-15 21:01:06   z1Timer.Wednesday_4_value -:-
     2022-03-15 21:01:06   z1Timer.Wednesday_5_name to
     2022-03-15 21:01:06   z1Timer.Wednesday_5_value -:-
Attributes:
   IODev      MQTT2_FHEM_Server
   devStateStyle style="text-align:left"
   event-on-change-reading .*
   group      Therme
   icon       sani_boiler_temp
   jsonMap    Status01_0_value:Vorlauf Status01_0_name:0
Status01_1_value:Ruecklauf Status01_1_name:0
Status01_2_value:Aussentemp Status01_2_name:0
Status01_3_value:Warmwasser Status01_3_name:0
Status01_4_value:WWSpeicher Status01_4_name:0
Status01_5_value:Pumpenstatus Status01_5_name:0
Flame_0_value:Flame Flame_0_name:0
Storageloadpump_percent0_value:Storageloadpump
HwcTempDesired_tempv_value:WarmwasserSollTemp
FlowTempDesired_temp_value:VorlaufSoll
Hc1HeatCurve_0_value:HeizKennlinie Hc1HeatCurve_0_name:0
HolidayEndPeriod_hto_value:FerienEnde
HolidayStartPeriod_hfrom_value:FerienBeginn
PumpPowerDesired_0_value:PumpenLeistungSoll PumpPowerDesired_0_name:0
PumpPower_0_value:PumpenLeistung PumpPower_0_name:0
PrimaryCircuitFlowrate_uin100_value:Umlaufmenge
z1DayTemp_tempv_value:TagSolltemp
z1NightTemp_tempv_value:NachtSolltemp
FanSpeed_0_value:LuefterDrehzahl FanSpeed_0_name:0
WaterPressure_pressv_value:Wasserdruck
z1OpMode_opmode_value:Heizmodus
   model      eBus_bai_jsonmap
   readingList ebusd/bai/PumpHours:.* { json2nameValue($EVENT, 'PumpHours_', $JSONMAP) }
ebusd/bai/WPPostrunTime:.* { json2nameValue($EVENT, 'WPPostrunTime_', $JSONMAP) }
ebusd/bai/PowerValue:.* { json2nameValue($EVENT, 'PowerValue_', $JSONMAP) }
ebusd/bai/StorageExitTemp:.* { json2nameValue($EVENT, 'StorageExitTemp_', $JSONMAP) }
ebusd/bai/StorageTempDesired:.* { json2nameValue($EVENT, 'StorageTempDesired_', $JSONMAP) }
ebusd/global/version:.* version
ebusd/global/running:.* running
ebusd/scan\x5c\x2e08/:.* { json2nameValue($EVENT, 'scan.08_', $JSONMAP) }
ebusd/scan\x5c\x2e08/id:.* { json2nameValue($EVENT, 'id_', $JSONMAP) }
ebusd/global/uptime:.* uptime
ebusd/global/signal:.* signal
ebusd/scan\x5c\x2e15/:.* { json2nameValue($EVENT, 'scan.15_', $JSONMAP) }
ebusd/scan\x5c\x2e15/id:.* { json2nameValue($EVENT, 'id_', $JSONMAP) }
ebusd/bai/FanSpeed:.* { json2nameValue($EVENT, 'FanSpeed_', $JSONMAP) }
ebusd/bai/PumpPower:.* { json2nameValue($EVENT, 'PumpPower_', $JSONMAP) }
ebusd/broadcast/vdatetime:.* { json2nameValue($EVENT, 'vdatetime_', $JSONMAP) }
ebusd/broadcast/outsidetemp:.* { json2nameValue($EVENT, 'outsidetemp_', $JSONMAP) }
ebusd/bai/DateTime:.* { json2nameValue($EVENT, 'DateTime_', $JSONMAP) }
ebusd/global/updatecheck:.* updatecheck
ebusd/bai/DCFTimeDate:.* { json2nameValue($EVENT, 'DCFTimeDate_', $JSONMAP) }
ebusd/bai/PumpPowerDesired:.* { json2nameValue($EVENT, 'PumpPowerDesired_', $JSONMAP) }
ebusd/bai/HwcImpellorSwitch:.* { json2nameValue($EVENT, 'HwcImpellorSwitch_', $JSONMAP) }
ebusd/bai/ReturnTemp:.* { json2nameValue($EVENT, 'ReturnTemp_', $JSONMAP) }
ebusd/700/HwcStorageTempBottom:.* { json2nameValue($EVENT, 'HwcStorageTempBottom_', $JSONMAP) }
ebusd/700/HwcTempDesired:.* { json2nameValue($EVENT, 'HwcTempDesired_', $JSONMAP) }
ebusd/bai/FanPWMSum:.* { json2nameValue($EVENT, 'FanPWMSum_', $JSONMAP) }
ebusd/bai/HcHours:.* { json2nameValue($EVENT, 'HcHours_', $JSONMAP) }
ebusd/bai/HoursTillService:.* { json2nameValue($EVENT, 'HoursTillService_', $JSONMAP) }
ebusd/bai/PumpHwcFlowNumber:.* { json2nameValue($EVENT, 'PumpHwcFlowNumber_', $JSONMAP) }
ebusd/bai/WP:.* { json2nameValue($EVENT, 'WP_', $JSONMAP) }
ebusd/700/WaterPressure:.* { json2nameValue($EVENT, 'WaterPressure_', $JSONMAP) }
ebusd/bai/PrimaryCircuitFlowrate:.* { json2nameValue($EVENT, 'PrimaryCircuitFlowrate_', $JSONMAP) }
ebusd/bai/Flame:.* { json2nameValue($EVENT, 'Flame_', $JSONMAP) }
ebusd/bai/Storageloadpump:.* { json2nameValue($EVENT, 'Storageloadpump_', $JSONMAP) }
ebusd/bai/Status01:.* { json2nameValue($EVENT, 'Status01_', $JSONMAP) }
ebusd/bai/FlowTempDesired:.* { json2nameValue($EVENT, 'FlowTempDesired_', $JSONMAP) }
ebusd/700/FrostOverRideTime:.* { json2nameValue($EVENT, 'FrostOverRideTime_', $JSONMAP) }
ebusd/700/Hc1ActualFlowTempDesired:.* { json2nameValue($EVENT, 'Hc1ActualFlowTempDesired_', $JSONMAP) }
ebusd/700/Hc1AutoOffMode:.* { json2nameValue($EVENT, 'Hc1AutoOffMode_', $JSONMAP) }
ebusd/700/Hc1CircuitType:.* { json2nameValue($EVENT, 'Hc1CircuitType_', $JSONMAP) }
ebusd/700/Hc1HeatCurve:.* { json2nameValue($EVENT, 'Hc1HeatCurve_', $JSONMAP) }
ebusd/700/HcStorageTempBottom:.* { json2nameValue($EVENT, 'HcStorageTempBottom_', $JSONMAP) }
ebusd/700/HcStorageTempTop:.* { json2nameValue($EVENT, 'HcStorageTempTop_', $JSONMAP) }
ebusd/700/HolidayTemp:.* { json2nameValue($EVENT, 'HolidayTemp_', $JSONMAP) }
ebusd/700/OpMode:.* { json2nameValue($EVENT, 'OpMode_', $JSONMAP) }
ebusd/700/z1RoomTemp:.* { json2nameValue($EVENT, 'z1RoomTemp_', $JSONMAP) }
ebusd/700/z1SFMode:.* { json2nameValue($EVENT, 'z1SFMode_', $JSONMAP) }
ebusd/700/z1OpMode:.* { json2nameValue($EVENT, 'z1OpMode_', $JSONMAP) }
ebusd/700/Time:.* { json2nameValue($EVENT, 'Time_', $JSONMAP) }
ebusd/bai/EbusVoltage:.* { json2nameValue($EVENT, 'EbusVoltage_', $JSONMAP) }
ebusd/bai/extWP:.* { json2nameValue($EVENT, 'extWP_', $JSONMAP) }
ebusd/bai/FanStarts:.* { json2nameValue($EVENT, 'FanStarts_', $JSONMAP) }
ebusd/700/z1NightTemp:.* { json2nameValue($EVENT, 'z1NightTemp_', $JSONMAP) }
ebusd/700/z1DayTemp:.* { json2nameValue($EVENT, 'z1DayTemp_', $JSONMAP) }
ebusd/700/HolidayStartPeriod:.* { json2nameValue($EVENT, 'HolidayStartPeriod_', $JSONMAP) }
ebusd/700/HolidayEndPeriod:.* { json2nameValue($EVENT, 'HolidayEndPeriod_', $JSONMAP) }
ebusd/700/z1Timer.Monday:.* { json2nameValue($EVENT, 'z1Timer.Monday_', $JSONMAP) }
ebusd/700/z1Timer.Tuesday:.* { json2nameValue($EVENT, 'z1Timer.Tuesday_', $JSONMAP) }
ebusd/700/z1Timer.Wednesday:.* { json2nameValue($EVENT, 'z1Timer.Wednesday_', $JSONMAP) }
ebusd/700/z1Timer.Thursday:.* { json2nameValue($EVENT, 'z1Timer.Thursday_', $JSONMAP) }
ebusd/700/z1Timer.Friday:.* { json2nameValue($EVENT, 'z1Timer.Friday_', $JSONMAP) }
ebusd/700/z1Timer.Sunday:.* { json2nameValue($EVENT, 'z1Timer.Sunday_', $JSONMAP) }
ebusd/700/z1Timer.Saturday:.* { json2nameValue($EVENT, 'z1Timer.Saturday_', $JSONMAP) }
ebusd/bai/PrEnergyCountHc1:.* { json2nameValue($EVENT, 'PrEnergyCountHc1_', $JSONMAP) }
ebusd/bai/PrEnergyCountHwc1:.* { json2nameValue($EVENT, 'PrEnergyCountHwc1_', $JSONMAP) }
ebusd/bai/PrEnergySumHc1:.* { json2nameValue($EVENT, 'PrEnergySumHc1_', $JSONMAP) }
ebusd/bai/PrEnergySumHwc1:.* { json2nameValue($EVENT, 'PrEnergySumHwc1_', $JSONMAP) }
ebusd/bai/FanHours:.* { json2nameValue($EVENT, 'FanHours_', $JSONMAP) }
ebusd/bai/HcHours:.* { json2nameValue($EVENT, 'HcHours_', $JSONMAP) }
ebusd/bai/HwcHours:.* { json2nameValue($EVENT, 'HwcHours_', $JSONMAP) }
ebusd/bai/HcStarts:.* { json2nameValue($EVENT, 'HcStarts_', $JSONMAP) }
ebusd/bai/HwcStarts:.* { json2nameValue($EVENT, 'HwcStarts_', $JSONMAP) }
   room       Ebus,MQTT2_DEVICE
   setList    HeizKennlinie:selectnumbers,0,.1,2,1,lin ebusd/700/Hc1HeatCurve/set $EVTPART1
TagSolltemp:selectnumbers,15,1,25,1,lin ebusd/700/z1DayTemp/set $EVTPART1
NachtSolltemp:selectnumbers,15,1,25,1,lin ebusd/700/z1NightTemp/set $EVTPART1
PumpenLeistungSoll:selectnumbers,0,1,8,1,lin ebusd/bai/PumpPowerDesired/set $EVTPART1
WarmwasserSollTemp:selectnumbers,45,1,55,1,lin ebusd/700/HwcTempDesired/set $EVTPART1
   userReadings total_hc {ReadingsVal($name,"PrEnergySumHc1_0_value",0)/100000},
total_hwc {ReadingsVal($name,"PrEnergySumHwc1_0_value",0)/100000},
total_h {ReadingsVal($name,"PrEnergySumHc1_0_value",0)/100000+ReadingsVal($name,"PrEnergySumHwc1_0_value",0)/100000}


und hier das automatisch generierte:

Internals:
   CID        ebusd_3.4_460
   DEF        ebusd_3.4_460
   DEVICETOPIC MQTT2_ebusd_3.4_460
   FUUID      6238c1e5-f33f-30f6-7df1-f313a308645402c4
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.178.130_52494
   MQTT2_FHEM_Server_MSGCNT 32
   MQTT2_FHEM_Server_TIME 2022-03-22 18:00:38
   MSGCNT     32
   NAME       MQTT2_ebusd_3.4_460
   NR         760
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2022-03-22 18:00:38   0_name          hwcmode
     2022-03-22 18:00:38   0_value         auto
     2022-03-22 18:00:38   1_name          temp0
     2022-03-22 18:00:38   1_value         60
     2022-03-22 18:00:38   2_name          temp1
     2022-03-22 18:00:38   2_value         75.0
     2022-03-22 18:00:38   3_name          temp0
     2022-03-22 18:00:38   3_value         70
     2022-03-22 18:00:38   4_name          temp1
     2022-03-22 18:00:38   4_value         65.0
     2022-03-22 17:49:38   HW_value        6903
     2022-03-22 17:49:38   ID_value        70000
     2022-03-22 17:56:49   IODev           MQTT2_FHEM_Server
     2022-03-22 17:49:38   MF_value        Vaillant
     2022-03-22 17:49:38   SW_value        0613
     2022-03-22 18:00:38   disablehc_value 0
     2022-03-22 18:00:38   disablehwcload_value 0
     2022-03-22 18:00:38   disablehwctapping_value 0
     2022-03-22 18:00:38   flowtempdesired_value 26.5
     2022-03-22 18:00:38   hcmode_value    auto
     2022-03-22 18:00:38   releaseBackup_value 0
     2022-03-22 18:00:38   releaseCooling_value 0
     2022-03-22 18:00:38   remoteControlHcPump_value 0
     2022-03-22 17:57:47   subscriptions   ebusd/#
Attributes:
   event-on-change-reading .*
   readingList ebusd_3.4_460:ebusd/bai/SetMode:.* { json2nameValue($EVENT) }
ebusd_3.4_460:ebusd/bai/Status02:.* { json2nameValue($EVENT) }
ebusd_3.4_460:ebusd/bai/StatusCirPump:.* { json2nameValue($EVENT) }
ebusd_3.4_460:ebusd/scan\x2e15/:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

TomLee

Meine Vermutung du hast bewusst kein Splitter-Device angelegt weil du alle Werte in einem Device haben willst.

Wenn die Werte aus dem automatisch generierten Device nicht brauchst nimmst die Topic-Pfade mit in die rL des Vaillant-Device auf, lässt sie aber nicht auspacken:

ebusd/bai/SetMode:.* {}
ebusd/bai/Status02:.* {}
ebusd/bai/StatusCirPump:.* {}
ebusd/scan\x2e15/:.* {}


Dann wird auch kein weiteres Device mehr angelegt.

Damian

Zitat von: TomLee am 22 März 2022, 18:25:13
Meine Vermutung du hast bewusst kein Splitter-Device angelegt weil du alle Werte in einem Device haben willst.

Wenn die Werte aus dem automatisch generierten Device nicht brauchst nimmst die Topic-Pfade mit in die rL des Vaillant-Device auf, lässt sie aber nicht auspacken:

ebusd/bai/SetMode:.* {}
ebusd/bai/Status02:.* {}
ebusd/bai/StatusCirPump:.* {}
ebusd/scan\x2e15/:.* {}


Dann wird auch kein weiteres Device mehr angelegt.

OK. Danke. Ich habe die neuen Einträge übernommen und alles ist gut. Ich muss mir bei Gelegenheit die MQTT-Mechanismen genauer anschauen, da ich inzwischen immer mehr über MQTT einbinde, wie z. B. so etwas: https://forum.fhem.de/index.php/topic,97959.msg1214276.html#msg1214276
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

TomLee

ZitatIch muss mir bei Gelegenheit die MQTT-Mechanismen genauer anschauen, ...

Deine Frage ist mMn vergleichbar wie die immer gleiche zum Attribut do i.V.m  always im DOIF-Kontext.  :P

Du hast die letzten 2-3(4) Jahre was verpasst, wenn du jetzt erst anfängst dir MQTT2 genauer anzuschauen.  :)


Damian

Zitat von: TomLee am 22 März 2022, 20:24:32
Deine Frage ist mMn vergleichbar wie die immer gleiche zum Attribut do i.V.m  always im DOIF-Kontext.  :P

Du hast die letzten 2-3(4) Jahre was verpasst, wenn du jetzt erst anfängst dir MQTT2 genauer anzuschauen.  :)

Ich habe übrigens schon länger espEasy mit MQTT am laufen.

Da ja alles automatisch angelegt wurde, brauchte ich mich bisher nicht intensiv mit den Abläufen des Moduls auseinander zu setzen, genauso wie die Leute, die erst später nach einem do always Attribut fragen - da hast du vollkommen Recht ;)





Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Beta-User

Vielleicht noch ein paar ergänzende Anmerkungen...

Zum einen war das hier das "klassische" "ständig neue Devices"-Thema, weil der ebusd-Daemont anscheinend immer seine aktuelle Versionsnummer als ClientId zu verwenden scheint. Wenn man ihm das "abgewöhnt", bekommt man autocreate ggf. auch am "richtigen" Device (hier wäre es dann der Wert, der als CID "ebusd_bai" in gewünschten M2D eingestellt ist.

Die "scan"-Topics sind etwas speziell, evtl. bekommt man die besser in den Griff, wenn man die als regex notiert.

Ggf. schaust du dir mal die ebusd-myUtils aus/für attrTemplate an, das erspart einiges an jsonMapping, hält die Temperaturlisten zusammen usw.. Kann vermutlich auch dann hilfreich sein, wenn man nicht "das volle Paket" nutzen will. (Außerdem würde mich das Verbesserungspotential interessieren, ich habe bekanntlich keinen ebus und daher manches "aus der Hüfte" geschossen...).

Habe nach wie vor Zweifel, ob es sinnvoll ist, alles in einem Device zu halten und dann die Readings auch noch "einzudeutschen". Muss aber jeder selbst wissen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

john30

Zitat von: rudolfkoenig am 22 März 2022, 16:42:20
Ergaenzung: Eine neue MQTT2_DEVICE Instanz wird angelegt, falls keine Existierende das aktuelle Topic kennt, und auch keine Instanz mit der aktuellen ClientID existiert.
bridgeRegexp "erfindet" aus der Topic/Message-Kombination eine neue ClientID, und ordnet so die Topics unterschiedlichen Instanzen zu.
ohne Konfiguration via `--mqttclientid=clientid`setzt ebusd die Versionsnummer und die PID ein. Also einfach konfigurieren und schon sollte das kein Problem mehr sein
author of ebusd

Damian

Zitat von: john30 am 26 März 2022, 06:05:53
ohne Konfiguration via `--mqttclientid=clientid`setzt ebusd die Versionsnummer und die PID ein. Also einfach konfigurieren und schon sollte das kein Problem mehr sein

Das ist die Antwort, die ich hören wollte :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF