Vanne thermostatique Aqara E1 : nombreuses commandes manquantes lors de l'intégration

Bonjour à tous,
Je viens d’installer mes premières vannes thermostatiques Aqara E1 (çà fait partie de ma migration de zwave vers zigbee) et je suis surpris car il me semble qu’il y a une commande qui n’est pas créée.
dans les informations brutes il y a :

{
                        "access": 7,
                        "description": "Enables\/disables window detection on the device",
                        "label": "State",
                        "name": "state",
                        "property": "window_detection",
                        "type": "binary",
                        "value_off": "OFF",
                        "value_on": "ON",
                        "value_toggle": "TOGGLE"
                    }

Mais sur les 3 vannes j’observe le même phénomène :

  • Une commande Info Binaire nom « window_detection » (LogicalID window_detection) est bien créée
  • Une commande Action Defaut nom « Action window detection » (Logical ID window_detection::OFF) est bien créée et elle fonctionne
  • Une commande Action Defaut nom « state toggle » (Logical ID window_detection::TOGGLE) est bien créée mais chez moi elle ne semble pas fonctionner
  • Mais surtout aucune commande avec le Logical ID window_detection::ON n’est créée

Bien sûr c’est facile à corriger et çà marche, une fois la commande ajoutée on arrive bien à mettre la valeur de la commande info à 1, mais j’ai pensé que je devais mettre un petit message ici sur le forum car ce qui m’étonne c’est que personne ne semble avoir rencontré ce problème.
Petite remarque : j’ignore encore si la détection de fenêtre ouverte est fiable sur ces vannes, jusqu’ici comme j’ai des capteurs sur chaque fenêtre j’avais géré çà par des scénarios, je ne sais pas si je vais changer, j’hésite toujours à changer un truc qui marche bien :smiley:

Bonjour,

Avec le tag du plugin c’est mieux :wink:

Merci @iPapy. J’ai corrigé

J’ai profité que j’avais reçu une autre vanne thermostatique Aqara pour mettre le plugin en debug et observer ce qui se passe lors de l’intégration. En fait ce n’est pas une mais de nombreuses commandes qui sont manquantes et les messages d’erreur sont tous similaires

[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1925","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11693","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1925-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::ON","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1925","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11708","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1925-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1925","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11708","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1925-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::ON","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1926","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11777","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1926-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1926","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11777","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1926-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::ON","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1926","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11792","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1926-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1926","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11792","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1926-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::ON","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1927","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11961","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1927-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1927","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11961","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1927-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::ON","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1927","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11976","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1927-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1927","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"11976","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1927-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"window_detection::ON","generic_type":null,"eqType":"z2m","name":"Action window_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1930","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"12276","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1930-Action window_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::ON","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1930","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"12284","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1930-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"valve_detection::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action valve_detection","order":0,"type":"action","subType":"other","eqLogic_id":"1930","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"12284","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1930-Action valve_detection' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::ON","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1930","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"12299","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1930-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert
[2024-01-21 18:20:27][DEBUG] : [createCmd] Can not create cmd {"id":null,"logicalId":"schedule::TOGGLE","generic_type":null,"eqType":"z2m","name":"Action schedule","order":0,"type":"action","subType":"other","eqLogic_id":"1930","isHistorized":0,"unite":"","configuration":[],"template":{"dashboard":"default","mobile":"default"},"display":{"showStatsOnmobile":0,"showStatsOndashboard":0},"value":"12299","isVisible":1,"alert":[]} => [MySQL] Error code : 23000 (1062). Duplicate entry '1930-Action schedule' for key 'unique'  : INSERT INTO `cmd` SET `id` = :id, `logicalId` = :logicalId, `generic_type` = :generic_type, `eqType` = :eqType, `name` = :name, `order` = :order, `type` = :type, `subType` = :subType, `eqLogic_id` = :eqLogic_id, `isHistorized` = :isHistorized, `unite` = :unite, `configuration` = :configuration, `template` = :template, `display` = :display, `value` = :value, `isVisible` = :isVisible, `alert` = :alert

J’ai vérifié et toutes ces commandes sont bien absentes mais je ne m’en etait pas rendu compte car comme c’est le début pour moi de l’utilisation de ces vannes je n’en avais pas eu besoin sauf de la commande window detection ON.
Visiblement ce sont toutes les commandes avec 3 valeurs ON, OFF et TOGGLE qui ont un problème.
Bug du plugin ou alors les informations renvoyées par la vanne n’ont pas la forme qu’attend le plugin.
Si nécessaire je peux mettre les informations brutes renvoyées par la vanne (plus haut je n’ai mis que l’extrait concernant la commande window detection).
Edit: en fait je viens de comprendre : le plugin essaie de créer les commandes avec le même nom.

En regardant le code je ne comprends pas le bug.

Bon çà y est j’ai compris le problème est dans la ligne

Car $logical ne fait pas du tout intervenir on, off ou toggle. A mon avis cette ligne a un problème.
@Loic je ne voulais pas te déranger car je sais que tu est un peu surchargé de travail mais je pense avoir un peu cerné le problème et t’avoir évité un peu de temps de recherche et que tu ne mettra pas trop de temps à corriger.
Malheureusement je ne peux pas aller plus loin , j’ai (encore !) quelques ennuis de santé je n’ai jamais fait de PR sur le github de Jeedom et j’ai les idées tellement confuses que je ne trouve plus les règles à respecter pour en faire un :frowning_face:.

Ok je pense comprendre, je viens de pousser la correction ca sera bon dans la beta de demain.

Merci pour le retour.

Merci @Loic, j’ai testé et çà corrige bien le problème plus aucune commande manquante par contre certains names ne sont pas top j’ai par exemple Action schedule::ON ON et Action schedule::TOGGLE TOGGLE mais c’est un détail, on peut toujours renommer.

Ok pour le nom je pense avoir trouvé la beta de demain corrigera je pense (pas sur a 100% après ce n’est pas très grave non plus mais ca serait mieux de corriger quand meme).

Oui je pense qu’avec $logical çà devrait aller mieux. Merci pour ton travail

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