-
Notifications
You must be signed in to change notification settings - Fork 506
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
DDF for IKEA VINDSTYRKA #7246
DDF for IKEA VINDSTYRKA #7246
Conversation
Add `state/measured_value` and `cap/measured_value/*`.
Add `state/measured_value` and `cap/measured_value/*`.
Expose `cap/measured_value` as map.
- Change PM2.5 sensor to ZHAParticulateMatter; - Add `state/measured_value` and associated `cap/measured_value` items to all sensors.
@ebaauw I have updated the github action to 1.8.1 with lastest changes of the validator, you can re-run the validator from the |
Add support for `DataTypeReal`.
Add support for `DataTypeReal`.
Express units in ASCII.
Support `measured_value`, see dresden-elektronik/deconz-rest-plugin#7246 and dresden-elektronik/deconz-rest-plugin#7248
I don't have the device for testing, PR looks fine to me except the |
Remove deprecated mark on `state/temperature`.
Updated. |
I think unit of measure for TVOC should be changed from PPB to a "general" INDEX. |
Already reported #7121 (comment) and #6673 (comment) but may be lost into larger discussions. |
An index is dimension-less, so
Indeed, you have, and that did slip my mind. Thanks for reminding us.
According to its spec sheet (link in above-mentioned comments), the SEN54 measures 1 to 1,000 ppm of ethanol equivalents. So that would imply a ppb scale of 1,000 to 1,000,000. Also, the spec sheet mentions "VOC", not "tVOC". The VINDSTYRKA display shows "tVOC", though. The referenced conversion table only shows ranges. This is enough to conclude the index value has no linear relationship to the TVOC level, but not enough to derive a conversion formula. We could do linear extrapolation in each range, but I'd rather see a proper formula, @BabaIsYou would you have that? Both I think I would rather have the API report tVOC level, and normalise |
I wrote INDEX because also PM 2.5 often uses a scale (called AQI) that goes from 0 to 500. |
Unfortunately I don't ! But I think that this kind of transformation won't reflect what this index is in reality. It's not a measure of a concentration but the reflect of an empiric variation on the last 24 hours. Then I think that I could be better to change unit and quantity in the device specific DDF for devices that are based on SEN54 sensor like the VindStyrka. |
AFAIK AQI is not limited to PM 2.5, iit's a kind of tVOC as it combines several substances to get an index : https://www.airnow.gov/sites/default/files/2020-05/aqi-technical-assistance-document-sept2018.pdf |
You're right, my misunderstanding of how it is calculated. The AQI is calculated from the upper pollutant (only one in youre case) based on the calculation chart and formula in pages 9-10 of the referenced pdf. |
Please stay on topic. |
May be we are if AQI and VOC index share the same formula and charts ;-) |
Fixed in #7297. |
Note: this PR depends on #7252.
This updated DDF for the IKEA VINDSTYRKA sensor introduces the new
state/measured_value
and correspondingcapabilities
items. Unfortunately, the sensor reports temperature and humidity at a coarse resolution, so we cannot see the floating point values in action.ZHATemperature
state/measured_value
, as float value in °C. Unfortunately, the sensor's granularity is limited to integer values;cap/measured_value
items.min
andmax
are reported by the sensor;quantity
,substance
, andunit
are defined in the DDF;state/temperature
(integer value in 0.01 °C);config/offset
(also integer value in 0.01 °C). I do apply it tostate/measured_value
, but ultimately, we want this as a float values as well. Maybe introduceconfig/measured_value/offset
and deprecateconfig/offset
?ZHAHumidity
state/measured_value
, as float value in %. Unfortunately, the sensor's granularity is limited to integer values;cap/measured_value
items.min
andmax
are reported by the sensor;quantity
,substance
, andunit
are defined in the DDF;state/temperature
(integer value in 0.01%);config/offset
(also integer value in 0.01%). I do apply it tostate/measured_value
, but ultimately, we want this as a float values as well. Maybe introduceconfig/measured_value/offset
and deprecateconfig/offset
?ZHAParticulateMatter
The sensor uses the standard 0x042A to report PM2.5 density.
type
to ZHAParticulateMatter (was ZHAAirQuality);state/measured_value
, as float value in µg/m³. Unfortunately, the sensor's granularity is limited to integer values;cap/measured_value
items.min
andmax
are reported by the sensor;quantity
,substance
, andunit
are defined in the DDF;state/airquality
fromstate/measured_value
. The validator error for this is being fixed by @Zehir;state/pm2_5
.ZHAAirQuality
The sensor uses IKEA-specific cluster to report the tVOC level.
state/measured_value
, as float value in ppb. Unfortunately, the sensor's granularity is limited to integer values;cap/measured_value
items.min
andmax
are reported by the sensor;quantity
,substance
, andunit
are defined in the DDF;state/airquality
fromstate/measured_value
. The validator error for this is being fixed by @Zehir;state/airqualityppb
.