Demande d'ajout Purificateur d'air IKEA Starkvind

Nom de l’appareil : IKEA Starkvind (STARKVIND Purificateur d'air, blanc - IKEA)

Informations brutes :

{
    "ieee": "cc:86:ec:ff:fe:66:63:a3",
    "nwk": 29922,
    "status": 2,
    "lqi": "176",
    "rssi": "-56",
    "last_seen": "1637365427.3296633",
    "node_descriptor": "01:40:8e:7c:11:52:52:00:00:2c:52:00:00",
    "endpoints": [
        {
            "id": 1,
            "status": 1,
            "device_type": 7,
            "profile_id": 260,
            "manufacturer": "IKEA of Sweden",
            "model": "STARKVIND Air purifier",
            "output_clusters": [
                {
                    "id": 25,
                    "name": "Ota",
                    "attributes": []
                },
                {
                    "id": 1024,
                    "name": "Illuminance Measurement",
                    "attributes": []
                },
                {
                    "id": 1066,
                    "name": "PM2.5",
                    "attributes": []
                }
            ],
            "input_clusters": [
                {
                    "id": 0,
                    "name": "Basic",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "zcl_version",
                            "value": 3
                        },
                        {
                            "id": 1,
                            "name": "app_version",
                            "value": 16
                        },
                        {
                            "id": 2,
                            "name": "stack_version",
                            "value": 103
                        },
                        {
                            "id": 3,
                            "name": "hw_version",
                            "value": 1
                        },
                        {
                            "id": 4,
                            "name": "manufacturer",
                            "value": "IKEA of Sweden"
                        },
                        {
                            "id": 5,
                            "name": "model",
                            "value": "STARKVIND Air purifier"
                        },
                        {
                            "id": 6,
                            "name": "date_code",
                            "value": "20210428"
                        },
                        {
                            "id": 7,
                            "name": "power_source",
                            "value": 1
                        },
                        {
                            "id": 16384,
                            "name": "sw_build_id",
                            "value": "1.0.033"
                        }
                    ]
                },
                {
                    "id": 3,
                    "name": "Identify",
                    "attributes": []
                },
                {
                    "id": 4,
                    "name": "Groups",
                    "attributes": []
                },
                {
                    "id": 5,
                    "name": "Scenes",
                    "attributes": []
                },
                {
                    "id": 514,
                    "name": "Fan Control",
                    "attributes": [
                        {
                            "id": 0,
                            "name": "fan_mode",
                            "value": 0
                        }
                    ]
                },
                {
                    "id": 64599,
                    "name": "Manufacturer Specific",
                    "attributes": []
                },
                {
                    "id": 64637,
                    "name": "Manufacturer Specific",
                    "attributes": []
                }
            ]
        },
        {
            "id": 242,
            "status": 1,
            "device_type": 97,
            "profile_id": 41440,
            "manufacturer": null,
            "model": null,
            "output_clusters": [
                {
                    "id": 33,
                    "name": "GreenPowerProxy",
                    "attributes": []
                }
            ],
            "input_clusters": []
        }
    ],
    "signature": {
        "manufacturer": "IKEA of Sweden",
        "model": "STARKVIND Air purifier",
        "node_desc": {
            "logical_type": 1,
            "complex_descriptor_available": 0,
            "user_descriptor_available": 0,
            "reserved": 0,
            "aps_flags": 0,
            "frequency_band": 8,
            "mac_capability_flags": 142,
            "manufacturer_code": 4476,
            "maximum_buffer_size": 82,
            "maximum_incoming_transfer_size": 82,
            "server_mask": 11264,
            "maximum_outgoing_transfer_size": 82,
            "descriptor_capability_field": 0
        },
        "endpoints": {
            "1": {
                "profile_id": 260,
                "device_type": 7,
                "input_clusters": [
                    0,
                    3,
                    4,
                    5,
                    514,
                    64599,
                    64637
                ],
                "output_clusters": [
                    25,
                    1024,
                    1066
                ]
            },
            "242": {
                "profile_id": 41440,
                "device_type": 97,
                "input_clusters": [],
                "output_clusters": [
                    33
                ]
            }
        }
    },
    "class": "zigpy.device"
}

Extrait des logs en debug :


[2021-11-20 17:45:30][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"4":{"cmd":{"0":{"value":"2","cluster_name":"Groups"},"1":{"value":"255","cluster_name":"Groups"},"1.1":{"value":"[]","cluster_name":"Groups"}}}}}}}
[2021-11-20 17:45:30][DEBUG] : Search command for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::4::cmd::0 => 2 convert to 2
[2021-11-20 17:45:30][DEBUG] : Search command for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::4::cmd::1 => 255 convert to 255
[2021-11-20 17:45:31][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Off","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:45:31][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Off convert to FanMode.Off
[2021-11-20 17:45:31][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"4":{"cmd":{"0":{"value":"2","cluster_name":"Groups"},"1":{"value":"255","cluster_name":"Groups"},"1.1":{"value":"[]","cluster_name":"Groups"}}}}}}}
[2021-11-20 17:45:31][DEBUG] : Search command for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::4::cmd::0 => 2 convert to 2
[2021-11-20 17:45:31][DEBUG] : Search command for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::4::cmd::1 => 255 convert to 255
[2021-11-20 17:45:36][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Auto","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:45:36][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Auto convert to FanMode.Auto
[2021-11-20 17:45:53][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Low","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:45:53][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Low convert to FanMode.Low
[2021-11-20 17:46:16][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Medium","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:46:16][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Medium convert to FanMode.Medium
[2021-11-20 17:46:23][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.High","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:46:23][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.High convert to FanMode.High
[2021-11-20 17:46:30][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Medium","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:46:30][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Medium convert to FanMode.Medium
[2021-11-20 17:46:35][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Low","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:46:35][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Low convert to FanMode.Low
[2021-11-20 17:46:40][DEBUG] : {"devices":{"cc:86:ec:ff:fe:66:63:a3":{"1":{"514":[{"value":"FanMode.Auto","cluster_name":"Fan Control"}]}}}}
[2021-11-20 17:46:40][DEBUG] : Search attribut for cc:86:ec:ff:fe:66:63:a3 logicalId : 1::514::0 => FanMode.Auto convert to FanMode.Auto

Je n’ai malheureusement pas trouvé d’image en png.

Si besoin d’autres informations n’hésitez pas à me demander.

bonjour,

met la sous un autre format on essaiera de la convertir !

Capture d’écran du 2021-11-20 17-56-55

Ci dessous l’image transformée en png transparent :

Merci pour votre réactivité !

Bonjour,
Je suis aussi preneur pour cette intégration suite à l’achat du purificateur d’air.
Petite question cependant, où peut-on trouver la liste de commandes à ajouter manuellement pour tester déjà si tout va ok avec le purificateur ?
Merci à vous!

J’ai voulu prendre les devants (en attendant l’intégration) j’ai cherché comment interprêter la conf et les logs pour pouvoir retrouver les commandes à créer.
J’ai consulté la doc du plugin, mais j’ai une erreur de cluster inexistant…
Ce que je ne comprend pas puisque le cluster existe et est même dispo en écriture via les attributs… Mais dès que je passe par une commande, erreur.
Le pire c’est que j’ai fait le test avec un autre module, j’ai vité toutes les commandes et essayé d’interpréter la conf brut et les logs… Là ça marche… Il y à juste pour le Starkvind que j’ai ce message.
Aurais-je loupé une marche à suivre pour déduire des commandes ?
PS: à l’aide de la clé Conbee II et le logiciel deconz, j’ai bien pu vérifier que le cluster en question existe bien… C’est à ne pas comprendre où je me suis planté!
Avis aux experts zigbee…

Je me permet de faire remonter le post. Je vois que pleins de demande d’ajout plus récente que celle ci ont été prise en compte. Manque-t-il une info sur cette demande d’ajout ? Je pourrais apporter toutes les informations manquantes aux personnes qui font cette ajout.
Merci d’avance
EDIT: Je viens de tomber sur ce message: Demande d'ajout ampoule Heiman Zigbee E27-750lm avec télécommande 5 boutons Heiman - #5 par Loic
Toute mes excuses @Loic je ne savais pas. Je pensais qu’il manquait un truc. Je me tais et attend. Sorry.

En faite j’ai encore jamais eu de ventilateur donc ça va pas être simple… La j’ai que du fan mode et je sais pas trop comment le piloter avec ca

Bonjour Loic,

La fanMode ne me choque pas vu qu’a la base ce n’est rien de plus qu’un ventilo avec des filtres derrière.
Donc, il faut pouvoir changer la vitesse (d’après ce que j’ai vu il n’y a que 3 vitesses via zigbee LOW MEDIUM ET HIGH + un mode auto) et récupérer l’état de la vitesse courante.

Normalement, il devrait également remonter le taux de PM2.5 comme information.

Bon courage et merci d’avance pour le temps passé.

Je ne sais pas si ça peut te servir mais si on écrit une valeur ici allant de 0 à 3 (avec pour attribut 0):


Ca change la vitesse du ventilo, et j’ai l’impression que 0 correspond à auto, et 1 2 3 à Low Medium et High.

Bonjour,

Merci pour le retour, j’ai fait un début de conf qui sera dans la beta de demain. Par contre je vois pas comment on arrête/mets en marche le truc…

J’ai pu tester et je me retrouve avec le même problème que j’ai cité précédemment:

Erreur lors de la requete : http://127.0.0.1:8089/device/attributes(PUT), data : {« ieee »:« ADRESSEMAC »,« attributes »:[{« endpoint »:1,« cluster_type »:« 514 »,« cluster »:0,« attributes »:{« 2 »:null}}],« allowQueue »:false} erreur : {« state »:« error »,« result »:« [ADRESSEMAC][zdevices.write_attributes] Cluster not found : 0 »,« code »:0}

J’ai supprimé le périphérique du plugin, c’est à dire dans la liste et dans les noeuds avant de le ré-inclure. Le problème persiste… Je ne comprend pas pourquoi le cluster est signalé « not found » dans une commande mais est accessible via le menu attribut… Sachant qu’en scannant avec deconz, c’est bien le bon cluster!

Je ne sais pas du tout je n’ai encore jamais eu ça. Je le mets sur ma liste de truc à regarder

Edit : c’est bon j’ai trouvé j’avais oublié un argument, ca sera bon dans la beta de demain, faudra supprimer l’équipement de jeedom et refaire une decouverte.

1 « J'aime »

Merci à toi.

Bonjour Loic,
La commande « attributes::1::in::514::0::0 » semble éteindre l’appareil.
Les autres commandes provoque une erreur :

Erreur lors de la requete : http://127.0.0.1:8089/device/attributes(PUT), data : {« ieee »:« ADRESSEMAC »,« attributes »:[{« endpoint »:1,« cluster_type »:« in »,« cluster »:514,« attributes »:[2]}],« allowQueue »:false} erreur : {« state »:« error »,« result »:« list index out of range »,« code »:0}

Sachant que lorsqu’on écrit dans attribut à la main ça marche… Incompréhensible.
J’ai été voir le Json par curiosité et j’ai vu qu’il y à 2x la commande avec le nom Bas, ce qui fait que la commande en ::2 n’apparait pas dans la fenêtre des commandes.
En espérant que ça soit pas la galère cette histoire de Out Of Range…
Merci à toi

Ok je vais essayer de regarder demain si non ça sera début janvier a mon retour de vacances.

1 « J'aime »

C’est bon je pense avoir corrigé ca sera bon dans la beta de demain (pour l’envoi de la commande et le soucis dans le nom de la commande bas).

Merci pour les retours

Merci à toi.
Passe de très belles fêtes de fin d’années! Profites bien de tes vacances!

Bonjour Loic, Ignore ce message avant ta rentrée, je poste ça maintenant pour pas oublier.
J’ai, grâce à ton avancement, poussé les recherches et j’ai corrigé les commandes en testant directement sur le produit. J’ai tenté, j’espère que j’ai pas fait faux, la modification du JSON qui semble fonctionner de mon coté, je te le pose ici pour ta faciliter la tâche:
IKEA_of_Sweden.STARKVIND_Air_purifier.json.txt (1,1 Ko)

J’ai pu constater aussi que d’autres via deconz ont réussi à récupérer pas mal d’infos du Starkvind ICI
Je t’ai rapatrié les infos importantes sur l’image suivante. J’ai essayer de créer une commande (en calquant ce que je trouve dans d’autres périphériques) qui lit ce cluster (64637) voir même écrit, mais je n’ai pas réussi. Je n’ai pas le niveau de connaissance pour faire ça. (d’ailleurs si une doc précise à ce sujet est quelque part je suis preneur)


Dans l’idéal ce serait génial de pouvoir récupérer ces données à travers Jeedom car il y à un capteur de qualité d’air, l’état actuel du FAN, le temps de fonctionnement du filtre et si il faut le remplacer, l’activation ou la désactivation des leds etc etc.
Evidemment si je peux t’aider en quoi que ce soit pour t’avancer je suis ok.
Et surtout un grand remerciement pour tout ce que tu fais!

Super merci pour le json ca sera dans la beta de demain (oui je devais pas le faire en vacance mais j’ai pas reussi a tenir).

Pour les information en plus je regarde a mon retour de vacance ca passe par un quirks, ya bien eu la demande mais ca semble plus bouger (https://github.com/zigpy/zha-device-handlers/issues/1215)

J’ai essayé de rajouter les infos sans quriks (donc juste en visu pas d’action possible). C’est deja pour voir si ca marche si c’est bon je pourrais faire le quirks.