H801 Tasmota Homekit - Strange Behaviour!

I have a H801 flashed with Tasmota firmware.

All works perfectly via the HA user interface.

I have some extremely strange issues when using the included Homekit Integration and trying to control this light via my Home App on iOS.

When I utilise Siri to change lights, they are always one command behind!

Example =

Light is Red (set using the Home Aassistant colour wheel).
Command “Hey Siri, turn RGB Green” - Light goes to a weird murky kind of halfway colour.
Command “Hey Siri, turn RGB Pink” - Light goes to Green
Command “Hey Siri, turn TGB Yellow” - Light goes to Pink

Has anyone ever come across such behviour? I’ve not even started testing the HomeKit App yet.

The colours themselves are accurate for the previous command, I just dont understand why they are one command behind every time.

Thanks in advance for help.

Which light platform do you use?

Can you please test this with the demo platform and the Home App as well?

I use MQTT as the light platform. Config as below:

light 2:
platform: mqtt
name: “SteRGB2”
state_topic: “stat/sonoff/POWER”
command_topic: “cmnd/sonoff/POWER”
availability_topic: “tele/sonoff/LWT”
rgb_state_topic: “stat/sonoff/Color”
rgb_command_topic: “cmnd/sonoff/Color”
brightness_state_topic: “stat/sonoff/HsbColor3”
brightness_command_topic: “cmnd/sonoff/HsbColor3”
optimistic: false
qos: 1
payload_on: “ON”
payload_off: “OFF”
payload_available: “Online”
payload_not_available: “Offline”
retain: false

The MQTT messages being published are accurate as to the colour that is being displayed, and as I said, the light via the Home Assistant UI is accurate and functions without issue.

I believe the issue is with what the the native Homekit integration is doing.

Please try the demo platform as well, since that is the only one we can truly compare!

I for one just tested it and everything works fine (with the demo component). That doesn’t mean that there isn’t an issue but it’s more then likely not with the homekit component.

Please try using the services panel as well and call light.turn_on with a color. That’s exactly what the homekit component is doing.

Hi there. Apologies for the delayed reply - once again I’ve been away.

Tried the demo platform - works exactly as expected using siri.

I have used the services panel also, and that performs as you would expect. This is definitely not a color format issue as the color it displays is perfect, but is 1 command behind.

This must be to do with the way the homekit component stores and sends messages as the mqtt topic is always updated with the color that displays - it’s just not the color that I asked for!

Any ideas on how I could test the homekit component itself?

Thanks again

I still don’t think that it’s the homekit component. Especially if it works fine with the demo component. Through the encapsulation of Home Assistant the homekit component doesn’t care who else listens for the state changes. It just pushes it the Home Assistant through light.turn_on.

If your still not convinced, enable debug logging:

logger:
  logs:
    homeassistant.components.homekit: debug

Have turned debugging on and it is miraculously working again having changed nothing in any config. May have hard rebooted the Pi. Thanks for your help mate, but looks as though updating my version to 0.83.0 and rebooting has fixed.

1 Like