eric a écrit : 25 août 2019, 16:29
Du coup avec l'application souvent je mets en mode marche forcée pendant 30mn ou 1 heure et ensuite je n'ai rien à faire et ca revient en mode hors gel.
Savez vous si ce mode marche forcé et géré par l'API (j'ai des modules en v2)?
Vu la description, ca doit l'être: On repasse en consigne "confort" probablement. Il y a juste que quand un ordre planifié revient sur une tranche horaire on revient à la consigne programmé.
Ca ressemble a ce que j'ai fait chez moi, mais géré automatiquement et en utilisant des modules fil-pilote Qubino en z-wave.
Cela utilise les capteurs de température/mouvement (parfois combinés) présents par ailleurs: En gros, si consigne courante < eco (donc a priori plage horaire hors-gel ou on n'est pas censé être là) mais présence détectée(on est là quand même et dans la pièce du radiateur controlé! Le status presence global de la fonction alarme est ici aussi utilisé mais pourrait être retiré) et température < 18.5°C, le radiateur le plus puissant du salon reçoit 2 ordres planifiés: Mode éco immédiat puis retour en mode eco après 30mn.
Certes, un ordre planifié dans Domoticz peut repasser d'ici là et nous remettre en HG, mais si les conditions présence/température sont de nouveau là, au 1er mouvement détecté un ordre éco repart.
C'est un script device assez simple (le module qubino est vu comme un variateur, avec des tranches de % correspondant à des ordres fil-pilote, le machin pour débilophone Heatzy je sais pas, c'est donc à adapter):
script_device_heaterOnMov.lua
Code : Tout sélectionner
-- Heater devices dynamic control script (using movement detector presence info)
-- If presence & movement detected & current level = HG (= out of usual presence
-- planning level), then send an ECO level for 30 minutes...
timeOnSec='1800'
tempLimit=18.5
presence='PresenceGlobal'
move1='MvtSalon'
heat1='Radiateur Salon'
temp1='Temperature Salon'
commandArray = {}
if (devicechanged[move1] == 'On' and otherdevices[presence] == 'On') then
curLvl=tonumber(otherdevices_svalues[heat1])
curTmp=tonumber(otherdevices_svalues[temp1])
-- Uncomment for debug:
-- print(heat1..": Level="..tostring(curLvl).."/Temp="..tostring(curTmp))
if ((curLvl > 10) and (curLvl < 20) and (curTmp < tempLimit)) then
print(heat1.." HG->ECO on presence detection : Salon.")
commandArray[1]={[heat1]='Set Level 25'}
commandArray[2]={[heat1]='Set Level 15 AFTER '..timeOnSec}
end
end
return commandArray
Ca permet de gérer de l'auto adaptatif, passant outre les plannings, si par exemple les enfants ont un cours qui saute et sont présents hors horaires planifiés: Ils n'ont alors à s'occuper de rien pour ne pas se cailler trop longtemps.
Maintenant, les truc connectés imposant une connexion externe pour contrôler son chez soi, perso je ne suis pas client: Le fabricant mets la clef sous la porte, une fois l'hébergement du cloud externe arrivé à échéance c'est le plus souvent bon pour la poubelle.
Mais si une appli tierce a pu implémenter le service c'est forcément qu'ils ont eu accès à une API pour contrôler le heatzy, donc que le fabricant la propose à des tiers.
Il serait alors peut-être possible d'envoyer les ordre en restant dans son LAN, si on sait comment les envoyer (probable API HTTP ou autre, qu'on pourra gérer d'un script Lua avec des commandes systeme genre curl ou autre, pour lire l'état courant et en écrire un nouveau, afin d'adapter mon script... ou bien si un peu complexe, ré-écrire cela en python).
EDIT:
En remontant un peu plus haut, il semble qu'une API ait été publiée... Par contre, là ou c'est extrêmement ballot à mon sens, c'est que cela oblige toujours à passer par l'extérieur et un domaine euapi.gizwits.com au vu des scripts, après avoir récupéré les device ID nécéssaires au controle là encore via ce domaine!
Bref, l'API publiée est celle du cloud fabricant, pas celle du module!!! On tiens des champions là et il faut vraiment aimer s'emmerder pour acheter ce genre de machin. Ou oublier toute utilisation adaptée à son besoin propre et rester sur les possibilités données par le fabricant... tant qu'il pourra ou voudra s'en occuper.