What to do about spurious values from temperature sensor

I’m currently running Home Assistant 2023.3.1, with supervisor 2023.03.1 and OS 9.5 on a seperate Raspberry pi with a ConBee II. I’ve got version 6.18.0 of the deCONZ addon installed to manage my Zigbee devices.

I have a pair of Aqara/Xiaomi multi-sensors (Temperature / Humidity / Air Pressure) and they’ve been working flawlessly for 18 months or so. After doing a recent update, i’m getting spurious readings (-100 degrees).

after activating debug on the deconz component I see these log lines:

2023-03-14 10:37:36.869 DEBUG (MainThread) [pydeconz.websocket] {"e":"changed","id":"3","r":"sensors","state":{"lastupdated":"2023-03-14T02:37:36.864","temperature":-10000},"t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"}
2023-03-14 10:37:37.242 DEBUG (MainThread) [pydeconz.websocket] {"e":"changed","id":"3","r":"sensors","state":"lastupdated":"2023-03-14T02:37:37.238","temperature":2445},"t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"}

I’m assuming this implies that i’m getting bad data from deconz/phoscon? Any ideas how I can debug from that end to see what’s going on?

Also, is there a way I can filter these via home assistant? I tried the filter sensor, but this doesn’t seem to work:

  - platform: filter
    name: "filtered livingroom temperature"
    entity_id: sensor.livingroom_sensor_temperature
    unique_id: livingroom_temperature_filtered
    filters:
      - filter: outlier
        window_size: 4
        radius: 6.0
  - platform: filter
    name: "filtered bedroom temperature"
    entity_id: sensor.bedroom_temperature
    unique_id: bedroom_temperature_filtered
    filters:
      - filter: outlier
        window_size: 4
        radius: 6.0

So this is definitely not a home assistant problem. I just watched some logging when some spurious data came in.

Here is the deconz log output:

17:58:54:092 Websocket 172.30.32.1:55892 send message: {"attr": {"id"•"4", "lastannounced":null, "lastseen":"2023-03-14T09:58Z", "manufacturername"."LUMI","modelid™:"lumi.weather™, "name":"Livingroom Sensor", "swversion":"20191205","type":"ZHAHumidity","uniqueid™:"00:15:8d:00:02:53:18:07-01-0405"},"e":"changed","id":"4","r"."sensors","*":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0405"}(ret=332)
17:58:54:094 Websocket 172.30.32.1:55892 send message: {"attr": {"id"."3","lastannounced™:null, "lastseen":"2023-03-14T09:58Z", "manufacturername":"LUMI","modelid":"lumi.weather","name":"Livingroom Sensor","swversion":"20191205","type":"ZHATemperature","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"),"e":"changed","id™:"3","r":"sensors","**:"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"}(ret=335)
17:58:54:097 Websocket 172.30.32.1:55892 send message: {"e" "changed", "id":"3", "r" "sensors", "state": {"lastupdated™:"2023-03-14T09:58:54.072","temperature":2404),"":"event", "uniqueid":"00:15:8d:00:02:53:18:07-01-0402"} (ret = 164)
17:58:54:100 Websocket 172.30.32.1:55892 send message: {"attr": {"id":"5","lastannounced™:null,"lastseen":"2023-03-14T09:58Z", "manufacturername":"LUMI","modelid":"lumi.weather", "name":"Livingroom Sensor","swversion":"20191205","type":"ZHAPressure","uniqueid":"00:15:8d:00:02:53:18:07-01-0403"},"e"."changed","id":"5","~"."sensors","*":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0403"}(ret=332)
17:58:54:123 Wait 1s till query finished
17:58:54:156 APS-DATA.indication scAddr: 0x5bad, scEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0×0405, Iqi: 255, rssi: -48
17:58:54:158
asdu: 18050a000021d815
17:58:54:159 INSERT INTO resource items (sub device id,item,value,source, timestamp) SELECT id, 'state/humidity', '5592', 'dev', 1678787934 FROM sub devices WHERE uniqueid = '00:15:8d:00:02:53:18:07-01-0405'
17:58:54:174 (INFO] - No button map for: lumi.weather, unicast to: 0x0000, endpoint: 0x01, cluster: 0×0405, command: OXOA, payload: 000021D815, zcIseq: 5
17:58:54:175 ZCL attribute report 0x00158D0002531807 for cluster: 0x0405, ep: 0x01, frame control: 0x18, mcode: 0x0000
17:58:54:177
payload: 000021d815
17:58:54:178 Websocket 172.30.32.1:55892 send message: {"" "changed", "id" "4", "r"."sensors", "state": {"humidity":5592,"lastupdated™:"2023-03-14T09:58:54.159"),"*";"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0405") (ret = 161)
17:58:54:495 APS-DATA.indication scAddr: 0x5bad, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0×0402, Iqi: 255, rssi: -48
17:58:54:496
asdu: 18000a000029f0d8
17:58:54:499 [INFO] - No button map for: lumi.weather, unicast to: 0x0000, endpoint: 0x01, cluster: 0x0402, command: 0x0A, payload: 000029F0D8, zcISeq: 0
17:58:54:500 ZCL attribute report 0x00158D0002531807 for cluster: 0x0402, ep: 0x01, frame control: 0x18, mfcode: 0x0000
17:58:54:501
payload: 0000290d8
17:58:54:502 Websocket 172.30.32.1:55892 send message: {"":"changed", "id":"3", "r*:"sensors", "state": {"lastupdated":"2023-03-14709:58:54.499","temperature": 10000},"t":"event", "uniqueid":"00:15:8d:00:02:53:18:07-01-0402"} (ret = 166)
17:58:54:588 APS-DATA.indication scAddr: 0x5bad, srcEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0×0405, Iqi: 255, rssi: -48
17:58:54:591
asdu: 18010a0000219cff
17:58:54:593 [INFO] - No button map for: lumi.weather, unicast to: 0x0000, endpoint: 0x01, cluster: 0x0405, command: 0x0A, payload: 0000219CFF, zcISeq: 1
17:58:54:595 ZCL attribute report 0x00158D0002531807 for cluster: 0x0405, ep: 0x01, frame control: 0x18, mcode: 0x0000
17:58:54:596
payload: 0000219cff
17:58:54:681 APS-DATA.indication srcAddr: 0x5bad, scEp: 0x01 dstAddrMode: 2, profile: 0x0104, cluster: 0×0403, Iqi: 255, rssi: -48
17:58:54:682
asdu: 18020a000029503140028f1000299b27
17:58:54:684 [INFO] - No button map for: lumi.weather, unicast to: 0x0000, endpoint: 0x01, cluster: 0x0403, command: 0x0A, payload: 000029F503140028FF1000299B27, zcISeq: 2
17:58:54:686 ZCL attribute report 0x00158D0002531807 for cluster: 0x0403, ep: 0x01, frame control: 0x18, mfcode: 0x0000
17:58:54:688
payload: 000029503140028f100029927
17:58:54:689 Websocket 172.30.32.1:55892 send message: {"e":"changed", "id"."5", "r". "sensors", "state": {"lastupdated"«"2023-03-14T09:58:54.684","pressure":1013),"t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0403"} (ret = 161)

and in home assistant:

2023-03-14 17:58:54.094 DEBUG (MainThread) [pydeconz.websocket] {"attr":{"id":"4","lastannounced":null,"lastseen":"2023-03-14T09:58Z","manufacturername":"LUMI","modelid":"lumi.weather","name":"Livingroom Sensor","swversion":"20191205","type":"ZHAHumidity","uniqueid":"00:15:8d:00:02:53:18:07-01-0405"},"e":"changed","id":"4","r":"sensors","t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0405"}
2023-03-14 17:58:54.098 DEBUG (MainThread) [pydeconz.websocket] {"attr":{"id":"3","lastannounced":null,"lastseen":"2023-03-14T09:58Z","manufacturername":"LUMI","modelid":"lumi.weather","name":"Livingroom Sensor","swversion":"20191205","type":"ZHATemperature","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"},"e":"changed","id":"3","r":"sensors","t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"}
2023-03-14 17:58:54.100 DEBUG (MainThread) [pydeconz.websocket] {"e":"changed","id":"3","r":"sensors","state":{"lastupdated":"2023-03-14T09:58:54.072","temperature":2404},"t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"}
2023-03-14 17:58:54.104 DEBUG (MainThread) [pydeconz.websocket] {"attr":{"id":"5","lastannounced":null,"lastseen":"2023-03-14T09:58Z","manufacturername":"LUMI","modelid":"lumi.weather","name":"Livingroom Sensor","swversion":"20191205","type":"ZHAPressure","uniqueid":"00:15:8d:00:02:53:18:07-01-0403"},"e":"changed","id":"5","r":"sensors","t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0403"}
2023-03-14 17:58:54.180 DEBUG (MainThread) [pydeconz.websocket] {"e":"changed","id":"4","r":"sensors","state":{"humidity":5592,"lastupdated":"2023-03-14T09:58:54.159"},"t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0405"}
2023-03-14 17:58:54.504 DEBUG (MainThread) [pydeconz.websocket] {"e":"changed","id":"3","r":"sensors","state":{"lastupdated":"2023-03-14T09:58:54.499","temperature":-10000},"t":"event","uniqueid":"00:15:8d:00:02:53:18:07-01-0402"}

Never mind. Found it. The issue is listed here. Looks like it’ll go into the 2.21 release, so as soon as deConz upgrades, i should be fine. So i can either downgrade, or wait.

I’d appreciate knowing how i could filter these results while i wait for the deconz addon to be updated.

So it looks like the issue with filter was - the config wasn’t reloading (that being said, filter can be really bad if the first values that come in are odd)