Plugin WIFILIGHTV2 : Integration Multiprise MEROSS

Bonjour,

Comme demandé, j’ouvre un nouveau sujet.

Je ne réussis pas à connecter ma multiprise MEROSS MSS425F. J’ai suivi pas à pas le tuto :

  • Installation de http catcher sur iphone et allow vpn
  • Start de la capture
  • Passage d’une des 4 prises de la multiprise à « On » via l’appli MEROSS sur le même iphone
  • Arrêt de la capture
  • Visualisation de la capture correspondante à l’adresse ip de la multiprise (Requête Post /config)
  • A priori dans la réponse j’ai « payloadversion » : 1, j’ai donc configuré le plugin avec type de periph « tuya compatible V1 » et sous type = « smartplug 4 + USB ». C’est bien ça ?
  • Dans la réponse j’ai bien qquechose ressemblant à : { « header » : { « messageid » : « xxxxx », « namespace » : … « timestamp » : xxxxxx, …, « sign » : « xxxxxx » }, « payload » : {} }

La raison pour laquelle j’ai sélectionné « Tuya compatible V1 » et sous-type « smartplug 4 + usb », c’est que je n’ai pas trouvé MEROSS dans la liste déroulante « type/marque » et qu’il me semble avoir lu que les devices meross étaient gérables par l’appli tuya aussi. Si ce n’est pas le cas, que dois je sélectionner dans les listes déroulantes types et sous type pour cette multiprise ?

Ensuite je m’interroge sur les points suivants :
→ Quelle valeur dois je mettre dans les champs « jeton » et « identifiant » du plugin (sign, messageid, timestamp, …) ?
→ Quand je réitère une trace en mettant « Off » le device que j’avais mis à « on » précédemment, j’ai des valeurs de « sign », « messageid », … différents. Ca me semble pas normal. Ai je loupé quelquechose ?
→ Dans le champ json « payload » des requêtes générées pour le « On » et « Off », j’ai la valeur « togglex »-> « channel » à 4 (avec la valeur de « togglex » → « onoff » à 1 pour on et à 0 pour off). Cela veut-il dire qu’il faut que je positionne le champ « Canal » dans le plugin à 4 ?

Par ailleurs, j’ai aussi 4 vannes thermostatiques Meross connectées au wifi via un smarthub msh300.
Si une evolution du plugin pour le rendre compatible avec ces vannes semble intéressante, je peux donner un coup de main pour transmettre les infos nécessaires (logs, debug, traces, …).
Pour cela faut il que j’ouvre un nouveau sujet spécifique ?

Merci

pourquoi Tuya ?

mettre à jour le plugin et prendre l’habitude de lire le changelog

2 « J'aime »

J’étais déjà avec la version du 2021-01-12. Je viens de la remettre à jour (version du 2021-01-12 13:17:40). Version Jeedom 3.3.53.
Effectivement, je vois bien que depuis la version 1.63 - 2020-12-01, la marque MEROSS a été prise en compte, mais je n’ai pas ce choix dans la liste déroulante.

Du coup je ne comprends pas pourquoi.

peux tu me faire une copie d’écran du déroulant marque/type ?


image

je ne comprends pas il manque un tas de types/soustypes
tu es en V3 ou V4 ?
en V3

Refais la mise à jour
le souci est que comme tu es en V3, on ne pourra pas échanger facilement en utilisant la beta car il n’y en a pas en V3
On pourra échanger seulement via fichier

Je viens de refaire la mise à jour et maintenant j’ai bien MEROSS dans la liste déroulante. Je peux donc choisir plug 5 dans sous-type (4 Prises + USB).
J’ai du coup 3 champs à renseigner :
J’ai récupéré les 3 champs nécessaires dans la réponse à la requête Post /config correspondant à l’action « On » du canal 4.
Je mets namespace dans Jeton du plugin, messageId dans Identifiant et un timestamp.
Je positionne aussi Canal 4.
Double sauvegarde.
J’ai bien la communication Ok (ConnectedGet → -1).
Pour autant, les commandes on et off n’ont aucun effet, et lorsque je me mets en debug sur le plugin j’ai les erreurs suivantes :
[2021-01-13 12:18:00][DEBUG] : Receive:{« header »:{« messageId »:« xxxxx »,« namespace »:« Appliance.Control.ToggleX »,« method »:« ERROR »,« payloadVersion »:1,« from »:"/appliance/xxxxxx/publish",« timestamp »:1610536680,« timestampMs »:284,« sign »:« xxxxxxxxx »},« payload »:{« error »:{« code »:5001,« detail »:« sign error »}}}

souci avec l’un des 3 paramètres
et peux tu me donner la commande envoyée ?

Je présume que tu veux la commande envoyée par l’appli MEROSS.

La voici ci-dessous :

GENERAL :
Request URL : http://192.168.0.23/config
Request Method : POST
Remote Address : 192.168.0.23:80
Status Code 200
Version HTTP/1.1

REQUEST HEADER :
Host 192.168.0.23
Accept /
Accept-Encoding gzip, deflate
Connection Keep-Alive
User-Agent intellect_socket/2.19.0 (iphone; IOS 10.3.3; Scale/2.00)

JSON :
{
« header » : {
« namespace » : « Appliance.Control.ToggleX »,
« from » : « http://192.168.0.23/config »,
« sign » : « d89be2f57c7e6509154de11a55da59dd »,
« payloadVersion » : 1,
« messageId » : « xxxxxxxxxxxxxxxxxxxxxxxx »,
« timestamp » : 1610540148,
« triggerSrc » : « iOSLocal »,
« method » : « SET »
},
« payload » : {
« togglex » : {
« onoff » : 1,
« channel » : 4
}
}
}

et celle par le plugin
tu peux faire en MP, tu n’obscurcifies pas les paramètres

Bonjour à tous,

je rencontre également des difficultés à faire fonctionner le plugin avec une multiprise Meross MSS425F…
Je récupère les credentials via l’appli http catcher, mais ce qui me semble bizarre c’est que ces credentials changent à chaque essai… est-ce normal ?

Au niveau du plugin lorsque je teste la commande « connecté », j’obtiens -3.
Voici un log qui pourra peut-être vous éclairer :

Cmd : "togglex":{"onoff": 1,"channel": "1"} - url : http://xxx.xxx.x.xx/config - type : POST - body : {"header": {"from": "http://xxx.xxx.x.xx/config","messageId": "xxxxxxxxxxxxxxxxxxx","method": "SET","namespace": "Appliance.Control.ToggleX","payloadVersion": 1,"sign": "xxxxxxxxxxxxxxxxxxxxxx","timestamp": xxxxxxxxxx},"payload": {"togglex":{"onoff": 1,"channel": "1"}}} -  method: SET - Exception:cURL error 52: Empty reply from server (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) - No Meross device @http://xxx.xxx.x.xx/config

Merci de votre aide :slight_smile:

voir la doc.

Bonjour,
C’est évidemment ce que j’ai fait avant de poster ici…

mal lue
et recherche sur ce forum insuffisante

Bonjour
Ce matin j’ai lancé la MAJ de WifilightV2 et depuis je n’ai plus accés a mon jeedom. J’arrive sur une page blanche au lieu de la page de login.
Je me suis connecté en rescue et lancé une restauration de mon Jeedom d’hier. Helas j’ai une erreur liée au Plugin WIFILIGHETV2 (a la fin du log)

[START RESTORE]
***************Début de la restauration de Jeedom 2021-10-17 11:02:10***************
Envoi l'évènement de début de restauration...OK
Vérification des droits...
OK
Fichier utilisé pour la restauration : /var/www/html/core/class/../../backup/backup-Jeedom_PI4-4.1.27-2021-10-17-07h40.tar.gz
Backup database access configuration...OK
Disable all task.
OK
Disable all scenario................... OK
Décompression de la sauvegarde...
OK
Supprimer la table de la sauvegardeDésactive les contraintes...OK
Supprimer la table : cmd ...OK
Supprimer la table : config ...OK
Supprimer la table : cron ...OK
Supprimer la table : dataStore ...OK
Supprimer la table : data_amfj ...OK
Supprimer la table : eqLogic ...OK
Supprimer la table : history ...OK
Supprimer la table : historyArch ...OK
Supprimer la table : interactDef ...OK
Supprimer la table : interactQuery ...OK
Supprimer la table : listener ...OK
Supprimer la table : message ...OK
Supprimer la table : note ...OK
Supprimer la table : object ...OK
Supprimer la table : plan ...OK
Supprimer la table : plan3d ...OK
Supprimer la table : plan3dHeader ...OK
Supprimer la table : planHeader ...OK
Supprimer la table : scenario ...OK
Supprimer la table : scenarioElement ...OK
Supprimer la table : scenarioExpression ...OK
Supprimer la table : scenarioSubElement ...OK
Supprimer la table : timeline ...OK
Supprimer la table : update ...OK
Supprimer la table : user ...OK
Supprimer la table : view ...OK
Supprimer la table : viewData ...OK
Supprimer la table : viewZone ...OK
Supprimer la table : widgets ...OK
Restauration de la base de données...OK
Active les contraintes...OK
Restauration du cache...OK
PHP Fatal error:  Cannot declare class W2_mystromBase, because the name is already in use in /var/www/html/plugins/wifilightV2/3rdparty/mystorm.php on line 11

Une idée de comment revenir a une situation normale ?

D’avance merci

Bonjour

Sujet déjà évoqué ci dessous

Merci iPapy, helas ayant perdu mon mot de passe SSH je ne peux utiliser cette solution

Alors là en espérant que vous ayez externalisé vos sauvegardes c’est réinstallation de l’OS, de Jeedom et restauration de la sauvegarde :crossed_fingers:

Effectivement. Ca me sidère qu’il n’y ait pas une solution a la perte d’un mot de passe sous Linux. J’ai lu quelques truc mais je n’ai rien compris.