ble2mqtt icon indicating copy to clipboard operation
ble2mqtt copied to clipboard

If sensor is out of range the MQTT msg still sends the last value

Open khongpt opened this issue 2 years ago • 1 comments

I have been using Xiaomi LYWSD_ATC sensor for a while and noticed a problem. When the sensor is out of range or runs out of battery, the MQTT message still sends the last value - an unchanged value to the MQTT server. If the sensor is within range, everything works fine.

Please take some time to fix this. Thank you.

Here is apart of log

2023-10-13 08:19:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:20:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:21:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:22:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:23:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:24:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:25:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:26:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:27:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:28:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:29:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:30:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:31:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:32:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:33:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:34:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:35:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:36:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:37:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:38:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:39:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:40:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:41:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:42:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:43:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:44:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:45:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:46:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:47:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:48:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:49:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)
2023-10-13 08:50:43 INFO: [Xiaomi_ATC_C21074_a4c138c21074] send state=SensorState(battery=68, temperature=30.2, humidity=77, sends_custom=False)

Illustrated when using ble2mqtt with Domoticz image

khongpt avatar Oct 13 '23 13:10 khongpt

Today I tried again with the Mijia2 sensor running ATC firmware. The sensor ran out of battery, but the old values continued to be updated through MQTT messages. Please review and help fix this issue.

khongpt avatar Jan 16 '24 08:01 khongpt