Cozytouch
#31
pour le login :


{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}

Begin


pour  : command="refreshAllStates"  rien !!

et le command="getSetup" non plus 

j'ai bien mis les entêtes.

je lance manuellement les 3 commandes une après les autres
Répondre
#32
si je récapitule
- listener universel :  contenant l'invariant  dans l'URL   ==> 
Code :
https://ha110-1.overkiz.com/enduser-mobile-web/externalAPI/json/

- 1 équipement cozytouch avec (au moins et pour l'instant 3 commandes)

1ère commande

Login
le contenu doit être en JS  en POST
                  
Code :
login

       dans paramètres
                  
Code :
userId=LE_USERID&userPassword=LE_PASSWORD
  sans "" ni ''
       dans le header
                  
Code :
content-type  :   application/x-www-form-urlencoded
                   Cache-Control :   no-cache


le retour dans le listener doit avoir cette forme
{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}

2ème commande
Refresh-All :  contenu de la commande en JS  en GET sans pramètres ni header
                  
Code :
refreshAllStates

le retour dans le listener doit avoir cette forme
{"events":[]}

la 3ème commande
Récupère_setup:  le contenu en JS et en GET sans paramètres ni header
                  
Code :
getSetup

le retour devrait être dans le lsitener et commencer par
{"setup":{"creationTime":1519819057000,"lastUpdateTime":1519819057000,"id":"SETUP-0809-6981-8149","location":{"creationTime":1519819057000,"lastUpdateTime":1574583442000,"city":"Avignon","country":"France","postalCode":"84140","addressLine1":"Avignon","timezone":"Europe/Paris","longitude":2.343,"latitude":48.857,"twilightMode":2,"twilightAngle":"CIVIL","twilightCity":"paris","summerSolsticeDuskMinutes":1290,"winterSolsticeDuskMinutes":990,"twilightOffsetEnabled":false,"dawnOffset":0,"duskOffset":0},"gateways":[{"gatewayId":"0809-6981-8149","type":32,"subType":0,"placeOID":"db0dd491-0ac8-4961-9cf6-6b0cd8a934f6","alive":true,"timeReliable":true,"connectivity":{"status":"OK","protocolVersion":"2019.5.4"},"upToDate":true,"updateStatus":"UP_TO_DATE","syncInProgress":false,"mode":"ACTIVE","functions":"INTERNET_AUTHORIZATION,SCENARIO_DOWNLOAD,SCENARIO_AUTO_LAUNCHING,SCENARIO_TELECO_LAUNCHING,INTERNET_UPLOAD,INTERNET_UPDATE,TRIGGERS_SENSORS"}]


voilà pour le début
Répondre
#33
oui j ai tout respecté


Il s'agit bien du connecteur  : pack connectivité avancée : Universal HTTP ?
merci pour votre aide
Répondre
#34
(01-12-2020, 08:54 PM)TOMSONYME a écrit : oui j ai tout respecté


Il s'agit bien du connecteur  : pack connectivité avancée : Universal HTTP ?
merci pour votre aide

Salut les Cozy,

Oui TOM, c'est bien avec ce connecteur universel HTTP !!

La commande login montre bien un Listener :

{"success":true,"version":"2019.5.4-5","environment":"ENV2-PROD110","events":[]}

mais avec la commande : Refresh-All en JS - GET et avec dans Commande : command='refreshAllStates'
ne fait rien remonter.
Pas plus avec la commande : Récupère_Setup en JS - GET et avec dans Commande : command='getSetup'
Faut encore chercher, car une fois le JSON remonté, il faudra travailler le script pour avoir les données.

JM, comment faire pour récupérer la variable JSESSIONID dans le Listener !!
Merci pour ton boulot JM.
C'est en cherchant que l'on trouve...
Al_Bla
Répondre
#35
faut que j'essayes dans lifedomus , pour l'instant je n'ai fait les tests que via mon navigateur en enchainant les ordres http, j'ai aussi remarqué que l'enchainement était nécessaire environ quelques secondes entre chaque ordres (au dela d'un certains temps il semble que le session ne soit plus ouverte .

conclusion il faut que j'essayes

au fait c'est jean-luc , donc JM ???? si tu veux jluc ça me va
Répondre
#36
Salut Jean-Luc,
Mille excuses pour cette étourderie.
Merci encore pour ton aide.
A+
C'est en cherchant que l'on trouve...
Al_Bla
Répondre
#37
il me semble que le connecteur ne reste pas longtemps activé.
Je le reconnecte et au bout de 10 sec. il décroche !!
Si on met cyclique...
Donc à éviter je pense.
C'est en cherchant que l'on trouve...
Al_Bla
Répondre
#38
j'avais lu dans des anciens messages sur le forum en cherchant "cookie" , que les cookies ne sont pas gérer par LD.
peut être cela a évolué depuis.
mais l'expertise de Jean Luc nous en dira sans doute plus  Wink-1627
Répondre
#39
j'ai bien peur que ce soit le cas et je tourne vire depuis quelques temps , normalement tu récupères cela en js dans
document.cookie et là quand j'utilises ça j'ai document not defined (pas bon du tout)

de ce fait je crains que la persistance des sessionId automatique quand tu fais du http, ne soit pas possiible avec LD, en tout cas je n'ai rien vu dans le connecteur qui puisse faire cela , mais ça fait vraiment très peu que je manip sur lifedomus

ce que je soupçonne c'est qu'avec domoticz la requête qui est strictement pareil est faite sous linux et pas sous domoticz, ce qui permet de récupérer le cookie dans un fichier. Là il faudrait faire pareil, mais la je découvres , peut-être qu'on peut faire une session SSH avec un cron qui va fournir le login et donc la JSESSIONID ?
ensuite faut récupérer cela dans les commandes javascript d'un équipement .

ca dépasse de beaucoup mes compétences avec cette box.

faudrait surement avoir accès à un DEV pour qu'il nous dise.
Répondre
#40
C'est dommage, nous sommes arrivés dans une impasse...
Il faut attendre un expert du javascrip et de LD pour nous sortir de ce labyrinthe.
Merci à tous ceux qui on mis la main à la pâte.
C'est en cherchant que l'on trouve...
Al_Bla
Répondre




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