MHCOPY erreur dans Jeedom, reconnu par Deconz

Bonjour

Mon module MHCOPY est fonctionnel dans Phoscon :

Mon équipement se créé partiellement dans Deconz (Une seule commande) mais ce n’est pas le problème, je pourrai dupliquer à la main.

Lorsque j’active la commande j’ai l’erreur suivante :
Erreur exécution de la commande [Jardin][OnOff light 38][On 01] : Erreur lors de la requete : 127.0.0.1:8484/api/DF586C5C2B/lights/38/state(PUT), data : {« on »:true} erreur : 202 => resource, /lights/38/state, is not modifiable. Device is not reachable.

Si je fais un scénario avec le code suivant ça fonctionne parfaitement.

Avez-vous rencontré ce cas ?
Merci de votre aide

$body = json_encode(['on' => true]);


$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
curl_close($ch);

// Optionnel : log pour debug
$scenario->setLog("Réponse deCONZ : " . $response);

Vu que ça marche avec le code, l’appareil doit bien être connecté, donc je partirais sur un mauvais ID (le 38).
Essaye dans un navigateur http://127.0.0.1:8484/api/DF586C5C2B/lights/38

Oui avec un navigateur ça marche, c’est le bon ID pas de souci
J’ai l’impression que Deconz passe les mauvais paramétre
" is not modifiable" c’est ce qui m’inquiète

    if (!taskRef.lightNode->isAvailable())
    {
        rsp.httpStatus = HttpStatusOk;
        rsp.list.append(errorToMap(ERR_DEVICE_NOT_REACHABLE, QString("/lights/%1/state").arg(id), QString("resource, /lights/%1/state, is not modifiable. Device is not reachable.").arg(id)));
        return REQ_READY_SEND;
    }

je viens de re-regarder le code de deconz rapidement, apparemment ça teste vraiment si l’appareil est dispo.
Tu es sur qu’il n’est pas en reachable=false ?

A quel endroit regarder ?

Voici le DDF
MHCOZY.DDF.txt (4,4 Ko)

Dans les données brutes, ou le lien http://127.0.0.1:8484/api/DF586C5C2B/lights/38
C’est le champs state/reachable

Voici ce que cela donne.
J’ai effectivement false.
Comment corriger ça ?

{« capabilities »:{« alerts »:[« none »,« select »,« lselect »]},« config »:{« groups »:[« 0 »,« 4 »]},« etag »:« a5b94715ca5dabd9af7ca1086370990c »,« hascolor »:false,« lastannounced »:null,« lastseen »:« 2025-06-16T10:04Z »,« manufacturername »:« _TZ3000_g8n1n7lg »,« modelid »:« TS0001 »,« name »:« On/Off light 38 »,« state »:{« alert »:« none »,« on »:true,« reachable »:false},« swversion »:null,« type »:« On/Off light »,« uniqueid »:« a4:c1:38:a1:c7:18:b5:bc-01 »}

Ça c’est que l’appareil ne répond plus.
Il a du déconnecter, mais dans ce cas pourquoi ça marche si tu passes par le code ?

Dans phoscon l’appareil devrait apparaitre en grisé et ne plus fonctionner.

J’ai créé un groupe d’équipe et sur Phoscon et celui-ci remonte bien dans Deconz et tout est fonctionnel !!
Donc probablement un bug dans le processus de récupération des équipements dans Deconz

Dans deconz ou dans Phoscon ?
Car il n’y a qu’une seule API, et toute les applications utilisent la meme, ce n’est pas possible d’avoir reachable=false sur une application et pas l’autre.

Dans Phoscon j’ai créé un groupe avec les 4 contacteurs (qui sont considéré comme les lumières).
J’ai synchronisé dans Deconz et le groupe est apparu comme un équipement avec toutes commandes des 4 contacteurs !
Alors même que le seul contacteur qui a été créé comme équipement dans Deconz n’est pas fonctionnel (voir plus haut !).

Preneur d’une solution plus propre si quelqu’un utilise ce module

Ha ok, alors si je comprend bien, les commandes individuelles ne fonctionnent pas car l’appareil est en reachable=false.
Par contre il est bien connecté car il répond aux commandes de groupe Zigbee.

Par contre sur ton post du 22 juin, on peut lire lastseen=2025-06-16T10:04Z

Edit:
Je viens de chercher, l’appareil _TZ3000_g8n1n n’est pas officiellement dans Deconz, pas trouvé de DDF, tu tournes avec le support natif.

Edit2:
Bon j’ai cherché sur google, et aucune trace de ton appareil non plus …