Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Little hope #9

Closed
steve41200 opened this issue Dec 25, 2020 · 174 comments
Closed

Little hope #9

steve41200 opened this issue Dec 25, 2020 · 174 comments

Comments

@steve41200
Copy link

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 ?

@nmaupu
Copy link
Owner

nmaupu commented Dec 25, 2020

Hi!

I never tried or worked with the usb key or the rexel box...
My best advice is to throw away that proprietary crap. Get yourself an esp8266 and an nrf24 and use my firmware...
It's been one year now I made this hack and I don't have any problem whatsoever...
You just need a MQTT server though...

@steve41200
Copy link
Author

Thank you for your answer. I’m watching your solution and I never do a thing like this before. I’m little afraid. Domotique make me lot of things I’ve never do before, so why not, but the gap is very very big this time :)
I can control E.connect from homeassistant but very often she became crazy and light get down without any reason.
I’M ok to avoid use this software and go on a solution more open source (all the rest I have is on home assistant with zigbee2mqtt)

@nmaupu
Copy link
Owner

nmaupu commented Dec 26, 2020 via email

@nmaupu
Copy link
Owner

nmaupu commented Dec 26, 2020

For information, I personally use the wemos d1 mini for the esp8266:
https://www.amazon.fr/dp/B0754N794H/ref=cm_sw_r_cp_apa_fabc_UMX5FbAWEJ9NS?_encoding=UTF8&psc=1

@steve41200
Copy link
Author

Je continue en Francais. Yokis etant une marque Fr je pense que nous sommes du meme pays, tu me diras si je me trompe

Tes encouragements me poussent a reregarder ton github. Mais je ne comprend vraiment pas tout. Il y a quoi à copier sur l'esp8266 ?
quand tu fais le pio run tu met toutes les infos wifi et mqtt ca ok, mais ton programme en lui meme il est ou ?
comment tu lances ensuite les requetes d'appairage ?
quels sont les fichiers de ton github a copier sur l'esp8266 ?
Ces questions te paraissent surement betes, mais je n'ai jamais fait ca avant. Ma seule experience approchante est un flash d'esp32 pour faire un detecteur de BT sur Home assistant (et j'avais betement suivi des tutos)

J'ai bien envie de me lancer avec ton astuce et me debarasser de ma box propriétaire qui controle ces devices prisonniers

@nmaupu
Copy link
Owner

nmaupu commented Dec 26, 2020

En effet, bien vu :)
yokis-hack est un firmware pour l'esp8266 (comme Tasmota si tu connais), lorsque tu fais le pio run cela compile le firmware qu'il faudra ensuite "uploader" sur l'esp8266. C'est ce firmware qui offrent toutes les fonctionalités. Bien sûr il faudra d'abord faire les bons branchements avec le matériel que je t'ai listé (on pourra voir ça lorsque tu auras tout ce qu'il faut).
Le NRF24 sert à communiquer avec les modules Yokis et l'ESP8266 s'occupe de contrôler le tout à l'aide de mon firmware.

Si la compilation te pose problème, je peux éventuellement te le faire mais il me faudras les infos. J'avais initialement prévu de faire une interface de configuration mais je n'ai pas encore eu le temps ni le besoin...

Une fois le firmware mis en place, tu pourras au choix:

  • te connecter à l'esp8266 pour lui donner des commandes (appairage, configuration, etc.)
  • te connecter en telnet via l'adresse ip de l'esp8266 et lui donner les même commandes

Pour appairer, c'est simple. Une fois sur l'esp8266, il faut entrer la commande pair. Cela va mettre en mode apparairage le NRF24, il suffira alors de cliquer sur le bouton connect du module yokis pour que l'esp8266 le reconnaisse.
Une fois fait, un message MQTT est publié et avec l'autodiscovery de Home Assistant, tu vas pouvoir intégrer ton Yokis. Par la suite, l'esp8266 écoute sur le MQTT pour envoyer les bonnes commandes à tes modules lorsque tu les envoies via Home Assistant.
Tu peux aussi tester et lancer on et off depuis la console de l'esp8266 pour voir que tout fonctionne bien.

Quels modèles de modules Yokis as-tu ?

@steve41200
Copy link
Author

Tu vas finir de me décider lol. j'ai tout les liens pour acheter que tu as linké ^^
Les modules Yokis que j'ai ce sont 4 telerupteurs (MTR2000MRP il me semble) et 1 encastré MTR2000ERPX. Après mon electricien avait créé un interrupteur virtuel (un module yokis a pile derrière) pour piloter 1 telerupteur et le boitier encastré. Mais ca ca fonctionne avec ou sans box allumé ca devrait rester autonome je pense

@steve41200
Copy link
Author

tu penses que ca serait compatible avec ton hack ?

@nmaupu
Copy link
Owner

nmaupu commented Dec 26, 2020 via email

@steve41200
Copy link
Author

steve41200 commented Dec 27, 2020 via email

@steve41200
Copy link
Author

j'ai commandé https://www.amazon.fr/gp/product/B0754N794H/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1 et https://www.amazon.fr/dp/B07P95X6HM/ref=cm_sw_r_cp_apa_fabc_lDX5Fb58A9SYT?_encoding=UTF8&psc=1

Le branchement selon ton github y'a 2 tableau, faut tout relier ?

NRF24 ESP8266

CE D2
CS D8
IRQ D1

CLK D5
MOSI D7
MISO D6

??
Sur des photos sur le net je vois pas les contacteurs CLK et CS http://electroniqueamateur.blogspot.com/2017/02/communication-par-nrf24l01-entre-deux.html
Ca sera peut etre different avec celui que je vais recevoir. Je me conditionne un peu a la suite des evenements :)

@nmaupu
Copy link
Owner

nmaupu commented Dec 27, 2020

Tout est bon je pense.
Sur le petit adaptateur 3.3V qui vient avec le NRF24L01, il y a bien un CS et un CE qui sont clairement indiqués normalement.

@steve41200
Copy link
Author

steve41200 commented Dec 29, 2020 via email

@steve41200
Copy link
Author

UNADJUSTEDNONRAW_thumb_19d3
UNADJUSTEDNONRAW_thumb_19e5

@nmaupu
Copy link
Owner

nmaupu commented Dec 29, 2020

Salut,

Tu as bien branché ton NRF24, c'est good.

Tu as 6 fils à brancher pour la data:
CE D2
CS ou CSN D8
IRQ D1
CLK D5
MOSI D7
MISO D6

Ensuite, tu relies le 3.3V et le GND de l'ESP8266 aux pins correspondantes du petit adaptateur où est branché le NRF24.
Ne restera plus qu'à alimenter l'ESP avec son port USB.

Parallèlement, je suis en train de développer une interface web de configuration pour t'éviter la compilation ;)

@steve41200
Copy link
Author

Ok alors j'ai pas MOSI, c'est MO je pense
j'ai pas MISO ca soit etre MI
j'ai pas CLK ca doit etre SCK (le seul qui restera libre)?

j'ai bien un 3v3 sur l'esp mais g VCC et GND sur les prises restantes du NRF24 .
Par contre je ne vois pas de GND sur l'esp. Je vois 5V C'est ca ?

Merci encore pour ton aide, et c'est top ton histoire d'interface :)

@nmaupu
Copy link
Owner

nmaupu commented Dec 29, 2020 via email

@nmaupu
Copy link
Owner

nmaupu commented Dec 29, 2020 via email

@steve41200
Copy link
Author

top merci, je venait de regarder en detail et j'imaginai que c'était peut etre le G.
Je m'attaque a la soudure demain matin pour fixer les especes de peignes sur l'esp. Mais deja je sais ou vont chaque fil ^^.
Ensuite il faut installer un soft j'imagine ? J'ai trouvé Atom pour MacOs ou dessu on peut mettre platformIO C'est ca qu'il faut ? (J'ai vu des noms comme ca dans ton Github)

@nmaupu
Copy link
Owner

nmaupu commented Dec 29, 2020 via email

@steve41200
Copy link
Author

oula ca me va de patienter. C'est la grande inconnue pour moi.
J'attend de tes nouvelles avec impatience. Encore merci pour l'aide précieuse que tu m'apportes. J'ai hate de controler mes lumieres sans cloud ni logiciel propriétaire.

@nmaupu
Copy link
Owner

nmaupu commented Dec 30, 2020

Salut,

J'ai un truc qui tient à priori la route. Je vois demain pour faire la release et te filer le firmware à installer sur l'esp8266.

En attendant, installe ces quelques outils qui te seront nécessaires. À priori, tu es sous mac et ça tombe bien, j'ai aucune idée de comment faire ça sous windows ;)

Tu vas avoir besoin d'esptools pour uploader le firmware sur l'esp: https://github.com/espressif/esptool

Pour uploader le firmware, c'est avec la commande suivante:

esptool.py -p /dev/tty.usbserial-xxxxx write_flash -fm dio 0x00000 yokis-hack-firmware.bin

Évidemment, il faut remplacer les 'x' par le nom de ton esp.

Une fois le firmware uploadé sur l'esp, tu pourras faire la configuration du wifi et du mqtt depuis une interface web (je te dirai comment faire quand tu auras le firmware).
Tu auras néanmoins besoin d'accéder au port série de l'esp pour faire l'appairage des Yokis.

Pour ça, plusieurs solutions s'offrent à toi. La plus simple étant d'utiliser minicom. À installer avec homebrew (https://brew.sh/) sous mac via la commande suivante:

brew install minicom

Ensuite, se connecter au serial est un jeu d'enfant: il suffit de brancher l'esp en usb sur le PC et de lancer la commande suivante depuis un terminal:

minicom -b 115200 -D /dev/tty.usbserial-xxxxx

Une fois sur la console, la commande help pourra t'aider !

@steve41200
Copy link
Author

steve41200 commented Dec 30, 2020 via email

@steve41200
Copy link
Author

UNADJUSTEDNONRAW_thumb_1a9b

@steve41200
Copy link
Author

UNADJUSTEDNONRAW_thumb_1a9d

@nmaupu
Copy link
Owner

nmaupu commented Dec 30, 2020

Houla, ton homebrew n'a pas l'air en forme :/
C'est pas grave, j'avais zappé mais il y a plus simple en fait ;) Tu pourras simplement utiliser la commande telnet que tu dois déjà avoir sous mac...
Sinon oui, tout se fait dans terminal.

Pour trouver le bon /dev, il suffit de faire une commande comme :

ls -l /dev | grep usbserial

(évidemment en ayant branché l'esp en usb)

@steve41200
Copy link
Author

installer telnet me fait la meme chose via homebrew mais ca semble avoir marché quand meme (je connais pas telnet, juste de nom)
et j'ai trouvé le nom tty de l'esp c'est tout bon :)

@steve41200
Copy link
Author

UNADJUSTEDNONRAW_thumb_1aa4

@steve41200
Copy link
Author

UNADJUSTEDNONRAW_thumb_1aa3

@nmaupu
Copy link
Owner

nmaupu commented Dec 30, 2020

Impec 👍
Je te prépare une version de test !

@prod-cnd
Copy link

Bonjour,
Je me permets de relancer le sujet car je n'arrive pas à connecter mes Yokis à l'ESP.
J'ai bien effectué tous les branchements sur l'ESP :
Branchements :

CE  => D2
CSN => D8
SCK => D5
M0  => D6
M1  => D7
IRC => D1
+ Branchement du Ground et 3.3V

Sous Windows, je n'ai pas utilisé cette commande car elle n’e fonctionne pas :
esptool.py -p /dev/tty.usbserial-COM4 write_flash -fm dio 0x00000 yokis-hack-firmware.bin
A la place j'ai utilisé cette commande :
python -m esptool -p COM6 write_flash --flash_mode dio 0x00000 firmware.bin

J'ai bien réussi à connecter mon ESP sur mon réseau domestique et à MQTT et j'arrive à me connecter en telnet.

Lorsque je fais la commande
pair
J’obtiens systématiquement

Hack started, click on the connect buitton when ready
waiting... timeout=30000
Timeout waiting for data, aborting.


> Connecting to MQTT 192.168.1.108:1883 with client ID=YokisHack-f3ce... connected
Resubscribing, #topics=0

J'ai bien appuyé sur le bouton du Yokis qui clignote
J'ai testé sur deux MTV500ERP et un MTR2000ERP

Mes émetteurs sont des E4BPP 545544227 et E2BPP 5454413

Est-ce que quelqu'un aurait une idée pour résoudre mon problème, ou des pistes pour poursuivre mes investigations ?

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Salut,

Peux-tu partager le pinout de ton modèle d'ESP ?
Juste pour être sûr, tu cliques bien sur le bouton derrière le yokis (et pas sur les télécommandes) ?

@prod-cnd
Copy link

Merci pour ta réactivité
Oui je clique bien sur le récepteur MTV500ERP ou MTR2000ERP
Voici les photos :
IMG20230123145154
IMG20230123145207
IMG20230123145145

@yakouzin
Copy link

Salut,
Comment utilisais-tu tes modules jusqu’à maintenant? Utilisais-tu le hub Yokis ou une box energeasy?
Si oui, je te conseille de les désappairer du hub/de la box et de les remettre en config usine. Tu peux déjà essayer avec un module pour voir si le problème viens de là.

@prod-cnd
Copy link

prod-cnd commented Jan 23, 2023

Ils n'ont jamais été utilisés. J'ai juste un NUC avec , nodeRed, MQTT qui tournent indépendamment de HomeAssistant.

@prod-cnd
Copy link

prod-cnd commented Jan 23, 2023

Au démarrage de telnet, j'ai ceci :

Connection established via TelnetSpy.
Reloaded.
Connecting to WiFi .......... connected to SSID SAGS
Connecting to MQTT 192.168.1.108:1883 with client ID=YokisHack-660e... connected
Resubscribing, #topics=0
Setup finished - device ready !
-== Yokis hacks v. wifi-ap-webportal ==-

help             display this help
debug            toggle debug mode
raw              toggle raw / formatted output
poll             toggle devices polling for status
config           print current config flags
pair             Pair with a Yokis device - basically act as if a Yokis remote i                                                                                                                                                             s in pairing mode (5 button clicks)
toggle           send a toggle message - basically act as a Yokis remote when a                                                                                                                                                              button is pressed then released
scan             Scan the network for packets - polling has to be disabled for t                                                                                                                                                             his to work
copy             Copy a device to a pairing one (or disconnect if already config                                                                                                                                                             ured)
dConfig          display loaded config / current config
on               Switch ON the configured device
off              Switch OFF the configured device
pause            Pause the configured device (MVR500 only - shutter device)
press            Press and hold an e2bp button
pressFor         Press and hold for x milliseconds
release          Release an e2bp button
status           Get device status
dimmem           Set a dimmer to memory (= 1 button pushes)
dimmax           Set a dimmer to maximum (= 2 button pushes)
dimmid           Set a dimmer to middle (= 3 button pushes)
dimmin           Set a dimmer to minimum (= 4 button pushes)
dimnil           Set a dimmer to night light mode (= 7 button pushes)
save             Save current device configuration to LittleFS
delete           Delete one entry from LittleFS configuration
clear            Clear all config previously stored to LittleFS
reload           Reload config from LittleFS to memory
dConfigFS        display config previously stored in LittleFS
dRestore         restore a previously saved raw config line (SPIFFS->LittleFS)
wifiConfig       Configure wifi with parameters: ssid psk (does not work for psk                                                                                                                                                              containing spaces)
wifiDiag         Display wifi configuration debug info
wifiReset        Reset wifi configuration and setup AP mode
restart          Restart the ESP8266 board
mqttConfig       Configure MQTT options (format: mqttConfig host port username p                                                                                                                                                             assword)
mqttDiag         Display current MQTT configuration
mqttConfigDelete Delete current MQTT configuration

Config: DEBUG=0 RAW=0 POLLING=1

> Publishing homeassistant discovery data... OK
pm open,type:2 0

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Je dirais que ton câblage n'est pas bon
MO = MOSI
MI = MISO
SCK = CLK = clock
Vérifie ces 3 fils déjà

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Ton fil Marron -> D6
Ton fil Violet -> D7
Ton fil Jaune -> D5

@prod-cnd
Copy link

malheureusement rien n'a changé j'ai toujours le timeout. Le Jaune était déjà sur D5 et j'ai inversé D6 et D7

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Peux-tu mettre en debug et effectuer la commande pair et envoyer ce que tu as dans le telnet ?

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Aussi, essaye avec la dernière version (v1.5) plutôt que la version de test que tu as et qui est assez ancienne.

@prod-cnd
Copy link

Ahhh, je ne savais pas qu'il y avait une version 1.5. Je viens de la chargée. Toujours le même problème.
Lorsque je fais la commande debug il me retourne debug=1
lorsque je fais la commande paire, il me retourne :

Hack started, click on the connect button when ready
Waiting... timeout=30000
Timeout waiting for data, aborting.

> Connecting to MQTT 192.168.1.108:1883 with client ID=YokisHack-138f... connected
Resubscribing, #topics=0

Je n'ai pas plus d’information sur le retour d’information du debug

@prod-cnd
Copy link

par ailleurs, lorsque je fais pair, je n'ai pas de réaction de Telnet. et toutes les informations apparaissent d'un coup. C'est à dire qu'il ne me dit pas pair, le hack commence vous pouvez appuyer... et après le timeout. Il m'affiche tout d'un coup.

@yakouzin
Copy link

Tu as essayé de rapprocher l’ESP du module auquel tu essayes de te connecter?

@prod-cnd
Copy link

il est à 10 cm

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Peut-être que tu devrais essayer en utilisant le serial directement 🤔 Ce que tu décris avec le telnet me parait assez bizarre

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Tu peux faire ça en branchant un câble USB et en utilisant l'UI d'arduino ou minicom sinon.

@prod-cnd
Copy link

Bon déjà un grand merci mmaupu du temps consacré à mon problème 👍

Alors là, je suis un peu largué. Je n'ai pas tout compris. Dis moi je me trompe dans ta demande ?
J'ai ouvert arduino (sorftware), j'ai choisi mon port COM6, j'ai ouvert le moniteur serie et j'ai indiqué 115200 baud et tapé pair. Je n'ai aucun retour.
J'ai ouvert Putty, je me suis connecté à COM6 avec SERIAL en 115200 baud et je tape pair.
j'ai un retour direct :

Hack started, click on the connect button when ready
Waiting... timeout=30000

puis, j'attends

Timeout waiting for data, aborting.

> Connecting to MQTT 192.168.1.108:1883 with client ID=YokisHack-dcff... connected
Resubscribing, #topics=0

@prod-cnd
Copy link

et maintenant debug fonctionne


Hack started, click on the connect button when ready
STATUS           = 0x00 RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=0 TX_FULL=0
RX_ADDR_P0-1     = 0x0000000000 0x0000000000
RX_ADDR_P2-5     = 0x00 0x00 0x00 0x00
TX_ADDR          = 0x0000000000
RX_PW_P0-6       = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA            = 0x00
EN_RXADDR        = 0x00
RF_CH            = 0x00
RF_SETUP         = 0x00
CONFIG           = 0x00
DYNPD/FEATURE    = 0x00 0x00
Data Rate        = 1MBPS
Model            = nRF24L01
CRC Length       = Disabled
PA Power         = PA_MIN
Waiting... timeout=30000
Timeout waiting for data, aborting.

> Connecting to MQTT 192.168.1.108:1883 with client ID=YokisHack-174a... connected
Resubscribing, #topics=0

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Mais tu cliques sur le petit bouton connect derrière le module alors que tu es en mode "appairage" ?

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Normalement quand tu cliques sur le bouton, la commande pair te redonne la main directement (pas besoin d'attendre 30 secondes)...

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Essaye sinon de reset ton module aux configurations d'usine (23 appuis courts pour dévérouiller le module si il avait été vérouillé, puis 30 appuis courts pour le reset) - à vérifier, je n'ai pas la notice sous la main

@prod-cnd
Copy link

oui j'appuie dessus, pourquoi, il faut pas ?

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Sisi justement

@yakouzin
Copy link

Essaye sinon de reset ton module aux configurations d'usine (23 appuis courts pour dévérouiller le module si il avait été vérouillé, puis 30 appuis courts pour le reset) - à vérifier, je n'ai pas la notice sous la main

Je viens de vérifier, c’est bien ça.
Même si les modules sont neufs, ça vaut le coup de tenter.

@prod-cnd
Copy link

prod-cnd commented Jan 23, 2023

Ok, problème résolu. Je n'ai pas encore la réponse à mon problème, mais je viens de ressouder un ESP et je l'ai monté sur une platine de prototypage... J'ai changé aussi les câbles. Donc soit le problème vient des câbles, soit de l'ESP. j'ai refait une installation complète et ça fonctionné du premier coup.
Merci de ton aide et de ta patience. je vais maintenant investiguer un peu plus pour savoir d'où vient le problème.
IMG20230123181412

@prod-cnd
Copy link

Bon après investigation, il semble que ce soit l'ESP qui était responsable... Je vais le mettre de côté. En tout cas merci encore pour votre aide. je vais pouvoir commencer à m'amuser un peu. 👍

@nmaupu
Copy link
Owner

nmaupu commented Jan 23, 2023

Cool, tu peux essayer l'option erase de esptool.py aussi avant de mettre un nouveau firmware...

esptool.py -p /dev/<serial_port> erase_flash

@angilube38
Copy link

Bonjour, il n’y a pas moyen de récupérer la fonctionnalité plugin Jeedom pour l’adapter à HA ? Je possède 1 YokisHub et avec Jeedom ça fonctionne parfaitement.
Merci

@papedu30
Copy link

Merci beaucoup pour ton hack @nmaupu j'y connaissais pas grand chose mais avec ton tuto et les réponses au question précédente je me suis débrouiller et ça fonctionne !! Merci beaucoup !!

Pour ceux qui ont des soucis d'appairage quand vous faite sur le telnet "pair" j'ai eu plusieurs MTR2000ERP qui ne voulait pas se connecter. Il faut faire plusieurs fois d'affilé la commande pair jusqu'à temps qu'elle fonctionne

Encore merci !!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants