Problème envoi dataValue sur bouton action

Bonjour,

Depuis quelques jours mes commandes uniques créées à partir des commandes liste ne fonctionnent plus. La valeur insérée dans dataValue est 1 mais la commande envoie null:

[2025-07-04 11:39:03] DEBUG  : refresh fin
[2025-07-04 11:39:03] DEBUG  : update fin
[2025-07-04 11:39:07] DEBUG  : Action sur SetbasicCtrlairState.operation avec options {"user_login":"admin","user_id":"1"}
[2025-07-04 11:39:07] DEBUG  : getTokenIsExpired refresh_token à jour, il expire dans 59 secondes
[2025-07-04 11:39:07] DEBUG  : Données à envoyer en thinq2
[2025-07-04 11:39:07] DEBUG  : Donnée envoyée en thinq2 {"command":"Set","ctrlKey":"basicCtrl","dataKey":"airState.operation","dataValue":null}
[2025-07-04 11:39:07] DEBUG  : Réponse reçue en thinq2 {"resultCode":"0005","result":""}
[2025-07-04 11:39:07] DEBUG  : execute Erreur de code {"resultCode":"0005","result":""}

Voici ma commande :

Bonjour

Merci de formater vos logs correctement:

saisissez ou collez du code ici


Antoine

Problème résolu mais c’est du bidouillage et je ne comprends pourquoi ça fonctionne :
J’ai passé la commande en « action » type « liste » valeur 0|OFF avec #select# dans la case du dessous puis « sauvegarder ». En faisant le test, ça a marché.
Puis j’ai remis la commande en action type « default » puis « sauvegarder ».

Bonjour.
En cherchant dans un fichier de configuration d’un autre équipement la clé airState.operation, je vois qu’elle attend une liste de valeurs :

"airState.operation":{"data_type":"enum","default":"0","value_mapping":{"0":"@AC_MAIN_OPERATION_OFF_W","1":"@AC_MAIN_OPERATION_ON_W","2":"@AC_MAIN_OPERATION_RIGHT_ON_W","256":"@AC_MAIN_OPERATION_LEFT_ON_W","257":"@AC_MAIN_OPERATION_ALL_ON_W"}}

La valeur envoyée étant considérée comme un liste, elle effaçait la valeur inscrite dans la commande.
J’ai modifié ça dans la dernière màj.

Bonjour,

Toujours le problème avec la dernière mise à jour:

Action sur airState.miscFuncState.hotWater avec options {"user_login":"admin","user_id":"1"}
[2025-07-05 16:10:44] DEBUG  : getTokenIsExpired refresh_token à jour, il expire dans 2749 secondes
[2025-07-05 16:10:44] DEBUG  : Données à envoyer en thinq2
[2025-07-05 16:10:44] DEBUG  : Donnée envoyée en thinq2 {"command":"Set","ctrlKey":"settingInfo","dataKey":"airState.miscFuncState.hotWater","dataValue":"#select#"}
[2025-07-05 16:10:44] DEBUG  : Réponse reçue en thinq2 {"resultCode":"0103","result":{"data":"","voiceData":null}}
[2025-07-05 16:10:44] DEBUG  : execute Erreur de code {"resultCode":"0103","result":{"data":"","voiceData":null}}
[2025-07-05 16:10:46] DEBUG  : Action sur airState.miscFuncState.hotWater avec options {"user_login":"admin","user_id":"1"}
[2025-07-05 16:10:46] DEBUG  : getTokenIsExpired refresh_token à jour, il expire dans 2747 secondes
[2025-07-05 16:10:46] DEBUG  : Données à envoyer en thinq2
[2025-07-05 16:10:46] DEBUG  : Donnée envoyée en thinq2 {"command":"Set","ctrlKey":"settingInfo","dataKey":"airState.miscFuncState.hotWater","dataValue":"#select#"}
[2025-07-05 16:10:46] DEBUG  : Réponse reçue en thinq2 {"resultCode":"0103","result":{"data":"","voiceData":null}}
[2025-07-05 16:10:46] DEBUG  : execute Erreur de code {"resultCode":"0103","result":{"data":"","voiceData":null}}
[2025-07-05 16:10:47] DEBUG  : Action sur refresh avec options {"background":"0","source":"[Toit solaire][PAC LGthinQ2][ECS OFF]"}
[2025-07-05 16:10:47] DEBUG  : refresh début

Je suis désolé de vouloir me débarrasser des actions sous format liste mais c’est plus pratique sur une interface de pouvoir avoir un bouton plutôt qu’une liste.

Toujours pareil, une bidouille permet de régler le problème :
Mettre la commande sous format liste mais au lieu de #select#, je mets 0 ou 1. Je sauvegarde puis je remets la commande sous format default.

Voici mon interprétation :
tu as une commande nommée airState.miscFuncState.hotWater qui était de type action/select, que tu as transformé en commande de type action/other, mais sans vider le champ updateLGCmdToValue (#select#), ou alors c’est toujours une commande de type action/select. D’où le fait que la valeur envoyée n’est pas la valeur insérée dans le champ dataValue.

Je peux forcer l’envoie de dataValue quand le type est other, mais j’ai peur de casser le fonctionnement de certaines commandes d’appareils qui ont une variable envoyée tout de même via commande other.

Je peux ajouter un champ pour updateLGCmdToValue quand on met la commande du sous-type select/message/color à other pour demander de le vider (fond en rouge)


C’est sur le marché.

Salut Flobul,

La dernière update fonctionne.
Voici les dernières commandes :





Je n’utilise pas les commandes sous format liste. Elles sont invisibles dans la tuile mais elles fonctionnent.
Comme tu peux le voir la case rouge n’est pas toujours remplie avec #select#, elle se remplit parfois automatiquement avec la valeur que j’ai mis dans datavalue. Si je comprends bien, il ne faut pas toucher au contenu de la case rouge. Ça fonctionne en tout cas. Merci!

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.