Prise commandée WIFI- Smart Life - Tuya - aide ?

Forum pour tous les autres objets : sondes météo, capteurs, actionneurs ...
Vous avez un besoin mais vous ne savez pas quel matériel choisir ? C'est ici.
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Bonjour,
Depuis quelque temps je bricole une plateforme Domotique avec un Rpi3+Domoticz. Sur le Rpi il y a une carte Z-wave pour une futur utilisation de se protocole.
En premier lieu je tenais à saluer l'excellent travail que représente Domoticz.
Mon souci, j'ai acquis il y a quelque mois un assistant vocal Alexa et 4 prise WiFi; TECKIN Prise Intelligente Wi-FI.
Elles fonctionnent très bien avec Alexa et l'application SmartLife ou Tuya sur Androïd.
J'ai eu l'idée de piloter ou du moins de connecter ces prises à boîte domotique. Et là je me casse les dents !
J'ai suivi plusieurs tuto, il me renvoi tous vers la page github : https://github.com/tixi/Domoticz-Tuya-SmartPlug-Plugin.
Selon ce que j'ai lu, https://github.com/codetheweb/tuyapi/bl ... s/SETUP.md, il nous faut trouver deux valeurs pour déclarer chaque prise : Id et LocalKey.
Après avoir suivi ce lien et utilisé une méthode obsolète, j'ai suivi la 1ère méthode, inscription sur ioa.tuya.com en tant que développeur, création d'une appli et enfin mise en forme de la ligne de commande du type

Code : Tout sélectionner

tuya-cli link --api-key "xxxxxxx" --api-secret "xxxxxxxx" --schema "xxxxx" --ssid  "xxx" --password "xxxxx" --region eu.
J'obtiens bien la paire d'identifiant qui me reviens dans le terminal.
Je crée ma prise, pas de problème dans les logs.
Mais impossible de commander quoique ce soit !
Voilà une copie des logs et je ne comprends pas.

Code : Tout sélectionner

2020-03-23 08:08:18.900 Error: Plugin: Connection Exception: 'resolve: Host not found (authoritative)' connecting to '192.168.1.53:6668'
2020-03-23 08:08:18.901 Error: Plugin: Connection Exception: 'resolve: Host not found (authoritative)' connecting to '192.168.1.53:6668'
2020-03-23 08:08:34.112 Error: OpenZWave: Type_Notification, NodeID not found internally!. HomeID: 4287769724, NodeID: 255 (0xff)
2020-03-23 08:08:37.182 Error: OpenZWave: Type_Notification, NodeID not found internally!. HomeID: 4287769724, NodeID: 255 (0xff)
2020-03-23 08:08:38.446 Error: (Compteur EDF) Données manquantes durant l'étape getdatahours de 18/03/2020 à 23/03/2020
2020-03-23 08:29:49.099 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:29:49.113 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:34:44.625 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:34:49.128 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:34:49.147 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:35:09.111 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:35:09.145 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:35:29.102 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:35:29.134 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:35:49.140 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:35:49.175 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:36:09.231 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:36:09.267 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:36:29.211 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:36:29.211 Error: handleWrite: Exception thrown: 'write: Broken pipe'
2020-03-23 08:36:49.158 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:36:49.186 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:37:09.208 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:37:09.217 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:37:29.225 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:37:49.247 Error: (Guirlande): Async Read Exception (192.168.1.60:6668): 104, Connection reset by peer
2020-03-23 08:37:49.285 Error: (Guirlande) No transport, write directive to 'Tuya' ignored.
2020-03-23 08:43:42.604 Error: (Smart socket 4): Async Read Exception (192.168.1.53:6668): 104, Connection reset by peer
2020-03-23 09:53:51.093 Error: (Compteur EDF) Données manquantes durant l'étape getdatahours de 18/03/2020 à 23/03/2020
Il semble que le plugin n'arrive pas à communiquer avec les prises.

Si il y a des informaticiens dans la salle je suis preneur car là je sèche !

PS: Mon niveau en info est bon mais faut pas exagérer !
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Je me rajoute une réponse.
J'ai tenté de comprendre le script tuya-cli:

Code : Tout sélectionner

tuya-cli -h
Résultat il y a la commande "list" qui doit me renvoyer la liste des "devices" sauvegarder localement.
Or il y a rien !

Code : Tout sélectionner

pi@domotic1:~/domoticz/plugins/Domoticz-Tuya-SmartPlug-Plugin $ tuya-cli list
{}
pi@domotic1:~/domoticz/plugins/Domoticz-Tuya-SmartPlug-Plugin $
Donc, je me suis penché sur la commande d'enregistrement des devices, "link", utilisé ce matin pour récupérer les l'Id et Localkey.
Voilà ma commande de ce matin:

Code : Tout sélectionner

tuya-cli link --api-key <your api key> --api-secret <your api secret> --schema <your-schema/channel ID> --ssid <your WiFi name> --password <your WiFi password> --region eu
Voilà le résultat de la commande

Code : Tout sélectionner

tuya-cli link -h

Code : Tout sélectionner

Usage: tuya-cli link [options]

link a new device

Options:
  --ssid <ssid>              name of WiFi to connect to
  --password <password>      password of WiFi
  --api-key [apiKey]         your tuya.com API key
  --api-secret [apiSecret]   your tuya.com API secret
  --schema <schema>          your tuya.com app identifier
  -t, --timezone [timezone]  your local timezone in tz format (default: "America/Chicago")
  -r, --region [region]      the region closest to you from the following list: us=Americas, eu=Europe, cn=Asia (default: "us")
  --saveAPI                  save your API pair so you can omit it for subsequent commands
  -s, --save                 save device parameters for subsequent commands
  -n, --num [num]            number of devices to link (default: 1)
  -h, --help                 output usage information
j'ai eu l'idée donc de modifier ma ligne de ce matin en (en coupant le reseau wifi 5Ghz):

Code : Tout sélectionner

tuya-cli link --api-key <your api key> --api-secret <your api secret> --schema <your-schema/channel ID> --ssid <your WiFi name> --password <your WiFi password> --region eu --timezone fr --num 1 --save
Résultat :

Code : Tout sélectionner

✖ Device(s) failed to be registered!
Error: Timed out waiting for devices to connect.
    at TuyaLinkWizard.linkDevice (/home/pi/.npm-global/lib/node_modules/@tuyapi/cli/node_modules/@tuyapi/link/index.js:117:17)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async link (/home/pi/.npm-global/lib/node_modules/@tuyapi/cli/lib/link.js:47:19)
Voilà donc il veut plus enregistrer mes devices, ou du moins il les trouve pas !
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Et encore moi.
Donc j'ai réussi à réinscrire mon device, simple j'avais mon téléphone avec SmartLife ouvert ! Comme quoi !
Donc j'ai bien la commande

Code : Tout sélectionner

tuya-cli list
qui me renvoi la liste des devices enregistrés. En ajoiutant la commande saveApi, la commande renvoi et le device (Id/LacalKey) + apiKey/apiSecret.

Donc j'ai bien ma prise, j'ai fait donc:

Code : Tout sélectionner

pi@domotic1:~/domoticz/plugins/Domoticz-Tuya-SmartPlug-Plugin $ ./turnON.py 192.168.x.xx <Devices_id> <localkey> 1
Résulat ; rien !

J'ai aussi essayé le script "get_dps.py", qui doit donc me retourner la valeur dps:

Code : Tout sélectionner

./get_dps.py <IP> <DevID>

Code : Tout sélectionner

Unexpected status() payload=b'%\xdb\xde\x1c\x0e\xaa\xb1\x00\x12\xa0ae\x07*Mq\xef\xa2N\x15?3\xf4SaI\xc7\x83IYY\xac'

Plug State Information:
b'%\xdb\xde\x1c\x0e\xaa\xb1\x00\x12\xa0ae\x07*Mq\xef\xa2N\x15?3\xf4SaI\xc7\x83IYY\xac'

Plug DPS List:
Traceback (most recent call last):
  File "./get_dps.py", line 58, in <module>
    for key in data['dps'].keys():
TypeError: byte indices must be integers or slices, not str
Il semble donc il y avoir une erreur dans le script puthon ou il interprète mal ma commande (mal formulée ?)
Je dois avoué que la lecture de la réponse à ma commande dépasse mes connaissances et de loin ! Je comprends qu'il me dit qu'il a quelque chose qui le coince en ligne 58 mais après ????

On avance mais dur !
Jerome69
Messages : 98
Inscription : 04 févr. 2020, 23:57

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par Jerome69 »

Salut,

J'ai acheté des prises dans le style de celles que tu as. Ce n'est pas le même modèle, mais elles fonctionne de base avec l'application Tuya.

Pour le moment je n'en utilise qu'une seule, et après avoir tenté comme toi de passer avec l'ID et autre, je l'ai flashée avec Tuya-convert. J'ai expliqué ici comment faire. Une fois flashée, elle est parfaitement reconnue sur Domoticz.

Par contre il faut un template à ajouter sur l'URL de la prise, mais je n'ai pas trouvé la marque de ta prise, il faudra éventuellement tester plusieurs template pour voir.

Apparemment on peut revenir sur le firmware d'origine si cela ne marche pas; je n'ai pas eu besoin de tester.
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Bonjour Jerome69

Merci de ta réponse car là confinement ou pas j'ai le cerveau qui va exploser !
J'ai tenté plusieurs solutions (avant de lire ton message !) et je tourne en rond !
Donc là je regarde ton lien et je test.
The show must go on !
Bonne journée
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Re.

Génial ton lien !

Pour ma part c'est cuit comme les carottes !

Code : Tout sélectionner

10.42.42.12 {"ip":"10.42.42.12","gwId":"bf2222d28ada2fc02cubbk","active":0,"ablilty":0,"encrypt":true,"productKey":"keyaqceqmgp343e7","version":"3.3"}
WARNING: it appears this device does not use an ESP82xx and therefore cannot install ESP based firmware
Donc ma prise est détecté, mais le µcontroleur est pas un ESP82XXXX ! Voilà ! Alors comme je sais pas à quoi c'est fait ces prises je vais explorer la piste de trouver sur quel µcontroleur ça s'appui, en cherchant de la doc sur le net ou si je trouve rine ben démontage ! l'idée est que si il existe un script pour flasher les modèle à base de ESP82xx, il doit bien y avoir un développeur qui à du faire pour d'autre modèle de ESP ??? enfin je le souhaite.
Merci on avance et tant mieux
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Bon ben ça été plus rapide.
Juste faire une recherche google avec teckin sp21, fail to flashing ! Et donc les derniers modèles de ces prises sont livré avec un µcontroler WR3 et c'est pas hackable !
Voilà, mais j'abandonne pas !
https://github.com/ct-Open-Source/tuya- ... issues/438
herisson69
Messages : 16
Inscription : 23 mars 2020, 10:37

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par herisson69 »

Je poursuis mon enquête.
Donc démontage d'une Teckin, ben j'ai pas pu aller plus loin que d'enlever le couvercle la ou il y a la partie prise femelle.
Pour le reste il s'agirais de module wifi IoT de chez realtek sur les dernières générations !
Sinon, comme j'ai aussi une guirlande de déco, de chez Guirled, allez je me lance et oh youpi, merci pour le lien, ça fonctionne.
Du coup changement de firmware de chez Tasmota. et là grosse galère ! Pas une configuration qui correspond .
J'ai du coup demonter le petit boitier (beaucoup plus simple que teckin !), il y a bien une carte Wifi, sans marquage (merci !). Il fait à l'oeil 20mmx10mm. J'ai cherché cet après-midi et j'ai épluché les doc des ESP8266 des ESP1 à 32, sans succès. Tous ont 2x8 + 6 broche en périphérie moi j'en ai que 3x6 ! Introuvable; seul moyen qui me reste le fer à souder ! D'ailleurs il faudra la dernière tentative se solde par un non redémarrage ! J'ai briquer le bouzin ! En dessoudant la carte wifi, j'ai vu une partie d'une inscription, on verra. D'autre part j'ai demandé des conseils au vendeur du truc mais je pense pas avoir de retour, il doit juste revendre son truc made-in-china dans une plus joli boîte.
Voilà ma journé confiné, oserais-je la je suis plutot un c..fini !
etttoutoi
Messages : 22
Inscription : 20 juin 2019, 20:52

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par etttoutoi »

Salut,

J'essaie aussi d’intégrer mes interrupteurs tactiles tuya à Domoticz.

J'ai suivi ta procédure, mais j'ai plusieurs soucis:

voici la ligne de commande que j'effectue:
tuya-cli link --api-key <ma key> --api-secret <ma secret key> --schema <TEST4INTER> --ssid <LA-MAIZ> --password <mon mot de passe> --region eu --timezone fr --num 1 --save

A l'issue de cette commande, il me dit "-bash: <ma api key>: Aucun fichier ou dossier de ce type"
donc quand je met le signe <>, il considère que c'est un fichier ou dossier et du coup ça fonctionne pas. J'ai donc remplacé les <> par des [], et du coup c'est pour le schema que ca ne fonctionne pas. il me ressort la meme erreur de dossier ou fichier.

Quand j'ai fais " tuya-cli link -h", le terme de schema n'est plus dans la liste, et region non plus. donc je les ai retiré de la ligne de commande. Pas non plus de Timezone et le save est changé en saveAPI

Donc au final, la ligne de commande que j'effectue est:
tuya-cli link --api-key [MA API KEY] --api-secret [MON CODE API] --ssid LA-MAIZ --password MON POT DE PASSE --saveAPI

et ca ne fonctionne pas, voila les erreurs que j'ai:
(node:14594) UnhandledPromiseRejectionWarning: Error: Invalid format for key or secret.
at new TuyaCloud (/usr/local/lib/node_modules/@tuyapi/cli/node_modules/@tuyapi/link/node_modules/@tuyapi/cloud/index.js:27:11)
at new TuyaLinkWizard (/usr/local/lib/node_modules/@tuyapi/cli/node_modules/@tuyapi/link/index.js:42:14)
at link (/usr/local/lib/node_modules/@tuyapi/cli/lib/link.js:33:15)
at Command.program.command.description.option.option.option.option.option.option.option.action.options (/usr/local/lib/node_modules/@tuyapi/cli/cli.js:34:3)
at Command.listener (/usr/local/lib/node_modules/@tuyapi/cli/node_modules/commander/index.js:315:8)
at Command.emit (events.js:189:13)
at Command.parseArgs (/usr/local/lib/node_modules/@tuyapi/cli/node_modules/commander/index.js:651:12)
at Command.parse (/usr/local/lib/node_modules/@tuyapi/cli/node_modules/commander/index.js:474:21)
at Object.<anonymous> (/usr/local/lib/node_modules/@tuyapi/cli/cli.js:105:9)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
(node:14594) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:14594) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Est ce que tu aurais une idée du problème?

merci d'avance.
Jerome69
Messages : 98
Inscription : 04 févr. 2020, 23:57

Re: Prise commandée WIFI- Smart Life - Tuya - aide ?

Message par Jerome69 »

Salut,

Je ne suis pas un pro, mais je ne suis pas sûr que les "<>" doivent être tapés...

Je pense que c'est juste pour expliquer que c'est là où tu dois mettre tes infos perso.
Répondre