Sending TurnLightOn command turns off fan when it's in breeze mode (OEMRandom)

The bond integration with home assistant didn’t expose anything except light on/off and fan on/off so I built everything myself by sending rest commands to the Bond API and I am able to turn the light on off, specify speeds 1-6, and breeze speeds 1-3. However in doing my testing, I’ve found that when the light is off and breeze mode is on, turning the light on (almost always) turns off the fan. One time, when in breeze mode 1, turning on the light turned the fan to breeze mode 3 (high).

I tried sending the “TurnOn” command first to ensure the state was correct for power, then setting breeze mode, then turning on the light but it didn’t make a difference. I’m not exactly sure why, but it would appear the TurnLightOn command is also sending something else.

Using the supplied remote from the fan does not cause the issue to happen.

The remote was auto-recognized by bond. However, when trying to do it manually myself, it only gives me one “breeze” button but I was unable to learn the breeze command myself so I couldn’t try and redo it. It seems the only way to use this remote is to use the built in commands from Bond.

The fan in question is the Home Decorators Collection Kensgrove 54 in.

Here’s the experiments I ran and the results. When the fan is in a regular speed, not breeze mode, everything works as it should and the fan doesn’t turn off.

state:
    power 0
    speed 6
light is off
breeze 1 is on
turn light on
fan turns off but light stays on


state:
    power 0
    speed 6
light is off
breeze 3 is on
turn light on
fan turns off but light stays on


state:
    power 0
    speed 6
light is off
turn on fan (sets itself to 6)
state:
    power 1
    speed 6
turn on breeze 3
turn light on
fan turns stayed on breeze 3

state:
    power 0
    speed 6
light is off
turn on fan (sets itself to 6)
state:
    power 1
    speed 6
turn on breeze 1
turn light on
fan went to breeze 3

It almost seems like this is a “stateful remote” (in that the data packet sent to the fan’s receiver from the OEM remote or Bond contains a full status packet for fan speed/breeze as well as light status).
See also [SOLVED] {A25-TX028} Stateful remote fan request

Are you having these random results while using both the original remote and Bond, or, after putting the OEM remote in a drawer, can you get Bond to agree on the app with the full state of the fan and light in the real world?
Once the real world and the Bond app agree with what’s what, does it remain in sync as long as you only use Bond to change the state (keeping original remote in a drawer, unused, for this test)?

Yea I’m not entirely sure as to whether it’s stateful or not. It’s pretty inconsistent controlling directly from the remote. I’ll have to do more testing with the speeds / breeze modes to confirm. It almost seems as if the state only applies to the fan speeds, but not the breeze settings.

These random results are only with the Bond. I was very aware of the potential inconsistency with state by using the remote and the bond, so the remote is not in the picture at all and I’m only controlling via bond via home assistant so that’s the only source of truth.

Given I’m controlling this with home assistant, my next step is to just re-turn on the breeze setting again after sending the light on command. This works fine for me, but it’s just another step in the automations that would be nice if I didn’t have to deal with.

This makes me so happy, as it does remove a lot of the variables.

Post an update if you are able to bring any consistency and sanity to this, and how - or else maybe we can try to look at more options to troubleshoot if you can’t get it to behave.

Hey @JPTxNha ,

I’m not that into Home Assistant and the Bond integration, but I’ll try to help :slight_smile:

In the first message, you said that:

The remote was auto-recognized by bond. However, when trying to do it manually myself

Can’t you use the remote auto-recognized by Bond? If the device is stateful, I believe that the Bond builds all the current state to avoid issues.

Did you perform more testings? If yes, how is it working right now?