-
Notifications
You must be signed in to change notification settings - Fork 502
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
IKEA Starkvind Air Purifier #6124
Conversation
"name": "config/ledindication", | ||
"parse": {"at": "0x0003", "cl": "0xfc7d", "ep": 1, "fn": "zcl", "mf": "0x117c", "eval": "Item.val = !Attr.val"}, | ||
"write": {"at": "0x0003", "cl": "0xfc7d", "dt": "0x10", "ep": 1, "fn": "zcl", "mf": "0x117c", "eval": "!Item.val"}, | ||
"default": true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default value could be removed, as it comes already with the resource item. I'd recommend to add the read function as well, otherwise the state changes has probably no chance to succeed. If you've configured reporting for this attribute, it's also advisable to add "refresh.interval"
with a duration time of max reporting interval + 60 (to allow some polling fallback)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The item defaults to false, where the Starkvind defaults to true.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a couple of minors from my end. Still strange that the previously used function to set airquality
doesn't work for you. Maybe Manup has any idea around it.
Address review comments.
Add attributes for filter and device runtime.
Oops, mixed the attribute names and filenames. Thanks for noticing, @SwoopX.
If I remember correctly currently there might be a certain order required for the items, so the source item like Anyhow otherwise the PR looks solid to me, I haven't followed the full discussion are the REST-API visible changes ok for everyone? If yes we I'd like to merge it for v2.17.1 :) |
Add table model.
Is there any reason air quality state is not named e.g. |
Another question: can we expect |
I don’t like Air quality is derived from a pollutant level or density (with different thresholds for different pollutants). I don’t see any value in prefixing the pollutant attributes with Ideally, I would have exposed the sensor function of the Starkvind as ZHAAirQuality resource, separately from the ZHAAirPurifier resource for the purifier function. However, this would lead to a Note: We will have to solve the |
Is this the new way with deconz to expose one device with all data? As this is similar to the other fan device which is a light as well as a fan, this is an air purifier with fan, these types of functionality becomes similar but different rather than being kept aligned between device types and on a separate e.g. fan endpoint |
No, it’s the old way to expose a resource per cluster, as reflected in the I fear this might not be sustainable, and @manup even thinks this is not desireable, but that’s really an APIv2 discussion, beyond the scope of the PR. |
From my perspective it's clean to separate into two sub resources as @ebaauw mentioned, for the |
Happy to change the DDF to expose two
I think that was the Hampton Bay fan module (#932), or are you referring to another device? I do think a fan is a different device than an air purifier, although both might carry (something resembling) fan speed. |
Split into two resources: ZHAAirPurifier vs ZHAAirQuality.
Would you mind sharing an updated json output of the different endpoints? |
Damn, I had, but appeantly forgot to press Comment. Anyways, new attempt: {
"config": {
"filterlifetime": 256728,
"ledindication": true,
"locked": false,
"mode": "auto",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "fea6623ea3909029409fed7a6224e60b",
"lastannounced": null,
"lastseen": "2022-06-30T18:19Z",
"manufacturername": "IKEA of Sweden",
"modelid": "STARKVIND Air purifier",
"name": "Starkvind",
"state": {
"deviceruntime": 212939,
"filterruntime": 210486,
"lastupdated": "2022-06-30T18:19:46.177",
"replacefilter": false,
"speed": 20
},
"swversion": "1.0.033",
"type": "ZHAAirPurifier",
"uniqueid": "cc:86:ec:ff:fe:6d:30:11-01-fc7d"
} {
"config": {
"on": true,
"reachable": true
},
"ep": 1,
"etag": "74eb5d8558a3895a39a3884189701c99",
"lastannounced": null,
"lastseen": "2022-06-30T18:20Z",
"manufacturername": "IKEA of Sweden",
"modelid": "STARKVIND Air purifier",
"name": "Starkvind",
"state": {
"airquality": "excellent",
"lastupdated": "2022-06-30T18:18:26.205",
"pm2_5": 8
},
"swversion": "1.0.033",
"type": "ZHAAirQuality",
"uniqueid": "cc:86:ec:ff:fe:6d:30:11-02-fc7d"
} |
Thank you very much! Can all values in config be reconfigured? "config": {
"filterlifetime": 256728,
"ledindication": true,
"locked": false,
"mode": "auto",
"on": true,
"reachable": true
}, |
Yes. They're pretty much mapped 1:1 to the Zigbee attributes, see #5351 (comment). |
Running on v2.18.1-beta and still not able to control Starkvind Air Purifier. Only sensor (airquality) is reporting the state. |
I have the exact same problem as @kimosak |
Same here. |
Not sure what you mean..is this about phoscon? If so, report on the forums as we don't maintain phoscon in this GitHub. Rest api should be able to control the values you ask for. |
|
Update for IKEA Starkvind Air Purifier, see #5351 and #6118.
type
toZHAAirPurifier
so clients can distinguish between air quality sensors and air purifiers;state.pm2_5
(instead ofstate.airqualityppb
);state.airquality
as they're very different for PM2.5 vs TVOC;state.airquality
directly on 0x0004 as I cannot get thenumtostr
onstate.pm2_5
to work.state.filterruntime
;state.replacefilter
;config.filterlifetime
;config.ledindication
;config.locked
;state.deviceruntime
;Resource now looks like:
Note that
deviceruntime
,filterruntime
, andfilterlifetime
are in minutes. To indicate that you've replaced the filter, updatefilterlifetime
. The default life time (as set by the IKEA app is 259200 (6 months, or: 6 * 30 * 24 * 60).