Hi all!
I have reviewed some prior posts and I have not quite seen my issue posted. I know I am doing something wrong.
First off here is my configuration.
Hubitat -> Homebridge v2 -> Homebridge -> Homekit
Here is my device configuration in Hubitat
Here is my Homebridge v2
Master Bedroom Light = Inovelli Fan/Light Child Device - Generic Dimmer Component
Master Bedroom Fan = Inovelli Fan/Light Child Device - Hampton Bay Fan Component
Master Bedroom Light/Fan Master = Inovelli Fan/Light Parent Device - GitHub Driver
Symptoms...
When I am in HomeKit and I use the child light device it works as I expect dim up and down works On to last state and off all work.
Fan Child device will power on to 99%, I can dim down to 66% then when I try to dim down to 33% it bounces around and stop at 66% no mater how many times I try.
When I use the parent device, each slider works independently and at a granular dim level not 3 level for fan. However no mater what side you dim both fan and light go to the same setting. It seems while they look independent on the device they are synchronized on the device.
Here is a video on my phone of the behaviour.
youtu.be/oeyOEIbeRUQ
I am sure its something simple, however I have not been able to figure it out for a while.
Please Help!
Thank you.
I dont have that switch but I did just setup Homebridge and was messing with lights and fans.
I would deselect the "Parent" device from Homebridge totally, and just use the two child devices.
Also turn on the homebridge v2 app logging, and maybe post s screenshot of the logs? Maybe turn on debug logging for the devices driver also if it has it.
Sounds like homekit is trying to set the fan level to a certian speed but driver is maybe rounding it and somehow bumping it back up to 66%. The logs should show the command it is sending.
So I am not sure how the debug settings work, still investigating. I have it enabled but I am not seeing it in Homebridge.
What I can see right away is it does not look like its setting it to low. It looks like HomeKit is trying to set it to "medium-low" for 33%
[7/17/2021, 6:55:22 PM] [Hubitat-v2] Sending Device Command: on | Name: (Master Bedroom Fan) | DeviceID: (81) | UsingCloud: (false)
[7/17/2021, 6:55:22 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is on
[7/17/2021, 6:55:23 PM] [Hubitat-v2] Sending Device Command: setSpeed | Value: {"value1":"medium-low"} | Name: (Master Bedroom Fan) | DeviceID: (81) | UsingCloud: (false)
[7/17/2021, 6:55:23 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium-low
[7/17/2021, 6:55:23 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is high
[7/17/2021, 6:55:26 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [LEVEL] is 66
[7/17/2021, 6:55:26 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium
[7/17/2021, 6:55:35 PM] [Hubitat-v2] Sending Device Command: on | Name: (Master Bedroom Fan) | DeviceID: (81) | UsingCloud: (false)
[7/17/2021, 6:55:35 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is on
[7/17/2021, 6:55:35 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium
[7/17/2021, 6:55:35 PM] [Hubitat-v2] Sending Device Command: setSpeed | Value: {"value1":"medium-low"} | Name: (Master Bedroom Fan) | DeviceID: (81) | UsingCloud: (false)
[7/17/2021, 6:55:35 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium-low
[7/17/2021, 6:55:36 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium
I have the bridge configured to 3 modes, and it looks like the child device driver "Hampton Bay Fan Component"
Current States
- level : 33
- speed : low
- switch : on
Current States - (Medium - Low Upgraded to this and Medium - High was downgraded)
- level : 66
- speed : medium
- switch : on
Current States
- level : 100
- speed : high
- switch : on
Pretty sure this is the debug. HomeKit is requesting Medium-Low
[7/17/2021, 7:16:45 PM] [Hubitat-v2] Sending Device Command: on | Name: (Master Bedroom Fan) | DeviceID: (81) | UsingCloud: (false)
[7/17/2021, 7:16:45 PM] [Hubitat-v2] sendDeviceCommand | Response: {"status":"Success","message":" | Master Bedroom Fan | Command [on()] | Process Time: (53ms)"}
[7/17/2021, 7:16:45 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is on
[7/17/2021, 7:16:45 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium
[7/17/2021, 7:16:45 PM] [Hubitat-v2] Sending Device Command: setSpeed | Value: {"value1":"medium-low"} | Name: (Master Bedroom Fan) | DeviceID: (81) | UsingCloud: (false)
[7/17/2021, 7:16:45 PM] [Hubitat-v2] sendDeviceCommand | Response: {"status":"Success","message":" | Master Bedroom Fan | Command [setSpeed()] | Process Time: (44ms)"}
[7/17/2021, 7:16:45 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium-low
[7/17/2021, 7:16:46 PM] [Hubitat-v2] [Device Event]: (Master Bedroom Fan) [SPEED] is medium
So the setSpeed function in that driver, medium-low, medium and medium-high all map to medium. The odd thing is that you have your fan specified as a 3-speed, but it seems to be using more than 3 speeds. Did you by chance have it setup as a 5 speed originally and then switch it? Try removing the fan from the homebridge app, wait for it to disappear from homebridge/homekit, then add it back as the 3 speed fan.
case "medium-low":
case "medium":
case "medium-high":
return childSetLevel("${device.deviceNetworkId}-ep002",66)
1 Like
Ok so I tested this out, looks like the driver they are using the fan supports 5 speeds, and when you send it to homkit as a 3-speed it is not getting the correct 3 speeds as an option. It is getting medium-low, medium-high, and high. Not sure if this is an issue with the homebridge app or the plugin.
Found a workaround though, remove it from the 3-speed fan option, hit done until you get out the app. Wait for it to go away on homekit. Then go back and select it as either 5 speed fan, or under "others" at the bottom. It seems to work the same either way.
With this you will have 20% increments, 20% is low, anything in the middle should end up being medium, and the top is high obviously.
I think that's about all you can do right now the way the drivers/apps are setup.
1 Like
Yeah it's weird. I have a Home Decorators Collection - Gardiner 52-Inch Ceiling Fan (1000 858 200) which came with the KingofFans Wink Device. Ended up having nothing but problems as most people did. The original controller came with 4 speed.
However when I was testing out the new Inovelli switch every time I went above 66% it seemed like it went into max settings, and there were no adjustments above that which lead me to believe it was either a 3 speed motor, or the Inovelli switch is unable to be precise enough to get the 4th speed.
That is not a huge deal for me just something I noticed in this small project.
With this new information I thought I would try 4 speed. This provided similar behaviour in the app.
youtu.be/WA782gHvV7I
0 = 0
25 -> 50
50 = 50
75 -> 50
100 = 100
So really in this scenario I am only stuck with 2 speeds as well.
Attempting your original suggestion now. I'll be back.
Sorry having issues doing images, I keep getting the error unable to embed media. Some times it works other times it doesn't.
Using the device on 5 speed is working better as your suggestion, it still bounces around the same, but final output in Homebridge are Low (33) Medium (66) High (100). While this is not the most optimal setting as you stated it is the only one work around the way the app's and drivers have been coded.
It would be nice to receive some input on if there is another driver or configuration that might match my hardware or work a little better. However in the meantime I believe this is the only working solution.
I will mark your solution as the answer unless there is any feedback on something else.
Thanks for the help and the debugging. Very much appreciated.