Aller au contenu

Heating Manager


OJC

Messages recommandés

Encore une excellente initiative ... Bravo.

 

Juste encore une remarque ... j'insiste ... sur la manière d'aller récupérer le VD.

 

Ta méthode getDeviceIDbyName parcours tous les devices afin de trouver le bon alors qu'il te suffirait de faire ainsi :

 

function getDeviceIDbyName(deviceName)
  local device = api.get("/devices?name="..deviceName.."&enabled=true&visible=true")
  if (device) then 
	  return device.id 
  end
  log("Critical Error : Virtual Device Dawn & Dusk Panel not found !","Tomato",true)
  fibaro:abort()
end

C'est juste un peu plus performant.

 

Sinon, il existe : fibaro:getRoomNameByDeviceID(id_du_device)

 

D'ailleurs ... ne serait-ce pas un copier/coller restant "Critical Error : Virtual Device Dawn & Dusk Panel not found !" :2:

 

Je me permet ces petits commentaires car vu le niveau de ton code, manque pas grand chose pour qu'il soit parfait :60:

Lien vers le commentaire
Partager sur d’autres sites

Eh ben, belle optimisation ;-)

 

J'ai pas importé le VD, mais est-il possible de passer le panneau de chauffage en mode manuel ou en mode vacances et inversement depuis le VD ? ou

 

Simple suggestion, enfin question

 

Et si la sonde de temperature est une sonde hors HC2 ? ;-)

Modifié par pepite
Lien vers le commentaire
Partager sur d’autres sites

Merci :)

 

Je n'ai pas prévu de pouvoir passer le panneau de chauffage en mode manuel ou vacances depuis le Module Virtuel puisqu'on peut le faire facilement depuis l'app Android ou iOS. Même si ce ne doit pas être bien compliqué à rajouter, je n'en vois pas trop l'intérêt, du coup...

 

En l'état, le programme ne fonctionne qu'avec une sonde de température ZWave présente comme module dans la HC2. Mais ce n'est pas très compliqué non plus de rajouter une option pour qu'il aille la chercher ailleurs que dans le value d'un module (ou qu'il le comprenne tout seul en fonction du paramétrage de la sonde), à condition cependant qu'elle soit enregistrée quelque part dans la HC2... Parce que préconfigurer le programme en fonction de toutes les API des box/sondes les plus courantes... Outre le fait que je n'en ai pas l'utilité, ça va vite devenir indigeste !

Le plus simple serait d'envisager deux cas :

> La température est stockée dans un Module Virtuel, donc il suffit de connaître l'ID du module et celui de l'étiquette pour avoir une sonde 'virtuelle'

> La température est stockée dans une Variable Globale, il suffit de connaître le nom (voire plus si les températures sont stockées sous forme de table 'jsonée'

Comment font ceux qui utilisent des sondes non ZWave ? Plutôt Module Virtuel ou plutôt Variable Globale ?

Modifié par OJC
Lien vers le commentaire
Partager sur d’autres sites

Pour ce qui est du passage en mode vacances ou manuel, l'intérêt est de pouvoir à partir d'une autre scène ouautre VD qui gere ton absence de pouvoir aller cliquer sur le bouton automatiquement en fonction des conditions ;-)

 

Exemple : avec GEA, je pars en vacances ou en WE pendant la periode hivernale, en fonction des conditions, j'appuie sur le bouton vacances, lorsque je reviens, j'appuie sur le bouton ON ;-)....

J'ai des invités..je passe en manuel ;-)

 

Pour les sondes exterieures, je dirais :

 - VD + VG avec affchage des valeurs dans les etiquettes

 - VD + affichage des valeurs directement dans les étiquettes, les étiquettes ayant la même étendue que les Variables globales en moins risqué ;-)

Lien vers le commentaire
Partager sur d’autres sites

Sur le premier point, j'ai prévu de faire le pendant de la gestion d'absence en permettant d'overrider la température de consigne du panneau de chauffage en cas de présence dans la pièce, soit détectée par un détecteur de mouvement, soit affirmée depuis un autre Module Virtuel via une Variable Globale (parce que Madame a froid quand elle reste sans bouger à regarder un film :mellow:). Je peux du coup faire en sorte qu'une absence prolongée soit notifiée via la même Variable Globale pour passer les panneaux de chauffage en mode Vacances. Mais je n'ai pas très envie d'un Module Virtuel faisant doublon avec le natif Fibaro, surtout avec les limites en terme d'IHM.

Et puis GEA permet de modifier une Variable Globale sur conditions :P

 

Sur le deuxième point, je mets dans le cahier des charges la possibilité de spécifier soit l'ID d'un module, soit une table avec l'ID du Module Virtuel et l'ID de l'étiquette, ex. {12, "lblSejour"}, la fonction type() permettant de faire le distingo et de gérer la suite ;)

Modifié par OJC
Lien vers le commentaire
Partager sur d’autres sites

Pour la régulation, je crois que je vais pomper l'algorithme de chauffage de la box eedomus, qui m'a l'air plutôt bien pensé en plus d'être d'une simplicité absolue...

 

Y aurait-il des retours d'expérience sur l'efficacité de cet algorithme ?

  • Upvote 1
Lien vers le commentaire
Partager sur d’autres sites

ce sujet m'intéresse énormément étant donnée que j'ai un plancher chauffant électrique avec plusieurs zones, actuellement j'utilise des sonde nethamo+IPX800 qui commande les fil pilote (ON-OFF) j'ai conservé les ancien thermostat qui me servent uniquement de commande et j'ai repris un VD qui fait thermostat mais uniquement ON-OFF

Lien vers le commentaire
Partager sur d’autres sites

Non, pour modifier la consigne, il faut aller dans le panneau de chauffage ou avec l'application Android / iPhone dans Température/Zones/Manuel. Je n'ai pas fait un doublon avec ce qui existe déjà nativement.

 

Ce que fait le Module Virtuel, c'est de modifier automatiquement la consigne en cas d'ouverture/fermeture d'un ouvrant et en cas d'absence, en fonction du paramétrage.

Lien vers le commentaire
Partager sur d’autres sites

Et voici la dernière mouture, avec au menu un algorithme pour la régulation du chauffage qui tient bien la route et qui est celui proposé nativement par la centrale domotique eedomus.

J'ai également revu la manière de configurer le module virtuel et la scène, je commençais à me noyer dans ma variable de type table !!

Et puis les icônes :)

Lien vers le commentaire
Partager sur d’autres sites

@iman Il faut supprimer la ligne jT = json.decode(fibaro:getGlobalValue("HomeTable")) située ~ ligne 208, qui est liée à la configuration utilisée en exemple, dans laquelle les ID de tous les modules sont stockés dans une variable globale pour faciliter leur utilisation dans les scripts.

 

Pour la commande de ton radiateur, voir post suivant.

Modifié par OJC
Lien vers le commentaire
Partager sur d’autres sites

Tiens, j'ai modifié le code (pas testé de manière approfondie puisque je ne fonctionne pas comme ça pour commander mon chauffage) : Heating Manager v. 1.2.1b.lua

 

Tu fais comme ça : HeatingManager:addHeater({ID de ton module virtuel, n° du bouton ON, n° du bouton OFF}, idSonde, localP, localT)

 

Dis moi si ça marche.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...