aarons22 / homebridge-bond

Homebridge plugin for Bond
MIT License
64 stars 31 forks source link

Low/High flame for Fireplace #117

Open kavakia opened 4 years ago

kavakia commented 4 years ago

Hi,

Any plans on adding this in the future? Seems like bond captures the functionality and I can higher/lower the flame from the bond hub app. Would be nice to see it on homekit as well

11/8/2020, 7:04:38 PM [Bond] Configuring Accessory: Living Room Fireplace 11/8/2020, 7:04:38 PM [Bond] [Fireplace] actions: TurnOn,TurnOff,IncreaseFlame,DecreaseFlame,Stop,TogglePower,SetFlame

Not that familiar with homebridge or coding.

Thanks

aarons22 commented 3 years ago

Hi @kavakia - Are you thinking this would operate similar to a lightbulb where flame can be controlled with lightbulb brightness? There isn't a Fireplace type in Homekit, so it would likely appear as a dimmable light.

kavakia commented 3 years ago

I am currently using the fan icon in homekit (as subjectively in my mind it resembles closer to a fireplace).

The gas valve is controlled by the mertik maxitrol gv60 valve. it is the most common valve used by a bit more advanced fireplaces like valor, ortal, flare etc. The valve is controlled by an rf remote which the bond hub mimics.

The documentation on the valve says that it takes approximately 12 seconds for the flame to go from the highest to the lowest point and the reverse. Every time you open the fireplace it defaults to the highest flame. Based on my observations one bond hub command to lower the flame corresponds to approximately 1 second and therefore i need to “click” the “down” button on the bond hub app 12 times in order to go from the highest to the lowest point.

Therefore it would be nice to set the “brightness” or fan speed in the middle and have the bond hub send the command 6 times. Unless u can find a smarter way of doing this.

Hopefully all this makes sense

On Mon, Dec 14, 2020 at 5:39 PM Aaron Sapp notifications@github.com wrote:

Hi @kavakia https://github.com/kavakia - Are you thinking this would operate similar to a lightbulb where flame can be controlled with lightbulb brightness? There isn't a Fireplace type in Homekit, so it would likely appear as a dimmable light.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/aarons22/homebridge-bond/issues/117#issuecomment-744980053, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANFDGPIGQR7KQGCTGOW4SYDSU245BANCNFSM4TQDRXCA .

aarons22 commented 3 years ago

The best I could do here is what the Bond hub app does, which would be to expose two buttons: one for increase flame, one for decrease. Unless Bond starts tracking the state of the flame, I wouldn't be able to expose it as a brightness slider since I will never actually know what the current flame "value" is.

These two buttons would just be switches in HomeKit, since that's the only way to expose these things. I'm already doing something similar for light increase/decrease brightness when state isn't available.

IMNotMax commented 3 years ago

Hi there. First of all, great job ! I bought a bond hub as soon I discovered your homebridge plugin ! (you should ask for rewards ;) ). I have a fireplace (Jötul) and the on/off works great. the bond app and my alexa can control the flame, like a dimmer light (but I would prefer the fan speed method 1-2-3). If this could help, I copy below the payload of the fireplace.

Fell free to ask if you want (beta)testers :)

`curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyyy.yyy.yyyy.yyyy/v2/devices/17edbe8e HTTP/1.1 200 OK Content-Length: 350 Content-Type: application/json; charset=utf-8

{"name":"Foyer","type":"FP","location":"Salon","actions":["SetFlame","SetFpFan","TurnOn","TurnLightOff","IncreaseFlame","TurnFpFanOff","TurnOff","TurnFpFanOn","TurnLightOn","DecreaseFlame","Stop","TogglePower","ToggleLight"],"":"086e50a1","commands":{"":"8907c896"},"state":{"":"df0e05e1"},"properties":{"":"80f0c5b3"},"skeds":{"_":"b02acedd"}}`

The bond app (looks like the API does not expose Low-Medium-High flame...) image

And the Alexa App (in french.. sorry) image

aarons22 commented 3 years ago

hi @IMNotMax - what would be helpful is if you could enable debug mode and look through the logs for a message starting with "UDP Message received from" after adjusting the flame level in the bond app. That will help me understand how the state of the fireplace changes!

aarons22 commented 3 years ago

You can also do a CURL request to get the state directly after changing it: http://yyyy.yyy.yyyy.yyyy/v2/devices/17edbe8e/state

IMNotMax commented 3 years ago

Sorry for the delay... didn't see the notification.

Here the curl result before, during and after playing with the up and down button on the bond app

The "flame" value changes (50 was just the ON button) I noticed the bond bridge does not send every flame step to the fireplace.

pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/
HTTP/1.1 200 OK
Content-Length: 350
Content-Type: application/json; charset=utf-8

{"name":"Foyer","type":"FP","location":"Salon","actions":["SetFlame","SetFpFan","TurnOn","TurnLightOff","IncreaseFlame","TurnFpFanOff","TurnOff","TurnFpFanOn","TurnLightOn","DecreaseFlame","Stop","TogglePower","ToggleLight"],"_":"9a76276e","commands":{"_":"50b6e3c1"},"state":{"_":"0479f5a0"},"properties":{"_":"60cb7d05"},"skeds":{"_":"5256d04f"}}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":50,"fpfan_power":0,"fpfan_speed":1,"_":"0479f5a0"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":49,"fpfan_power":0,"fpfan_speed":1,"_":"f4420f1c"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":49,"fpfan_power":0,"fpfan_speed":1,"_":"f4420f1c"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 80
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":1,"fpfan_power":0,"fpfan_speed":1,"_":"fed6db22"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 80
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":1,"fpfan_power":0,"fpfan_speed":1,"_":"fed6db22"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 80
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":5,"fpfan_power":0,"fpfan_speed":1,"_":"667a4713"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 80
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":7,"fpfan_power":0,"fpfan_speed":1,"_":"40ca0653"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":10,"fpfan_power":0,"fpfan_speed":1,"_":"26b9dad4"}
pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 81
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":21,"fpfan_power":0,"fpfan_speed":1,"_":"179b48e6"}

Send the debug log later.

IMNotMax commented 3 years ago

Homebridge Debug when playing with Bond app buttons :

(this debug follows exactly the CURL above)

UP BUTTON

[3/20/2021, 10:42:41 PM] [Bond] UDP Message received from yyy.yyy.yyy.yyy:30007 - {"B":"ZZDD35986","t":"devices/17edbe8e/state","i":"050000e33a10210a","f":100,"s":200,"m":0,"x":"bond","b":{"power":1,"light":0,"flame":22,"fpfan_power":0,"fpfan_speed":1,"_":"dc659ba5"}}
[3/20/2021, 10:42:41 PM] [Bond] [Foyer] Received new state: {"power":1,"light":0,"flame":22,"fpfan_power":0,"fpfan_speed":1,"_":"dc659ba5"}

HIGH FLAME BUTTON
[3/20/2021, 10:43:20 PM] [Bond] UDP Message received from yyy.yyy.yyy.yyy:30007 - {"B":"ZZDD35986","t":"devices/17edbe8e/state","i":"0500004b2f7773c6","f":100,"s":200,"m":0,"x":"bond","b":{"power":1,"light":0,"flame":100,"fpfan_power":0,"fpfan_speed":1,"_":"962aa516"}}
[3/20/2021, 10:43:20 PM] [Bond] [Foyer] Received new state: {"power":1,"light":0,"flame":100,"fpfan_power":0,"fpfan_speed":1,"_":"962aa516"}

And the last CURL (with flame 100 - higher value)

pi@RaspDev:~ $ curl -H "BOND-Token: xxxxxxxxxxxxxxxx" -i http://yyy.yyy.yyy.yyy/v2/devices/17edbe8e/state
HTTP/1.1 200 OK
Content-Length: 82
Content-Type: application/json; charset=utf-8

{"power":1,"light":0,"flame":100,"fpfan_power":0,"fpfan_speed":1,"_":"962aa516"}
aarons22 commented 3 years ago

@IMNotMax Thanks for the logs, they were very helpful! I added flame support in 3.2.8. The fireplace is now treated as a light, and the brightness slider should adjust the flame. Please give it a shot and report back with any issues!

IMNotMax commented 3 years ago

Currently updating the plugin. I'm going to test it (even if the fireplace season is going to end soon ;) ) Thank you for this work !

IMNotMax commented 3 years ago

Hi @aarons22 ! dimmer looks et works great on my setup ! But the on/off toggle don't toggle anything... I'm talking about the On/Off switch, not the toggle state button.

aarons22 commented 3 years ago

Hey @IMNotMax - does dimming to 0 turn off the flame? Also, can you provide some debug logs here?

IMNotMax commented 3 years ago

Yes, it does. THat's the way I began to use it. Nice !

seanwalter commented 11 months ago

I have a similar issue. I can start/stop the flame by moving the dimmer >0% to start it and then back to 0% to stop it. However, I programmed the Bond to have “flame up” and “flame down” buttons, and these don’t seem to be passed through to HomeKit.

I have tried moving the dimmer partially up/down instead, but no signal is sent on those actions. I would be happy keeping on/off as a dimmer in HomeKit and having switches exposed in HomeKit for flame up and for flame down.

kavakia commented 11 months ago

following as i m having the same functionality and would love the one proposed.

On Sat, Nov 18, 2023 at 5:29 PM seanwalter @.***> wrote:

I have a similar issue. I can start/stop the flame by moving the dimmer

0% to start it and then back to 0% to stop it. However, I programmed the Bond to have “flame up” and “flame down” buttons, and these don’t seem to be passed through to HomeKit.

I have tried moving the dimmer partially up/down instead, but no signal is sent on those actions. I would be happy keeping on/off as a dimmer in HomeKit and having switches exposed in HomeKit for flame up and for flame down.

— Reply to this email directly, view it on GitHub https://github.com/aarons22/homebridge-bond/issues/117#issuecomment-1817710897, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANFDGPNLPJCEEKFP74E4Z7LYFFOHFAVCNFSM4TQDRXCKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBRG43TCMBYHE3Q . You are receiving this because you were mentioned.Message ID: @.***>