Utilisation des commandes d'"irrigation quantitative" avec le programmateur d'arrosage SWV de Sonoff

Bonjour.
Je ne sais si mon sujet est correctement positionné.
Je viens de faire l’acquisition du programmeur d’arrosage SWV de Sonoff fonctionnant sous Zigbee. On peut bien entendu s’en servir de manière classique en programmant un arrosage selon une fréquence et une durée données (tous les jours, à 8H00 pendant 5 minutes) avec les commandes « State On » et « State Off ».
Ce programmateur offre également en théorie la possibilité de commander une quantité de litres d’eau pour l’arrosage. Les trois commandes sont :

  • total_number (numeric): Total times of circulating irrigation max value is 100, unit is times
  • irrigation_capacity (numeric): Single irrigation capacity max value is 6500, unit is liter
  • irrigation_interval (numeric): Time interval between two adjacent irrigation max value is 86400, unit is seconds

Dans le cas le plus simple on souhaitera qu’il arrose jusqu’à concurrence de x litres une seule fois (selon là également une fréquence, mais sans indiquer de durée !)
Je ne parviens pas à mettre en œuvre ces commandes ; il y a peut-être un ordre à respecter (ce qui fait 6 possibilités) et surtout il faut probablement mettre d’autres commandes avant pour le mettre dans cet état d’esprit d’irrigation quantitative.
Quelqu’un a une idée ?
Merci d’avance

Bonjour,

Je n’ai rien compris à la question…

Est-ce un problème pour l’intégrer avec le plugin? A priori non sinon vous ne parleriez pas de « commandes » => étiquette supprimée
Aucun lien avec la smart non plus…

Je suppose que vous cherchez le mode d’emploi du module? Alors demandez au vendeur/constructeur.

Bonsoir.

Vous avez raison, ce n’était pas très clair.

Je vais essayer de reformuler le problème que je rencontre. J’ai procédé à un certain nombre de recherches depuis.

Comme vous l’avez noté, ce n’est pas un problème d’intégration dans le plugin. Cette intégration s’est réalisée très simplement.

J’ai commencé à m’en servir de manière classique pour programmer des scénarios du style « tous les jours, à 8H du matin, pendant 5 minutes ». Comme avec d’autres programmateurs d’arrosage, il suffit d’utiliser les commandes « State On » et « State off », et ça marche très bien.

Je pourrais me contenter d’en rester là, éventuellement en assortissant mes scénarios de conditions sur la pluie tombée ou à venir, l’humidité, etc. comme je l’ai déjà mis en œuvre avec d’autres programmeurs d’arrosage. Et ce post n’existerait pas.

J’ai toutefois fait l’acquisition de ce programmateur parce qu’il présente selon les dires du constructeur Sonoff une fonction très intéressante, à savoir la possibilité de laisser l’eau passer à travers la vanne jusqu’à ce qu’un certain volume en litres soit atteint. La fonction générale est de pouvoir demander « x » cycles d’arrosage pour une certaine quantité « y » en litres avec un intervalle de « z » secondes entre les cycles. Dans la majorité des cas, on se contentera de demander 1 cycle pour y litres avec donc un intervalle de 0 secondes.

J’espère que je suis clair.

Le problème est que je n’arrive pas à mettre en œuvre cette fonction dans Jeedom, que ce soit en direct ou avec les scénarios.

Là, je ne peux que répéter ce que j’ai déjà écrit, cet équipement propose donc 3 commandes qui sont :

  • total_number (numeric): Total times of circulating irrigation max value is 100, unit is times
  • i``rrigation_capacity (numeric): Single irrigation capacity max value is 6500, unit is liter
  • irrigation_interval (numeric): Time interval between two adjacent irrigation max value is 86400, unit is seconds

Ces 3 commandes sont décrites sur le site zigbee2mqtt à l’adresse suivante : SONOFF SWV control via MQTT | Zigbee2MQTT

Elles font par ailleurs partie des commandes générées par Jeedom lors de l’inclusion de l’équipement :

  • cyclic_quantitative_irrigation total_number slider
  • cyclic_quantitative_irrigation irrigation_capacity slider
  • cyclic_quantitative_irrigation irrigation_interval slider

En passant par l’interface zigbee2mqtt, via l’adresse qui sera du type « http://192.168.2.xxx:8080/#/device/0x28dba7fffe704f28/exposes » et en sélectionnant l’onglet « expose », je parviens néanmoins à lancer en direct l’irrigation quantitative.

Ce n’est toutefois pas satisfaisant, d’une part parce que ce n’est pas sous Jeedom, mais surtout parce que je ne peux pas l’intégrer dans un scénario du type programmé.

Ce que j’ai également constaté, c’est que si lance directement sous Jeedom une commande consistant à modifier l’un des paramètres de l’irrigation quantitative, si je vais dans les logs de zigbee2mqtt, j’ai un message d’erreur comme celui-là :

Par exemple, j’ai entré la valeur 5 pour la commande « cyclic_quantitative_irrigation irrigation_capacity slider ». J’obtiens le message d’erreur suivant.

error 2024-12-26 16:23:49z2m: Publish 'set' 'cyclic_quantitative_irrigation' to '0x28dba7fffe704f28' failed: 'Error: ZCL command 0x28dba7fffe704f28/1 customClusterEwelink.write({"20489":{"value":[10,0,null,0,0,0, 5 ,0,0,0,null],"type":66}}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Status 'INVALID_VALUE')'

Voilà donc où j’en suis actuellement.

Si vous estimez que cela sort du cadre de ce forum, dans ce cas-là on clôt ce post et on n’en parle plus.

Bonjour mer_du_sud,

J’envisage d’acheter le module SONOFF SWV et je suis tombé sur ce sujet.
Est-ce que vous avez trouvé une solution au problème que vous avez rencontré ?
J’ai trouvé votre description plutôt clair.

J’ai une petite question concernant ce module. Histoire de ne pas se retrouver avec une facture énorme quand on rentre de vacances, est-ce qu’il coupe l’eau lorsque sa batterie devient faible ?
Le niveau de batterie remonte sous Jeedom ?

Bonjour Supermilk
Non, je n’ai toujours pas trouvé de réponse. Si vous l’achetez auprès de Domadoo, ils pourront peut-être vous aider. Il semblerait qu’il existe une solution en effectuant un peu de programmation sous MQTT.
Oui, le niveau de batterie remonte, mais je ne suis pas sûr qu’il soit d’une fiabilité absolue ; j’ai le sentiment qu’il consomme peu. Je ne prends de toutes façons aucun risque en début de saison d’arrosage : je change les piles.
Je n’ai pas vu dans les spécif qu’il coupe l’eau lorsque la batterie devient faible. La commande « flow » (m3 / heure) vous permet approximativement de savoir combien vous avez consommé d’eau au cours d’un scénario en multipliant par la durée du scénario.

Merci beaucoup pour ton retour.

En fait, pour le moment, j’ai des programmateurs hozelock connectés. Ils ne sont pas intégrés à Jeedom mais ils me donnaient satisfaction. Le problème, c’est qu’ils arrêtent le support dans 1 an, donc plus d’application et ils seront obsolètes.

Du coup, je pense que je vais me diriger la dessus, ça semble pas mal…
J’ai pas vu de meilleur solution pour le moment à prix abordable, mais je suis peut-être passé à côté d’autre chose
En tout cas, si je me lance la dessus et que j’arrive à faire marcher ce que tu as décrit plus haut, je te dirai

Il existe d’autres programmateurs Zigbee sur le marché : NEO, WOOX, MOES, GIEX, NOUS, etc. Certains semblent offrir la programmation quantitative.
Le site https://www.zigbee2mqtt.io/ est une bonne source d’informations.

Bonjour,
Je viens d’acquerir un SonOFF SWV. Je l’ai connecté avec Conbee2 mais il était vu comme un detecteur de fuite et ne permettait pas de le commander.
Je l’ai connecté avec in zigate j’ai le statut qui est bien remonté mais je ne peux toujours pas le commandé.
Comment est-ce que vous l’avez intégré à jeedom ?

Vous ne donnez pas les plugins utilisés pour chaque clé testée…

Désolé je ne savais pas que ca avait un impact : plugin Deconz pour la conbee et zigate pour la zigate.

Normalement pas de soucis avec deconz Sonoff SWV-BSP incorrect values · Issue #8229 · dresden-elektronik/deconz-rest-plugin · GitHub
Tu dois peut être créer toi même les commandes non crée par le plugin.

À voir si deconz ou le firmware sont à jour aussi.

Bonjour
J’utilise le plugin z2m. Ma clé Conbee2 est par ailleurs dotée du firmware (deCONZ_ConBeeII_0x26780700.bin).
Le SWV est bien reconnu. Toutes les commandes remontent sans problème.
Le problème pour moi est que, comme je l’ai dit au début du post, je ne parviens pas à faire fonctionner les commandes d’irigation quantitatives. Sinon, ça marche très bien.

Bonjour,

Je rencontre exactement le même problème avec le plugin Z2M et la clé Sonoff (TI CC2652P). Pour info j’utilise la version Zigbee2MQTT 2.4.0.

Toutes les autres commandes fonctionnent parfaitement en set/get (State, on/off, auto close state, auto close on/off) en revanche toutes les commandes liées au cycle d’irrigation avec quantité ou temps son KO (en get et en set).

A chaque fois j’ai une erreur dans Zigbee2MQTT avec un message d’erreur du type :

z2m: Publish 'set' 'cyclic_quantitative_irrigation' to '0xe406bffffed0e6e1' 
failed: 'Error: ZCL command 0xe406bffffed0e6e1/1 customClusterEwelink.write({"20489":{"value":{"0":10,"1":0,"2":0,"3":0,"4":0,"5":0,"6":3,"7":0,"8":0,"9":0,"10":0},"type":66}}, {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":false,"direction":0,"reservedBits":0,"writeUndiv":false}) 
failed (Status 'INVALID_VALUE')'

On dirait qu’il y a un erreur de conversion de la valeur envoyée de Jeedom à Zigbee2MQTT. avec un message explicite : INVALID_VALUE

J’ai même essayé d’envoyer une valeur en dur dans la commande du genre :

json::{"cyclic_quantitative_irrigation":{"irrigation_capacity":"2"}}
ou
json::{"cyclic_quantitative_irrigation":{"irrigation_capacity":2}}

au lieu de

json::{"cyclic_quantitative_irrigation":{"irrigation_capacity":"#slider#"}}

Mais rien y fait.

Si quelqu’un a une idée je suis preneur.

En complément, je tiens a signaler que le changement de valeur directement via l’interface de Zigbee2MQTT fonctionne.

Merci pour le retour.

Bonjour,

J’ai trouvé la réponse à ce problème. Le plugin Z2M gère mal ces données. Il a crée autant d’actions qu’il y a de variables. En fait selon la doc du composant (SONOFF SWV control via MQTT | Zigbee2MQTT) il faut envoyer les 4 données d’un coup.

exemple pour cyclic_quantitative_irrigation :

{"cyclic_quantitative_irrigation": {"current_count": VALUE, "total_number": VALUE, "irrigation_capacity": VALUE, "irrigation_interval": VALUE}}

Par exemple, j’ai crée une commande de test que j’ai appelé cyclic_quantitative_irrigation test et j’ai envoyée un flux json avec les 4 valeurs attendues en dur dans un premier temps

json::{"cyclic_quantitative_irrigation":{"current_count":0,"total_number":2,"irrigation_capacity":3,"irrigation_interval":4}}

Dans ce cas l’appareil reçoit bien la commande sans erreur dans Zigbee2MQTT.

Donc pour corriger il faut modifier les commandes pour renseigner les valeurs mais sans les envoyer et ensuite ajouter une commande qui les envoie.

Je ne sais pas qui doit côté plugin Z2M peut ou doit corriger la mauvaise prise en compte de ces commandes.

Merci.

Merci. Je vais tester.

Bonjour,

Pour info, je n’ai pas réussi à trouver comment renseigner le payload avec des données variables. Donc j’ai crée un bouton avec un paramétrage tout fait qui correspond à mon besoin

ex :

json::{"cyclic_quantitative_irrigation": {"current_count": 0, "total_number": 3, "irrigation_capacity": 10, "irrigation_interval": 300}}

Dans ce cas j’ai une action toute prête à utliser qui fait 3 cycles de 10 litres espacés de 5 minutes.

Bonjour
J’ai fait un test et ça marche.

J’ai seulement créé une nouvelle commande avec par exemple les valeurs suivantes :

json::{"cyclic_quantitative_irrigation":{"current_count":0,"total_number":3,"irrigation_capacity":1,"irrigation_interval":20}}

Je me pose néanmoins une question. Vous écrivez :

Comme je le dis j’ai bien créé une commande, mais je n’ai pas fait « modifier les commandes pour renseigner les valeurs mais sans les envoyer » - que par ailleurs je ne comprends pas très bien.

J’ai par ailleurs fait un autre test pour vérifier la quantité réelle d’eau envoyée. En fait, lorsqu’on demande 1 litre, le programmateur envoie un peu plus, disons 1,15 litre sur mon modèle. Est-ce que vous avez fait ce test sur votre modèle ?

Bonjour,

Initialement je voulais faire des commandes d’info que j’aurais modifiées soit manuellement soit par un scénario (un peu comme des variables). Ensuite je voulais créer la commande qui envoie le cycle en me basant sur les données des commandes d’info. Mais je n’ai pas trouvé simplement comment construire le json à partir de variables. Donc j’ai abandonné. J’ai préféré faire une commande avec un cycle fixe, ce qui correspond plus à mon besoin de le fond.