-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[New device support]: Ikea VINDSTYRKA Air Quality Monitor #16717
[New device support]: Ikea VINDSTYRKA Air Quality Monitor #16717
Comments
I've got one, too. Temperature and Humidity reporting is fairly standard and works with the code below, for instance. PM2.5 and TVOC though seems to be IKEA specific. Does anynone happen to have a Dirigera Hub and is able to provide a Zigbee packet capture so we can extract some information?
|
You can see if the PM2.5 works the same as on the starkvind. I went to ikea to find one to add support but they're not here yet where i live. |
Is it already available in Ikea Germany? I can't find it online .. : ( |
Unfortunately, Starkvind seems to use another cluster (manuSpecificIkeaAirPurifier with id 64637), while vindstyrka seems to publish PM2.5 data on cluster 1066. Strangely, the 1066 cluster is already assigned to heimanSpecificPM25Measurement - though reading values and configuring reporting both fail with UNSUPPORTED_ATTRIBUTE. I'll try to get around a dirigera gateway - I think capturing the real protocol is way easier than just wandering around in the dark and trial&error @kkossev I've got mine today in a local IKEA in Germany. They didn't publish the product on their website yet, but apparently it is already available in some stores |
Today I got the last one in Ikea Dresden, they told me they got 20pcs on thursday |
Okay turns out 1066 cluster isn't actually Heiman-Specific, but a general purpose PM2.5 cluster defined in the ZCL spec. So this definitely needs some patching in zigbee-herdsman (there is a manufacturer code specified for heimanSpecificPM25Measurement that prevents messages with the IKEA manufacturer code coming through). The following definition works for me. You might need to manually click on configure and it'll probably fail, but at least the sensor is reporting temperature, humidity and PM2.5. No clue for TVOC though... const fz = require('zigbee-herdsman-converters/converters/fromZigbee');
const tz = require('zigbee-herdsman-converters/converters/toZigbee');
const exposes = require('zigbee-herdsman-converters/lib/exposes');
const reporting = require('zigbee-herdsman-converters/lib/reporting');
const extend = require('zigbee-herdsman-converters/lib/extend');
const e = exposes.presets;
const ea = exposes.access;
const definition = {
zigbeeModel: ['VINDSTYRKA'],
model: 'VINDSTYRKA',
vendor: 'IKEA of Sweden',
description: 'IKEA Air Quality and Humidity sensor',
fromZigbee: [fz.temperature, fz.humidity, fz.heiman_pm25],
toZigbee: [],
exposes: [e.temperature(), e.humidity(), e.pm25()],
configure: async (device, coordinatorEndpoint, logger) => {
const ep = device.getEndpoint(1);
await reporting.bind(ep, coordinatorEndpoint, ["msTemperatureMeasurement", "msRelativeHumidity", "heimanSpecificPM25Measurement"]);
await ep.configureReporting("msTemperatureMeasurement", [{attribute: "measuredValue", minimumReportInterval: 30, maximumReportInterval: 120}]);
await ep.configureReporting("msRelativeHumidity", [{attribute: "measuredValue", minimumReportInterval: 30, maximumReportInterval: 120}]);
await ep.configureReporting("heimanSpecificPM25Measurement", [{attribute: "measuredValue",
minimumReportInterval: 30, maximumReportInterval: 60, reportableChange: 1}]);
}
}; |
@Astrofreak85 i had to do a factory reset first before I could pair it. Do you happen to have acess to a dirigera hub for capturing (or know anyone)? I'm also located near Dresden and would be keen to capture some data |
@Astrofreak85 push the Connect Button 4x to init an Reset and then its pairable |
@peterkappelt no sadly not, but if I can help anyway, just let me know |
@peterkappelt Great, this also works for me. I get the same measurements as you get. My guess is, that TVOC might not be reported over zigged at all. I tried also to use the corresponding definition for TVOC, but got no measurements: await ep.configureReporting("heimanSpecificAirQuality", [{attribute: "tvocMeasuredValue",
minimumReportInterval: 30, maximumReportInterval: 60, reportableChange: 1}]); As Ikea apparently does follow the specification for PM25 I suspect they would do the same for TVOC. |
@philippsandhaus Apparently, it does report TVOC data - at least that's what a dump from the gateway suggests. I wasn't able to figure out the meaning of the 64xxx clusters though, they didn't respond to basic attribute read commands. IKEA doesn't seem to fully follow the ZCL spec here either. PM2.5 reports as data type float, but per standard it should've been an integer. So we'll definitely need some manufacturer specific cluster definition. I'll try to submit a pull request till end of the week |
I also observed that PM2.5 is reported ~once per second, regardless of what I've configured for reporting. Can anyone confirm this behaviour? I definitely don't want that much traffic by default on my network |
@peterkappelt I tried your converter and receive PM2.5 reports as frequently as in your case. |
As a side note/might be useful for later: |
I've created a PR with the initial support, just fyi |
I don't know if this belongs here or not. After update to the current release I can find the Vindstyrka, but I only get the lqi readin, everything else stays at N/A |
The temperature precision is sooooo disappointing. I hope they somehow fix it |
Try removing it and adding it again, sounds like an incomplete interview. |
What do you mean? |
prolife86: rotilho likely refers to the lacking number of decimals. I think it's due to the sensors intrinsic measurement inaccuracy. So it doesn't get much more precise than this in terms of hardware. See the spec for details |
That's what I mean. It could at least have a 0.5 precision since the sensor has 0.45 accuracy. |
I have the same problem |
Hi guys, I just bought this Ikea air quality monitor. After pairing with Z2m i found out that the data in HA is NOT exactly the same as to what's showing on the ikea sensor screen. Is this normal? |
Link
Press Announcement
Database entry
Comments
I tried to add the device as described in the guide for adding new devices, but unfortunately the device does not report anything on its own. The guide suggests to add a configure: section and looking for definitions of similar devices, but I do not find any similar devices in Ikea.js. Could anyone point me in the right direction?
External converter
The text was updated successfully, but these errors were encountered: