Aller au contenu

Heating Manager


OJC

Messages recommandés

Les fichiers sont toujours là, je viens de les re-télécharger tous les 4. Je n'ai le message évoqué par @MAM78 que lorsque je tente de télécharger sans être connecté.

 

Et là ?

Heating_Viewer.vfib

Heating_Provider.vfib

Thermostat.vfib

Heating Manager - Scène.lua

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

  • 6 mois après...

Hello tout le monde,

 

la fraîcheur revient et avec cela la gestion du chauffage par nos box aussi ! :)

j'ai actuellement une gestion centralisée que j'ai développé mais je viens de tomber sur ce sujet et je m'y intéresse de prêt !

En fait ce que fait actuellement mon système c'est :

  • un VD par Zone, qu'on peut voir comme une centrale de pilotage qui gère tous les chauffages qui lui sont rattachés.
  • un VD pour chaque radiateur, qu'on peut voir comme un thermostat virtuel tel que celui que tu proposes @OJC mais en moins évolué !!

Le VD Zone permet d'envoyer des ordres communs à tous les radiateurs de la zone (Eco, Confort, HG et Arret). Il gère aussi un mode "Auto" qui se base sur une liste de plages horaires associé à un ordre (Eco, Confort, HG, Arret), ce qui permet de faire la programmation en fonction des jours de la semaine. Chaque jour peut etre de 3 types différents: Boulot, Maison, Papa (ce dernier mode étant pour éviter d'avoir trop froid le mercredi matin par exemple car ma douce ne travail pas le mercredi et les enfants non plus du coup je suis le seul à me lever tôt :))

 

Le VD thermostat gère en fait un FGS-222 avec 2 diodes de redressement pour envoyer les 4 ordres sur le fils pilote du radiateur. Et d'autre part si il est en Auto il va être en attente des ordres du Central de la zone a laquelle il est associé. Et pour finir il gère les ouvertures de portes/fenêtres déclarées dans la pièce avec coupure automatique du chauffage et remise en route après fermeture + une certaine tempo.

 

Bref voila dans les grosses lignes ce que mon système fait :) 

Attention je ne le présente pas pour le vendre ou qu'il concurrence celui ci car je vois bien qu'on joue pas dans la même cours !!!! :13:

 

Je voulais juste savoir si avec ton système @OJC je pourrais retrouver les mêmes fonctionnalités et toutes celle ce que as ajouté en plus !!! :) 

Je suis notamment pas sur en ce qui concerne le fait de pouvoir donner des ordres à tous les radiateurs d'une zone comme par exemple les mettre à l’Arrêt ou en ECO ?

Apres je suis pas sur de saisir toutes les facettes de ce que proposes "Heating Manager" du coup c'est pour ça que je préfère demander ! :) 

 

Autre question est ce que le système gère le temps que met un chauffage pour atteindre la température demandé ? J'ai l'u les 6 pages et au final j'ai un doute :P 

En gros si on demande 21° à 7h du matin dans la SdB est ce que le chauffage se met en route à 7h ou est ce qu'il chauffera avant (selon ses calculs) et sera à la bonne température à 7h ?

 

Merci d'avance pour les éclaircissements et chapeau l'artiste pour le développement !! :16:

Lien vers le commentaire
Partager sur d’autres sites

@Tomsauy Désolé pour le retard de cette réponse, beaucoup de travail en ce moment !

 

Heating Manager peut fonctionner en mode de planification 'basique', mais est surtout conçu pour fonctionner sur une base événementielle, étant précisé que le VD Thermostat ne fonctionne que dans ce mode là. Le mode événementiel peut cependant être utilisé avec une planification basique où l'évènement contrôlé à chaque itération est une plage horaire.

 

Je ne sais pas si je suis très clair :/

 

Pour ce qui est de la deuxième question, la réponse est négative. J'avais commencé à étudier le truc, mais j'ai au final laissé tomber dans la mesure où je n'ai pu trouver suffisamment de matière fiable quant aux équations à utiliser, et où j'ai orienté le développement du programme sur un fonctionnement événementiel où la définition de la température de consigne ne dépend pas au premier chef d'une planification, mais de ce qui se passe dans la maison. Or, s'il est concevable d'anticiper un événement fixe, ce qu'est un horaire déterminé, cela me semble impossible s'agissant d'événements aléatoires.

Lien vers le commentaire
Partager sur d’autres sites

  • 4 semaines après...

@pepite Tu me diras ce que ça donne en terme de stabilité. Je suis en version 4.510 et mon script plante régulièrement, je n'arrive pas à comprendre pourquoi. La boucle qui gère le déclenchement des radiateurs cesse tout simplement de fonctionner, alors que celle qui s'occupe d'afficher toutes les 10 minutes la mémoire utilisée par la scène continue de fonctionner sans problème. Je ne vois pas de messages d'erreurs... A s'arracher les cheveux qui me restent :(

Lien vers le commentaire
Partager sur d’autres sites

@OJC Ah m..

Je n'ai pas encore recu le module Qubino donc ce n'est pas encore en prod.

 

J'essaie deja de comprendre ce que je dois mettre lol ;-) et c'est pas gagné ;-)

 

Suis aussi en 4.510.

Donc pour toi HM:run() plante mais pas printMemoryUsage() c'est ca ?

 

Lien vers le commentaire
Partager sur d’autres sites

je viens d'aller voir. alors là si c'est ca.. trouver un workaround pour relancer la fonction, heuuuuuuuuuuuuu

Quand ca plante tu n'as donc pus d'instance qui tourne ? Regarde le watchdog de @Lazer ca relancera la scene, tu ne te retrouveras pas au moins sans chauffage. 

si tu rajoutais des logs possible ? mais lesquels heuu

Donc ceux en mode hysteresis n'ont pas de bug.

Lien vers le commentaire
Partager sur d’autres sites

Je n'ai pas encore fait de tests poussés. Et si, c'est ça le plus bizarre, la scène continue à tourner puisque j'ai l'affichage de la mémoire utilisée dans les logs toutes les 5 ou 10 minutes. Ce n'est pas la scène dans son ensemble qui plante...

Lien vers le commentaire
Partager sur d’autres sites

Pas toutes les vg, chez moi, celles de Gea et du heating mananger. J ai pas trop investigué car c est la galere pour tout remettre en etat apres un backup. Je fais un backup apres avoir inclus un nouveau module. Les scenes et les vd, je les sauvegarde separement le tps que le bug soit résolu. Je vais retester qd je passerais en 4.512, mais c est pas le moment de tout planter.

 

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

Hello,

 

Je viens de me lancer dans l'intégration du Heating Manager et j'ai quelques soucis.

 

Pour démarrer je me lance dans quelque chose de simple. Mon contexte est le suivant :

  • Dans une salle de bain (ID=7)
  • Utilisation d'un radiateur électrique d'appoint brancher sur une prise électrique pilotée par un Fibaro Sigle Switch 2 - FGS 213 (Id=411)
  • Les consignes de chauffage sont données par un panneau de chauffage de la HC2 (Id=192) associé à la salle de bain (ID=7)
  • Utilisation d'une sonde de température NetAtmo (via un VD Id=359 avec un label="lblTemp" qui contient la température issue du plugin NetAtmo) présent dans la salle de bain (ID=7)
  • Une sonde de température extérieur NetAtmo (via un VD Id=355 avec un label="lblTemp" qui contient la température issue du plugin NetAtmo) présent dans la salle de bain (ID=7)
  • Notification éventuelle sur mon téléphone (Id={289})

Voici, l'extrait de ma configuration :

 

  --GENERAL CONFIGURATION---------------------------------------------------------------------
    self:setConfiguration(checkConfig, oldLastTempUpdate, logInfo, pushWarnErrLog, {289}, popupWarnErrLog, logMemory)
    --self:setProportionalMode(default_kP, auto_kP, default_kT, cycle, minCycle, defaultSetpoint)
    --self:setHysteresisMode(hysteresis, cycle, defaultSetpoint)
    --self:setEventDefaults(eCumulative, eSetpoint, eDuration, eStep, ePersistence)

  --HEATERS CONFIGURATION---------------------------------------------------------------------
    self:addHeater(7, {411, "turnOn", "turnOff", "0"}, {359, "lblTemp"}, localkP, localkT)
    --with idHeater = {ID, On command or button, Off command or button, Off value}

  --SETPOINT SOURCES CONFIGURATION------------------------------------------------------------
    self:setSetpoint(7, 192)

  --GLOBAL EVENTS CONFIGURATION---------------------------------------------------------------
    --self:addEvent(idEvent, conditions, cumulative, setpoint, duration, persistence)
    --with conditions = {{ID, property, operator, value, extension}} or {{name, operator, value, extension}}

  --ROOM EVENTS CONFIGURATION-----------------------------------------------------------------
    --self:addEvent(idRoom, idEvent, conditions, cumulative, setpoint, duration, persistence)
    --with conditions = {{ID, property, operator, value, extension}} or {{name, operator, value, extension}}

  --INDOOR TEMPERATURE SONDES DECLARATIONS----------------------------------------------------
    self:setIndoorSonde(7, {359, "lblTemp"})

  --OUTDOOR TEMPERATURE SONDE DECLARATION-----------------------------------------------------
    self:setOutdoorSonde({355, "lblTemp"})

--USER CONFIGURATION ZONE END-----------------------------------------------------------------

J'obtiens le message d'erreur suivant :

 

[DEBUG] 00:42:19: [1;31m2018-11-14 00:42:19.937154 [ error] API: Not found
[DEBUG] 00:42:20: [ERREUR] L’ID dans addHeater n’est pas le nom d’une propriété du module ID 359 (lblTemp) !
[DEBUG] 00:42:20: [1;31m2018-11-14 00:42:19.945577 [ fatal] Unknown exception: /opt/fibaro/scenes/99.lua:324: attempt to compare number with nil

Auriez-vous une idée de ce qui cloche dans ma config ?

 

J'ai essayé plusieurs syntaxes :

  • {359, "lblTemp"}
  • {359, "ui.lblTemp.value"}
  • {359, "ui.lblTemp"}
  • {359, "lblTemp.value"}

Mais rien n'a faire ça passe pas !

 

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

@MAM78 Dans les formules de configuration, il faut remplacer le nom des paramètres par leur valeur.

Je vois aussi que tu n'as pas défini le mode de chauffage que tu veux utiliser : régulation proportionnelle ou via hysteresis ?

 

En mode proportionnel, essaie ça :

 --GENERAL CONFIGURATION---------------------------------------------------------------------
    self:setConfiguration(true, 180, true, false, {289}, false, true)
    self:setProportionalMode(60, true, 1, 15, 1, comfort)

  --HEATERS CONFIGURATION---------------------------------------------------------------------
    self:addHeater(7, {411, "turnOn", "turnOff", "0"}, {359, "lblTemp"})

  --SETPOINT SOURCES CONFIGURATION------------------------------------------------------------
    self:setSetpoint(7, 192)

  --INDOOR TEMPERATURE SONDES DECLARATIONS----------------------------------------------------
    self:setIndoorSonde(7, {359, "lblTemp"})

  --OUTDOOR TEMPERATURE SONDE DECLARATION-----------------------------------------------------
    self:setOutdoorSonde({355, "lblTemp"})

Pour que ça fonctionne, il faut mettre un VD Thermostat dans la pièce ID 7.

 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...