IKEA VINDSTYRKA Zigbee Air quality sensor

Anyone in the position to compare one of these to an AirGradient?

1 Like

Thanks - this along with another post helped me get TVOC working in ZHA - any idea how to get a line chart rather than this:


I tried adding graph: line but it doesn’t seem to change?

I picked one up today, will start hacking away at it.

Try to add a unit of measurement?

Hi. Could you share what steps have you taken to have everything working. There are several codes in this thread and I would just like to make it work and I mean all sensors not just VOC. Thanks

So I installed the ZHA toolkit, then created a sensor template and then an automation - combined info from posts by @jonixx and @paulvt - at the moment I’ve ended up with sensor template like this:

This was created under Helpers > Create Helper > Template > Template a sensor

My automation yaml is:

alias: Read Ikea TVOC
description: Use ZHA_toolkit
trigger:
  - platform: time_pattern
    seconds: "0"
    minutes: /1
condition: []
action:
  - service: zha_toolkit.attr_read
    data:
      ieee: (use your zigbee IEEE address from the zigbee ikea device page under zigbee info)
      endpoint: 1
      cluster: 64638
      attribute: 0
      manf: 4476
      state_id: sensor.ikea_tvoc
mode: single

The only issue right now is that somewhere along the way, when I click on the sensor it now says “This entity is no longer being provided by the template integration. If the entity is no longer in use, delete it in settings.”

But otherwise seems like it is working.

1 Like

I got bogged down on this device a little while back and now I can’t find the links I was reading.

But anyway the vindstyrka does not measure tvoc using ppm. It uses something called the “sensirion voc index” which technically doesn’t have a unit of measurement so there is no way to compare it with the readings from, say, an aqara tvoc sensor.

There’s no direct conversion between the voc index and ppm.

Edit: oh it looks like the links I was reading were from earlier in this thread :man_facepalming:

Anyway ppm is not the proper unit of measurement for the vindstyrka

yeah that’s understood - just wanted to have the “index” viewable/plotted in HA. If there’s a better device class/unit of measurement to use then I’d like to know what to use.

1 Like

Excellent thank you. Will jump on it tonight

Ok 10 4. I have both the vindstyrka and the aqara tvoc and spent way too long trying to understand why I couldn’t compare numbers between the two lol.

Nice guys!
Also got this working with the custom sensor and automation with zha toolkit.
What I find weird, is that with both of my Vindstryka’s (same batch) the value of PM2.5 is around 1 or 2 PPM. Is this normal indoors?

Mine usually stays very low as well. But if you place one near the kitchen and cook something, you might notice it shoot up and then gradually fall back down.

So I’ve ended up with the following sensor template config:

Which despite the red warning that I think made me go round in circles initially, does seem to work and makes sense from the point of view of the TVOC value being a kind of “air quality” index.

PM 2.5 is badly affected by showers and cooking in my home, despite being in a completely separate room makes me wonder how meaningful the measurements really are. Will maybe consider an outdoor sensor at some point.

Yes, I have two of the AirGradient One V9 indoor monitors and a couple of VINDSTYRKA’s.

AirGradient pros:

  • More sensors (CO2, NOx, TVOC, PM2.5, Temp, Humidity).
  • Runs on ESP32: can be flashed with ESPHome.
  • Open source hardware and software.
  • Direct access to raw sensor data: no silly rounding like what VINDSTYRKA does with the temperature.
  • Programmable OLED display and RGB light bar.

AirGradient cons:

  • Larger footprint: the sensors inside were spaced apart to ensure they don’t influence each other, this does make the overall device more substantial.
  • Significantly more expensive: most of the additional cost goes towards the sensor suite, especially the CO2 sensor is not cheap.
  • No native integration with HA.

As far as integrating them with HA goes: VINDSTYRKA is a Zigbee product that works natively with ZHA/zigbee2mqtt; AirGradient devices must be flashed with ESPHome before they can be integrated (or can be integrated using a custom component and some tweaking of the stock firmware).

Overall I’m very happy with my AirGradients, the CO2 reading is especially useful to judge indoor air quality in my WFH office. I’ve retired all but one VINDSTYRKA since getting them.

1 Like

I have an indoor PurpleAir and this is normal; as said above, cooking does tend to rise PM 2.5 depending on what is cooking.

Hello! I managed to get the Particulate matter and tVOC values coming through just with the Read attribute automation shared in this thread. I didn’t create a Template Sensor (i guess it was created automatically: sensor.air_monitor_voc_index)

alias: Read PM2.5
description: ""
trigger:
  - platform: time_pattern
    minutes: /1
condition: []
action:
  - service: zha_toolkit.attr_read
    data:
      ieee: sensor.air_monitor_particulate_matter
      use_cache: false
      force_update: true
      endpoint: 1
      cluster: 1066
      attribute: 0
  - service: zha_toolkit.attr_read
    data:
      ieee: sensor.air_monitor_particulate_matter
      endpoint: 1
      manf: 4476
      cluster: 64638
      attribute: 0
      state_id: sensor.air_monitor_voc_index
      allow_create: true
mode: single

But i want to add a unit to the sensor for the historical data - I couldn’t see how to create it in the UI

I don’t have this option HA installed in docker/rpi 4 (version: Home Assistant 2023.6.3 Frontend 20230608.0 - latest ). I installed ZHA_Toolkit but I still didn’t see the Template Sensor option in Helpers. Is my HA too old, or how can I get this option in the UI? (I’m HA noob)

Its under Settings > Devices & Services > Helpers - i’m also new to HA but on the latest.

Cheers for your reply - yes it’s odd, I don’t have this option:

I’ve connected two of these to the Dirigera hub, and the hub to HA via the homekit integration.

Almost everything works perfectly, except for PM2.5 reporting. The values in HA are completely out of sync with the display on the sensors (1 or 2 when the sensors show 12-25).

It doesn’t seem to be a simple unit error (i.e. offset by a power of 10), since I’ve seen 2 in HA and ~10 on the sensor, as well as 1 in HA and >20 on the sensor.

Any suggestions on how to debug this?

Does anyone have the cluster id at hand for the temperature sensor? I’d like to command more frequent updates.