Page 1 sur 2
thermostat connecté ween
Publié : 26 févr. 2021, 18:07
par chris-le-chti
Salut dans mon sejour j'ai un thermostat connecté depuis quelques années, j'en suis content mais j'aimerai m'en servir dans Domoticz pour juste recupérer la température et hygrometrie.
https://www.ween.fr/
J'ai interrogé la société qu'il m'a indiqué avec une clef de securité présente sur chaque device comment l'interroger.
exemple :
http://192.168.0.50/conditions.cgi?token=b9c3d111x
ca me retourne
{
"temperature":23.9889,
"humidity":53.3506
}
Vous croyez que c'est exploitable dans Domoticz et si oui comment ? Faut écrire un plugin python ?
Re: thermostat connecté ween
Publié : 26 févr. 2021, 19:12
par Keros
Cela ressemble à du Json. Tu devrais pouvoir l'utiliser en LUA ou DzVents.
Regarde mon tutoriel OpenWeatherMap : tu devrais pouvoir réutiliser le principe.
Re: thermostat connecté ween
Publié : 05 juin 2021, 15:53
par chris-le-chti
Salut j'ai essayé de faire un truc simple en declarant un device http avec la commande de pull
http://192.168.0.50/conditions.cgi?token=b9c3d111
et un traitement lua parser que voici
Code : Tout sélectionner
--
s = request['content'];
local temperature = domoticz_applyJsonPath(s, '.result.temperature')
local humidity = domoticz_applyJsonPath(s, '.result.humidity')
domoticz_updateDevice(97,'',tostring(humidity))
domoticz_updateDevice(96,'',tostring(temperature))
J'ai trouvé un exempl sur le net, le script s'execute bien mais on dirait bien que le parsing Jason de domoticz_applyJsonPath ne fonctionne pas , pour rappel l'interrogation de ma ween donne ca
{
"temperature":23.2554,
"humidity":61.8649
}
Ca me semblait donc relativement simple a faire..
dans les log j'ai que ca
2021-06-05 15:51:29.339 CLuaHandler (updateDevice from LUA) : idx=96 nvalue= svalue=nil invalue=0 signallevel=12 batterylevel=255
2021-06-05 15:52:29.561 CLuaHandler (updateDevice from LUA) : idx=97 nvalue= svalue=nil invalue=0 signallevel=12 batterylevel=255
merci
Re: thermostat connecté ween
Publié : 05 juin 2021, 17:22
par Keros
'content' est à remplacer par ta requête Json.
Si tu fais print(s), tu dois avoir ton Json dans les logs avec les valeurs. Ensuite viendra l'étape de décodage.
Re: thermostat connecté ween
Publié : 05 juin 2021, 21:43
par chris-le-chti
merci Keros, j'ai essayé
Code : Tout sélectionner
--
s = request['http://192.168.0.50/conditions.cgi?token=b9c3d111'];
local temperature = domoticz_applyJsonPath(s, '.result.temperature')
local humidity = domoticz_applyJsonPath(s, '.result.humidity')
print ("temp: ")
print ( temperature)
print ("humidité:")
print ( humidity)
domoticz_updateDevice(97,'',tostring(humidity))
domoticz_updateDevice(96,'',tostring(temperature))
et donc apparemment rien n'est recupéré par domoticz_applyJsonPath
j'ai ca dans le log
CLuaHandler: udevices: temp:
2021-06-05 21:41:19.147 CLuaHandler: udevices: humidité:
2021-06-05 21:41:19.147 CLuaHandler (updateDevice from LUA) : idx=97 nvalue= svalue=nil invalue=0 signallevel=12 batterylevel=255
2021-06-05 21:41:19.153 CLuaHandler (updateDevice from LUA) : idx=96 nvalue= svalue=nil invalue=0 signallevel=12 batterylevel=255
2021-06-05 21:41:19.147 Error: CLuaHandler (applyJsonPath from LUA) : Incorrect parameters type
2021-06-05 21:41:19.147 Error: CLuaHandler (applyJsonPath from LUA) : Incorrect parameters type
Re: thermostat connecté ween
Publié : 05 juin 2021, 22:12
par Keros
Mais est-ce que ta requète est bonne ? Tu arrives à afficher le Json dans le log ?
Re: thermostat connecté ween
Publié : 06 juin 2021, 12:14
par chris-le-chti
la requete ne retourne rien je m'etais pourtant inspiré d'exemple
Comme celui la pour mon parser
https://depot.ami.usherbrooke.ca/AmI_Gr ... e_json.lua
J'ai declaré un device http avec
Je continuerai a bosser la dessus cette semaine.
Re: thermostat connecté ween
Publié : 06 juin 2021, 13:35
par Keros
Tu ne peux pas mettre directement le lien http, ce sera trop simple...
J'ai trouvé un exemple curl avec la documentation officielle :
https://github.com/domoticz/domoticz/bl ... e_json.lua Regarde peut-être de ce côté-là.
Re: thermostat connecté ween
Publié : 12 juin 2021, 14:23
par chris-le-chti
Salut bon j'y suis pas arrivé finalement (impossible de retourner les résultat de la requête.. Mais j'ai vu que qq'un bossait sur un Plugin
https://github.com/joggee-fr/domoticz-ween-thermostat
Mais pas de scripts Python pour l'instant il est sans doute en cours de correction, si le plug in fonctionne ce sera encore mieux et j'ai meme suggéré a la societé qui fait le Ween qu'en retour JSON ils ajoutent sur le thermostat est en mode chauffe ou pas en plus de la température et humidité.
Chris
Re: thermostat connecté ween
Publié : 12 août 2021, 19:07
par Davdo
Actuellement en vacances je peux vous transmettre le code pour exploiter le résultat Json, mais qu'une fois rentré chez moi.
Pouvez vous me dire comment obtenir le token et surtout si le service consommateur vous a donné un lien pour activer ou désactiver le thermostat à l'aide de ce même token ?