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??
Hallo,
zu zwei Fragen kann ich vieleicht etwas weiterhelfen.
ZitatIch würde zum einen gerne die Zeit verstellen ...
Hier (https://forum.fhem.de/index.php/topic,79600.msg878716.html#msg878716) 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 (https://wiki.fhem.de/wiki/EBUS-MQTT2)
unter
Regelmäßige Werteabfrage beschrieben.
Gruß
Thomas
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.
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.
Hm, schade.
Danke Dir.
Vielleicht liest ja John mit und mag da was einbauen?
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?
Ich meine den Intervall mit dem ebusd die Daten über MQTT sendet.
Wenn das überhaupt geht?
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 (https://github.com/john30/ebusd/wiki/2.-Run#mqtt-options), um nur die Änderungen via MQTT gepusht zu bekommen.