Cozytouch
#21
(01-08-2020, 07:19 PM)Al_Bla a écrit : Salut JL,
En bidouillant un peu.
dans l'équipement j'ai mis dans
Commande : login (et non pas command ="login")
J'ai un Listener qui m'a envoyer ceci.



Qu'en penses-tu ?

enlève la dernière ligne pour voir
Code :
obj_cozytouch.cookies['JSESSIONID']);
et vérifie que tu es bien en 'post' et en js
entre command et = pas de blanc  et pas de " juste '
le js de la partie command devrait être
ldprint('test cozytouc');
command='login'
Répondre
#22
bon , là je ne comprend pas je viens de faire la requête dans un autre soft avec un retour code 200  - OK
{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}
le retour est le même que celui que tu as posté juste avant , c'est à dire qu'on a  "environnement"  mais rien d'autre , donc pas de cookies à stocker et à réutiliser pour le reste des requêtes

3 explications possibles : 
soit tu n'es pas tout à fait sur l'environnement qui permet de piloter les équipements qu'il faut
soit tu as des droits qui n'acceptent pas sur ta session cozytouch d'utiliser l'API
soit ça a changé, mais je doute j'ai vu dans forum domoticz des posts avec ce sujet début janvier 2020

mais là j'avoue je sèche

il faudrait que je prenne le temps d'installer le script .py dans mon domoticz et créer avec tes codes un équipement pour voir comment ça réagit , mais je ne vais pas avoir le temps immédiatement , je suis en déplacement jusque dimanche
Répondre
#23
(01-08-2020, 08:21 PM)sud-domotique-expert a écrit :
(01-08-2020, 07:19 PM)Al_Bla a écrit : Salut JL,
En bidouillant un peu.
dans l'équipement j'ai mis dans
Commande : login (et non pas command ="login")
J'ai un Listener qui m'a envoyer ceci.



Qu'en penses-tu ?

enlève la dernière ligne pour voir
Code :
obj_cozytouch.cookies['JSESSIONID']);
et vérifie que tu es bien en 'post' et en js
entre command et = pas de blanc  et pas de " juste '
le js de la partie command devrait être
ldprint('test cozytouc');
command='login'
Si j'enlève la dernière lignne dans le parseur j'obtiens :


org.mozilla.javascript.Undefined@4b787c25
{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}
Test cozytouch
C'est en cherchant que l'on trouve...
Al_Bla
Répondre
#24
(01-08-2020, 09:14 PM)sud-domotique-expert a écrit : bon , là je ne comprend pas je viens de faire la requête dans un autre soft avec un retour code 200  - OK
{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}
le retour est le même que celui que tu as posté juste avant , c'est à dire qu'on a  "environnement"  mais rien d'autre , donc pas de cookies à stocker et à réutiliser pour le reste des requêtes

3 explications possibles : 
soit tu n'es pas tout à fait sur l'environnement qui permet de piloter les équipements qu'il faut
soit tu as des droits qui n'acceptent pas sur ta session cozytouch d'utiliser l'API
soit ça a changé, mais je doute j'ai vu dans forum domoticz des posts avec ce sujet début janvier 2020

mais là j'avoue je sèche

il faudrait que je prenne le temps d'installer le script .py dans mon domoticz et créer avec tes codes un équipement pour voir comment ça réagit , mais je ne vais pas avoir le temps immédiatement , je suis en déplacement jusque dimanche

Merci, et si tu as le temps, j'attends de tes nouvelles.
C'est en cherchant que l'on trouve...
Al_Bla
Répondre
#25
(01-08-2020, 11:11 PM)Al_Bla a écrit :
(01-08-2020, 09:14 PM)sud-domotique-expert a écrit : bon , là je ne comprend pas je viens de faire la requête dans un autre soft avec un retour code 200  - OK
{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}
le retour est le même que celui que tu as posté juste avant , c'est à dire qu'on a  "environnement"  mais rien d'autre , donc pas de cookies à stocker et à réutiliser pour le reste des requêtes

3 explications possibles : 
soit tu n'es pas tout à fait sur l'environnement qui permet de piloter les équipements qu'il faut
soit tu as des droits qui n'acceptent pas sur ta session cozytouch d'utiliser l'API
soit ça a changé, mais je doute j'ai vu dans forum domoticz des posts avec ce sujet début janvier 2020

mais là j'avoue je sèche

il faudrait que je prenne le temps d'installer le script .py dans mon domoticz et créer avec tes codes un équipement pour voir comment ça réagit , mais je ne vais pas avoir le temps immédiatement , je suis en déplacement jusque dimanche

Merci, et si tu as le temps, j'attends de tes nouvelles.

je viens de faire un test avec domoticz et script python proposé par obone, ça fonctionne parfaitement sur ton compte. Maintenant que je sais qu'il  n'y a pas de limitation et que le compte fonctionne, il faut que j'arrive à tracer dans le détail le dialogue entre le script / domoticz et cozytouch , il y aforcément queqluechose qui m'a échappé lorsqu'on a fait le test avec la requête en POST pour établir la session et récupérer l'ID, c'est ça que je vais tenter de trouver.

"lampe spéléo inside"

ça va me prendre juste un tout peu plus de temps que ce que l'espérais, parce que les outils que j'utilises on une capture d'historique trop limitée et je ne vois que la fin du dialogue entre domoticz / cozytouch (la récupération des devices et de leur état / témpératures / niveau) le début est tronqué et c'est celui-là que je veux.

Faut que je trouve un logger de session SSH plus complet pour trapper cette partie.

je te tiens au courant dès que j'ai avancé.
Répondre
#26
(01-12-2020, 02:43 PM)sud-domotique-expert a écrit :
(01-08-2020, 11:11 PM)Al_Bla a écrit : Merci, et si tu as le temps, j'attends de tes nouvelles.

je viens de faire un test avec domoticz et script python proposé par obone, ça fonctionne parfaitement sur ton compte. Maintenant que je sais qu'il  n'y a pas de limitation et que le compte fonctionne, il faut que j'arrive à tracer dans le détail le dialogue entre le script / domoticz et cozytouch , il y aforcément queqluechose qui m'a échappé lorsqu'on a fait le test avec la requête en POST pour établir la session et récupérer l'ID, c'est ça que je vais tenter de trouver.

"lampe spéléo inside"

ça va me prendre juste un tout peu plus de temps que ce que l'espérais, parce que les outils que j'utilises on une capture d'historique trop limitée et je ne vois que la fin du dialogue entre domoticz / cozytouch (la récupération des devices et de leur état / témpératures / niveau) le début est tronqué et c'est celui-là que je veux.

Faut que je trouve un logger de session SSH plus complet pour trapper cette partie.

je te tiens au courant dès que j'ai avancé.

Merci JL, j'attends avec impatience le résultat de ta descente en spéléo dans les bas-fond de Cozytouch.
A+
C'est en cherchant que l'on trouve...
Al_Bla
Répondre
#27
Salut les gars, j'essaie de suivre votre conversation car elle m'intéresse mais c'est franchement impossible. Arrêtez de  "Répondre" ou "Citer" quand vous répondez au message précédent, on se retrouve avec 3 ou 4 messages imbriqués les un dans les autres qui se répètent 2, 3 ou 4  fois et on n'y comprend plus rien. Le bouton "Nouvelle Réponse" est beaucoup plus approprié et ce sera plus agréable à lire. Bon courage pour le développement du plugin Eek-1e6fb .
Répondre
#28
bon j'ai trouvé (pas comme je pensais que ça fonctionnait)

1 - la séquence que nous avions pour établir la session avec le retour code - 200 est parfaite et il n'y a rien à stocker sur ce retour (et pour cause, cozytouch API renvoi rien !!!!)
2 - la séquence suivante (ou précédente) est une requête en GET qui va faire un refresh du dialogue et va s'assurer que celui-ci est toujours 'vivant'

Remarque : (en l'occurence dans le programme py de Obone, il commence par le GET refreshAllStates des fois que la session soit toujours vivante et si il a un retour 400 ou 403 alors il enchaine par l'établissement de session en POST)

la requête est alors   GET -> https://ha110-1.overkiz.com/enduser-mobi...hAllStates    (sans rien ni header, ni body - paramètres)
si le code retour est :  200 ==> ça veut dire que tout va bien, que la session est opérationnelle et que la suite va pouvoir fonctionner.

3 - la suite (en tout cas le premier vrai échange) va consister à demander à cozytouchAPI de retourner tout ce qu'il y a dans la config du UserId en question et les valeurs actuelles des différents modules

la commande est en GET :  GET -> https://ha110-1.overkiz.com/enduser-mobi...n/getSetup
sur code retour:  200 alors là va commencer le parser qui va "décortiquer" le message retour au format JSON et dans domoticz (donc c'est qu'il va falloir faire dans lifedomus) créer les variables et leur valeurs


aller accorche toi :   Bye2-2c12 
je te le mets en brut dans 1 fichier :

.txt   retour requete getSetup.txt (Taille : 85.92 Ko / Téléchargements : 4)


donc maintenant que tout cela est compréhensible en terme de séquence, y a un peut de boulot pour reprendre le code Json et le parser en variable, ça peut se faire en s'inspirant du code python, mais le boulot est à faire et c'est exactement de la programmation javascript, pas forcément très très compliqué, mais il faut rentrer dedans !!!

regardes déjà le fichier brut, je comprends qu'il y a dedans tous les paramètres du mode confort, chauffage, rafraichissement, des différentes pièces (Palier, Heloise, Cuisine, ch amis, Ch parents, dressing, séjour ......)  et que pour linstant tout est 20.5°c



si on veut simuler cela, il va falloir passer par chaque commande et les retours par un automate qui va enchainer les 4 séquences GET allrefresh  - POST connexion - GET allreferesh - GET getSetup avec les tests et enchainements qui vont bien pour faire exactement comme le programme Pyhton de Obone

puis une fois le GetSetup finit, traiter dans une commande de l'équipement cozytouch la récupération des variables et leurs valeurs grace à un javasript

le reste j'ai pas regardé
Répondre
#29
bsr
après la commande getSetup, la trame contenant le setup soit votre fichier txt devrait s'afficher dans le listener non ?
meme avec ldprint(trame), je ne vois pas le fichier brut dans le listener.
merci
Répondre
#30
oui seulement si les 2 premières commandes se sont déjà affichées avec un code retour : 200
Répondre




Utilisateur(s) parcourant ce sujet : 1 visiteur(s)