ebusd mit MQTT

Begonnen von Mitch, 21 Februar 2020, 11:25:54

Vorheriges Thema - Nächstes Thema

Mitch

Hallo Zusammen,

habe gestern mal meinen Raspberry upgedated und die aktuelle ebus Version mit MQTT installiert.
Hat auch alles auf Anhieb funktioniert und ich bekam ein Device in FHEM. Das habe ich jetzt "hübsch" gemacht und drei ReadingsGroups dazu (habe keine Templates benutzt).

Grundsätzlich bin ich zufrieden, ein paar Feinheiten fehlen mir noch.

Trotzdem habe ich eine Frage: nach welcher Logik schickt denn der ebusd die Daten?
Ich würde zum einen gerne die Zeit verstellen, zum anderen kommen manche Werte irgendwie nur einmalig (z.B. WaterPressure_press_value).

Hier mein Device:

Internals:
   CHANGED   
   CID        ebusd
   DEF        ebusd
   DEVICETOPIC MQTT2_ebusd
   FUUID      5e4e8943-f33f-5738-8a36-fcdbdf824cf307b7
   FVERSION   10_MQTT2_DEVICE.pm:0.211680/2020-02-10
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     57
   NAME       MQTT2_ebusd
   NR         843
   STATE      eBUS: true - Signal: true
   TYPE       MQTT2_DEVICE
   myBroker_MSGCNT 57
   myBroker_TIME 2020-02-21 11:24:54
   Helper:
     DBLOG:
       _Aussentemp:
         myDbLog:
           TIME       1582280600.42896
           VALUE      5.812
       _Pumpenstatus:
         myDbLog:
           TIME       1582280600.42896
           VALUE      on
       _Ruecklauf:
         myDbLog:
           TIME       1582280600.42896
           VALUE      41.0
       _Vorlauf:
         myDbLog:
           TIME       1582280600.42896
           VALUE      51.0
       _WWSpeicher:
         myDbLog:
           TIME       1582280600.42896
           VALUE      54.0
       uptime:
         myDbLog:
           TIME       1582280600.57941
           VALUE      63177
   JSONMAP:
     Status01_0_value _Vorlauf
     Status01_1_value _Ruecklauf
     Status01_2_value _Aussentemp
     Status01_3_value _Warmwasser
     Status01_4_value _WWSpeicher
     Status01_5_value _Pumpenstatus
     Status02_0_value _HWCMode
     Status02_1_value _WWsoll
     Status02_2_value _ReglerMaxTEMP
     Status02_3_value _ReglerCurrentTemp
   READINGS:
     2020-02-20 17:53:09   CirPump_onoff_value on
     2020-02-21 11:24:53   DateTime_bdate_value 21.02.2020
     2020-02-21 11:24:53   DateTime_btime_value 11:24:51
     2020-02-21 11:24:53   DateTime_dcfstate_value valid
     2020-02-21 11:24:53   DateTime_temp2_value 5.812
     2020-02-20 17:52:44   DisplayedHc1RoomTempDesired_temp1_value 22.0
     2020-02-20 17:52:53   DisplayedHwcStorageTemp_temp1_value 59.0
     2020-02-20 17:52:33   Hc1HeatCurve_curve_value 1.40
     2020-02-20 17:53:14   Hc1OPMode_0_name
     2020-02-20 17:53:14   Hc1OPMode_0_value auto
     2020-02-21 11:20:13   Hc1QuickVetoActive_yesno_value no
     2020-02-20 17:52:38   Hc1QuickVetoTemp_temp1_value 22.0
     2020-02-20 17:52:58   HwcOPMode_0_name
     2020-02-20 17:52:58   HwcOPMode_0_value auto
     2020-02-21 11:19:42   HwcQuickVetoActive_yesno_value yes
     2020-02-20 17:52:49   HwcTempDesired_temp1_value 60.0
     2020-02-21 11:24:53   SetMode_disablehc_value 0
     2020-02-21 11:24:53   SetMode_disablehwcload_value 0
     2020-02-21 11:24:53   SetMode_disablehwctapping_value 0
     2020-02-21 11:24:53   SetMode_flowtempdesired_value 51.0
     2020-02-21 11:24:53   SetMode_hcmode_value auto
     2020-02-21 11:24:53   SetMode_hwctempdesired_value 60.0
     2020-02-21 11:24:53   SetMode_releaseBackup_value 0
     2020-02-21 11:24:53   SetMode_releaseCooling_value 0
     2020-02-21 11:24:53   SetMode_remoteControlHcPump_value 0
     2020-02-21 11:24:48   Status01_0_name temp1
     2020-02-20 14:32:49   Status01_0_value 46.0
     2020-02-21 11:24:48   Status01_1_name temp1
     2020-02-20 14:32:49   Status01_1_value 40.0
     2020-02-21 11:24:48   Status01_2_name temp2
     2020-02-20 14:32:49   Status01_2_value 10.375
     2020-02-21 11:24:48   Status01_3_name temp1
     2020-02-21 11:24:48   Status01_4_name temp1
     2020-02-20 14:32:49   Status01_4_value 57.0
     2020-02-21 11:24:48   Status01_5_name pumpstate
     2020-02-20 14:32:49   Status01_5_value on
     2020-02-21 11:24:53   Status02_0_name hwcmode
     2020-02-20 14:32:44   Status02_0_value auto
     2020-02-21 11:24:53   Status02_1_name temp0
     2020-02-20 14:32:44   Status02_1_value 60
     2020-02-21 11:24:53   Status02_2_name temp1
     2020-02-20 14:32:44   Status02_2_value 75.0
     2020-02-21 11:24:53   Status02_3_name temp0
     2020-02-20 14:32:44   Status02_3_value 80
     2020-02-21 11:24:53   Status02_4_name temp1
     2020-02-21 11:24:53   Status02_4_value 58.0
     2020-02-21 11:14:16   WaterPressure_press_value 1.381
     2020-02-21 11:14:16   WaterPressure_sensor_value ok
     2020-02-21 11:24:48   _Aussentemp     5.812
     2020-02-21 11:24:53   _HWCMode        auto
     2020-02-20 17:12:23   _Maximaltemperatur 60
     2020-02-21 11:24:48   _Pumpenstatus   on
     2020-02-21 11:24:53   _ReglerCurrentTemp 80
     2020-02-21 11:24:53   _ReglerMaxTEMP  75.0
     2020-02-21 11:24:48   _Ruecklauf      42.0
     2020-02-21 11:24:48   _Vorlauf        51.0
     2020-02-21 11:24:48   _WWSpeicher     54.0
     2020-02-21 11:24:53   _WWsoll         60
     2020-02-20 17:50:07   id_counter_value 012432
     2020-02-20 17:50:07   id_prefix_value 21
     2020-02-20 17:50:07   id_product_value 0020028515
     2020-02-20 17:50:07   id_suffix_value N3
     2020-02-20 17:50:07   id_supplier_value 0907
     2020-02-20 17:50:07   id_week_value   44
     2020-02-20 17:50:07   id_year_value   10
     2020-02-21 11:24:03   outsidetemp_temp2_value 5.812
     2020-02-21 11:23:20   running         true
     2020-02-20 17:50:03   scan.08_HW_value 7401
     2020-02-20 17:50:03   scan.08_ID_value BAI00
     2020-02-20 17:50:03   scan.08_MF_value Vaillant
     2020-02-20 17:50:03   scan.08_SW_value 0518
     2020-02-20 17:50:06   scan.15_HW_value 2002
     2020-02-20 17:50:06   scan.15_ID_value 43000
     2020-02-20 17:50:06   scan.15_MF_value Vaillant
     2020-02-20 17:50:06   scan.15_SW_value 0215
     2020-02-21 11:23:20   signal          true
     2020-02-20 17:50:46   state           Hc1QuickVetoActive_yesno_value
     2020-02-20 17:52:13   updatecheck     "revision v3.4 available"
     2020-02-21 11:24:54   uptime          63305
     2020-02-21 11:24:43   vdatetime_date_value 21.02.2020
     2020-02-21 11:24:43   vdatetime_time_value 11:24:39
     2020-02-21 11:23:20   version         "ebusd 3.4.v3.3-51-g57eae05"
Attributes:
   DbLogInclude .*
   IODev      myBroker
   alias      Vaillant eBus
   comment    event-on-change-reading
CirPump_onoff_value,DisplayedHc1RoomTempDesired_temp1_value,DisplayedHwcStorageTemp_temp1_value,Hc1HeatCurve_curve_value,Hc1OPMode_0_value,Hc1QuickVetoActive_yesno_value,Hc1QuickVetoTemp_temp1_value,HwcOPMode_0_value,running,signal

event-on-update-reading
_Aussentemp,_HWCMode,_Maximaltemperatur,_Pumpenstatus,_ReglerCurrentTemp,_ReglerMaxTEMP,_Ruecklauf,_Vorlauf,_WWSpeicher,outsidetemp_temp2_value,WaterPressure_press_value
   devStateStyle style="text-align:right"
   event-min-interval .*:300
   getList    Heizkreis1:noArg Hc1OPMode_0_value ebusd/430/Hc1OPMode/get
Heizkurve:noArg Hc1HeatCurve_curve_value ebusd/430/Hc1HeatCurve/get
SollTemperatur:noArg HwcTempDesired_temp1_value ebusd/430/HwcTempDesired/get
RaumSoll:noArg DisplayedHc1RoomTempDesired_temp1_value ebusd/430/DisplayedHc1RoomTempDesired/get
WarmwasserMode:noArg HwcOPMode_0_value ebusd/430/HwcOPMode/get
WarmwasserIst:noArg DisplayedHwcStorageTemp_temp1_value ebusd/430/DisplayedHwcStorageTemp/get
Wasserdruck:noArg WaterPressure_press_value ebusd/bai/WaterPressure/get
Zirkulationspumpe:noArg CirPump_onoff_value ebusd/430/CirPump/get
QuickVeto:noArg Hc1QuickVetoActive_yesno_value ebusd/430/Hc1QuickVetoActive/get
QuickVetoTemp:noArg Hc1QuickVetoTemp_temp1_value ebusd/430/Hc1QuickVetoTemp/get
   group      Vaillant
   icon       005CTVA8.im_profile
   jsonMap    Status01_0_value:_Vorlauf Status01_1_value:_Ruecklauf Status01_2_value:_Aussentemp Status01_3_value:_Warmwasser Status01_4_value:_WWSpeicher Status01_5_value:_Pumpenstatus Status02_0_value:_HWCMode Status02_1_value:_Maximaltemperatur Status02_2_value:_ReglerMaxTEMP Status02_3_value:_ReglerCurrentTemp Status02_1_value:_WWsoll
   model      E_09_eBus_SetMode
   readingList ebusd/global/Status01:.* { json2nameValue($EVENT, 'Status01_', $JSONMAP) }
ebusd/global/Status02:.* { json2nameValue($EVENT, 'Status02_', $JSONMAP) }
ebusd:ebusd/global/version:.* version
ebusd:ebusd/global/running:.* running
ebusd:ebusd/scan\.08/:.* { json2nameValue($EVENT, 'scan.08_', $JSONMAP) }
ebusd:ebusd/scan\.08/id:.* { json2nameValue($EVENT, 'id_', $JSONMAP) }
ebusd:ebusd/global/uptime:.* uptime
ebusd:ebusd/global/signal:.* signal
ebusd:ebusd/scan\.15/:.* { json2nameValue($EVENT, 'scan.15_', $JSONMAP) }
ebusd:ebusd/scan\.15/id:.* { json2nameValue($EVENT, 'id_', $JSONMAP) }
ebusd:ebusd/bai/SetMode:.* { json2nameValue($EVENT, 'SetMode_', $JSONMAP) }
ebusd:ebusd/bai/Status01:.* { json2nameValue($EVENT, 'Status01_', $JSONMAP) }
ebusd:ebusd/bai/Status02:.* { json2nameValue($EVENT, 'Status02_', $JSONMAP) }
ebusd:ebusd/bai/DateTime:.* { json2nameValue($EVENT, 'DateTime_', $JSONMAP) }
ebusd:ebusd/broadcast/vdatetime:.* { json2nameValue($EVENT, 'vdatetime_', $JSONMAP) }
ebusd:ebusd/broadcast/outsidetemp:.* { json2nameValue($EVENT, 'outsidetemp_', $JSONMAP) }
ebusd:ebusd/430/Hc1OPMode:.* { json2nameValue($EVENT, 'Hc1OPMode_', $JSONMAP) }
ebusd:ebusd/global/updatecheck:.* updatecheck
ebusd:ebusd/430/Hc1HeatCurve:.* { json2nameValue($EVENT, 'Hc1HeatCurve_', $JSONMAP) }
ebusd:ebusd/430/Hc1QuickVetoActive:.* { json2nameValue($EVENT, 'Hc1QuickVetoActive_', $JSONMAP) }
ebusd:ebusd/430/Hc1QuickVetoTemp:.* { json2nameValue($EVENT, 'Hc1QuickVetoTemp_', $JSONMAP) }
ebusd:ebusd/430/DisplayedHc1RoomTempDesired:.* { json2nameValue($EVENT, 'DisplayedHc1RoomTempDesired_', $JSONMAP) }
ebusd:ebusd/430/HwcTempDesired:.* { json2nameValue($EVENT, 'HwcTempDesired_', $JSONMAP) }
ebusd:ebusd/430/DisplayedHwcStorageTemp:.* { json2nameValue($EVENT, 'DisplayedHwcStorageTemp_', $JSONMAP) }
ebusd:ebusd/430/HwcOPMode:.* { json2nameValue($EVENT, 'HwcOPMode_', $JSONMAP) }
ebusd:ebusd/bai/WaterPressure:.* { json2nameValue($EVENT, 'WaterPressure_', $JSONMAP) }
ebusd:ebusd/430/CirPump:.* { json2nameValue($EVENT, 'CirPump_', $JSONMAP) }
ebusd:ebusd/430/HwcQuickVetoActive:.* { json2nameValue($EVENT, 'HwcQuickVetoActive_', $JSONMAP) }
   room       Unsorted
   setList    Hc1OPMode_0_value:uzsuDropDown,auto,on,off ebusd/430/Hc1OPMode/set $EVTPART1
Hc1HeatCurve_curve_value:uzsuDropDown,0.20,0.70,0.90,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70 ebusd/430/Hc1HeatCurve/set $EVTPART1
HwcOPMode_0_value:uzsuDropDown,auto,on,off ebusd/430/HwcOPMode/set $EVTPART1
HwcTempDesired_temp1_value:uzsuDropDown,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0 ebusd/430/HwcTempDesired/set $EVTPART1
Hc1QuickVetoActive_yesno_value:uzsuDropDown,yes,no ebusd/430/Hc1QuickVetoActive/set $EVTPART1
Hc1QuickVetoTemp_temp1_value:uzsuDropDown,20.0,21.0,22.0,23.0,24.0,25.0 ebusd/430/Hc1QuickVetoTemp/set $EVTPART1
   stateFormat eBUS: running - Signal: signal
   webCmd     Hc1OPMode_0_value:Hc1HeatCurve_curve_value:HwcOPMode_0_value:HwcTempDesired_temp1_value:Hc1QuickVetoActive_yesno_value:Hc1QuickVetoTemp_temp1_value
   webCmdLabel HK Mode
:Heizkurve
:WW Mode
:Wassertemperatur
:QuickVeto
:QuickVeto Temperatur


Was jetzt (wieder) nicht mehr geht ist das setzten von QuickVeto und QuickVeto Temperatur??
FHEM im Proxmox Container

TomLee

Hallo,

zu zwei Fragen kann ich vieleicht etwas weiterhelfen.

ZitatIch würde zum einen gerne die Zeit verstellen ...

Hier in der angehangenen Template-Datei hat Reinhart ein dummy/notify Beispiel zu Verfügung gestellt, wie man die Zeiten schreiben könnte.


Zitat... zum anderen kommen manche Werte irgendwie nur einmalig (z.B. WaterPressure_press_value).

WaterPressure_press_value musst du abfragen wie im Wiki

https://wiki.fhem.de/wiki/EBUS-MQTT2

unter Regelmäßige Werteabfrage beschrieben.

Gruß

Thomas

Mitch

Danke Thomas für deine Antwort, aber das war nicht meine Frage  ;)

Den Wasserdruck frage ich schon mit at ab und die Events habe ich mit ...-min eingestellt.
Ich würde aber gerne auf der ebusd Seite die Zeiten einstellen, damit eben erst garnicht so viele Daten verschickt werden.
FHEM im Proxmox Container

TomLee

Bin der Meinung mitgenommen zu haben das man den Intervall der Broadcast-Daten nicht beeinflussen kann, ändert sich ein Wert werden alle Daten gepublished.
Bei mir hab ich event-on-change-reading .* gesetzt.

Mitch

Hm, schade.
Danke Dir.

Vielleicht liest ja John mit und mag da was einbauen?
FHEM im Proxmox Container

john30

Zitat von: Mitch am 22 Februar 2020, 12:28:49
Hm, schade.
Danke Dir.

Vielleicht liest ja John mit und mag da was einbauen?
ich weiß nicht genau, was du damit meinst "die Zeiten einstellen". Welche Zeiten denn genau? Die Uhrzeit oder was?
author of ebusd

Mitch

Ich meine den Intervall mit dem ebusd die Daten über MQTT sendet.
Wenn das überhaupt geht?
FHEM im Proxmox Container

john30

Zitat von: Mitch am 24 Februar 2020, 20:57:00
Ich meine den Intervall mit dem ebusd die Daten über MQTT sendet.
Wenn das überhaupt geht?
ach so, nein das ist im Moment nicht einstellbar. Ich persönlich nutze die ebusd Option --mqttchanges, um nur die Änderungen via MQTT gepusht zu bekommen.
author of ebusd

piuser1

Leider kann ich keine Werte wie beschrieben abfragen:
https://www.fhemwiki.de/wiki/EBUS-MQTT2#eBus_mit_MQTT2_auswerten

Zitatset MQTT2_ebusd_470 publish ebusd/470/OutsideTemp/get

Fehlermeldung:
ZitatUnknown argument publish, choose one of attrTemplate