Ça y est j’ai enfin réussi à récupérer le token.
Après un nième essai ce midi, impossible de récupérer quoi que ce soit avec la méthode du « tuya-cli list-app ». Pour ma part, il a fallu que j’installe l’application Jinvoo Smart (depuis le play store) sur laquelle j’ajoute le thermostat d’après la manip’ normale. Ensuite j’installe l’application Packet capture (qui demande d’installer un certificat), et je lance une capture de trames sur l’application Jinvoo. Je refresh l’application la liste des périphériques sur Jinvoo et je retourne sur Packet capture. J’ouvre les trames capturées, et parmis elle, la requête JSON en clair, ou l’on récupère le deviceID et la localKey.
Par rapport à l’intégration sur jeedom via Wifilightv2, pas de soucis particulier. Tout réponds bien : l’interface physique, le téléphone ou les commandes via le widget jeedom, tout est récupercuté partout quasi-instantanément.
Bon après plusieurs essais, je me rends compte qu’il manque la remontée de deux infos, dont une primordiale : l’état du relais du thermostat (la primordiale) et la température cible en mode auto.
En théorie, l’état du relais est égal à « température relevée < température de consigne », mais en vrai j’aurai bien aimé avoir cette info, pour monitorer sur graphe que mon chauffage se met en route aux bons moments (donc quand la température descend en dessous de la consigne, modulo l’hystérésis), et du coup adapter si le comportement n’est pas satisfaisant.
Et pour la température cible, j’aurai aimé avoir quelle température le thermostat doit atteindre dans sa programmation journalière. Et donc pas seulement une température de consigne uniquement pour le mode manuel.
Bonjour je regarde ce feed attentivement depuis quelque temps, j’ai commandé le thermostat, pour l’instant je wait et je me documente.
Actuellement mon chauffage est entièrement géré par jeedom, et ça marche bien.
Mon but est d’avoir une interface plus “WAF” pour que l’on puisse communiquer avec la gestion de jeedom sans forcement via un téléphone ou une tablette, avoir un accès rapide, et le thermostat fixé au mur est une bonne solution, “ comme avant” me dit ma femme.
Pour répondre à ta question @Dreaky il semblerait en effet que cette information ne soit pas présente dans les diverses lectures que j’ai pu faire.
Ce thermostat peut aussi être flashé pour pouvoir interagir avec lui via MQTT, ce qui me semble beaucoup mieux (pour moi), et propre. Vous trouverez ici un firmware:
Dans la documentation, @Dreaky , tu pourras y voir que pour avoir l’information du contacteur, il faut faire une modification hardware pour avoir l’information sur l’ESP.
Moi de mon côté je pense que je n’en aurais pas besoin, je ne vais pas utiliser le contacteur. Seulement afficher des informations et récupérer les informations de consigne et/ou eco/normal pour interagir avec jeedom.
Le seul problème a mon gout afin d’utiliser le firmware MQTT, c’est que le firmware ne déclenche pas une information instantanée lors du changement de consigne sur le thermostat… il faut attendre 5 min… Peut-être que cela résolut plus tard.
Pour l’instant je vais partir sur l’intégration avec le milightv2 comme décris ici on verra…
@Dreaky Tu me confirmes toi que lors du changement de consigne sur le thermostat remonte sur jeedom ?
Merci pour l’info, je vais voir si la modif hardware/software vaut le coup ou pas. Mais en vrai, ça me fait un peu chier de devoir ouvrir la bête pour ce qui était à la base (pour une fois) un truc « prêt à l’emploi ».
Absolument, et c’est quasi-instantané chez moi. Et idem sur le téléphone, les chaque source de modif (le thermostat lui même, jeedom et l’appli sur téléphone) sont prises en compte et bien répercutées sur les deux autres.
@Dreaky merci de ton retour.
Par contre, je pense que tu peux oublier la modification hardware si tu flash pas le thermostat.
La modification consiste à envoyer l’information sur une PIN de l’ESP, mais il faut ensuite que le firmware en place capte l’information pour la traiter convenablement. Ce qui veut dire que dans le firmware d’origine ce n’est surement pas le cas… IMHO
Question subsidiaire plutôt lié à jeedom :
Comment envoie-t-on une valeur numérique à l’aide d’une commande de type slider sur un widget virtuel ? Mon idée est de reproduire le widget créé par @RaphV57 pour régler la valeur de consigne :
Comment configure-t-on un tel widget pour renvoyer la valeur à travers le slider de l’objet wifilightv2 ?
Néanmoins, le slider du virtuel ne bouge pas si la température est mise à jour depuis une autre source. La valeur numérique change bien, évidemment.
De mon côté, j’ai viré ce slider car je me suis rendu compte que je ne touchais jamais la consigne manu.
Actuellement mon virtuel intègre un bouton pour passer en mode manu + consigne à 17°C puis relancer le mode auto en fin d’après-midi. J’aurai pu aussi appeler ce bouton « ce dimanche c’est repas de famille »!
Non c’est bien mon soucis
J’ai essayer la méthode du proxy et du qrcode, celle de l’appli avec packet capture et me suis inscrit sur le site de tuya pour avoir les accès développeur (en attente de validation)
Premier soucis avec le thermostat apparu hier. Je ne récupère plus rien depuis wifilightv2, car le champs « connecté » me renvoie un « -3 », qui correspond d’après la doc à un « périphérique non connecté ».
Pourtant le thermostat est toujours pilotable via l’appli mobile sans problème, et est toujours connecté à ma freebox.
J’ai activé le mode debug dans wifilightv2, et voici ce que j’obtiens :
Non j’avais bien fait gaffe à lui attribuer un bail statique d’IP (comme pour tous mes périph wifi).
Entre temps j’ai effectué d’autres recherche.
Je suis notamment tombé sur ce poste qui relate les mêmes problèmes que moi (sans donner de solution néanmoins).
Du coup j’ai essayé de m’en sortir par moi même.
Voilà ce que j’ai tenté :
Désactivation/Réactivation du plugin : sans effet
Reboot de la box jeedom : sans effet
Reboot du wifi de la freebox : sans effet
Reboot complet de la freebox : sans effet
Changement d’ip du thermostat : sans effet
Débranchement/rebranchement électrique du thermostat : hourra !
Pour debug et pour infos, voici les logs correspondants :
Changement d’ip du thermostat (passage de 192.168.0.2 à 192.168.0.17 ):
[2020-02-05 13:12:20][DEBUG] : ////// Receive from :192.168.0.17 //////
[2020-02-05 13:12:20][DEBUG] : Receive after decode :}F3l=
[2020-02-05 13:12:20][DEBUG] : No data returned
[2020-02-05 13:12:20][DEBUG] : ///////////////// End ///////////////////
Normalement la méthode avec l’appli Packet capture et Jinvoo Smart, tu devrais pouvoir y arriver sans problème.
Déinstall sur ton téléphone toutes les applis déjà testé et tous les certificats. Réinstall proprement Packet capture (avec le certificat qu’il propose) et l’appli Jinvoo Smart sur laquelle tu link ton thermostat.
Déconnecte toi de ton wifi local (passe par la 3/4G) et ensuite lance la capture avec packet capture. Fais un simple refresh de la liste sur Jinvoo et retourne sur packet capture. Tu devrais avoir une trame de capturée avec une taille de 16 ko. Normalement c’est celle qui contient les infos JSON là ou tu pourras récupérer le deviceID et la local key.
hum je reteste avec tout en neuf,
pour packet capture si je vais dans settings, generate certificates, il m’indique impossible de créé le certificat (peut être pour ça que ça voulais pas)
en essayant sans le certificats, j’ai beaucoup de no data, et quelques fichiers de 7.1Ko (genre 1/50)
quand j’ouvre, j’ai l’impression qu 'il decode pas du tout
j’ai essayer avec httpcanary, c’est mieux j’ai des choses mais pas de fichiers de 16Ko, rien de plus gros que 8.52Ko,
ca m’a l’air mieux, j’arrive a lire la consigne mais c’est tout pour le moment
dans les logs ca donne ca
[2020-02-07 19:51:53][DEBUG] : Cmd : {"t":"1581101513","devId":"23928535","dps":{"1":false},"uid":""}
[2020-02-07 19:51:53][DEBUG] : Try to connect to : 127.0.0.1 6900
[2020-02-07 19:51:53][DEBUG] : Connect OK!
[2020-02-07 19:51:53][DEBUG] : Cmd : {"gwId":"23928535","devId":"23928535"}
[2020-02-07 19:51:53][DEBUG] : Try to connect to : 127.0.0.1 6900
[2020-02-07 19:51:53][DEBUG] : Connect OK!
[2020-02-07 19:51:53][DEBUG] : Send cmd to device @192.168.1.105
[2020-02-07 19:51:53][DEBUG] : Try to connect to : 192.168.1.105 6668
[2020-02-07 19:51:53][DEBUG] : Connect OK!
[2020-02-07 19:51:53][DEBUG] : !!!!!!!!! End !!!!!!!!!!
[2020-02-07 19:51:53][DEBUG] : Send cmd to device @192.168.1.105
[2020-02-07 19:51:53][DEBUG] : Try to connect to : 192.168.1.105 6668
[2020-02-07 19:51:53][DEBUG] : Connect OK!
[2020-02-07 19:51:53][DEBUG] : !!!!!!!!! End !!!!!!!!!!
[2020-02-07 19:51:54][DEBUG] : ////// Receive from :192.168.1.105 //////
[2020-02-07 19:51:54][DEBUG] : Receive after decode :LALp
[2020-02-07 19:51:54][DEBUG] : No data returned
[2020-02-07 19:51:54][DEBUG] : Receive after decode :gw id invalidLALp
[2020-02-07 19:51:54][DEBUG] : No data returned
[2020-02-07 19:51:54][DEBUG] : ///////////////// End ///////////////////
Sans le certificat, tu n’arriveras pas à décoder les trames. Après regarde, il existe d’autre applications de capture de trames dans le même style, le principe reste le même.
J’ai essayer avec httpcanary mais pas de fichier de 16ko juste des 8ko et dur à décoder pour trouver les infos
Bizarre quil ne veuillent pas générer le certificat