Ich hab leider den Ikea Starkvind löschen (aus Deconz) und neu anlernen müssen. Dadurch hat er mir auch nicht mehr mein DDF genommen, sondern das, das jetzt mit geliefert wird
In IPS gibt es jetzt zwei Geräte. Einen Luftquailitätssensor und einen Purifier
API Info vom Purifier
{
"config": {
"filterlifetime": 259200,
"ledindication": true,
"locked": false,
"mode": "off",
"on": true,
"reachable": true
},
"ep": 1,
"etag": "411d4ce670ec5ec69eaffbc017fbe7c2",
"lastannounced": null,
"lastseen": "2022-08-31T14:19Z",
"manufacturername": "IKEA of Sweden",
"modelid": "STARKVIND Air purifier table",
"name": "Luftfilter Kinderzimmer",
"state": {
"deviceruntime": 34261,
"filterruntime": 34257,
"lastupdated": "2022-08-31T14:20:04.795",
"replacefilter": false,
"speed": 0
},
"swversion": "1.0.033",
"type": "ZHAAirPurifier",
"uniqueid": "50:32:5f:ff:fe:b4:db:4f-01-fc7d"
}
API info AirQuallity
{
"config": {
"on": true,
"reachable": true
},
"ep": 1,
"etag": "f5695bf4a029e63945d1fb67e22c5c70",
"lastannounced": null,
"lastseen": "2022-08-31T14:19Z",
"manufacturername": "IKEA of Sweden",
"modelid": "STARKVIND Air purifier table",
"name": "Luftfilter Kinderzimmer",
"state": {
"airquality": "unknown",
"lastupdated": "2022-08-31T14:19:50.500",
"pm2_5": 65535
},
"swversion": "1.0.033",
"type": "ZHAAirQuality",
"uniqueid": "50:32:5f:ff:fe:b4:db:4f-02-fc7d"
}
Die DDF dazu (diesmal nicht von mir angepasst, sondern die wird mitgeliefert)
{
"schema": "devcap1.schema.json",
"manufacturername": [
"$MF_IKEA",
"$MF_IKEA"
],
"modelid": [
"STARKVIND Air purifier",
"STARKVIND Air purifier table"
],
"product": "STARKVIND Air purifier",
"sleeper": false,
"status": "Gold",
"path": "/devices/ikea/starkvind_air_purifier.json",
"subdevices": [
{
"type": "$TYPE_AIR_PURIFIER",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x01",
"0xfc7d"
],
"meta": {
"values": {
"config/mode": {
"auto": 1,
"off": 0,
"speed_1": 10,
"speed_2": 20,
"speed_3": 30,
"speed_4": 40,
"speed_5": 50
}
}
},
"fingerprint": {
"profile": "0x0104",
"device": "0x0007",
"endpoint": "0x01",
"in": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0xFC7D"
]
},
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "config/filterlifetime",
"refresh.interval": 360,
"read": {
"at": "0x0002",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"write": {
"at": "0x0002",
"cl": "0xfc7d",
"dt": "0x23",
"ep": 1,
"eval": "Item.val",
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0002",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = Attr.val",
"fn": "zcl",
"mf": "0x117c"
},
"default": 259200
},
{
"name": "config/ledindication",
"refresh.interval": 360,
"read": {
"at": "0x0003",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"write": {
"at": "0x0003",
"cl": "0xfc7d",
"dt": "0x10",
"ep": 1,
"eval": "!Item.val",
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0003",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = !Attr.val",
"fn": "zcl",
"mf": "0x117c"
},
"default": true
},
{
"name": "config/locked",
"refresh.interval": 360,
"read": {
"at": "0x0005",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"write": {
"at": "0x0005",
"cl": "0xfc7d",
"dt": "0x10",
"ep": 1,
"eval": "Item.val",
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0005",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = Attr.val",
"fn": "zcl",
"mf": "0x117c"
},
"default": false
},
{
"name": "config/mode",
"refresh.interval": 360,
"read": {
"at": "0x0006",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"write": {
"at": "0x0006",
"cl": "0xfc7d",
"dt": "0x20",
"ep": 1,
"mf": "0x117c",
"script": "starkvind_write_target_mode.js"
},
"parse": {
"at": "0x0006",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c",
"script": "starkvind_parse_target_mode.js"
},
"default": "off"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/deviceruntime",
"refresh.interval": 360,
"read": {
"at": "0x0008",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0008",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = Attr.val",
"fn": "zcl",
"mf": "0x117c"
},
"default": 0
},
{
"name": "state/filterruntime",
"refresh.interval": 360,
"read": {
"at": "0x0000",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0000",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = Attr.val",
"fn": "zcl",
"mf": "0x117c"
},
"default": 0
},
{
"name": "state/lastupdated"
},
{
"name": "state/replacefilter",
"refresh.interval": 360,
"read": {
"at": "0x0001",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0001",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = Attr.val !== 0",
"fn": "zcl",
"mf": "0x117c"
},
"default": false
},
{
"name": "state/speed",
"refresh.interval": 360,
"read": {
"at": "0x0007",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0007",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c",
"script": "starkvind_parse_speed.js"
},
"default": 0
}
]
},
{
"type": "$TYPE_AIR_QUALITY_SENSOR",
"restapi": "/sensors",
"uuid": [
"$address.ext",
"0x02",
"0xfc7d"
],
"fingerprint": {
"profile": "0x0104",
"device": "0x0007",
"endpoint": "0x01",
"in": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0xFC7D"
]
},
"items": [
{
"name": "attr/id"
},
{
"name": "attr/lastannounced"
},
{
"name": "attr/lastseen"
},
{
"name": "attr/manufacturername"
},
{
"name": "attr/modelid"
},
{
"name": "attr/name"
},
{
"name": "attr/swversion"
},
{
"name": "attr/type"
},
{
"name": "attr/uniqueid"
},
{
"name": "config/on"
},
{
"name": "config/reachable"
},
{
"name": "state/airquality",
"parse": {
"at": "0x0004",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c",
"script": "starkvind_parse_pm2_5.js"
},
"default": "unknown"
},
{
"name": "state/lastupdated"
},
{
"name": "state/pm2_5",
"refresh.interval": 360,
"read": {
"at": "0x0004",
"cl": "0xfc7d",
"ep": 1,
"fn": "zcl",
"mf": "0x117c"
},
"parse": {
"at": "0x0004",
"cl": "0xfc7d",
"ep": 1,
"eval": "Item.val = Attr.val",
"fn": "zcl",
"mf": "0x117c"
},
"default": 0
}
]
}
],
"bindings": [
{
"bind": "unicast",
"src.ep": 1,
"cl": "0xFC7D",
"report": [
{
"at": "0x0000",
"dt": "0x23",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0001",
"dt": "0x20",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0002",
"dt": "0x23",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0003",
"dt": "0x10",
"mf": "0x117C",
"min": 1,
"max": 300
},
{
"at": "0x0004",
"dt": "0x21",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0005",
"dt": "0x10",
"mf": "0x117C",
"min": 1,
"max": 300
},
{
"at": "0x0006",
"dt": "0x20",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0007",
"dt": "0x20",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
},
{
"at": "0x0008",
"dt": "0x23",
"mf": "0x117C",
"min": 1,
"max": 300,
"change": "0x00000001"
}
]
}
]
}
Solltest du mal Lust und Laune haben @Silberstreifen
Ansonsten fliegt das Teil mal raus aus IPS.