Hallo,
Hat jemand vielleicht Samples für die Integration von HMCCU Komponenten? Aktuell geht es mir darum die Thermostate in HomeKit einzubinden.
Das Device sieht so aus: Internals:
CFGFN
DEF MEQ0056181
FUUID 5e835ed5-f33f-4cd4-fedb-869d709bf493aa27
IODev d_ccu
NAME HM_HM_CC_RT_DN_MEQ0056181
NR 4183
STATE 23.0
TYPE HMCCUDEV
ccuaddr MEQ0056181
ccudevstate active
ccuif BidCos-RF
ccuname HM-CC-RT-DN MEQ0056181
ccutype HM-CC-RT-DN
channels 7
firmware 1.5
statevals devstate
READINGS:
2020-03-31 17:48:31 4.ACTUAL_TEMPERATURE 25.2
2020-03-31 17:48:31 4.BATTERY_STATE 2.7
2020-03-31 17:48:31 4.CONTROL_MODE AUTO
2020-03-31 17:48:31 4.PARTY_TEMPERATURE 5.0
2020-03-31 17:48:31 4.SET_TEMPERATURE 23.0
2020-03-31 17:48:31 4.VALVE_STATE 8
2020-03-31 17:34:04 activity alive
2020-03-31 17:16:54 battery ok
2020-03-31 17:48:31 control 23.0
2020-03-31 17:48:31 hmstate 23.0
2020-03-31 17:48:31 state 23.0
hmccu:
devspec MEQ0056181
dp:
0.AES_KEY:
OVAL 0
VAL 0
0.CONFIG_PENDING:
OVAL 1
VAL 0
0.DEVICE_IN_BOOTLOADER:
OVAL 1
VAL 0
0.INHIBIT:
OVAL false
VAL false
0.LOWBAT:
OSVAL ok
OVAL false
SVAL ok
VAL false
0.RSSI_DEVICE:
OVAL 1
VAL 1
0.RSSI_PEER:
OVAL 214
VAL 214
0.STICKY_UNREACH:
OVAL 1
VAL 1
0.UNREACH:
OSVAL dead
OVAL 1
SVAL alive
VAL 0
0.UPDATE_PENDING:
OVAL false
VAL false
4.ACTUAL_TEMPERATURE:
OSVAL 25.3
OVAL 25.300000
SVAL 25.2
VAL 25.200000
4.BATTERY_STATE:
OSVAL 2.7
OVAL 2.700000
SVAL 2.7
VAL 2.700000
4.BOOST_STATE:
OVAL 0
VAL 0
4.CONTROL_MODE:
OSVAL AUTO
OVAL 0
SVAL AUTO
VAL 0
4.FAULT_REPORTING:
OVAL 0
VAL 0
4.PARTY_START_DAY:
OVAL 1
VAL 1
4.PARTY_START_MONTH:
OVAL 1
VAL 1
4.PARTY_START_TIME:
OVAL 0
VAL 0
4.PARTY_START_YEAR:
OVAL 0
VAL 0
4.PARTY_STOP_DAY:
OVAL 1
VAL 1
4.PARTY_STOP_MONTH:
OVAL 1
VAL 1
4.PARTY_STOP_TIME:
OVAL 0
VAL 0
4.PARTY_STOP_YEAR:
OVAL 0
VAL 0
4.PARTY_TEMPERATURE:
OSVAL 5.0
OVAL 5.000000
SVAL 5.0
VAL 5.000000
4.SET_TEMPERATURE:
OSVAL 23.0
OVAL 23.000000
SVAL 23.0
VAL 23.000000
4.VALVE_STATE:
OSVAL 8
OVAL 8
SVAL 8
VAL 8
Attributes:
IODev d_ccu
alias Heizung Wohnzimmer
ccureadingfilter (TEMPERATURE|VALVE_STATE|CONTROL|BATTERY_STATE)
cmdIcon Auto:sani_heating_automatic Manu:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus
controldatapoint 4.SET_TEMPERATURE
eventMap /datapoint 4.MANU_MODE 20.0:Manu/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost/datapoint 4.MANU_MODE 4.5:off/datapoint 4.MANU_MODE 30.5:on/
genericDeviceType thermostat
hmstatevals FAULT_REPORTING!1:valve_tight,2:range_too_large,3:range_too_small,4:communication_error,5:other_error,6:battery_low,7:valve_error_pos
room Alexa,Homekit,Homematic,Wohnzimmer
statedatapoint 4.SET_TEMPERATURE
stripnumber 1
substexcl control
substitute CONTROL_MODE!0:AUTO,1:MANU,2:PARTY,3:BOOST;SET_TEMPERATURE!#0-4.5:off,#30.5-40:on;FAULT_REPORTING!0:no,1:valve_tight,2:range_too_large,3:range_too_small,4:communication_error,5:other_error,6:battery_low,7:valve:error_pos
webCmd control:Auto:Manu:Boost:on:off
widgetOverride control:slider,4.5,0.5,30.5,1
Okay die aktuelle Temperatur und den Modus habe ich jetzt zum laufen bekommen:
attr HM_HM_CC_RT_DN_MEQ0056181 homebridgeMapping TargetTemperature=4.SET_TEMPERATURE::4.SET_TEMPERATURE,minValue=5,maxValue=35,minStep=0.5,nocache=1
CurrentTemperature=4.ACTUAL_TEMPERATURE,nocache=1
TargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:controlMode+boost;;AUTO:controlMode+auto;;COOL:controlMode+night
CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0
attr HM_HM_CC_RT_DN_MEQ0056181 userReadings heatingState {(ReadingsVal($NAME,"4.VALVE_STATE",0) > 0 || ReadingsVal($NAME,"4.SET_TEMPERATURE","-") eq "on") ? "HEAT" : ReadingsVal($NAME,"4.SET_TEMPERATURE","-") eq "off" ? "OFF" : ReadingsVal($NAME,"4.CONTROL_MODE","AUTO") eq "AUTO" ? "AUTO" : (ReadingsVal($NAME,"4.ACTUAL_TEMPERATURE",20) > ReadingsVal($NAME,"4.SET_TEMPERATURE",20)) ? "COOL" : "AUTO"}
Fehlt nur noch das setzen der Temperatur
Okay Problem gelöst.
Hier die Daten für ein HM-CC-RT-DN über HMCCU
attr TYPE=HMCCUDEV:FILTER=ccutype=HM-CC-RT-DN userReadings heatingState {(ReadingsVal($NAME,"4.VALVE_STATE",0) > 0 || ReadingsVal($NAME,"4.SET_TEMPERATURE","-") eq "on") ? "HEAT" : ReadingsVal($NAME,"4.SET_TEMPERATURE","-") eq "off" ? "OFF" : ReadingsVal($NAME,"4.CONTROL_MODE","AUTO") eq "AUTO" ? "AUTO" : (ReadingsVal($NAME,"4.ACTUAL_TEMPERATURE",20) > ReadingsVal($NAME,"4.SET_TEMPERATURE",20)) ? "COOL" : "AUTO"}
attr TYPE=HMCCUDEV:FILTER=ccutype=HM-CC-RT-DN homebridgeMapping TargetTemperature=4.SET_TEMPERATURE::4.SET_TEMPERATURE,,minValue=15,maxValue=30,minStep=0.5,cmd=control,nocache=true CurrentTemperature=4.ACTUAL_TEMPERATURE TargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:controlMode+boost;;AUTO:controlMode+auto;;COOL:controlMode+night CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0