Control Openhab Groups with HomeKit

Hey,

I have IKEA lamps and control them via MQTT. Now, for example, I have 3 lamps in the ceiling light in the hallway. I defined this as a group in Openhab to control on/off, brightness and color temperature at the same time. Now I would like to control this in Homekit too, but I just can’t get it to work. In the best case scenario, I have a “hallway ceiling light” device and can control on/off, brightness and color temperature as we know it from HomeKit.

I send my current code once - with the second one the device no longer even appears under HomeKit.

Maybe, you have an idea.

Thank you very much and kind regards
Thilo R.

Group:Switch:OR(ON, OFF) gL_FlurDeckenlicht "LG | Flur Deckenlicht" <light> (gFlur)  {homekit="Lighting"}




Switch L_FlurDecke1EinAus                 "L | Flur | Decke 1 | EinAus"                        <switch>            (gL_FlurDeckenlicht)   ["Switch"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_EinAus", homekit="Lighting" }  
Dimmer L_FlurDecke1Helligkeit             "L | Flur | Decke 1 | Helligkeit"           <slider>            (gL_FlurDeckenlicht)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_Helligkeit", homekit="Lighting.Brightness" [dimmerMode="filterOn"]}
Dimmer L_FlurDecke1FarbTemp               "L | Flur | Decke 1 | Farbtemperatur"       <slider>            (gL_FlurDeckenlicht)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_FarbTemp", homekit="Lighting.ColorTemperature" [dimmerMode="filterOn"]}

Switch L_FlurDecke2EinAus                 "L | Flur | Decke 2 | EinAus"                        <switch>            (gL_FlurDeckenlicht)   ["Switch"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_EinAus", homekit="Lighting"}  
Dimmer L_FlurDecke2Helligkeit             "L | Flur | Decke 2 | Helligkeit"           <slider>            (gL_FlurDeckenlicht)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_Helligkeit", homekit="Lighting.Brightness" [dimmerMode="filterOn"]}
Dimmer L_FlurDecke2FarbTemp               "L | Flur | Decke 2 | Farbtemperatur"       <slider>            (gL_FlurDeckenlicht)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_FarbTemp", homekit="Lighting.ColorTemperature" [dimmerMode="filterOn"]} 
  1. Code:
Group  gL_FlurDeckenlicht                 "LG - Flur Deckenlicht"                    <light>            (gFlur)              ["Light"] {homekit="Lighting"}

Group:Switch:OR(ON,OFF)  gL_FlurDeckenlicht_EinAus            "LG - Flur - Deckenlicht - EinAus"   <light>       (gL_FlurDeckenlicht)              ["Light"]            {homekit="Lighting"}
Group:Dimmer  gL_FlurDeckenlicht_Helligkeit              "LG - Flur - Deckenlicht - Helligkeit"      <slider>       (gL_FlurDeckenlicht)       ["Dimmer"]    {homekit="Lighting.Brightness" [dimmerMode="filterOn"]}   //{alexa="Light"} {}
Group:Dimmer  gL_FlurDeckenlicht_Farbtemp                "LG - Flur - Deckenlicht - Farbtemp"      <slider>       (gL_FlurDeckenlicht)       ["Dimmer"]   {homekit="Lighting.ColorTemperature" [dimmerMode="filterOn"]}    //{alexa="Light"}

Switch L_FlurDecke1EinAus                 "L - Flur - Decke 1 - EinAus"                        <switch>            (gL_FlurDeckenlicht_EinAus)   ["Switch"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_EinAus", homekit="Lighting"}  
Dimmer L_FlurDecke1Helligkeit             "L | Flur | Decke 1 | Helligkeit"           <slider>            (gL_FlurDeckenlicht_Helligkeit)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_Helligkeit", homekit="Lighting.Brightness" [dimmerMode="filterOn"]}
Dimmer L_FlurDecke1FarbTemp               "L | Flur | Decke 1 | Farbtemperatur"       <slider>            (gL_FlurDeckenlicht_Farbtemp)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_FarbTemp", homekit="Lighting.ColorTemperature" [dimmerMode="filterOn"]}

Switch L_FlurDecke2EinAus                 "L | Flur | Decke 2 | EinAus"                        <switch>            (gL_FlurDeckenlicht_EinAus)   ["Switch"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_EinAus", homekit="Lighting"}  
Dimmer L_FlurDecke2Helligkeit             "L | Flur | Decke 2 | Helligkeit"           <slider>            (gL_FlurDeckenlicht_Helligkeit)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_Helligkeit", homekit="Lighting.Brightness" [dimmerMode="filterOn"]}
Dimmer L_FlurDecke2FarbTemp               "L | Flur | Decke 2 | Farbtemperatur"       <slider>            (gL_FlurDeckenlicht_Farbtemp)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_FarbTemp" , homekit="Lighting.ColorTemperature" [dimmerMode="filterOn"]} 

So I’ve made it this far.

But I can’t change the brightness because Openhab always throws me back an error. I’m afraid this is a bug that I can’t work around.

Do you perhaps have any further ideas?


Group  gL_FlurDeckenlicht                 "LG - Flur Deckenlicht"                    <light>            (gFlur)              ["Light"] {homekit="Lighting"}

Group:Switch:OR(ON,OFF)  gL_FlurDeckenlicht_EinAus            "LG - Flur - Deckenlicht - EinAus"   <light>       (gL_FlurDeckenlicht)              ["Light"]    {homekit="Lighting.OnState"}        
Group:Dimmer  gL_FlurDeckenlicht_Helligkeit              "LG - Flur - Deckenlicht - Helligkeit"      <slider>       (gL_FlurDeckenlicht)   ["Dimmer"]       {homekit="Lighting.Brightness"}   //{alexa="Light"} {}
Group:Dimmer:OR(ON,OFF)  gL_FlurDeckenlicht_Farbtemp                "LG - Flur - Deckenlicht - Farbtemp"      <slider>       (gL_FlurDeckenlicht)       ["Dimmer"]   {homekit="Lighting.ColorTemperature"}    //{alexa="Light"}

Switch L_FlurDecke1EinAus                 "L - Flur - Decke 1 - EinAus"                        <switch>            (gL_FlurDeckenlicht_EinAus)   ["Switch"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_EinAus"}  
Dimmer L_FlurDecke1Helligkeit             "L | Flur | Decke 1 | Helligkeit"           <slider>            (gL_FlurDeckenlicht_Helligkeit)    {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_Helligkeit"}
Dimmer L_FlurDecke1FarbTemp               "L | Flur | Decke 1 | Farbtemperatur"       <slider>            (gL_FlurDeckenlicht_Farbtemp)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke1_FarbTemp"}

Switch L_FlurDecke2EinAus                 "L | Flur | Decke 2 | EinAus"                        <switch>            (gL_FlurDeckenlicht_EinAus)   ["Switch"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_EinAus"}  
Dimmer L_FlurDecke2Helligkeit             "L | Flur | Decke 2 | Helligkeit"           <slider>            (gL_FlurDeckenlicht_Helligkeit)    {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_Helligkeit"}
Dimmer L_FlurDecke2FarbTemp               "L | Flur | Decke 2 | Farbtemperatur"       <slider>            (gL_FlurDeckenlicht_Farbtemp)   ["Dimmer"] {channel="mqtt:topic:T_L_FlurDecke:T_L_FlurDecke2_FarbTemp"} 

Error:

2023-11-12 16:21:37.704 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.ClassCastException: class org.openhab.core.items.GroupItem cannot be cast to class org.openhab.core.library.items.DimmerItem (org.openhab.core.items.GroupItem and org.openhab.core.library.items.DimmerItem are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @368b5c0a)
	at org.openhab.io.homekit.internal.HomekitOHItemProxy.sendCommand(HomekitOHItemProxy.java:101) ~[?:?]
	at org.openhab.io.homekit.internal.HomekitOHItemProxy.lambda$0(HomekitOHItemProxy.java:183) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]
2023-11-12 16:21:37.925 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception: 
java.lang.ClassCastException: class org.openhab.core.items.GroupItem cannot be cast to class org.openhab.core.library.items.DimmerItem (org.openhab.core.items.GroupItem and org.openhab.core.library.items.DimmerItem are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @368b5c0a)
	at org.openhab.io.homekit.internal.HomekitOHItemProxy.sendCommand(HomekitOHItemProxy.java:101) ~[?:?]
	at org.openhab.io.homekit.internal.HomekitOHItemProxy.lambda$0(HomekitOHItemProxy.java:183) ~[?:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
	at java.lang.Thread.run(Thread.java:840) ~[?:?]

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