Zigbee2mqtt - how to force a device not asking for OTA updates? (Sage Doorbell Sensor)

I asked the same on GitHub, but maybe would have better luck here…?

I have a Sage Doorbell Sensor, and looks like mine is asking ota updates every few seconds… See below for some of those logs…

Now, the product has been discontinued since 2016, so not expecting there would be any new FW.
So in general, how do we turn that OTA request off? Or change the intervals to maybe once a week or once a day? Or is there some setting on the zigbee2mqtt side I can tweak?

(Or, did I read the log wrong?)

Debug 2023-02-02 22:45:28Device 'Doorbell Sensor' requested OTA
Debug 2023-02-02 22:45:28Responded to OTA request of 'Doorbell Sensor' with 'NO_IMAGE_AVAILABLE'
Debug 2023-02-02 22:45:33Received Zigbee message from 'Doorbell Sensor', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":9,"imageType":2,"manufacturerCode":4116}' from endpoint 18 with groupID 0
Info 2023-02-02 22:45:33MQTT publish: topic 'zigbee2mqtt/Doorbell Sensor', payload '{"action":null,"battery":null,"last_seen":"2023-02-03T03:45:33.884Z","linkquality":123}'
Debug 2023-02-02 22:45:33Device 'Doorbell Sensor' requested OTA
Debug 2023-02-02 22:45:35Responded to OTA request of 'Doorbell Sensor' with 'NO_IMAGE_AVAILABLE'
Debug 2023-02-02 22:45:42Received Zigbee message from 'Doorbell Sensor', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":9,"imageType":2,"manufacturerCode":4116}' from endpoint 18 with groupID 0
Info 2023-02-02 22:45:42MQTT publish: topic 'zigbee2mqtt/Doorbell Sensor', payload '{"action":null,"battery":null,"last_seen":"2023-02-03T03:45:42.976Z","linkquality":127}'
Debug 2023-02-02 22:45:42Device 'Doorbell Sensor' requested OTA
Debug 2023-02-02 22:45:43Responded to OTA request of 'Doorbell Sensor' with 'NO_IMAGE_AVAILABLE'
Debug 2023-02-02 22:45:55Received Zigbee message from 'Doorbell Sensor', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":9,"imageType":2,"manufacturerCode":4116}' from endpoint 18 with groupID 0
Info 2023-02-02 22:45:55MQTT publish: topic 'zigbee2mqtt/Doorbell Sensor', payload '{"action":null,"battery":null,"last_seen":"2023-02-03T03:45:55.041Z","linkquality":127}'
Debug 2023-02-02 22:45:55Device 'Doorbell Sensor' requested OTA
Debug 2023-02-02 22:45:56Responded to OTA request of 'Doorbell Sensor' with 'NO_IMAGE_AVAILABLE'
Debug 2023-02-02 22:47:14Received Zigbee message from 'Doorbell Sensor', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":9,"imageType":2,"manufacturerCode":4116}' from endpoint 18 with groupID 0
Info 2023-02-02 22:47:14MQTT publish: topic 'zigbee2mqtt/Doorbell Sensor', payload '{"action":null,"battery":null,"last_seen":"2023-02-03T03:47:14.757Z","linkquality":127}'
Debug 2023-02-02 22:47:14Device 'Doorbell Sensor' requested OTA
Debug 2023-02-02 22:47:14Responded to OTA request of 'Doorbell Sensor' with 'NO_IMAGE_AVAILABLE'
Debug 2023-02-02 22:47:19Received Zigbee message from 'Doorbell Sensor', type 'commandQueryNextImageRequest', cluster 'genOta', data '{"fieldControl":0,"fileVersion":9,"imageType":2,"manufacturerCode":4116}' from endpoint 18 with groupID 0
Info 2023-02-02 22:47:20MQTT publish: topic 'zigbee2mqtt/Doorbell Sensor', payload '{"action":null,"battery":null,"last_seen":"2023-02-03T03:47:20.037Z","linkquality":127}'
Debug 2023-02-02 22:47:20Device 'Doorbell Sensor' requested OTA
Debug 2023-02-02 22:47:20Responded to OTA request of 'Doorbell Sensor' with 'NO_IMAGE_AVAILABLE'

This is from the zigbee2mqtt user interface, where I clicked the sensor, and then the reporting tab.

And if try to change any of the attributes with for example min. 3600 and max 3600… I would be getting errors.

Error 2023-02-04 21:52:23Request 'zigbee2mqtt/bridge/request/device/configure_reporting' failed with error: 'ConfigureReporting 0x0008890001d9a831/18 genOta([{"attribute":"minimumBlockReqDelay","minimumReportInterval":"3600","maximumReportInterval":3600,"reportableChange":0}], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Status 'UNSUPPORTED_ATTRIBUTE')'

… so I’m still stuck. Is this not how I change the reporting interval? Is there somewhere else I should be checking?

Have you tried checking the disable automatic update check box or you are asking how to get rid of the update badge for this particular device??

Tank you @duceduc .Yes I have turned off (checked) the automatic update check.

But I believe that specific checkbox is to tell z2m whether to check new firmwares from various firmware servers… and my specific issue here is that the device (a doorbell sensor & a battery endpoint device) itself would want to ask for new firmware every few seconds… (see logs above - each of those started with Device 'Doorbell Sensor' requested OTA…)

Hence the question: Is there a way to tell this specific device to stop doing that, either completely or maybe once a day / once a week / once a month?
Is there something I should change in the config? or some commend somewhere I should do, using the z2m UI?

And if not, can we use z2m to tell all devices on my mesh network to stop asking new OTA firmware?

In Z2M I see this:
image

It showed power being a plug-in device, but that’s not true. it is a battery powered end device
image

OK I found this … looks like it is a known issue / behavior.

“_… it seems to be constantly sending OTA request (which zigbee2mqtt responds to not being available).”

Also:
hubitat-code/sage_doorbell_echostar.groovy at main · tmastersmart/hubitat-code (github.com)
Independently the driver devs at Hubitat land are also seeing constant pings with no way to silence the device. Per the codes (I believe) the driver would just drop those mystery pings from the log.

So I have just changed the battery with a fresh one - will come back and report how long it would last.

1 Like