Heatzy - reconnu par Domoticz ?

les autres capteurs : Sondes Météo, switches
Répondre
deennoo
Messages : 4006
Enregistré le : 25 janv. 2015, 02:00

Re: Heatzy - reconnu par Domoticz ?

Message par deennoo » 17 nov. 2018, 19:46

D'abord on check l'orthographe du nom de la variables.

Et puis ensuite en ssh il faut vérifier ce que donne la commande envoyer par le script.

Et ceci pour la commande et le retour d'état.

Spoiler : j'avance dans l'apprentissage de la création de plugin python pour domoticz.

Une fois fini d'améliorer les scripts existant sur du matos Xiaomi et le bluetooth, je m'attaquerai au plugin qui on besoin du json (Heatzy pilot, Heatzy Flam, Robot tondeuse Landroid)
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Charlesp
Messages : 4
Enregistré le : 10 nov. 2018, 00:09

Re: Heatzy - reconnu par Domoticz ?

Message par Charlesp » 18 nov. 2018, 16:18

deennoo a écrit :
17 nov. 2018, 19:46
D'abord on check l'orthographe du nom de la variables.

Et puis ensuite en ssh il faut vérifier ce que donne la commande envoyer par le script.

Et ceci pour la commande et le retour d'état.

Spoiler : j'avance dans l'apprentissage de la création de plugin python pour domoticz.

Une fois fini d'améliorer les scripts existant sur du matos Xiaomi et le bluetooth, je m'attaquerai au plugin qui on besoin du json (Heatzy pilot, Heatzy Flam, Robot tondeuse Landroid)
J'ai vérifié l'orthographe des variables --> RAS

En ssh j'ai vérifié ce que donnait le script retour d'état et je me suis rendu compte que les retours de l'API ne sont pas en chinois mais bien en français (stop, cft, eco et fro). J'ai modifié les caractères en chinois par les caractères en français, et là, ho miracle, ça fonctionne!!

Par contre pour la commande, je ne comprend toujours pas où ça bloque. Voici un exemple de commande envoyée que j'ai récupérée dans le log de Domoticz :
LUA: curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: ea41a534e8fc4944a43ffc2985a71e58' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{"raw": [1,1,0]} ' 'https://euapi.gizwits.com/app/control/**********************'

J'ai bien sûr remplacé mon did par des *.

Vois-tu d'où le problème peut venir?

Heatzy n'aurait pas modifié des choses dans son API par hasard?

Merci pour ton aide

Vivement le plugin python pour Domoticz ;)

Charlesp
Messages : 4
Enregistré le : 10 nov. 2018, 00:09

Re: Heatzy - reconnu par Domoticz ?

Message par Charlesp » 22 nov. 2018, 20:38

Charlesp a écrit :
18 nov. 2018, 16:18
deennoo a écrit :
17 nov. 2018, 19:46
D'abord on check l'orthographe du nom de la variables.

Et puis ensuite en ssh il faut vérifier ce que donne la commande envoyer par le script.

Et ceci pour la commande et le retour d'état.

Spoiler : j'avance dans l'apprentissage de la création de plugin python pour domoticz.

Une fois fini d'améliorer les scripts existant sur du matos Xiaomi et le bluetooth, je m'attaquerai au plugin qui on besoin du json (Heatzy pilot, Heatzy Flam, Robot tondeuse Landroid)
J'ai vérifié l'orthographe des variables --> RAS

En ssh j'ai vérifié ce que donnait le script retour d'état et je me suis rendu compte que les retours de l'API ne sont pas en chinois mais bien en français (stop, cft, eco et fro). J'ai modifié les caractères en chinois par les caractères en français, et là, ho miracle, ça fonctionne!!

Par contre pour la commande, je ne comprend toujours pas où ça bloque. Voici un exemple de commande envoyée que j'ai récupérée dans le log de Domoticz :
LUA: curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: ea41a534e8fc4944a43ffc2985a71e58' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{"raw": [1,1,0]} ' 'https://euapi.gizwits.com/app/control/**********************'

J'ai bien sûr remplacé mon did par des *.

Vois-tu d'où le problème peut venir?

Heatzy n'aurait pas modifié des choses dans son API par hasard?

Merci pour ton aide

Vivement le plugin python pour Domoticz ;)
Hello,

En fait avec un peu de recherche je viens de comprendre pourquoi je n'ai pas les mêmes retours d'état que vous et pourquoi le script de commande ne donne rien. C'est parce que j'ai un Heatzy Pilote de 2ème génération... :roll:

En effet, dans la doc de l'API en page 14, il y a bien une référence à une deuxième génération. Les modes sont bien: "mode : 0.cft 1.eco 2.fro 3.stop 4.cft1 5.cft2"

Par contre, j'ai essayé de modifier ton script pour remplacer {"raw": [1,1,0]} par ce qui va bien, mais je n'ai pas réussi. As-tu une idée de la modification à apporter?

Merci

Redfirebrooks
Messages : 37
Enregistré le : 23 févr. 2018, 22:02

Re: Heatzy - reconnu par Domoticz ?

Message par Redfirebrooks » 21 janv. 2019, 18:06

Bonjour

j'ai les pilotes v2 et je n'arrive pas trouver la syntaxe pour envoyer un ordre. J'ai essayé ceci (et d'autres variantes) mais ce ne passe pas:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: MONTOKEN' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{'mode':'2.fro'}' 'https://euapi.gizwits.com/app/control/MONDEVICEID'

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Redfirebrooks
Messages : 37
Enregistré le : 23 févr. 2018, 22:02

Re: Heatzy - reconnu par Domoticz ?

Message par Redfirebrooks » 21 janv. 2019, 18:09

Redfirebrooks a écrit :
21 janv. 2019, 18:06
Bonjour

j'ai les pilotes v2 et je n'arrive pas trouver la syntaxe pour envoyer un ordre. J'ai essayé ceci (et d'autres variantes) mais ce ne passe pas:

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: MONTOKEN' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{'mode':'2.fro'}' 'https://euapi.gizwits.com/app/control/MONDEVICEID'
En fait je viens de trouver

-d '{"attrs": {"mode":"fro"}}'

ca passe avec les v2

Redfirebrooks
Messages : 37
Enregistré le : 23 févr. 2018, 22:02

Re: Heatzy - reconnu par Domoticz ?

Message par Redfirebrooks » 21 janv. 2019, 18:28

et voici le script modifié, on peut faire mieux je pense mais en tout cas ca fonctionne

Code : Tout sélectionner

--script pilotant les modules fils pilote heatzy

--Variable a personnaliser
did = 'TON DID' -- entre les '  '' --que tu recuperes avec la commande : "curl -X GET --header 'Accept: application/json' --header 'X-Gizwits-User-token: quicetrouvedanstavariableutilisateurdomoticzheatzytoken' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' 'https://euapi.gizwits.com/app/bindings?limit=20&skip=0'
selectorheatzy = 'Heatzy Salon' --ici le nom de ton selector entre les '  '
vartoken = 'heatzytoken' -- ici le nom de ta variable utilisateur de type chaîne que tu as créer pour recevoir le token entre les '  '

--Fin des variable a personnaliser


token = tostring(uservariables[vartoken])
--Confort = '[1,1,0]'   
--Eco = '[1,1,1]' 
--Hors_Gel = '[1,1,2]'
--Off = '[1,1,3]'


---
commandArray = {}
--Off
if devicechanged[selectorheatzy] == 'Off' then
    
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"stop\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)
   
--Confort
elseif devicechanged[selectorheatzy] == 'Confort' then
    --print(..token..)
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"cft\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)

--Eco
elseif devicechanged[selectorheatzy] == 'Eco' then
    --print(..token..)
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"eco\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)

--Horsgel
elseif devicechanged[selectorheatzy] == 'Hors Gel' then
    --print(..token..)
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"fro\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)
   
end
return commandArray

kwak24
Messages : 5
Enregistré le : 29 sept. 2017, 17:57

Re: RE: Re: Heatzy - reconnu par Domoticz ?

Message par kwak24 » 06 mars 2019, 11:44

Redfirebrooks a écrit :et voici le script modifié, on peut faire mieux je pense mais en tout cas ca fonctionne

Code : Tout sélectionner

--script pilotant les modules fils pilote heatzy

--Variable a personnaliser
did = 'TON DID' -- entre les '  '' --que tu recuperes avec la commande : "curl -X GET --header 'Accept: application/json' --header 'X-Gizwits-User-token: quicetrouvedanstavariableutilisateurdomoticzheatzytoken' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' 'https://euapi.gizwits.com/app/bindings?limit=20&skip=0'
selectorheatzy = 'Heatzy Salon' --ici le nom de ton selector entre les '  '
vartoken = 'heatzytoken' -- ici le nom de ta variable utilisateur de type chaîne que tu as créer pour recevoir le token entre les '  '

--Fin des variable a personnaliser


token = tostring(uservariables[vartoken])
--Confort = '[1,1,0]'   
--Eco = '[1,1,1]' 
--Hors_Gel = '[1,1,2]'
--Off = '[1,1,3]'


---
commandArray = {}
--Off
if devicechanged[selectorheatzy] == 'Off' then
    
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"stop\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)
   
--Confort
elseif devicechanged[selectorheatzy] == 'Confort' then
    --print(..token..)
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"cft\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)

--Eco
elseif devicechanged[selectorheatzy] == 'Eco' then
    --print(..token..)
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"eco\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)

--Horsgel
elseif devicechanged[selectorheatzy] == 'Hors Gel' then
    --print(..token..)
    runcommand = "curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-Gizwits-User-token: "..token.."' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' -d '{\"attrs\": {\"mode\":\"fro\"}}' 'https://euapi.gizwits.com/app/control/"..did.."'";
    os.execute(runcommand);
   --print(runcommand)
   
end
return commandArray
Bonjour,

Je confirme ce script fonctionne. Merci.

En revanche le script pour le retour des états de l'application ne fonctionne pas.

Encore merci

Slt



Envoyé de mon CLT-L29 en utilisant Tapatalk


Redfirebrooks
Messages : 37
Enregistré le : 23 févr. 2018, 22:02

Re: Heatzy - reconnu par Domoticz ?

Message par Redfirebrooks » 24 mars 2019, 15:19

Pas de problème pour le retour d'état mais depuis ce matin (dimanche 24 mars 2019) plus possible d'envoyer les ordres à partir de domoticz.
Aucun problème avec l'app sur iOS.

La commande

Code : Tout sélectionner

curl -X GET --header 'Accept: application/json' --header 'X-Gizwits-User-token: votretoken' --header 'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3' 'https://euapi.gizwits.com/app/bindings?limit=20&skip=0'
semble ne pas donner de réponse non plus

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre