###########################################
# $Id$
#
# Comments start with #. Empty lines are ignored.
# Syntax of one entry: name: line, one optional filter: line, zero or more par: lines, FHEM-Commands
# filter:INTERNAL=VALUE (optional)
# par: name of the parameter; comment; perl_code (optional)
# perl_code returns a value for the parameter, or undef.
# If undef, the user has to specify them (the comment is shown to the userbridgeRegexp)
# when changed the template reread " { AttrTemplate_Initialize() } "
# save this template in /opt/fhem/FHEM/lib/AttrTemplate
###########################################
# changelog
# 01.04.19 added TimeProg for Calormatic
# 03.04.19 corrected Errors in jsonMap and valuesuffix
# 18.01.20 prepare for svn distribution, see https://forum.fhem.de/index.php/topic,97989.msg1014104.html#msg1014104
name:eBus_analyzeReadingList
filter:TYPE=MQTT2_DEVICE
desc:The JSON messages generated by ebusd are special. The code provided by 99_attrTmqtt2_ebus_Utils.pm includes some special functions to get shorter reading names (e.g. without the _value appendix). This template calls a function to analyze the readingList attribute and the available readings to find out which kind of pree-treatment seems to be appropriate for each line calling json2nameValue(). This works best if autocreate in "complex" mode had been used to fill the readingList attribute.
For details on these funtions, see commandref or help attrTmqtt2_ebus_Utils
.
order:E_01a02
{ FHEM::aTm2u_ebus::analyzeReadingList("DEVICE") }
farewell:Please check results now (additional devices may have been created! \nFor details on the ebus specific funtions, issue "help attrTmqtt2_ebus_Utils".
name:eBus_bai_jsonMap_Status01
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax1
attr DEVICE readingList \
ebusd/DEV_ID/Status01:.* { json2nameValue($EVENT, 'Status01_', $JSONMAP) }\
ebusd/DEV_ID/Status02:.* { json2nameValue($EVENT, 'Status02_', $JSONMAP) }
attr DEVICE 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
#attr DEVICE stateFormat {sprintf("Vorlauf: %.1f
Ruecklauf: %.1f
Warmwasser: %.1f
Aussentemp.: %.1f
Pumpe: %s", ReadingsVal($name,"_Vorlauf",0), ReadingsVal($name,"_Ruecklauf",0), ReadingsVal($name,"_Warmwasser",0), ReadingsVal($name,"_Aussentemp",0), ReadingsVal($name,"S_Pumpenstatus",0))}
attr DEVICE icon sani_boiler_temp
deletereading DEVICE Status.*
attr DEVICE model eBus_bai_jsonmap
setreading DEVICE attrTemplateVersion first
name:eBus_4xx_devStateIcon_HeatCurve_HwcTemp
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
par:BASE_DEV;base topic set in config;{ AttrVal("DEVICE","readingList","") =~ m,ebusd/([^/]*)/, ? $1 : undef }
order:E_01ax2
attr DEVICE setList 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/BASE_DEV/Hc1HeatCurve/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/BASE_DEV/HwcTempDesired/set $EVTPART1
attr DEVICE getList Hc1HeatCurve:noArg Hc1HeatCurve_curve_value ebusd/BASE_DEV/Hc1HeatCurve/get \
HwcTempDesired:noArg HwcTempDesired_temp1_value ebusd/BASE_DEV/HwcTempDesired/get
attr DEVICE devStateIcon {my $vC = ReadingsVal($name, "Hc1HeatCurve_curve_value", "10")*10; my $colCur = substr(Color::pahColor(5,10,15,$vC,0),0,6); my $iconCur = 'time_graph@'.$colCur; my $vH = ReadingsVal($name, "HwcTempDesired_temp1_value", "30"); my $colHot = substr(Color::pahColor(20,40,60,$vH,0),0,6); my $iconHot = 'sani_water_hot@'.$colHot; ; "
" . FW_makeImage("$iconCur",'file_unknown@grey') . "
" . FW_makeImage("$iconHot",'sani_water_hot@red') . "
"}
attr DEVICE webCmd Hc1HeatCurve_curve_value:HwcTempDesired_temp1_value
attr DEVICE webCmdLabel Heizkurve \
:Warmwasser
#attr DEVICE room MQTT2_\DEVICE
attr DEVICE group eBus_Hcurve
attr DEVICE icon message_tendency_steady
attr DEVICE model eBus_4xx_HeatCurve_HwcTemp
setreading DEVICE attrTemplateVersion 20210722
name:eBus_430_devStateIcon_Pump_Fan_HeatCurve_HwcTemp
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
par:BASE_DEV;base topic set in config;{ AttrVal("DEVICE","readingList","") =~ m,ebusd/([^/]*)/, ? $1 : undef }
order:E_01ax3
attr DEVICE devStateIcon {my $vC = ReadingsVal($name, "Hc1HeatCurve_curve_value", "10")*10; my $colCur = substr(Color::pahColor(5,10,15,$vC,0),0,6); my $iconCur = 'time_graph@'.$colCur; my $vH = ReadingsVal($name, "HwcTempDesired_temp1_value", "30"); my $colHot = substr(Color::pahColor(0,30,60,$vH,0),0,6); my $iconHot = 'sani_water_hot@'.$colHot; ; " " . FW_makeImage("$iconCur",'file_unknown@grey') . "
" . FW_makeImage("$iconHot",'sani_water_hot@red') . "
"}
attr DEVICE setList 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\
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
attr DEVICE getList Hc1HeatCurve:noArg Hc1HeatCurve_curve_value ebusd/430/Hc1HeatCurve/get \
HwcTempDesired:noArg HwcTempDesired_temp1_value ebusd/430/HwcTempDesired/get
attr DEVICE webCmd Hc1HeatCurve_curve_value:HwcTempDesired_temp1_value
attr DEVICE webCmdLabel Heizkurve \
:Warmwasser
#attr DEVICE room MQTT2_\DEVICE
attr DEVICE group eBus_Hcurve
attr DEVICE icon message_tendency_steady
attr DEVICE model eBus_430_Pump_Fan_HeatCurve_HwcTemp
setreading DEVICE attrTemplateVersion 20210722
name:eBus_bai_devStateIcon_Fan_Pump
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
par:IODEVROOM;Room of the IOdevice; {AttrVal(AttrVal("DEVICE","IODev",""),"room","" ) ? AttrVal(AttrVal("DEVICE","IODev",""),"room","" ) : undef }
order:E_01ax4
# create in a new Reading
defmod MQTT2_ebusd_pump MQTT2_\DEVICE ebusd_pump
attr MQTT2_ebusd_pump IODev ebusMQTT
attr MQTT2_ebusd_pump devStateIcon { my $vP = ReadingsVal("MQTT2_ebusd_bai", "WPPWMPower_percent0_value", "100"); my $colPower = substr(Color::pahColor(0,50,100,$vP,0),0,6); my $iconPower = 'sani_pump@'.$colPower; my $vFS = ReadingsVal("MQTT2_ebusd_bai", "FanSpeed_0_value", "3001"); my $colFSpeed = substr(Color::pahColor(0,1500,4000,$vFS,0),0,6); my $iconFSpeed = 'vent_ventilation_level_'; $iconFSpeed .= $vFS < 499 ? '0@' : $vFS <1699 ? '1@' : $vFS <3001 ? '2@' : '3@'; $iconFSpeed .= $colFSpeed; " Heizungspumpe: " . FW_makeImage("$iconPower",'file_unknown@grey') . " ($vP Watt)
Ventilatordrehzahl: " . FW_makeImage("$iconFSpeed",'vent_ventilation_level_3@red') . " ($vFS Upm)
"}
attr MQTT2_ebusd_pump icon Ventilator_fett
attr MQTT2_ebusd_pump room MQTT2_\DEVICE
attr MQTT2_ebusd_pump group eBus_Pumpe
attr MQTT2_ebusd_pump model eBus_bai_Fan_Pump
setreading DEVICE attrTemplateVersion first
name:eBus_bai_devStateIcon_Flow_Return_Hotwater_Temp
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax5
# create in a new Reading
defmod MQTT2_ebusd_status MQTT2_\DEVICE ebusd_status
attr MQTT2_ebusd_status IODev ebusMQTT
attr DEVICE readingList \
ebusd/DEV_ID/Status01:.* { json2nameValue($EVENT, 'Status01_', $JSONMAP) }\
ebusd/DEV_ID/Status02:.* { json2nameValue($EVENT, 'Status02_', $JSONMAP) }
attr DEVICE 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
attr MQTT2_ebusd_status devStateIcon {my $vV = ReadingsVal("MQTT2_ebusd_bai", "_Vorlauf", "30"); my $colVor = substr(Color::pahColor(20,40,60,$vV,0),0,6); my $iconVor = 'sani_supply_temp@'.$colVor; my $vR = ReadingsVal("MQTT2_ebusd_bai", "_Ruecklauf", "30"); my $colRueck = substr(Color::pahColor(20,40,60,$vR,0),0,6); my $iconRueck = 'sani_return_temp@'.$colRueck; my $vW = ReadingsVal("MQTT2_ebusd_bai", "_Warmwasser", "30"); my $colWarm = substr(Color::pahColor(20,40,60,$vW,0),0,6); my $iconWarm = 'sani_water_hot@'.$colWarm; my $vA = ReadingsVal("MQTT2_ebusd_bai", "_Aussentemp", "30"); my $colAussen = substr(Color::pahColor(-10,10,30,$vA,0),0,6); my $iconAussen = 'temp_outside@'.$colAussen; ; " Vorlauf: " . FW_makeImage("$iconVor",'file_unknown@grey') . " $vV °C
Ruecklauf: " . FW_makeImage("$iconRueck",'file_unknown@grey') . " $vR °C
Warmwasser: " . FW_makeImage("$iconWarm",'file_unknown@grey') . " $vW °C
Aussentemp: " . FW_makeImage("$iconAussen",'file_unknown@grey') . " " . int($vA*10)/10 . " °C
"}
# {my $vV = ReadingsVal("MQTT2_ebusd_bai", "_Vorlauf", "30"); my $colVor = substr(Color::pahColor(0,35,70,$vV,0),0,6); my $iconVor = 'sani_supply_temp@'.$colVor; my $vR = ReadingsVal("MQTT2_ebusd_bai", "_Ruecklauf", "30"); my $colRueck = substr(Color::pahColor(0,35,70,$vR,0),0,6); my $iconRueck = 'sani_return_temp@'.$colRueck; ; " Vorlauf: " . FW_makeImage("$iconVor",'file_unknown@grey') . " ($vV Grad)
Ruecklauf: " . FW_makeImage("$iconRueck",'sani_return_temp@red') . " ($vR Grad)
"}
# {my $vV = ReadingsVal("MQTT2_ebusd_bai", "_Vorlauf", "30"); my $colVor = substr(Color::pahColor(0,35,70,$vV,0),0,6); my $iconVor = 'sani_supply_temp@'.$colVor; my $vR = ReadingsVal("MQTT2_ebusd_bai", "_Ruecklauf", "30"); my $colRueck = substr(Color::pahColor(0,35,70,$vR,0),0,6); my $iconRueck = 'sani_return_temp@'.$colRueck; my $vW = ReadingsVal("MQTT2_ebusd_bai", "_Warmwasser", "30"); my $colWarm = substr(Color::pahColor(0,35,70,$vR,0),0,6); my $iconWarm = 'sani_water_hot@'.$colWarm; ; " Vorlauf: " . FW_makeImage("$iconVor",'file_unknown@grey') . " $vV °C
Ruecklauf: " . FW_makeImage("$iconRueck",'file_unknown@grey') . " $vR °C
Warmwasser: " . FW_makeImage("$iconWarm",'file_unknown@grey') . " $vW °C
"}
attr MQTT2_ebusd_status icon sani_boiler_temp
attr MQTT2_ebusd_status room MQTT2_\DEVICE
attr MQTT2_ebusd_status group eBus_Temperatur
attr MQTT2_ebusd_status model eBus_bai_Flow_Return
setreading MQTT2_ebusd_status attrTemplateVersion first
name:eBus_bai_devStateIcon_Waterpressure
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
order:E_01ax6
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
par:IODEVNAME;Name of the IO-Device; { InternalVal('DEVICE','LASTInputDev',AttrVal('DEVICE','IODev',InternalVal('DEVICE','IODev',undef)->{NAME})) }
defmod MQTT2_ebusd_pressure MQTT2_\DEVICE ebusd_pressure
attr MQTT2_ebusd_pressure IODev IODEVNAME
attr MQTT2_ebusd_pressure devStateIcon {my $vD = ReadingsVal("MQTT2_ebusd_bai", "WaterPressure_press_value", "30"); my $colDruck = substr(Color::pahColor(0,1,2,$vD,0),0,6); my $iconDruck = 'weather_barometric_pressure@'.$colDruck; ; " Wasserdruck: " . FW_makeImage("$iconDruck",'file_unknown@grey') . int($vD*100)/100 . " Bar
"}
attr MQTT2_ebusd_pressure icon vacuum_bold
attr MQTT2_ebusd_pressure room MQTT2_\DEVICE
attr MQTT2_ebusd_pressure model eBus_bai_Pressure
setreading MQTT2_ebusd_pressure attrTemplateVersion 20210722
name:eBus_bai_Status01+Status02_HWC
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Status Messages01 + Status02 Hotwater comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax7
attr DEVICE stateFormat {sprintf("Vorlauf: %.1f
Ruecklauf: %.1f
Warmwasser: %.1f
Aussentemp.: %.1f
Pumpe: %s
HWC-maxTemp: %.1f
HWC-Regler_Max: %.1f
HWC-CurrentTemp: %.1f
HWC-Mode: %s", ReadingsVal($name,"_Vorlauf",0), ReadingsVal($name,"_Ruecklauf",0), ReadingsVal($name,"_Warmwasser",0), ReadingsVal($name,"_Aussentemp",0), ReadingsVal($name,"_Pumpenstatus",0), ReadingsVal($name,"_Maximaltemperatur",0), ReadingsVal($name,"_ReglerMaxTEMP",0), ReadingsVal($name,"_ReglerCurrentTemp",0), ReadingsVal($name,"_HWCMode",0))}
attr DEVICE icon icoTempHeizung
attr DEVICE 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
attr DEVICE devStateStyle style="text-align:right"
deletereading DEVICE Status.*
attr DEVICE model eBus_Status
setreading DEVICE attrTemplateVersion first
name:eBus_SetMode
filter:TYPE=MQTT2_DEVICE
desc:Format ebus setmode messages comming from broadcast
order:E_01ax8
attr DEVICE stateFormat {sprintf("Flowtempdesired: %.1f
Hcmode: %s", ReadingsVal($name,"SetMode_flowtempdesired_value",0), ReadingsVal($name,"SetMode_hcmode_value",0))}
attr DEVICE icon icoTempHeizung
attr DEVICE devStateStyle style="text-align:right"
attr DEVICE model eBus_SetMode
setreading DEVICE attrTemplateVersion first
#ebus Hcurve+HwcTempDesired Messages.
name:eBus_Hc1HeatCurve+HwcTempDesired
filter:TYPE=MQTT2_DEVICE
par:BASE_DEV;base topic set in config;{ AttrVal("DEVICE","readingList","") =~ m,ebusd/([^/]*)/, ? $1 : undef }
desc:Applies settings to ebus Heatingcurve and Hotwater
order:E_01ax9
attr DEVICE icon message_tendency_steady
attr DEVICE webCmd curve_value:temp1_value
attr DEVICE webCmdLabel Hc1HeatCurve:HwcTempDesired
attr DEVICE setList Hc1HeatCurve_curve_value:0.20,0.70,0.90,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70 ebusd/BASE_DEV/Hc1HeatCurve/set $EVTPART1\
HwcTempDesired_temp1_value:50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0 ebusd/BASE_DEV/HwcTempDesired/set $EVTPART1
deletereading DEVICE .*
attr DEVICE model eBus_Hc1HeatCurve+HwcTempDesired
setreading DEVICE attrTemplateVersion first
# ebus Status Messages.
name:eBus_bai_readingsgroup_Status01
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax91
define eBusTemperaturen readingsGroup MQTT2_ebusd_bai:<%sani_supply_temp>,,_Vorlauf\
MQTT2_ebusd_bai:<%sani_return_temp>,,_Ruecklauf\
MQTT2_ebusd_bai:<%sani_water_hot>,,_Warmwasser\
MQTT2_ebusd_bai:<%sani_buffer_temp_down>,,_WWSpeicher\
MQTT2_ebusd_bai:<%temp_outside>,,_Aussentemp
attr eBusTemperaturen nameStyle style="color:yellow"
attr eBusTemperaturen room eBus
attr DEVICE 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
deletereading DEVICE Status.*
attr eBusTemperaturen valueFormat {'_Vorlauf' => "%.0f °C",\
'_Ruecklauf' => "%.0f °C",\
'_Warmwasser' =>"%.0f °C",\
'_WWSpeicher' =>"%.0f °C",\
'_Aussentemp' =>"%.1f °C" }
attr eBusTemperaturen valueStyle {'_Vorlauf' => '{"style=\"color:\x23".substr(Color::pahColor(0,25,50,$VALUE,0),0,6)."\""}' , \
'_Ruecklauf' => '{"style=\"color:\x23".substr(Color::pahColor(0,15,30,$VALUE,0),0,6)."\""}' , \
'_Warmwasser' => '{"style=\"color:\x23".substr(Color::pahColor(0,25,50,$VALUE,0),0,6)."\""}' , \
'_WWSpeicher' => '{"style=\"color:\x23".substr(Color::pahColor(0,25,50,$VALUE,0),0,6)."\""}' , \
'_Aussentemp' => '{"style=\"color:\x23".substr(Color::pahColor(-10,0,10,$VALUE,0),0,6)."\""}'}
attr eBusTemperaturen model eBus_bai_readingsgroup_Status01
name:eBus_bai_readingsgroup_Status01_Balken
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax10
define eBusTemperaturBalken readingsGroup MQTT2_ebusd_bai:<%sani_supply_temp>,,_Vorlauf\
MQTT2_ebusd_bai:<%sani_return_temp>,,_Ruecklauf\
MQTT2_ebusd_bai:<%sani_water_hot>,,_Warmwasser\
MQTT2_ebusd_bai:<%sani_buffer_temp_down>,,_WWSpeicher\
MQTT2_ebusd_bai:<%temp_outside>,,_Aussentemp
attr eBusTemperaturBalken nameStyle style="color:yellow"
attr DEVICE 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
deletereading DEVICE Status.*
attr eBusTemperaturBalken room eBus
attr eBusTemperaturBalken valueStyle { attrTmqtt2_ebus_createBarView($VALUE,70,"red") }
attr eBusTemperaturBalken model eBus_bai_readingsgroup_Status01Balken
name:eBus_bai_readingsgroup_Status02
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax11
define eBusWarmwasser readingsGroup MQTT2_ebusd_bai:<%time_automatic>,,_HWCMode\
MQTT2_ebusd_bai:<%temp_temperature_max>,,Maximaltemperatur\
MQTT2_ebusd_bai:<%sani_earth_source_heat_pump>,,_ReglerMaxTEMP\
MQTT2_ebusd_bai:<%sani_earth_source_heat_pump>,,_ReglerCurrentTemp
attr eBusWarmwasser nameStyle style="color:yellow"
attr eBusWarmwasser room eBus
attr eBusWarmwasser valueFormat {'_HWCMode' => "%s ",\
'_Maximaltemperatur' => "%.0f \°C",\
'_ReglerMaxTEMP' =>"%.0f \°C",\
'_ReglerCurrentTemp' =>"%.0f \°C" }
attr eBusWarmwasser valueStyle {'_Maximaltemperatur' => '{"style=\"color:\x23".substr(Color::pahColor(20,45,70,$VALUE,0),0,6)."\""}' , \
'_ReglerMaxTEMP' => '{"style=\"color:\x23".substr(Color::pahColor(20,45,70,$VALUE,0),0,6)."\""}' , \
'_ReglerCurrentTemp' => '{"style=\"color:\x23".substr(Color::pahColor(20,45,70,$VALUE,0),0,6)."\""}' ,\
'_HWCMode' => '{"style="color:green" " }' }
attr MQTT2_ebusd_bai jsonMap Status02_0_value:_HWCMode Status02_1_value:_Maximaltemperatur Status02_2_value:_ReglerMaxTEMP Status02_3_value:_ReglerCurrentTemp
deletereading DEVICE Status.*
attr eBusWarmwasser model eBus_bai_readingsgroup_Status02
name:eBus_bai_readingsgroup_Status02_Balken
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax12
define eBusWarmwasserBalken readingsGroup MQTT2_ebusd_bai:<%time_automatic>,,_HWCMode\
MQTT2_ebusd_bai:<%temp_temperature_max>,,_Maximaltemperatur\
MQTT2_ebusd_bai:<%sani_earth_source_heat_pump>,,_ReglerMaxTEMP\
MQTT2_ebusd_bai:<%sani_earth_source_heat_pump>,,_ReglerCurrentTemp
attr eBusWarmwasserBalken nameStyle style="color:yellow"
attr eBusWarmwasserBalken room eBus
attr eBusWarmwasserBalken valueStyle { attrTmqtt2_ebus_createBarView($VALUE,70,"red") }
attr MQTT2_ebusd_bai jsonMap Status02_0_value:_HWCMode Status02_1_value:_Maximaltemperatur Status02_2_value:_ReglerMaxTEMP Status02_3_value:_ReglerCurrentTemp
deletereading DEVICE Status.*
attr eBusWarmwasserBalken model eBus_bai_readingsgroup_Status02_Balken
name:eBus_Calormatic_readingsgroup_Set_Hcurve_Hotwater
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:BASE_DEV;base topic set in config;{ AttrVal("DEVICE","readingList","") =~ m,ebusd/([^/]*)/, ? $1 : undef }
order:E_01ax13
define eBusSet readingsGroup <>,,< Ist>,< Soll>\
MQTT2_ebusd_BASE_DEV:<%message_tendency_steady>,,Hc1HeatCurve_curve_value,\
MQTT2_ebusd_BASE_DEV:<%sani_water_hot>,,HwcTempDesired_temp1_value,
attr eBusSet nameStyle style="color:yellow"
attr eBusSet room eBus
attr eBusSet valueStyle {'Hc1HeatCurve_curve_value' => '{"style=\"color:\x23".substr(Color::pahColor(5,10,15,$VALUE*10,0),0,6)."\""}', \
'HwcTempDesired_temp1_value' => '{"style=\"color:\x23".substr(Color::pahColor(20,40,60,$VALUE,0),0,6)."\""}'}
attr eBusSet commands {'eBusSet.sollcurve'=>'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',\
'eBusSet.sollwater'=>'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'}
attr eBusSet model eBus_Calormatic_readingsgroup_Set_Hcurve_Hotwater
name:eBus_bai_readingsgroup_eBusCounter
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax14
define eBusCounter readingsGroup <>,,< Zähler>\
MQTT2_ebusd_bai:<%Ventilator_fett>,,FanHours_hoursum2_value \
MQTT2_ebusd_bai:<%sani_boiler_temp>,,HcHours_hoursum2_value \
MQTT2_ebusd_bai:<%sani_water_hot>,,HwcHours_hoursum2_value \
MQTT2_ebusd_bai:<%sani_water_tap>,,HwcStarts_0_value
attr eBusCounter cellStyle { "r:1" => 'style="font-weight:bold;;font-size:16px"',"r:2,c:3" => 'style="color:lightgreen;;font-size:18px;;text-align:right"',"r:3,c:3" => 'style="color:green;;font-size:18px;;text-align:right"',"r:4,c:3" => 'style="color:lightgreen;;font-size:18px;;text-align:right"',"r:5,c:3" => 'style="color:green;;font-size:18px;;text-align:right"' }
attr eBusCounter nameStyle style="color:yellow"
attr eBusCounter room eBus
attr eBusCounter valueFormat {'FanHours_hoursum2_value' => "%0#6i",\
'HcHours_hoursum2_value' => "%0#6i",\
'HwcHours_hoursum2_value' =>"%0#6i",\
'HwcStarts_0_value' =>"%0#6i"}
attr eBusCounter model eBus_bai_readingsgroup_eBusCounter
name:eBus_bai_readingsgroup_eBusPumpe
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:DEV_ID;name of the device ebus;{ AttrVal("DEVICE","readingList","") =~ m,[^/]+[/]([^/]+).*:, ? $1 : undef }
order:E_01ax15
define eBusPumpe readingsGroup <>,,< Leistung> MQTT2_ebusd_bai:<%measure_power>,,WPPWMPower_percent0_value MQTT2_ebusd_bai:<%vent_ventilation_level_automatic>,,FanSpeed_0_value
attr eBusPumpe cellStyle { "r:1"=>'style="font-weight:bold;;font-size:16px"'}
attr eBusPumpe nameStyle style="color:yellow"
attr eBusPumpe room eBus
attr eBusPumpe valueIcon { if($READING eq "WPPWMPower_percent0_value" && $VALUE >= 10 && $VALUE <= 60){ 'sani_pump@lightgreen' }elsif($READING eq "WPPWMPower_percent0_value" && $VALUE >= 0 && $VALUE <= 9){ 'sani_pump@gray' }elsif($READING eq "WPPWMPower_percent0_value" && $VALUE >= 61 && $VALUE <= 449){ 'sani_pump@green' }elsif($READING eq "WPPWMPower_percent0_value" && $VALUE >= 500 && $VALUE <= 4449){ 'sani_pump@orange' }elsif( $READING eq "FanSpeed_0_value" && $VALUE >= 0 && $VALUE <= 10){ 'vent_ventilation_level_0@grey' }elsif( $READING eq "FanSpeed_0_value" && $VALUE >= 11 && $VALUE <= 500){ 'vent_ventilation_level_0@lightgreen' }elsif( $READING eq "FanSpeed_0_value" && $VALUE >= 501 && $VALUE <= 1699){ 'vent_ventilation_level_1@green' }elsif( $READING eq "FanSpeed_0_value" && $VALUE >= 1700 && $VALUE <= 3000){ 'vent_ventilation_level_2@orange' }elsif( $READING eq "FanSpeed_0_value" && $VALUE >= 3001){ 'vent_ventilation_level_3@red' }else{ 'file_unknown@grey' } }
attr eBusPumpe valueSuffix {"WPPWMPower_percent0_value"=>" (".ReadingsVal($\DEVICE,$READING,0)." Watt)", "FanSpeed_0_value"=>" (".ReadingsVal($\DEVICE,$READING,0)." Upm)" }
attr eBusPumpe model eBus_bai_readingsgroup_eBusPumpe
name:eBus_Calormatic_readingsgroup_Set_Hcurve_Hotwater
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:BASE_DEV;base topic set in config;{ AttrVal("DEVICE","readingList","") =~ m,ebusd/([^/]*)/, ? $1 : undef }
order:E_01ax16
define eBusSet readingsGroup <>,,< Ist>,< Soll>\
MQTT2_ebusd_BASE_DEV:<%message_tendency_steady>,,Hc1HeatCurve_curve_value,\
MQTT2_ebusd_BASE_DEV:<%sani_water_hot>,,HwcTempDesired_temp1_value,
attr eBusSet nameStyle style="color:yellow"
attr eBusSet room eBus
attr eBusSet valueStyle {'Hc1HeatCurve_curve_value' => '{"style=\"color:\x23".substr(Color::pahColor(0.1,1.0,1.5,$VALUE,0),0,6)."\""}',\
'HwcTempDesired_temp1_value' => '{"style=\"color:\x23".substr(Color::pahColor(0.1,1.0,1.5,$VALUE,0),0,6)."\""}'}
attr eBusSet commands {'eBusSet.sollcurve'=>'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',\
'eBusSet.sollwater'=>'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'}
attr eBusSet model E_105_eBus_Calormatic_readingsgroup_Set_Hcurve_Hotwater
name:eBus_Calormatic_TimeProgramm
filter:TYPE=MQTT2_DEVICE
desc:Format ebus Statusmessages comming from broadcast
par:BASE_DEV;base topic set in config;{ AttrVal("DEVICE","readingList","") =~ m,ebusd/([^/]*)/, ? $1 : undef }
order:E_01ax17
define TimeMo dummy
attr TimeMo alias 1 Montag
attr TimeMo group Zeiteingabe
attr TimeMo readingList HHMM1m HHMM2m HHMM3m HHMM4m HHMM5m HHMM6m HHMM7m
attr TimeMo room ZeitProgramm
attr TimeMo setList HHMM1m:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2m:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3m:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4m:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5m:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6m:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7m:selected,Mo-Fr,Mo-So,Sa-So
attr TimeMo stateFormat =
attr TimeMo webCmd HHMM1m: bis :HHMM2m: von :HHMM3m: bis :HHMM4m: von :HHMM5m: bis :HHMM6m: daysel :HHMM7m
define TimeDi dummy
attr TimeDi alias 2 Dienstag
attr TimeDi group Zeiteingabe
attr TimeDi readingList HHMM1t HHMM2t HHMM3t HHMM4t HHMM5t HHMM6t HHMM7t
attr TimeDi room ZeitProgramm
attr TimeDi setList HHMM1t:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2t:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3t:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4t:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5t:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6t:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7t:selected,Mo-Fr,Mo-So,Sa-So
attr TimeDi stateFormat =
attr TimeDi webCmd HHMM1t: bis :HHMM2t: von :HHMM3t: bis :HHMM4t: von :HHMM5t: bis :HHMM6t: daysel :HHMM7t
define TimeMi dummy
attr TimeMi alias 3 Mittwoch
attr TimeMi group Zeiteingabe
attr TimeMi readingList HHMM1w HHMM2w HHMM3w HHMM4w HHMM5w HHMM6w HHMM7w
attr TimeMi room ZeitProgramm
attr TimeMi setList HHMM1w:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2w:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3w:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4w:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5w:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6w:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7w:selected,Mo-Fr,Mo-So,Sa-So
attr TimeMi stateFormat =
attr TimeMi webCmd HHMM1w: bis :HHMM2w: von :HHMM3w: bis :HHMM4w: von :HHMM5w: bis :HHMM6w: daysel :HHMM7w
define TimeDo dummy
attr TimeDo alias 4 Donnerstag
attr TimeDo group Zeiteingabe
attr TimeDo readingList HHMM1th HHMM2th HHMM3th HHMM4th HHMM5th HHMM6th HHMM7th
attr TimeDo room ZeitProgramm
attr TimeDo setList HHMM1th:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2th:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3th:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4th:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5th:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6th:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7th:selected,Mo-Fr,Mo-So,Sa-So
attr TimeDo stateFormat =
attr TimeDo webCmd HHMM1th: bis :HHMM2th: von :HHMM3th: bis :HHMM4th: von :HHMM5th: bis :HHMM6th: daysel :HHMM7th
define TimeFr dummy
attr TimeFr alias 5 Freitag
attr TimeFr group Zeiteingabe
attr TimeFr readingList HHMM1f HHMM2f HHMM3f HHMM4f HHMM5f HHMM6f HHMM7t
attr TimeFr room ZeitProgramm
attr TimeFr setList HHMM1f:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2f:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3f:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4f:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5f:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6f:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7f:selected,Mo-Fr,Mo-So,Sa-So
attr TimeFr stateFormat =
attr TimeFr webCmd HHMM1f: bis :HHMM2f: von :HHMM3f: bis :HHMM4f: von :HHMM5f: bis :HHMM6f: daysel :HHMM7f
define TimeSa dummy
attr TimeSa alias 6 Samstag
attr TimeSa group Zeiteingabe
attr TimeSa readingList HHMM1sa HHMM2sa HHMM3sa HHMM4sa HHMM5sa HHMM6sa HHMM7sa
attr TimeSa room ZeitProgramm
attr TimeSa setList HHMM1sa:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2sa:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3sa:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4sa:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5sa:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6sa:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7sa:selected,Mo-Fr,Mo-So,Sa-So
attr TimeSa stateFormat =
attr TimeSa webCmd HHMM1sa: bis :HHMM2sa: von :HHMM3sa: bis :HHMM4sa: von :HHMM5sa: bis :HHMM6sa: daysel :HHMM7sa
define TimeSu dummy
attr TimeSu alias 7 Sonntag
attr TimeSu group Zeiteingabe
attr TimeSu readingList HHMM1sa HHMM2sa HHMM3sa HHMM4sa HHMM5sa HHMM6sa HHMM7t
attr TimeSu room ZeitProgramm
attr TimeSu setList HHMM1su:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM2su:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM3su:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM4su:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM5su:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM6su:-,00:00,00:30,01:00,01:30,02:00,02:30,03:00,03:30,04:00,04:30,05:00,05:30,06:00,06:30,07:00,07:30,08:00,08:30,09:00,09:30,10:00,10:30,11:00,11:30,12:00,12:30,13:00,13:30,14:00,14:30,15:00,15:30,16:00,16:30,17:00,17:30,18:00,18:30,19:00,19:30,20:00,20:30,21:00,21:30,22:00,22:30,23:00,23:30,24:00 HHMM7su:selected,Mo-Fr,Mo-So,Sa-So
attr TimeSu stateFormat =
attr TimeSu webCmd HHMM1su: bis :HHMM2su: von :HHMM3su: bis :HHMM4su: von :HHMM5su: bis :HHMM6su: daysel :HHMM7su
define einlesen dummy
attr einlesen alias Zeitprogramm auslesen
attr einlesen devStateIcon einlesen:control_arrow_downward:einlesen
attr einlesen eventMap on:einlesen off:einlesen
attr einlesen group Zeiteingabe
attr einlesen room ZeitProgramm
define DayRead notify einlesen {\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Monday/get";;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Tuesday/get";;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Wednesday/get";;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Thursday/get";;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Friday/get";;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Saturday/get";;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Sunday/get";;\
fhem "setreading TimeMo HHMM1m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_0_value]";;\
fhem "setreading TimeMo HHMM2m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_1_value]";;\
fhem "setreading TimeMo HHMM3m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_2_value]";;\
fhem "setreading TimeMo HHMM4m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_3_value]";;\
fhem "setreading TimeMo HHMM5m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_4_value]";;\
fhem "setreading TimeMo HHMM6m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_5_value]";;\
fhem "setreading TimeMo HHMM7m [MQTT2_ebusd_BASE_DEV:hcTimer.Monday_6_value]";;\
fhem "setreading TimeDi HHMM1t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_0_value]";;\
fhem "setreading TimeDi HHMM2t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_1_value]";;\
fhem "setreading TimeDi HHMM3t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_2_value]";;\
fhem "setreading TimeDi HHMM4t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_3_value]";;\
fhem "setreading TimeDi HHMM5t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_4_value]";;\
fhem "setreading TimeDi HHMM6t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_5_value]";;\
fhem "setreading TimeDi HHMM7t [MQTT2_ebusd_BASE_DEV:hcTimer.Tuesday_6_value]";;\
fhem "setreading TimeMi HHMM1w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_0_value]";;\
fhem "setreading TimeMi HHMM2w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_1_value]";;\
fhem "setreading TimeMi HHMM3w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_2_value]";;\
fhem "setreading TimeMi HHMM4w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_3_value]";;\
fhem "setreading TimeMi HHMM5w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_4_value]";;\
fhem "setreading TimeMi HHMM6w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_5_value]";;\
fhem "setreading TimeMi HHMM7w [MQTT2_ebusd_BASE_DEV:hcTimer.Wednesday_6_value]";;\
fhem "setreading TimeDo HHMM1th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_0_value]";;\
fhem "setreading TimeDo HHMM2th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_1_value]";;\
fhem "setreading TimeDo HHMM3th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_2_value]";;\
fhem "setreading TimeDo HHMM4th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_3_value]";;\
fhem "setreading TimeDo HHMM5th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_4_value]";;\
fhem "setreading TimeDo HHMM6th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_5_value]";;\
fhem "setreading TimeDo HHMM7th [MQTT2_ebusd_BASE_DEV:hcTimer.Thursday_6_value]";;\
fhem "setreading TimeFr HHMM1f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_0_value]";;\
fhem "setreading TimeFr HHMM2f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_1_value]";;\
fhem "setreading TimeFr HHMM3f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_2_value]";;\
fhem "setreading TimeFr HHMM4f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_3_value]";;\
fhem "setreading TimeFr HHMM5f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_4_value]";;\
fhem "setreading TimeFr HHMM6f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_5_value]";;\
fhem "setreading TimeFr HHMM7f [MQTT2_ebusd_BASE_DEV:hcTimer.Friday_6_value]";;\
fhem "setreading TimeSa HHMM1sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_0_value]";;\
fhem "setreading TimeSa HHMM2sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_1_value]";;\
fhem "setreading TimeSa HHMM3sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_2_value]";;\
fhem "setreading TimeSa HHMM4sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_3_value]";;\
fhem "setreading TimeSa HHMM5sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_4_value]";;\
fhem "setreading TimeSa HHMM6sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_5_value]";;\
fhem "setreading TimeSa HHMM7sa [MQTT2_ebusd_BASE_DEV:hcTimer.Saturday_6_value]";;\
fhem "setreading TimeSu HHMM1su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_0_value]";;\
fhem "setreading TimeSu HHMM2su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_1_value]";;\
fhem "setreading TimeSu HHMM3su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_2_value]";;\
fhem "setreading TimeSu HHMM4su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_3_value]";;\
fhem "setreading TimeSu HHMM5su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_4_value]";;\
fhem "setreading TimeSu HHMM6su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_5_value]";;\
fhem "setreading TimeSu HHMM7su [MQTT2_ebusd_BASE_DEV:hcTimer.Sunday_6_value]";;\
}
attr DayRead room ZeitProgramm
define DayWrite notify schreiben {fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Monday/set " . ReadingsVal("TimeMo","HHMM1m",0) . chr(59) . chr(59) . ReadingsVal("TimeMo","HHMM2m",0) . chr(59) . chr(59) . ReadingsVal("TimeMo","HHMM3m",0) . chr(59) . chr(59) . ReadingsVal("TimeMo","HHMM4m",0) . chr(59) . chr(59) . ReadingsVal("TimeMo","HHMM5m",0) . chr(59) . chr(59). ReadingsVal("TimeMo","HHMM6m",0) . chr(59) . chr(59) . ReadingsVal("TimeMo","HHMM7m",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Tuesday/set " . ReadingsVal("TimeDi","HHMM1t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM2t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM3t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM4t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM5t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM6t",0) . chr(59) . chr(59) . ReadingsVal("TimeDi","HHMM7t",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Wednesday/set " . ReadingsVal("TimeMi","HHMM1w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM2w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM3w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM4w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM5w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM6w",0) . chr(59) . chr(59) . ReadingsVal("TimeMi","HHMM7w",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Thursday/set " . ReadingsVal("TimeDo","HHMM1th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM2th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM3th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM4th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM5th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM6th",0) . chr(59) . chr(59) . ReadingsVal("TimeDo","HHMM7th",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Friday/set " . ReadingsVal("TimeFr","HHMM1f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM2f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM3f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM4f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM5f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM6f",0) . chr(59) . chr(59) . ReadingsVal("TimeFr","HHMM7f",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Saturday/set " . ReadingsVal("TimeSa","HHMM1sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM2sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM3sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM4sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM5sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM6sa",0) . chr(59) . chr(59) . ReadingsVal("TimeSa","HHMM7sa",0);;\
fhem "set ebusMQTT publish ebusd/BASE_DEV/hcTimer.Sunday/set " . ReadingsVal("TimeSo","HHMM1su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM2su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM3su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM4su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM5su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM6su",0) . chr(59) . chr(59) . ReadingsVal("TimeSo","HHMM7su",0);;\
Log 1, "Zeitprog=" . ReadingsVal("TimeMo","HHMM1m",0) . ";;" . ReadingsVal("TimeMo","HHMM2m",0) . ";;" . ReadingsVal("TimeMo","HHMM3m",0) . ";;" . ReadingsVal("TimeMo","HHMM4m",0) . ";;" . ReadingsVal("TimeMo","HHMM5m",0) . ";;" . ReadingsVal("TimeMo","HHMM6m",0) . ";;" . ReadingsVal("TimeMo","HHMM7m",0);;}
attr DayWrite room ZeitProgramm
define schreiben dummy
attr schreiben alias Zeitprogramm schreiben
attr schreiben devStateIcon schreiben:rc_PROG:schreiben
attr schreiben eventMap on:schreiben off:schreiben
attr schreiben group Zeiteingabe
attr schreiben room ZeitProgramm