nmaupu / yokis-hack

Some hacking regarding Yokis modules
Apache License 2.0
18 stars 4 forks source link

Little hope #9

Closed steve41200 closed 3 years ago

steve41200 commented 3 years ago

Hi. I’ve 5 yokis,light in my house connected on a yokis key in my Econnect2box (Rexel) and I’m trying lot of thing to control this box in Homeassistant but very often it bugs (light goes off or anything). I’m searching a way to plug the yokis key in HA directly one control her or hacking yokis. I see your code based on an esp. have you a tip to read the USB key directly ?

steve41200 commented 3 years ago

je ne peux plus me reconnecter sur mon home assistant. Pourtant mes automatisations de lumieres marchent dans la maison c'est etrange

steve41200 commented 3 years ago

j'ai reboot mon wifi et j'ai de nouveau acces a home assistant. J'ai redemarré aussi l'esp. Mais jj'ai toujours la meme erreur

nmaupu commented 3 years ago

Au pire, en attendant que je teste ça, tu peux configurer le MQTT en utilisant le telnet avec la commande:

mqttConfig 192.168.1.3 1883 login password

Il y a aussi la commande mqttDiag pour voir les infos configurées et vérifier qu'elles sont bonnes !

steve41200 commented 3 years ago

quand je lance avec mqtt config ca m'affiche en clair les bonnes infos, mais ca me met toujours la meme erreur Connecting to MQTT 192.168.1.3:1883 with client ID=YokisHack-26bd... failed with state -2

nmaupu commented 3 years ago

Je suis en train de tester, il se peut que j'ai introduit quelques bugs en faisant mes modifications ...

steve41200 commented 3 years ago

ok tu me diras, j'ai tenté en changeant mes mots de passs et logins, j'ai juste reussi a mettre le bazar dans mon home assistant ^^mais l'esp8266 ne se connectait pas plus. J'ai remis comme avant du coup

nmaupu commented 3 years ago

J'ai bien le même souci 🤔 Je regarde ce qui se passe ! Merci pour les tests 😅

steve41200 commented 3 years ago

Bah de rien merci à toi pour ce temps que tu passes c’est super sympa

Le 30 déc. 2020 à 17:54, Nicolas Maupu notifications@github.com a écrit :

 J'ai bien le même souci 🤔 Je regarde ce qui se passe ! Merci pour les tests 😅

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

nmaupu commented 3 years ago

Après si t'es chaud, tu peux essayer de compiler la version du master toi-même avec platformio. Je viens de tester pour être sûr et ça fonctionne correctement...

On Wed, Dec 30, 2020 at 6:43 PM steve41200 notifications@github.com wrote:

Bah de rien merci à toi pour ce temps que tu passes c’est super sympa

Le 30 déc. 2020 à 17:54, Nicolas Maupu notifications@github.com a écrit :

 J'ai bien le même souci 🤔 Je regarde ce qui se passe ! Merci pour les tests 😅

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nmaupu/yokis-hack/issues/9#issuecomment-752702990, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADG5LUPQJZWXPBDW72SG2TSXNREXANCNFSM4VI4JFRQ .

nmaupu commented 3 years ago

Bon je pense que j'ai trouvé, je corrige ça...

steve41200 commented 3 years ago

cool merci. Je prefere attendre. J'ai essayé d'installer platform.io pour voir et ca a merdouillé direct. Si tu trouves pas j'essaierai comme ca

steve41200 commented 3 years ago

quand je test apres avoir installé platform.io je lance pio run il m'affiche Obsolete PIO Core v4.0.3 is used (previous was 5.0.4) Please remove multiple PIO Cores from a system: https://docs.platformio.org/page/faq.html#multiple-pio-cores-in-a-system


Error: Not a PlatformIO project. platformio.ini file has not been found in current working directory (/Users/steve/platformio.ini). To initialize new project please use platformio init command

steve41200 commented 3 years ago

en installant vscode d'abord je peut installer platformIO, je tatonne un peu, mais si je refait de zero je perd l'integration des lumières que j'ai réalisé non ? J'ai bien envie de tenter mais la sagesse me dit qu'il faut peut etre mieux etre raisonnable et attendre ton firmware. Ca permettra en plus de continuer a le tester.

nmaupu commented 3 years ago

Tu ne perdras rien car la configuration est persistée dans le petit espace de stockage de l'ESP (anciemment appelé SPIFFS et maintenant appelé LittleFS pour information). Mais tu n'en auras pas besoin car je pense que j'ai fixé le problème ;) 👍

Tu peux re-télécharger le nouveau ici comme d'hab: https://github.com/nmaupu/yokis-hack/releases/download/test/firmware.elf

steve41200 commented 3 years ago

je compile mais c un .elf le fichier ? ca me dit que ca ressemble pas a une image

steve41200 commented 3 years ago

je peux pas le rejoindre par telnet ni via navigateur

nmaupu commented 3 years ago

Je suis un boulet, me suis trompé de fichier 🤦 Tu peux retenter: https://github.com/nmaupu/yokis-hack/releases/download/test/firmware.bin

steve41200 commented 3 years ago

UNADJUSTEDNONRAW_thumb_1aaa

Moskito voit la connexion c'est un bon point!! L'histoire de l'autodiscovery de home assistant je le vois ou par contre ?

steve41200 commented 3 years ago

UNADJUSTEDNONRAW_thumb_1aab on dirait qu'il a perdu les devices non ?

steve41200 commented 3 years ago

UNADJUSTEDNONRAW_thumb_1aac j'en ai reappairé 4 facile (le 5eme est derriere un interrupteur je verrai si tout marche pour le faire apres). Dans MQTT explorer je vois bien les topics mais ou chercher dans Home assistant ?

steve41200 commented 3 years ago

UNADJUSTEDNONRAW_thumb_1aad

nmaupu commented 3 years ago

Tu avais bien fait la commande save ? Peut-être encore un bug grrr... Pour celui qui est derrière un inter, tu peux cliquer plus de 3 sec sur (si c'est un inter sans fil) à la place du bouton connect. Une fois tout apparairé, copie le résultat de la commande dConfigFS, c'est un backup de tes devices qu'on peut restaurer en cas de perte ;)

nmaupu commented 3 years ago

Pour l'autodiscovery, vérifie que c'est activé côté home assistant peut-être 🤷‍♂️

steve41200 commented 3 years ago

ca serait dans config.yaml c'est ca ? je vois rien, ils disent que c activé de base si y'a rien

j'ai ca regulierement aussi dans le terminal sous telnet

Failed to check device ilot 2/3 Device ilot recovered

Sinon je regarde pour creer des switch MQTT mais en command_topic je ne sais pas quoi mettre. le topic est plafonnier_salon/tele/STATE

nmaupu commented 3 years ago

As-tu changé le préfixe de l'auto discovery? J'utilise celui par défaut.

steve41200 commented 3 years ago

non j'ai jamais touché a ca. Pareil je remarque dans MQTT explorer que quand j'envoie une commande, On par exemple, il affiche On qqes secondes et repasse sur Off. C'est normal ?

steve41200 commented 3 years ago

l'auto discovery tu le vois ou dans Home assistant ? dans integration MQTT tu vois ton appareil c ca ?

steve41200 commented 3 years ago

UNADJUSTEDNONRAW_thumb_1aae

ca me crée des topic a coté du topic Homeassistant. Ca fait comme ca chez toi ?

sur ton github on voit Auto discovery uses Home Assistant prefix: homeassistant/ C'est peut etre ca le pb, dans le mqtt ils se mettent pas dans Homeassistant/light_spot_cuisine mais sans spot_cuisine directement

steve41200 commented 3 years ago

et dans ces topics crées quand j'allume ou eteint via telnet ca change le state a on ou off qqes secodnes (et retourne ensuite sur Off), mais si je le fait via l'interupteur ou l'application de ma box Econnect qui est toujours branchée, il ne voit pas de modifications

steve41200 commented 3 years ago

j'ai reussit a integrer une lumiere dans home assistant a la main en creant un switch mqtt.

Ca marche bien quand je controle via home assistant mais j'ai pas de retour d'état si controlé autrement (interrupteur physique)

nmaupu commented 3 years ago

Pas de souci côté MQTT, tout est normal. L'autodiscovery se fait dans le topic /homeassistant et les devices publient dans /nom_device. Je ne suis pas expert home assistant mais c'est de ce côté qu'il y a un souci. Attention à ne pas utiliser les mêmes noms de devices que tu avais avant avec ta box sinon home assistant risque de ne pas les voir... Essaye de regarder les logs de home assistant voir de les mettre en debug sinon.

steve41200 commented 3 years ago

je continue mes investigations. Et ca fait le retour d'état dans MQTT si qq1 appuie physiquement sur l'interrupteur ton programme ? J'ai eteint ma box Econnect qui peut etre pouvait parasiter mais ca ne change rien. Si je touche un interrupteur le topic dans MQTT n'est pas actualisé. Et si j'envoie la commande en telnet pour allumer. Il passe a on qqes secondes et repasse a Off

steve41200 commented 3 years ago

Ecoute c'était peut etre la box E connect qui merdait car ils sont apparus tout seul dans home assistant. Ca c'est cool. Mais je peux allumer et qqes secondes apres le switch se reteint tout seul (mais la lumiere reste bien allumé) meme attitude que le Off qui revient de suite dans MQTT. Toutes les 5 secondes il actualise le MQTT et met Off systematiquement

steve41200 commented 3 years ago

sur mes 5 lumieres, une fait bien le retour d'état. Spot cuisine si j'allume a l'interrupteur il actualise bien le mqtt et donc Home assistant. et inversement. je testerai demain en effacant des devices pour les remettre. Si ca se trouve ca a merdé pendant l'integration. Merci pour tout ce temps passé. Je pense que ton firmware a bien progressé, et moi egalement

nmaupu commented 3 years ago

🤔 Normalement, le state devrait rester à on ou off en fonction de l'état. L'ESP check toutes les 3 à 5s le statut et met à jour le MQTT. On dirait que dans ton cas, le status n'est pas bon, c'est bizarre ça... Le state se voit dans /nom_device/tele/state.

Juste au cas où: est-ce que le NRF n'est pas trop loin du Yokis ?

Peux-tu essayer de désactiver le polling via le telnet avec la commande:

poll

Activer le debug avec:

debug

Et demander le status avec:

status nom_device

Envoie-moi le résultat que je vois ce que ça donne (et quel modèle de Yokis aussi).

nmaupu commented 3 years ago

Mais du coup, les 4 dont le statut déconnent, ce ne serait pas les MTR2000MRP (ceux qui se mettent dans un tableau électrique) ? Si c'est le cas, il y a peut-être un problème de compatibilité avec ces modules dans mon firmware... Je ne les ai jamais testé ceux-là. J'en ai un qui arrive par la poste cette semaine, je vais pouvoir vérifier ça... Ça me parait peu probable mais si ça se trouve les payloads de statut sont différentes :/

steve41200 commented 3 years ago

Bonjour, non le seul qui marche bien au niveau du retour est un de mes 4 au tableau electrique.

j'ai fait ta manip. Pour une lumiere allumé ca donne ca

status plafonnier_sejour status plafonnier_sejour Payload: 0 0 0 20 0 0 FD 0 0 E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - RX READY Received: 00000000 00100001 Device Status = OFF

et celui qui marche en retour d'état une foisque je l'ai allumé status spot_cuisine Payload: 0 0 0 20 0 0 BA 0 0 E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - RX READY Received: 00000000 00000001 Device Status = ON

steve41200 commented 3 years ago

Sur la question de la distance j'ai 4 yokis au tableau electrique (dont 1 seul fonctionne bien en retour d'état) et un dans un mur et l'esp est dans la meme piece que celui dans un mur (ou j'ai pas de rtour d'état non plus)

steve41200 commented 3 years ago

je viens d'en delete un pour le reinstaller et quand il est allumé il me donne le meme status

status plafonnier_sejour status plafonnier_sejour Payload: 0 0 0 20 0 0 7B 0 0 E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - RX READY Received: 00000000 00100001 Device Status = OFF

steve41200 commented 3 years ago

et oui je les sauvegarde bien rpour epondre a une de tes questions. Celui qui marche est les tout premier que j'ai intégré

steve41200 commented 3 years ago

sur un autre. lors de l'envoi du on on plafonnier_salon Payload: B9 4 0 20 0 0 EB 0 0 E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - RX READY Received: 00000000 00100000

2 secondes apres (la lumière c bien allumée)

status plafonnier_salon status plafonnier_salon Payload: 0 0 0 20 0 0 7C 0 0 E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - TX OK E2bp - RX READY Received: 00000000 00100001 Device Status = OFF

et dans mqtt explorer. Si je change bien Home assistant je vois la consigne passer, mais si je fais via interrupteur je ne vois rien. (mais par rapport a hier soir ca ne me remet pas Off) Dans le nuit l'esp c'est coupé, je l'avais branché sur une mutilprise qui est connectée et c eteinte :) Au reveil il se connectait plus au mqtt j'ai relancé via le navigateur ta page pour le configurer et je l'ai rentré de nouveau (il m'affichait l'adresse Ip et le port du tout debut de ton dernier firmware j'ai tout remis pour ma config)

steve41200 commented 3 years ago

je n'ai plus les actualisation toutes les 5 secondes dans le mqtt. J'ai que les commandes via Home assistant qui s'affichent. Ce qui fait qu'home assistant maintient son "choix" on ou off. Mais ne s'actualise pas si on change à l'interrupteur (ni dans telnet)

Edit j'ai reprogrammer le MQTT sur ta page et c'est bien reparti. Avec pleins de Of qui remontent tout le temps toujours (comme avant la coupure involontaire du courant :) )

steve41200 commented 3 years ago

J'ai peut etre trouvé la cause du plantage. La seule Yokis qui marchait bien etait une que j'avais viré de la box Econnect (dans le programme). Pourtant j'avais eteint physiquemment la box, mais ca jouait peut etre. Je viens de tester sur une autre lumière , j'ai relancé la box Econnect pour la desappairer. et ca semble marcher. A confirmer mais c une bonne piste. Si j'ai le temps avant d'aller au travail je retest (après mon café ^^ ca me hype et m'émule bien ton truc, la nuit a été courte)

Pour reappairer au tableau electrique j'ai rapproché l'esp, et en le deranchant rebranchant il a repris ma config d'avant pour le MQTT (plus celle du demarrage mais une ou je m'était trompé de port). J'ai le sentiment que si il reboot il prend pas la derniere config MQTT mais celle d'avant ...

steve41200 commented 3 years ago

petit recap avant d'aller au taff. J'ai viré 2 autres yokis de la box Econnect et ils marchent nickel avec le retour d'état. J'ai ai un 4eme qui merdouille un peu mais je verrai en revenant du taff. Pour l'histoire du MQTT ou il prend la config d'avant, en faisant "Enter" ca sauvegarde, puis en refaisant sauvegarder en bas ca a l'air d'avoir bien enregistré quand g débranché/rebranché l'esp

nmaupu commented 3 years ago

Ah ben bonne nouvelle tout ça :) Pour l'histoire de la config qui ne se sauvegarde pas bien, je vais regarder, Peut-être encore une coquille...

Il semble bien que la box econnect change légèrement le comportement des modules... Faudrait que j'arrive à mettre la main sur un modèle pour voir comment ça marche, je pourrais bien apprendre 2 ou 3 trucs que je ne sais pas encore sur ces modules :D Comme par exemple, s'il est possible ou non de régler directement la luminosité des dimmers...

Bref, du coup, le mieux à faire, c'est que tu désappaires tous les yokis de la box et que tu la débranches...

Le jeu. 31 déc. 2020 à 08:47, steve41200 notifications@github.com a écrit :

petit recap avant d'aller au taff. J'ai viré 2 autres yokis de la box Econnect et ils marchent nickel avec le retour d'état. J'ai ai un 4eme qui merdouille un peu mais je verrai en revenant du taff. Pour l'histoire du MQTT ou il prend la config d'avant, en faisant "Enter" ca sauvegarde, puis en refaisant sauvegarder en bas ca a l'air d'avoir bien enregistré quand g débranché/rebranché l'esp

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/nmaupu/yokis-hack/issues/9#issuecomment-752879028, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADG5LXRHRIOPOBRXQIW5FLSXQUCJANCNFSM4VI4JFRQ .

nmaupu commented 3 years ago

Dans les logs debug de l'esp, il manque la partie haute 🤔 J'aurais bien jeté un œil sur celui qui renvoie 00000000 00100001... Même si ça ne me donnera sûrement rien... Ce 1 en 6e position me laisse perplexe, j'ai jamais vu ça auparavant sur aucun module que j'ai testé moi-même...

steve41200 commented 3 years ago

j'ai eu tres peu de temps ce midi et ce soir c'es rapé aussi :) l'esp avait quitté le wifi sans raison. J'ai changé de cable USB et j'ai mis un autre chargeur. J'ai pas trop regardé mes mA j'avais pris 5V. Le yokis capricieux de se matin toujours apres l'avoir fait quitté la box Econnect c'est qu'en plus une fois quitté la box il faut le reinitialiser avant d'essayer de le reappairer. C'est sur la box modifie un truc dans le capteur.

Je retest mieux ca demain. Mais ca semble aller (a voir si mon nouveau chargeur et cable l'empeche de quitter le wifi aussi) J'ai 4 Yokis sur 5 qui remontent bien. La dernière c'est que j'ai pas eu le temps :)

merci encore pour totu ce temps passé, c'est tres instructif et sans toi jamais je me serai lancer

nmaupu commented 3 years ago

De rien, si ça peut servir, c'est tant mieux 👍

Effectivement, ça confirme qu'il y a quelques côtés encore obscures sur ce firmware made in Yokis...

J'ai corrigé le bug de la sauvegarde de la config MQTT. Nouveau firmware: https://github.com/nmaupu/yokis-hack/releases/download/test/firmware.bin

Pas sûr que ton chargeur soit en cause, j'alimente le mien avec un 500mA et ça passe sans souci (et il y a un coordinator zigbee en plus dessus)... C'est sûrement que l'esp est un peu loin de ton AP. Il n'y a pas vraiment d'antenne correcte sur le wemos :/ J'ai le même souci dans ma maison avec mes devices Tasmota en 2.4GHz (l'esp ne supporte pas le 5GHz malheureusement)... Essaye de le rapprocher un peu de ton routeur ou au pire, il faudra ajouter un répéteur pas trop loin...

Dans tous les cas, je suis content de savoir que ça fonctionne aussi pour les MTR2000MRP !

steve41200 commented 3 years ago

Je testerai demain le nouveau firmware en espérant que ça efface pas mes devices et je ré associerai proprement le dernier. J’ai plusieurs ap dans la maison (asus aemesh) ça peut aussi jouer si je le balade c le même Ssid mais pas le même AP. Mon chargeur était 5V 500mA. Je le remettrai alors si tu me dis que ça tourne.

C’est top ton truc ça permet de piloter tout en local sans truc Proprietaire. Tu es de quel coin de France ? Je pourrai tes prêter la Box pour des tests si on est pas trop loin (j’en ai encore besoin pour un dernier radiateur IO j’attend un module zigbee pour le remplacer) Je suis du loir et cher

Le 31 déc. 2020 à 15:12, Nicolas Maupu notifications@github.com a écrit :

 De rien, si ça peut servir, c'est tant mieux 👍

Effectivement, ça confirme qu'il y a quelques côtés encore obscures sur ce firmware made in Yokis...

J'ai corrigé le bug de la sauvegarde de la config MQTT. Nouveau firmware: https://github.com/nmaupu/yokis-hack/releases/download/test/firmware.bin

Pas sûr que ton chargeur soit en cause, j'alimente le mien avec un 500mA et ça passe sans souci (et il y a un coordinator zigbee en plus dessus)... C'est sûrement que l'esp est un peu loin de ton AP. Il n'y a pas vraiment d'antenne correcte sur le wemos :/ J'ai le même souci dans ma maison avec mes devices Tasmota en 2.4GHz (l'esp ne supporte pas le 5GHz malheureusement)... Essaye de le rapprocher un peu de ton routeur ou au pire, il faudra ajouter un répéteur pas trop loin...

Dans tous les cas, je suis content de savoir que ça fonctionne aussi pour les MTR2000MRP !

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

nmaupu commented 3 years ago

Je viens de faire une petite vérification du code qui sauvegarde les devices (et je n'y ai pas touché récemment). Tout semble ok 🤔 Je ne vois donc pas trop pourquoi ça les a effacés... Sachant que ça ne l'a pas fait à chaque nouvelle version du firmware, si ?

Dans tous les cas, c'est plus safe de copier le résultat de la commande dConfigFS une fois tout appairé pour pouvoir restaurer avec la commande dRestore (une par ligne) en cas de besoin.

Je suis de Paris, pas loin mais un petit peu quand même :)