Intermittent error from Hive water_heater.set_operation_mode

I have a very simple automation which turns my hot water on/off twice a day, using the official Hive integration, and most of the time it works fine. But once or twice a week it fails with …

Call a service ‘Water Heater: Set operation mode’ on Thermostat 1
Stopped because an error was encountered at 21 November 2023 at 08:00:00 (runtime: 0.16 seconds)
‘NoneType’ object has no attribute ‘status’

Similar automation for the central heating always works fine.
Hot water schedule controlled from Hive app worked fine.
Since it’s an intermittent failure, could there be some timing issue?

I created the automation with the visual editor, and the resulting YAML is -

alias: Heating Water On
description: ""
  - platform: time
    at: "07:00:00"
  - platform: time
    at: "20:00:00"
condition: []
  - service: water_heater.set_operation_mode
      operation_mode: "on"
      entity_id: water_heater.thermostat_1
mode: single


Hi again,

Is this the same issue as:

Hi, yes, same issue. Now seen on both ‘on’ and ‘off’ mode changes.

did the “wait and try again” not work?

Didn’t seem to help (same approx. failure rate of once every 4 or 5 days), so I figured the error is happening earlier on in the sequence.

Next summer the Hive integration may have to be removed when Hive retire their web dashboard (you may have received an email about this). Because of this, to retain the functionality (without the hub), you’ll need to move from the official integration to using Zigbee. I can recommend Z2M which I use (and therefore know works well with Hive) but ZHA may well work just as well.

Thanks a lot, that’s useful info. Could you let me know what Zigbee HW adapter you use? Or is that obvious from ‘Z2M’? Is it something I can just plug into an RPi4 ?

I personally use the Sonoff Dongle-P, but you can see all the supported adapters here:

Great, thank you.

For the time being, I’ll go back to using Hive app schedules for heating and hot water, and in parallel start looking into Z2M, in preparation for next summer.

Unless someone can shed some light on the ‘NoneType’ thing.