Homekit Mappings does not works

Hi All,
I am trying to make Homekit works with Sensibo.
sensibo.items

Group                   gLivingRoomAC                                                                                                                                               {homekit="HeaterCooler"}
Number:Temperature      AC_Current_Temperature          "Temperature [%.1f %unit%]"         <temperature>   (LivingRoom, gAC, gTemperature, has_state, gHistory, gLivingRoomAC)     {channel="sensibo:sensibosky:home:salon:currentTemperature"}
Number:Dimensionless    AC_Current_Humidity             "Relative humidity [%.1f %%]"       <humidity>      (LivingRoom, gAC, gTemperature, has_state, gHistory, gLivingRoomAC)     {channel="sensibo:sensibosky:home:salon:currentHumidity"}
Number:Temperature      AC_Target_Temperature           "Target temperature [%d %unit%]"    <temperature>   (LivingRoom, gAC, gTemperature, has_state, gHistory, gLivingRoomAC)     {channel="sensibo:sensibosky:home:salon:targetTemperature", homekit="CurrentTemperature, HeatingThresholdTemperature, CoolingThresholdTemperature" [minValue=16, maxValue=30]}
String                  AC_Mode                         "AC mode [%s]"                      <acmod>         (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:mode", homekit="TargetHeaterCoolerState, CurrentHeaterCoolerState" [HEATING="heat", COOLING="cool"]}
String                  AC_Swing_Mode                   "AC swing mode [%s]"                <acswing>       (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:swingMode"}
Switch                  AC_Office_Heater_MasterSwitch   "AC power [%s]"                     <switch>        (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:masterSwitch", homekit="ActiveStatus"}
String                  AC_Office_Heater_Fan_Level      "Fan level [%s]"                    <acfan>         (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:fanLevel"}
Number                  AC_Office_Heater_Timer          "Timer seconds [%d]"                <timer>                                                                                 {channel="sensibo:sensibosky:home:salon:timer"} 

However each time I am changing the AC state its see its trying to make it with uppercase, not matter what i put there.
Even after restarting openhab, still see no changes.

2021-05-29 21:14:41.338 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'AC_Office_Heater_MasterSwitch' received command ON

2021-05-29 21:14:41.339 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'AC_Mode' received command COOL

2021-05-29 21:14:41.339 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'AC_Office_Heater_MasterSwitch' predicted to become ON

2021-05-29 21:14:41.340 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'AC_Mode' predicted to become COOL

2021-05-29 21:14:41.341 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'AC_Mode' changed from cool to COOL

2021-05-29 21:14:42.136 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'AC_Mode' changed from COOL to cool

2021-05-29 21:14:42.137 [INFO ] [o.internal.handler.SensiboSkyHandler] - Update command not sent; invalid state change for SensiboSky AC state: Cannot change mode to COOL, valid modes are {cool,fan,dry,heat}


interesting. i dont see anything making upper case in homekit binding source code.
can you enable trace for homekit binding?

log:set TRACE org.openhab.io.homekit

Hi
Sorry for delay…
This is what happens once i change it from the iPhone 12 mini homekit

==> /log/events.log <==

2021-06-15 21:52:45.010 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'AC_Office_Heater_MasterSwitch' received command ON

2021-06-15 21:52:45.010 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'AC_Mode' received command COOL

2021-06-15 21:52:45.011 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'AC_Office_Heater_MasterSwitch' predicted to become ON

2021-06-15 21:52:45.011 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'AC_Mode' predicted to become COOL

==> /log/openhab.log <==

2021-06-15 21:52:45.012 [TRACE] [ssories.AbstractHomekitAccessoryImpl] - getKeyFromMapping: characteristic TargetHeaterCoolerState, state COOL, mapping {AUTO=AUTO, HEAT=HEAT, COOL=COOL}

==> /log/events.log <==

2021-06-15 21:52:45.012 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'AC_Mode' changed from cool to COOL

==> /log/openhab.log <==

2021-06-15 21:52:45.012 [TRACE] [ssories.AbstractHomekitAccessoryImpl] - getKeyFromMapping: characteristic CurrentHeaterCoolerState, state COOL, mapping {INACTIVE=INACTIVE, IDLE=IDLE, HEATING=heat, COOLING=cool}

==> /log/events.log <==

2021-06-15 21:52:45.050 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'AC_Office_Heater_MasterSwitch' received command ON

2021-06-15 21:52:45.050 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'AC_Mode' received command COOL

2021-06-15 21:52:45.051 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'AC_Office_Heater_MasterSwitch' predicted to become ON

2021-06-15 21:52:45.051 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'AC_Mode' predicted to become COOL

==> /log/openhab.log <==

2021-06-15 21:52:45.613 [TRACE] [ssories.AbstractHomekitAccessoryImpl] - getKeyFromMapping: characteristic CurrentHeaterCoolerState, state cool, mapping {INACTIVE=INACTIVE, IDLE=IDLE, HEATING=heat, COOLING=cool}

==> /log/events.log <==

2021-06-15 21:52:45.614 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'AC_Mode' changed from COOL to cool

==> /log/openhab.log <==

2021-06-15 21:52:45.614 [TRACE] [ssories.AbstractHomekitAccessoryImpl] - getKeyFromMapping: characteristic TargetHeaterCoolerState, state cool, mapping {AUTO=AUTO, HEAT=HEAT, COOL=COOL}

2021-06-15 21:52:45.615 [INFO ] [o.internal.handler.SensiboSkyHandler] - Update command not sent; invalid state change for SensiboSky AC state: Cannot change mode to COOL, valid modes are {cool,fan,dry,heat}

2021-06-15 21:52:46.117 [INFO ] [o.internal.handler.SensiboSkyHandler] - Update command not sent; invalid state change for SensiboSky AC state: Cannot change mode to COOL, valid modes are {cool,fan,dry,heat}

Thanks for looking into this

I think i managed
CurrentHeaterCoolerState accepts:

HEATING="heat", COOLING="cool", AUTO="fan"

and
TargetHeaterCoolerState :

HEAT="heat", COOL="cool", AUTO="fan"

So i add them both to same line and its looks like this now:

String AC_Mode "AC mode [%s]" <acmod> (LivingRoom, gAC, has_state, gLivingRoomAC) {channel="sensibo:sensibosky:home:salon:mode", homekit="CurrentHeaterCoolerState, TargetHeaterCoolerState" [HEAT="heat", COOL="cool", AUTO="fan", HEATING="heat", COOLING="cool", AUTO="fan"]}

I think more examples required in the man page i will open PR with some

Here is my full Sensibo with Homekit

Group                   gLivingRoomAC                                                                                                                                               {homekit="HeaterCooler"}
Number:Temperature      AC_Current_Temperature          "Temperature [%.1f %unit%]"         <temperature>   (LivingRoom, gAC, gTemperature, has_state, gHistory, gLivingRoomAC)     {channel="sensibo:sensibosky:home:salon:currentTemperature"}
Number:Dimensionless    AC_Current_Humidity             "Relative humidity [%.1f %%]"       <humidity>      (LivingRoom, gAC, gTemperature, has_state, gHistory, gLivingRoomAC)     {channel="sensibo:sensibosky:home:salon:currentHumidity"}
Number:Temperature      AC_Target_Temperature           "Target temperature [%d %unit%]"    <temperature>   (LivingRoom, gAC, gTemperature, has_state, gHistory, gLivingRoomAC)     {channel="sensibo:sensibosky:home:salon:targetTemperature", homekit="CurrentTemperature, HeatingThresholdTemperature, CoolingThresholdTemperature" [minValue=16, maxValue=30, step=1]}
String                  AC_Mode                         "AC mode [%s]"                      <acmod>         (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:mode", homekit="CurrentHeaterCoolerState, TargetHeaterCoolerState" [HEAT="heat", COOL="cool", AUTO="fan", HEATING="heat", COOLING="cool", AUTO="fan"]}
String                  AC_Swing_Mode                   "AC swing mode [%s]"                <acswing>       (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:swingMode"}
Switch                  AC_Office_Heater_MasterSwitch   "AC power [%s]"                     <switch>        (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:masterSwitch", homekit="ActiveStatus"}
String                  AC_Office_Heater_Fan_Level      "Fan level [%s]"                    <acfan>         (LivingRoom, gAC, has_state, gLivingRoomAC)                             {channel="sensibo:sensibosky:home:salon:fanLevel"}
Number                  AC_Office_Heater_Timer          "Timer seconds [%d]"                <timer>                                                                                 {channel="sensibo:sensibosky:home:salon:timer"} 
1 Like

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.