Plugin wifilightV2 - Sonoff - Ewelink LAN

Merci, j’essaye ça et vous tiens au courant.

Merci Messieurs, procédure validé avec Packet Capture.
Bonne continuation, vous faites du super boulot pour aider les amateurs comme moi.

suffit de voter pour le plugin :
voir ici

Je viens de voter.
Ton plugin est une petite bombe, grand merci pour tout ce boulot.

1 « J'aime »

Bonjour,

J’ai voté hier pour ton super plugin WifilightV2.
Merci pour tout …
Salutations

Jean-Paul

Bonsoir.
De mon côté, j’essaie d’intégrer une prise extérieure qui fonctionne avec ewelink.
Avec packet capture, j’ai bien récupéré l’id et la selfapikey.
J’ai essayé divers sous types (en supprimant les commandes entre 2) sans succès.
Voici le log :

[2019-10-30 19:20:30][DEBUG] :     OFF
[2019-10-30 19:20:30][DEBUG] :    Cmd : {"switch":"off"}
[2019-10-30 19:20:30][DEBUG] :    url : http://192.168.31.16:8081/zeroconf/switch
[2019-10-30 19:20:30][DEBUG] :    data : {"sequence":"156958807731","deviceid":"1000186e01","selfApikey":"7bc33ef3-ab09-4abf-b1fb-1bc3b3314360","iv":"OTA0ODgxODA0OTIyNzgwMw==","encrypt":true,"data":"Km82lnvXDM26qtOgUaML5mGFbiXY81M/WG+eUjuEfjE="}
[2019-10-30 19:20:30][DEBUG] :    header : Array
[2019-10-30 19:20:40][DEBUG] :    Exception:cURL error 28: Operation timed out after 10001 milliseconds with 0 bytes received
[2019-10-30 19:20:40][DEBUG] :    No Ewelink device @http://192.168.31.16:8081/zeroconf/switch

Ce qui est bizarre, c’est que apikey n’est pas la même que celle que j’ai saisi…
J’ai loupé quelque chose ?

Merciiii !

tu es sûr que ton périphérique est à cette adresse ? car il est inaccessible.Sinon problème d’apikey et d’id.

Sinon ce n’est pas en essayant tous les sous types que ça va fonctionner. Donc configurer le plugin comme demandé dans le doc.

L’ip est la bonne oui (ping ok depuis jeedom).
Je relis la doc, ça marche… Par contre, c’est normal que la selfApikey du log ne soit pas celle que j’ai saisie dans l’objet ?:thinking:

Edit : ah oui, l’appli ewelink contrôle bien la prise en mode LAN.

Merci à toi pour ce petit tuto clair et en français :wink:

Bien le bonjour les Jeedomiens !
Je reviens vers vous car j’ai un retour d’erreur sur un Sonoff basic, la commande fonctionne bien mais à l’allumage j’ai un message:« Aucune commande correspondant à l’ID : 230 » et à l’extinction:« Aucune commande correspondant à l’ID : 231 ».
Ce qui est bizarre c’est que je n’ai pas d’ID 230 ou 231 dans la commande.
Une idée? Merci

Bonjour,

J’ai un sonoff basic , j’aimerais le piloter avec ce plugin ce qui semble possible mais je voudrais garder simultanément la compatibilité google home via ewelink. J’ai peur qu’en passant le module sonoff en mode lan, je perde cette possibilité d’utiliser la voix pour allumer ou éteindre le sonoff ?

Merci pour vos retours.
(j’ai cherché cette réponse sur le topic avant de poser la question, j’ai lu la doc aussi, sans trouver la réponse, désolé si j’ai raté la réponse)

@Minscof
C’est fonctionnel, tous mes sonoff sont sur le plugin mais également sous GH via l’application Ewelink.

1 « J'aime »

Bonjour Seblam, as-tu réussi a faire fonctionner ton module ? j’ai le même souci que toi, une fois le deviceid et apiley récupérés et rentrés dans respectivement dans le champs deviceid et le champs jeton dans le plugin, rien ne se passe quand je mets sur ON ou OFF et je constate dans la log que le plugin renvoi une autre key nommée “selfApikey” qui n’est pas la même que celle rentrée dans le champs jeton…

Edit : pour ma part, il s’agit d’une prise sonoff S20, firmware original mis a jour 3.3.0 fonctionnant correctement dans l’appli eWelink

Je n’ai pas réussi non. C’est peut-être parce que j’ai utilisé Packet capture…

Je viens de réussir, j’ai tenté avec un autre module et c’est passé. J’ai tout supprimé puis recréé et mes 3 modules S20 sont maintenant fonctionnels via l’appli eWelink, Jeedom et mon Google Home.
Voici ce que j’ai fait :

  • dans l’appli eWelink, passer les modules en mode LAN et vérifier qu’on arrive bien a les commander puis fermer l’appli
  • dans Jeedom, mettre la log du plugin en debugg (+redémarrer plugin)
  • débrancher tous les autres modules qui sont configurés dans eWekink
  • bien paramétrer des IP fixes dans votre routeur/box
  • brancher le module, attendre 15 secondes qu’il se connecte au wifi (on peut vérifier par un ping que c’est bon)
  • appuyer 8 secondes sur le bouton (ça clignote), attendre 2 secondes et appuyer de nouveau 8 secondes sur le bouton (ça clignote plus vite)
  • se connecter sur le réseau privé du module ITEAD-10000xxxxx (le 10000xxxxx correspond au Deviceid du module), password “12345678”
  • ouvrir un navigateur et taper « http://10.10.7.1/device » quelque soit l’ip fixe affectée
  • récupérer la ligne fournie : {« deviceid »:« 10000xxxxx »,« apikey »:« xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx »,« accept »:« post »,« chipid »:« 00xxxxxx »}
  • créer le module dans le plugin sous jeedom (champs : IP, marque : eWelink Sonoff LAN , sous-type : S20, jeton = apikey, identifiant = deviceid)
  • attendre que le module se remettre sur le wifi (il arrête de clignoter)
  • aller dans la log du plugin et appuyer sur le bouton du module et là, vous devriez voir passer quelque chose comme ceci :
    [2019-11-02 15:25:36][DEBUG] : %%New mDNS packet :_ewelink._tcp.local
    [2019-11-02 15:25:36][DEBUG] : x:0 qtype:12
    [2019-11-02 15:25:36][DEBUG] : name:eWeLink_10000xxxxx._ewelink._tcp.local
    [2019-11-02 15:25:36][DEBUG] : x:1 qtype:16
    [2019-11-02 15:25:36][DEBUG] : Raw Data:txtvers=1id=1000xxxxxxtype=plugapivers=1seq=3encrypt=trueiv=xxxxx==data1=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    [2019-11-02 15:25:36][DEBUG] : x:2 qtype:33
    [2019-11-02 15:25:36][DEBUG] : x:3 qtype:1
    [2019-11-02 15:25:36][DEBUG] : packet is — port:8081 ip:192.168.0.xxx data:{« txtvers »:« 1 »,« id »:« 10000xxxxx »,« type »:« plug »,« apivers »:« 1 »,« seq »:« 3 »,« encrypt »:« true »,« iv »:« MDUyNjc4OTU1NTg4ODQ3Mw== »,« data1 »:« xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx »}
    [2019-11-02 15:25:36][DEBUG] : Input mess : 68 42 37 2b 58 70 70 78 6c 6f 69 64 39 64 59 6f 56 54 59 6e 4a 38 33 47 34 53 68 6d 51 45 47 6b 4d 43 4f 61 6f 55 65 4e 32 6f 38 4a 72 5a 50 6a 62 73 30 5a 67 6b 62 59 6e 73 7a 57 47 4e 4c 66 35 4d
    [2019-11-02 15:25:36][DEBUG] : iv : xxxxxxxxxxxxxxxx==
    [2019-11-02 15:25:36][DEBUG] : Receive after decode :{« switch »:« on »,« startup »:« off »,« pulse »:« off »,« sledOnline »:« on »,« pulseWidth »:500,« rssi »:-51}
    [2019-11-02 15:25:36][DEBUG] : >>> : switch | on : on
    [2019-11-02 15:25:36][DEBUG] : >>> : startup | off : off
    [2019-11-02 15:25:36][DEBUG] : >>> : pulse | off : off
    [2019-11-02 15:25:36][DEBUG] : >>> : sledOnline | on : on
    [2019-11-02 15:25:36][DEBUG] : >>> : pulseWidth | 500 : 500
    [2019-11-02 15:25:36][DEBUG] : >>> : rssi | -51 : -51
    [2019-11-02 15:25:36][DEBUG] : >ON
    [2019-11-02 15:25:36][DEBUG] : Pulse :OFF
    [2019-11-02 15:25:36][DEBUG] : Startup : off
    [2019-11-02 15:25:36][DEBUG] : NO Group
    [2019-11-02 15:25:36][DEBUG] : On:1
  • le module a bien été repéré par le plugin et est maintenant opérationnel

@Seblam
ton périphérique n’est pas accessible. Problème ip ? Sinon tu le reinitialises et attribue une autre adresse IP
@dens.melo
Pas bon id ou apikey ou adresse IP en l’absence de logs

Tout était bon (IP, deviceid et apikey), PING sur le LAN OK mais il semble que le module n’était pas correctement vu. J’ai tout recommancé en débranchant les autres modules et là ça a marché selon la procédure que j’ai indiqué plus haut…

Ok tu as mis la procédure pendant que je répondais!

Mon périphérique est accessible par ewelink. Je vais diagnostiquer la prise et sa connexion wifi avant de continuer… Merci de ton retour en tout cas et surtout pour ce plugin qui va devenir encore plus indispensable pour ma part.

Bonsoir.
Je me réponds : effectivement, la méthode la doc (que j’avais lu et jamais remis en cause) fonctionne. J’avais préféré la méthode Packet Capture plus facile et accessible pour ma part. En effet, mon téléphone passait toujours sur le réseau 5 Ghz alors que les modules ne supportent que le 2,4 Ghz. Encore une fois, mea culpa bcaron.

Par contre, sauf erreur de ma part, dans ce fil ou celui de l’ancien forum, je ne me souviens pas avoir lu que la méthode packet capture ne fonctionnait pas. Elle donne bien une « selfapikey » mais elle est fausse. De plus, le log affiche une apikey qui ne correspond pas à la vraie (y compris avec un fonctionnement ok).

A retenir :

  • seule la méthode la doc fonctionne
  • La méthode par packetcapture ne fonctionne pas
  • la selfapikey des log en debug ne correspond pas à la « vraie » apikey

Si ça peut aider… :wink:

PS : quand on voit les petites difficultés pour récupérer ces infos, on imagine la galère qu’à dû subir bcaron pour le dev. Encore une fois, bravo et merci !