ebaauw / homebridge-deconz

Homebridge plugin for deCONZ
Apache License 2.0
137 stars 7 forks source link

IKEA VINDSTYRKA sensor’s logs not reporting PM2.5, VOC Density and Air Quality #196

Closed Mvjb31 closed 11 months ago

Mvjb31 commented 11 months ago

Hello,

It seems like I’m facing issues with my IKEA VINDSTYRKA sensor’s logs not reporting VOC Density and Air Quality correctly after version 1.0.7. Additionally, there may be problems with distinguishing between different types of measurements in HomeKit Controller.

The initialization logs from deCONZ show the creation of resources for Temperature, Humidity, and two AirQuality, but without clear distinctions between air quality, PM2.5, and VOC measurements.

To troubleshoot, i updated the plugin deCONZ version, and my Homebridge and deCONZ Docker containers are up to date.

Since version 1.0.7, my IKEA VINDSTYRKA sensor no longer reports the VOC Density and Air Quality logs below: [2023/09/1 22:28:30] [deCONZ] Capteur-Vindstyrka: VOC Density: set to 448 ?g/m? (from 452 ?g/m?) [2023/09/1 22:18:32] [deCONZ] Capteur-Vindstyrka: Air Quality: set to 2 (from 1) Since version 1.0.8, I think it's the turn of the pm2.5 log: [2023/09/1 22:28:30] [deCONZ] Capteur-Vindstyrka: PM2.5 Density: set to 3 ?g/m? (from 6 ?g/m?) This is annoying for me because I use the logs to send data to an influxDB and Grafana.

When the plugin starts, there is the creation of 4 ressources (Temperature, Humidity and 2 AirQuality) but without distinction of measurement type (air quality, pm2.5 and voc). In the HomeKit Controller application, I have the different types of measurement but voc and air quality seem frozen.

IMG_0056 IMG_0057 IMG_0058

Here are the deconz plugin initialization logs: [2023/12/5 21:42:10] [deCONZ] Capteur-Vindstyrka: cached Sensor v1.0.8 385CFBFFFEBA1125 [2023/12/5 21:42:13] [deCONZ] Phoscon-GW: Capteur-Vindstyrka: exposed by gold ddf [2023/12/5 21:42:13] [deCONZ] Phoscon-GW: Capteur-Vindstyrka: add accessory [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: uiPort: set to 38185 (from 42547) [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: IKEA of Sweden VINDSTYRKA v1.0.010 (4 resources) [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: 4 resources: /sensors/60, /sensors/61, /sensors/62, /sensors/63 [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/60: capabilities: {} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/60: params: {"primaryService":true,"serviceName":"Temperature"} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: Last Updated: set to "Tue Dec 05 2023 21:41:59" (from "Tue Dec 05 2023 21:37:00") [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/61: capabilities: {} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/61: params: {"serviceName":"Humidity"} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/62: capabilities: {} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/62: params: {"serviceName":"AirQuality"} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/63: capabilities: {} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: /sensors/63: params: {"serviceName":"AirQuality"} [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: fingerPrint: 0x03010202022202 [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: subscribe to /sensors/60 [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: subscribe to /sensors/61 [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: subscribe to /sensors/62 [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: subscribe to /sensors/63 [2023/12/5 21:42:13] [deCONZ] Capteur-Vindstyrka: initialise

My Homebridge configuration (docker) is: OS : Ubuntu Jammy Jellyfish (22.04.3 LTS) Nodes: v20.10.0 (latest) HB: 1.7.0 (latest) HBui: 4.53.0 (latest)

My Deconz docker configuration is: deconz: image: deconzcommunity/deconz:2.24.2 (latest 2023/12/5)

Other information, on November 18 I migrated Homebridge from Windows VM to Docker on Synology. The problems started on November 20 according to Grafana.

Do you have an idea ? thank you for your support

ebaauw commented 11 months ago

If you exposed the VINDSTYRKA using an older version of deCONZ and/or Homebridge deCONZ, you might need to un-expose and re-expose it. The way deCONZ exposes it has changed (it now uses ZHAParticulateMatter for PM2.5 instead of ZHAAirQuality).

Did you double-check that the deCONZ API updates the values?

When the plugin starts, there is the creation of 4 ressources (Temperature, Humidity and 2 AirQuality) but without distinction of measurement type (air quality, pm2.5 and voc).

Homebridge deCONZ doesn't create any resources; these are exposed by the deCONZ REST API. Homebridge deCONZ creates HomeKit accessories, services, and characteristics. Note that the tVOC from the ZHAAirQuality resource and the PM2.5 density from the ZHAParticulateMatter resource are combined into a single Air Quality service (for Eve to show tVOC history correctly).

This is annoying for me because I use the logs to send data to an influxDB and Grafana.

That's seems like a detour; I would use the deCONZ web socket notifications for that, to avoid a dependency on Homebridge.

Mvjb31 commented 11 months ago

Hello,

Thank you for reaching out. After updating the firmware and reinstalling the Docker deconzcommunity/deconz:2.24.2, I noticed via the “API information” http://localhost:port/pwa/debug-api.html of PhosconApp that the metadata capabilities.measured_value.max was equal to min 0.

{ "capabilities": { "measured_value": { "max": 0, "min": 0, "quantity": "level", "substance": "tVOC", "unit": "ppb" } }, "config": { "on": true, "reachable": true }, "ep": 1, "etag": "xxx", "lastannounced": "2023-12-10T11:34:44Z", "lastseen": "2023-12-10T13:12Z", "manufacturername": "IKEA of Sweden", "modelid": "VINDSTYRKA", "name": "Capteur-Vindstyrka", "productid": "E2112", "state": { "airquality": "excellent", "airqualityppb": 424, "lastupdated": "2023-12-10T13:10:13.446", "measured_value": 424 }, "swversion": "1.0.010", "type": "ZHAAirQuality", "uniqueid": "xxx" }

I managed to change the max value in the Deconz application, Cluster Info menu of the Ikea Vindstyrka component. I could only set it to 500; attempting more forced it to 500.

{ "capabilities": { "measured_value": { "max": 500, "min": 0, "quantity": "level", "substance": "tVOC", "unit": "ppb" } }, …

I restarted my homebridge/deconz plugin, and the log miraculously returned: [2023/12/10 14:10:13] [deCONZ] Capteur-Vindstyrka: VOC Density: set to 1938 µg/m³ (from 960 µg/m³).

Eve and HomeKit Controller apps update correctly on all elements. The issue seems to originate from the capabilities.measured_value.max of the IKEA Vindstyrka component. Is this an anomaly in Deconz 2.24.2 or the component itself? Who should I contact?

Regarding VOC unit transformation from ppm to µg/m³, will the 500ppm limit suffice? Is this a limitation of the Deconz app or the IKEA Vindstyrka component?

For logs, I rely solely on homebridge logs as I monitor my entire setup through it.

You can close this issue, thank you very much.

ebaauw commented 11 months ago

deCONZ should read the max value over Zigbee from the Vindstyrka. The Vindstyrka doesn’t report tVOC level in ppm, but some index, see https://github.com/dresden-elektronik/deconz-rest-plugin/pull/7297.