Problème Plugin Merossiot

Meme avec une pause plus longue ( 15 )
A un moment j’ai une erreur

ce n’est pas ce que je t(ai proposé de faire et tu ne me montre pas l’erreur.
Je t’ai proposé un loop voir plus haut

Désolé je n’avais pas saisi ta demande
Je vais mettre cela en place plutard

Bonjour @bernardfr.caron

Avec la fonction boucle cela semble fonctionné
j’ai du reduire le nombre de boucle car avec 2000000000 le scenario s’exécutait 2 fois et ensuite il s’arretait

Petite question est t’il possible de savoir combien de boucle on été exécuté ?
Autrement qu’en crée un variable que l’on incrémente de 1 à chaque exécution du scenario

La réponse est dans la question
quelle valeur as-tu mise ?
Au pire, faire 2 boucles l’une dans l’autre

Je me doutais bien qu’il n’y avait pas d’autre moyen mais je posais la question quand meme

J’ai mis 9 460 800
Cela représente 3 ans de valeur , je pense que je suis large

Si jamais cela peut vous aider, j’ai configuré un petit mécanisme pour connaitre automatiquement l’état de mes portes de garage pilotées par deux MSG100, que je commande désormais avec WifilightV2 et non plus avec MerossIOT (état partiel je précise, c’est à dire ouvert ou fermé).

L’information est disponible dans les logs du plugin WifilightV2 en mode debug, dans le retour json de l’appel à la commande « stateGet »:

« garageDoor »: [
{
« channel »: 0,
« open »: 0, ou bien « open »: 1,
« lmTime »: xxx
}
]

J’ai créé un script bash qui va extraire l’état d’une porte à un instant T, en parsant le log WifilightV2:

#!/bin/bash

tac /var/www/html/log/wifilightV2 |grep -m1 mac-addresse-de-mon-msg100-sans-ponctuation|grep '"garageDoor"\:\[{"channel"\:0\,"open"\:1'|wc -l

J’ai ensuite créé une commande de type info dans le plugin Script pour pouvoir appeler ce script depuis un scenario et récupérer l’info:

Puis un petit scenario qui va appeler la commande « stateGet » et lancer mon script pour rafraichir l’etat dans ma commande info Etat-garage. Je fais tourner le scenario toutes les minutes, mais je rafraichis l’info toutes les 30 secondes au final:

Avec ca vous avez un rafraichissement (partiel) de l’état du garage toutes les 30 secondes.

Hello @luccio67,

Donc pour les commandes ouvrir et fermer de ta porte de garage meross, tout fonctionne bien en wifilightV2 ?

Il n y a que le retour d état qui ne fonctionne pas ?

Oui tout a fait, tu peux envoyer les commandes ouvrir et fermer à un MSG100 sans soucis.

Ok merci pour ta réponse @luccio67

Pourquoi je pas essayer de voir avec le développeur du plugin s’il ne parviendrait pas à gérer le retour d’etat …

Il est super réactif à ce que j’ai pu comprendre. Le pb était plutôt qu il n’avait pas de bêta testeur sur les msg100.

J ai vu paf ailleurs qu il réussit maintenant à faire remonter la conso des prises meross alors pourquoi pas l état de la porte de garage…

Effectivement avec un beta testeur, on peut essayer d’avancer pour récupérer l’état. Par contre, ce ne pourra pas être temps réel au sens où il faudra que le plugin interroge le module pour qu’il connaisse son état. Raisonnablement une période de scrutation de 10s est possible sur un système performant et peu d’autres modules.

Si ca peut aider oui je peux beta-tester! Par contre j’ai un ancien moteur pour mes portes, qui ne supporte que deux modes: ouvert ou fermé, pas d’ouverture partielle.

c’est pas le but mais de récupérer la valeur de fin de course

La façon dont ca fonctionne chez moi: le MSG100 est connecté au moteur de la porte de garage pour lui donner les impulsions électriques (ouvre toi, ferme toi), et est relié à un capteur type aimant ouvert/fermé qui détermine l’état de la porte. Mais je n’ai aucun moyen d’avoir le pourcentage d’ouverture, ou de savoir si la porte est en fin de course ou pas. A voir si ca peut aider pour tester le retour d’etat, ou si tu as besoin d’un testeur avec un matériel plus récent.

comment récupères-tu les informations du capteur ?

Le fonctionnement que décrit @luccio67 est le même pour tout les msg100…

Il y a un contact sec de sortie qui va sur l automatisme de la porte et qui fait ouvrir si la porte est fermée, et vice-versa.

Et il y a le détecteur (aimant) en entrée du msg100 qui est binaire (porte fermée ou porte ouverte, même si c est seulement partiellement)

Ce qui me serait utile :
lorsque le détecteur détecte porte ouverte, faire : stateget et récupérer les logs
lorsque le détecteur détecte porte fermée, faire : stateget et récupérer les logs

Bonjour @luccio67 et @bernardfr.caron ,

Avez-vous réussi à avancer sur la gestion du retour d’état Meross MSG100 ?

PS : L’objectif de cette question est de pouvoir partager l’info avec la communauté ; désolé de ne pas pouvoir faire le béta-testeur moi-même mais je suis pour l’instant dans l’incapacité d’installer le plugin

Voici le log généré par stateget quand la porte est ouverte (j’ai mis en gras les valeurs que j’ai modifié par des x, et la valeur importante à la fin de la ligne, « open »:1):

[2021-12-20 00:43:02][DEBUG] : Receive:{« header »:{« messageId »:« d1552c3d2d521aced166135ad1320d22 »,« namespace »:« Appliance.System.All »,« triggerSrc »:« AndroidLocal »,« method »:« GETACK »,« payloadVersion »:1,« from »:"/appliance/20022723120632908085xxxxxxxxxxxx/publish",« timestamp »:1639957382,« timestampMs »:355,« sign »:« 05137488a5a5e82a44c9xxxxxxxxxxxx »},« payload »:{« all »:{« system »:{« hardware »:{« type »:« msg100 »,« subType »:« us »,« version »:« 3.5.0 »,« chipType »:« mt7682 »,« uuid »:« 20022723120632908085xxxxxxxxxxxx »,« macAddress »:« 48:e1:xx:xx:xx:xx »},« firmware »:{« version »:« 3.2.5 »,« compileTime »:« 2021/09/16 13:47:36 GMT +08:00 »,« encrypt »:1,« wifiMac »:« 70:3a:xx:xx:xx:xx »,« innerIp »:« 192.168.xx.xx »,« server »:« mqtt-eu-2.meross.com »,« port »:443,« userId »:84xxxx},« time »:{« timestamp »:1639957382,« timezone »:« Europe/Paris »,« timeRule »:[[1585443600,7200,1],[1603587600,3600,0],[1616893200,7200,1],[1635642000,3600,0],[1648342800,7200,1],[1667091600,3600,0],[1679792400,7200,1],[1698541200,3600,0],[1711846800,7200,1],[1729990800,3600,0],[1743296400,7200,1],[1761440400,3600,0],[1774746000,7200,1],[1792890000,3600,0],[1806195600,7200,1],[1824944400,3600,0],[1837645200,7200,1],[1856394000,3600,0],[1869094800,7200,1],[1887843600,3600,0]]},« online »:{« status »:1}},« digest »:{« togglex »:[{« channel »:0,« onoff »:1,« lmTime »:0}],« triggerx »:[{« channel »:0,« id »:« 1111111111111111 »,« count »:1}],« timerx »:[],« garageDoor »:[{« channel »:0,« open »:1,« lmTime »:1639957382}]}}}}[10]

Voici le log généré par stateget quand la porte est fermée (j’ai mis en gras les valeurs que j’ai modifié par des x, et la valeur importante à la fin de la ligne, « open »:0):

[2021-12-20 00:42:33][DEBUG] : Receive:{« header »:{« messageId »:« 66713435fba87f10c6149ff43d87b5f3 »,« namespace »:« Appliance.System.All »,« triggerSrc »:« AndroidLocal »,« method »:« GETACK »,« payloadVersion »:1,« from »:"/appliance/20022723120632908085xxxxxxxxxxxx/publish",« timestamp »:1639957353,« timestampMs »:55,« sign »:« e29c5c0141a945664c9cxxxxxxxxxxxx »},« payload »:{« all »:{« system »:{« hardware »:{« type »:« msg100 »,« subType »:« us »,« version »:« 3.5.0 »,« chipType »:« mt7682 »,« uuid »:« 20022723120632908085xxxxxxxxxxxx »,« macAddress »:« 48:e1:xx:xx:xx:xx »},« firmware »:{« version »:« 3.2.5 »,« compileTime »:« 2021/09/16 13:47:36 GMT +08:00 »,« encrypt »:1,« wifiMac »:« 70:3a:xx:xx:xx:xx »,« innerIp »:« 192.168.xx.xx »,« server »:« mqtt-eu-2.meross.com »,« port »:443,« userId »:84xxxx},« time »:{« timestamp »:1639957353,« timezone »:« Europe/Paris »,« timeRule »:[[1585443600,7200,1],[1603587600,3600,0],[1616893200,7200,1],[1635642000,3600,0],[1648342800,7200,1],[1667091600,3600,0],[1679792400,7200,1],[1698541200,3600,0],[1711846800,7200,1],[1729990800,3600,0],[1743296400,7200,1],[1761440400,3600,0],[1774746000,7200,1],[1792890000,3600,0],[1806195600,7200,1],[1824944400,3600,0],[1837645200,7200,1],[1856394000,3600,0],[1869094800,7200,1],[1887843600,3600,0]]},« online »:{« status »:1}},« digest »:{« togglex »:[{« channel »:0,« onoff »:1,« lmTime »:0}],« triggerx »:[{« channel »:0,« id »:« 1111111111111111 »,« count »:1}],« timerx »:[],« garageDoor »:[{« channel »:0,« open »:0,« lmTime »:1639942376}]}}}}[10]

Je recolle les deux logs en mode préformatté:

Porte ouverte:

[2021-12-20 00:43:02][DEBUG] :     Receive:{"header":{"messageId":"d1552c3d2d521aced166135ad1320d22","namespace":"Appliance.System.All","triggerSrc":"AndroidLocal","method":"GETACK","payloadVersion":1,"from":"/appliance/20022723120632908085xxxxxxxxxxxx/publish","timestamp":1639957382,"timestampMs":355,"sign":"05137488a5a5e82a44c9xxxxxxxxxxxx"},"payload":{"all":{"system":{"hardware":{"type":"msg100","subType":"us","version":"3.5.0","chipType":"mt7682","uuid":"20022723120632908085xxxxxxxxxxxx","macAddress":"48:e1:xx:xx:xx:xx"},"firmware":{"version":"3.2.5","compileTime":"2021/09/16 13:47:36 GMT +08:00","encrypt":1,"wifiMac":"70:3a:xx:xx:xx:xx","innerIp":"192.168.xx.xx","server":"mqtt-eu-2.meross.com","port":443,"userId":84xxxx},"time":{"timestamp":1639957382,"timezone":"Europe/Paris","timeRule":[[1585443600,7200,1],[1603587600,3600,0],[1616893200,7200,1],[1635642000,3600,0],[1648342800,7200,1],[1667091600,3600,0],[1679792400,7200,1],[1698541200,3600,0],[1711846800,7200,1],[1729990800,3600,0],[1743296400,7200,1],[1761440400,3600,0],[1774746000,7200,1],[1792890000,3600,0],[1806195600,7200,1],[1824944400,3600,0],[1837645200,7200,1],[1856394000,3600,0],[1869094800,7200,1],[1887843600,3600,0]]},"online":{"status":1}},"digest":{"togglex":[{"channel":0,"onoff":1,"lmTime":0}],"triggerx":[{"channel":0,"id":"1111111111111111","count":1}],"timerx":[],"garageDoor":[{"channel":0,"open":1,"lmTime":1639957382}]}}}}[10]

Porte fermée:

[2021-12-20 00:42:33][DEBUG] :     Receive:{"header":{"messageId":"66713435fba87f10c6149ff43d87b5f3","namespace":"Appliance.System.All","triggerSrc":"AndroidLocal","method":"GETACK","payloadVersion":1,"from":"/appliance/20022723120632908085xxxxxxxxxxxx/publish","timestamp":1639957353,"timestampMs":55,"sign":"e29c5c0141a945664c9cxxxxxxxxxxxx"},"payload":{"all":{"system":{"hardware":{"type":"msg100","subType":"us","version":"3.5.0","chipType":"mt7682","uuid":"20022723120632908085xxxxxxxxxxxx","macAddress":"48:e1:xx:xx:xx:xx"},"firmware":{"version":"3.2.5","compileTime":"2021/09/16 13:47:36 GMT +08:00","encrypt":1,"wifiMac":"70:3a:xx:xx:xx:xx","innerIp":"192.168.xx.xx","server":"mqtt-eu-2.meross.com","port":443,"userId":84xxxx},"time":{"timestamp":1639957353,"timezone":"Europe/Paris","timeRule":[[1585443600,7200,1],[1603587600,3600,0],[1616893200,7200,1],[1635642000,3600,0],[1648342800,7200,1],[1667091600,3600,0],[1679792400,7200,1],[1698541200,3600,0],[1711846800,7200,1],[1729990800,3600,0],[1743296400,7200,1],[1761440400,3600,0],[1774746000,7200,1],[1792890000,3600,0],[1806195600,7200,1],[1824944400,3600,0],[1837645200,7200,1],[1856394000,3600,0],[1869094800,7200,1],[1887843600,3600,0]]},"online":{"status":1}},"digest":{"togglex":[{"channel":0,"onoff":1,"lmTime":0}],"triggerx":[{"channel":0,"id":"1111111111111111","count":1}],"timerx":[],"garageDoor":[{"channel":0,"open":0,"lmTime":1639942376}]}}}}[10]