Le script fonctionne bien avec les V2 par contre le retour d'état remet souvent le mode précédant
Ca bug un peu le réglage
J'ai fait une fausse manip?
Quelqu'un aurait la solution?
D'avance merci
Bonjour deennoo,deennoo a écrit : 15 sept. 2017, 22:35 Aller c'est parti ! Voici les 3 scripts (tester sous linux, sur Pi et syno), et avec un seul module (j'attend d'en avoir d'autre pour gerer differements)
Voici comment cela marche :
Il faut crée :
Hardware virtuel : Heatzy
hardware.PNG
Un Switch Selector : Heatzy Pilote (ou le nom que vous voulez mais rappelez vous en car il y en a besoin après)
avec 3 niveau differents + le Off :
selector.PNG
Suite du contenu retirée
Code : Tout sélectionner
2024-01-06 13:59:03.694 Error: EventSystem: in TimeHeatzyRetourSdB: [string "json = (loadfile "/home/pi/domoticz/scripts/l..."]:17: attempt to index a nil value (field 'attr')Code : Tout sélectionner
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")() -- For raspberry enlever les -- devant la ligne qui vous interesse et mettre -- devant la ligne a commenter
--variable a configurer
did = 'pnVs88LapaaseFS999dszb' --did que l'on a trouver avec la ligne de commande un peu chiante on garde les ''
selectorheatzy = 'Chauffage Salon' --nom de votre inter selecteur qui pilote le heatzy on garde les ''
--fin des variable a configurere
--ligne de commande qui interoge les serveur heatzy pour le retour d'etat
local config=assert(io.popen('curl -X GET --header \'Accept: application/json\' --header \'X-Gizwits-Application-Id: c70a66ff039d41b4a220e198b0fcc8b3\' \'https://euapi.gizwits.com/app/devdata/'..did..'/latest\''))
--parsing du json
local blocjson = config:read('*all')
config:close()
--print (blocjson)
local jsonValeur = json:decode(blocjson)
mode = jsonValeur.attr.mode
print('Heatzy Retour Etat Salon : ' .. mode)
--print(mode)
commandArray = {}
--print('****************')
if mode == 'stop' and otherdevices[selectorheatzy]~='Off' then --stop en chinois
--print("mode = stop")
commandArray[selectorheatzy]='Set Level: 0'
elseif mode =='cft' and otherdevices[selectorheatzy]~='Confort' then --confortable en chinois
commandArray[selectorheatzy]='Set Level: 10'
--print("mode = confortable")
elseif mode =='eco' and otherdevices[selectorheatzy]~='Eco' then --eco en chinois
commandArray[selectorheatzy]='Set Level: 20'
--print("mode = eco")
elseif mode =='fro' and otherdevices[selectorheatzy]~='Hors Gel' then --decongelation en chinois
commandArray[selectorheatzy]='Set Level: 30'
--print("mode = horsgel")
end
return commandArrayJe ne crois pas car cela fonctionne via l'appli Android.Redfirebrooks a écrit : 12 janv. 2024, 11:56 Peut être s'agit il également d'un souci côté serveur Heatzy ?
Je ne pense pas que cela change grand chose pour Heatzy, non ?Ce week end je vais en profiter pour tester HA et envisager de migrer.