nguyer / homeassistant-bond-home

38 stars 15 forks source link

Add support for lightactions with fireplaces #16

Open iceman23e opened 4 years ago

iceman23e commented 4 years ago

With the most recent update, since it appears the code is now broken into two device classes, I've lost the ability to control the lights in my fireplace. That entity has now become flame control. Is it possible to add lightactions to fireplace devices so that there is separate light and flame control?

niemyjski commented 4 years ago

Fireplaces are now treated as dimmable lights. If you have a light inside of your fireplace I'd think that would be stored in bond as a light entity and should still be detected and added as a normal light. I'd recommend making some api calls and posting what the api is returning for your fireplace and your fireplace light.

On Thu, Feb 27, 2020 at 3:13 PM iceman23e notifications@github.com wrote:

With the most recent update, since it appears the code is now broken into two device classes, I've lost the ability to control the lights in my fireplace. That entity has now become flame control. Is it possible to add lightactions to fireplace devices so that there is separate light and flame control?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nguyer/homeassistant-bond-home/issues/16?email_source=notifications&email_token=AAHZFI7WLP6EHTNVWAJ7DJLRFAUIVA5CNFSM4K5DOH3KYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IQ5SETQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHZFIY3SNX7W3RIVKHNL3LRFAUIVANCNFSM4K5DOH3A .

iceman23e commented 4 years ago

Right, the flame is treated as a dimmable light. I'm definitely an amateur, but the light.py code appears to map only flame functions to the fireplace "light". It looks like the "supportsLightActions" part of the ceiling fan device type needs to be added to the fireplace and a new device class added? Otherwise, the light entity will only control flame functions. So we'd need fireplace_light, fireplace_flame light entities created to control each.

Before this update, and I assume before the device types were separated, the light entity controlled the lights in the fireplace perfectly.

niemyjski commented 4 years ago

I recommend making an api call to your local bond api to get a list of all devices and posting it here. We can't update the code appropriately unless we can see what devices are registered (of which we do not own).

iceman23e commented 4 years ago

This is the fireplace device:

{"name":"Fireplace","type":"FP","location":"Living Room","actions":["TurnLightOff","TurnOff","IncreaseFlame","DecreaseFlame","SetFlame","SetFpFan","TurnFpFanOff","TurnOn","TurnLightOn","Stop","TogglePower","ToggleLight","TurnFpFanOn"],"_":"500358a6","commands":{"_":"12550e9b"},"state":{"_":"80a443b4"},"properties":{"_":"cf4e287f"}}

Fireplace status:

{"power":1,"light":1,"flame":100,"fpfan_power":0,"fpfan_speed":1,"_":"8d2c7267"}

Power controls flame on/off, light on/off, flame controls flame height (which on mine has five settings), fan power and my fan has three settings.

Need anything else?

niemyjski commented 4 years ago

That looks good, not sure what to do there, maybe turn the light on when the fireplace comes on, or move it into two switches?

iceman23e commented 4 years ago

Two separate lights for sure. Again, I don't really know what I'm doing, but I managed to get the light entity back for the actual light and not the flame control when copying and pasting the light code from the fan into the fireplace device, but it replaced the flame control light. I just don't know how to get both.

Would this be basically the same fix to get fan controls by modifying the fan.py?

nguyer commented 4 years ago

@iceman23e So just to clarify, to make sure I understand...

You have a device that both has a light, and a flame? But because we now treat the flame as a light, you can't switch the actual light on and off?

iceman23e commented 4 years ago

@nguyer correct.

My fireplace can modulate 5 flame levels, has 3 light brightness levels (though it appears the device info from bond only allows this light on/off?) and has 3 fan speeds. You are correct that the current code is not able to control the actual light, only the flame.