Aller au contenu
Felig

Heating & Cooling Manager (PID HC3)

Recommended Posts

merci !

je vois qu'il y a également pleins de tests de robustesse:13:

en fait, le QA est tellement puissant que j'ai trouvé comment faire ce que je voulais sans devoir lire les consignes ...

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour,

je souhaiterais lancer le QA (le preview, où je peux cliquer sur les différents boutons) depuis une bouton d'un au QA..

Quelle méthode dois-je appeler ?

    hub.call(id["CHAUF_BUREAU_PID"], "quelle méthode ?") 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Le 26/02/2023 à 18:10, jojo a dit :

bonjour,

je souhaiterais lancer le QA (le preview, où je peux cliquer sur les différents boutons) depuis une bouton d'un au QA..

Quelle méthode dois-je appeler ?


    hub.call(id["CHAUF_BUREAU_PID"], "quelle méthode ?") 

 

Ça dépasse mes compétences, je ne savais pas qu'on pouvait le faire. Peut-être @Lazer ?

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai réussi à te poser une colle !

Je n'ai pas dit qu'on savait le faire, mais juste que j'aimerais le faire ...

Je me demande si avec F12, on ne pourrait pas voir ce qui se passe, mais je ne sais plus comment l'utiliser ...

Modifié par jojo
F1 -> F12 (typo)

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui on peut le faire, mais je n'ai pas suivi la discussion, et encore encore moins étudié le QuickApp, donc désolé mais là je n'ai aucune idée du nom de la fonction à appeler...

Partager ce message


Lien à poster
Partager sur d’autres sites

je suis content de lire que c'est possible.

imaginons qu'on ait un simple QA standard (On/Off); quelle méthode faudrait-il appeler pour ouvrir le preview de ce QA. Avec ça comme point de départ, on pourra trouver qqch qui va bien pour ce QA en particulier.

Partager ce message


Lien à poster
Partager sur d’autres sites

Pas sûr de comprendre ta question.

 

Pour le preview des QuickApps, c'est par ici :

 

Et sinon pour activer ou désactiver un QuickApp basique de type binarySwitch (ON/OFF), il suffit d'appeler les actions turnOn et turnOff.

Comme un Wall Plug, un FGS, etc...

 

Est-ce le type de ce QA Heating Manager ?

Ou bien est-ce un thermostat, ou encore un autre type de module ?

 

De façon générale, tu peux appeler via l'API n'importe quelle fonction membre de la classe QuickApp dans le code LUA, puisqu'elles sont automatiquement exportées (= exécutables depuis l'extérieur... l'extérieur étant un autre QuickApp, une Scène, un accès Web via l'URL, un script externe, etc...)

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je crois que le lien que tu as donné correspond à ma demande => j'y regarde => merci

en fait c'est ceci que je veux lancer 

zjbt.jpg

mais l'url est .../api/dashbord ...

 

Ce device est dde type thermostat.

Pour ta culture générale (je sais que tu ailes !a), voici le json du device

id866.json

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 15 heures, Lazer a dit :

Pas sûr de comprendre ta question.

tu avais très bien compris, ton lien se rapproche très fort de ce que je voulais. (exactement, il ne fallait pas rêver)

Partager ce message


Lien à poster
Partager sur d’autres sites

Un type thermostat, c'est donc les 3 actions suivantes que tu peux appeler depuis l'API (extrait du JSON) :

  "actions": {
    "setCoolingThermostatSetpoint": 1,
    "setHeatingThermostatSetpoint": 1,
    "setThermostatMode": 1
  },

Ainsi tu peux directement choisir le mode de fonctionnement (Auto, Heat, Off, etc) et la température depuis un script LUA.
Et même depuis GEA aussi ;)

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Petite mise à jour: la version 5.20.14 permet de supprimer les avertissements "Radiateur a été modifié - vérifiez que seul HCM le contrôle" qui étaient affichés de temps en temps sans raison (faux positif).

Partager ce message


Lien à poster
Partager sur d’autres sites

super initiative car en effet j'expérimentais ces faux positifs.

Je voulais égqlement (et surtout) dire que l'envoie des warnings par mail était super !

Je viens de recevoir un mail de HCM car non remontée de la température. La batterie de mon capteur était morte, et aucun avertissement par Fibaro ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Salu,

Cette dernière version (5.20.14) génère 3 erreurs chez moi.

 

1) (la plus "simple")
Afin d'être compatible avec les cycles GEA de 30 sec, j'ai mis ce paramètre

 HMCF.minAction      = 60        -- durée min. (sec) de chauffage/clim. (défaut: 15)

(question subsidiaire, ce paramètre est pour la durée de fonctionnement du radiateur, mais quid pour sa durée de non fonctionnement ?)

avec ce paramètre, j'ai cette erreur LUA

[08.03.2023] [16:26:00] [ERROR] [QUICKAPP866]: QuickApp crashed
[08.03.2023] [16:26:00] [ERROR] [QUICKAPP866]: config.lua:34: attempt to index a nil value (global 'HMCF')

2) limites

j'avais (avec les précédentes versions) une limite qyu dépassait la limite _global

  HMCF.range.Confort  = {19, 30}  -- {min, max} values for mode Comfort 

et pas ce soucis : le thermostat fonctionne bien et la consigne était limitée par le _global => Super !

maintenant j'ai une erreur qui arrête le fonctionnement du thermostat (ok pour un warning, mais bof pour un plantage)

Confort : La valeur 30 est hors limites [1-28]
Configuration non valide. Vérifiez vos paramètres.

[08.03.2023] [16:29:04] [DEBUG] [QUICKAPP866]: ------------------------------------------------------------------------------
[08.03.2023] [16:29:04] [DEBUG] [QUICKAPP866]: onInit - HEATING & COOLING MANAGER (866) - Bureau
[08.03.2023] [16:29:04] [DEBUG] [QUICKAPP866]: ------------------------------------------------------------------------------
[08.03.2023] [16:29:04] [DEBUG] [QUICKAPP866]: HEATING & COOLING MANAGER v. 5.20.14
[08.03.2023] [16:29:04] [DEBUG] [QUICKAPP866]: [BOOT ] Loading user settings
[08.03.2023] [16:29:05] [DEBUG] [QUICKAPP866]: [-PID-] Loading PID data from variable 'PID_Data'
[08.03.2023] [16:29:05] [ERROR] [QUICKAPP866]: Confort : La valeur 30 est hors limites [1-28]
[08.03.2023] [16:29:05] [DEBUG] [QUICKAPP866]: Email notification sent to user ID 2
[08.03.2023] [16:29:05] [DEBUG] [QUICKAPP866]: Thermostat éteint. Arrêt des radiateurs.
[08.03.2023] [16:29:05] [ERROR] [QUICKAPP866]: Configuration non valide. Vérifiez vos paramètres.

3) faux positifs

J'ai toujours ces faux positifs

[WARNING] Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle

alors que je suis CERTAIN que je n'ai aucun autre automatisme. Et celui-ci vient à chaque redémarrage de GEA (alors que je n'ai rien dans GEA pour contrôler ce "radiateur") => Mystère ...

 

Merci

Modifié par jojo

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut Jojo,

 

1) Le problème semble venir de ton fichier config, il doit y avoir une typo quelque part (autour de la ligne 34). Si tu le partage je pourrai probablement la trouver.

Entre parenthèse, avec un minAction plus long tu vas perdre un peu en précision dans la régulation, surtout si tu as des cycles courts. Ex: si tu as un cycle PID de 3 minutes, un minAction de 60 secondes, et que le thermostat veut chauffer 20%, il va en fait chauffer 33% (1 minute sur 3) et donc surchauffer par rapport à ce qui est nécessaire. Si tu as un cycle PID de 15 minutes, c'est moins gênant.

Il n'y a pas de paramètre pour une durée minimum de non activité pour l'instant.

 

2) Ça me semble être le fonctionnement normal. Pourquoi tu ne changes la limite globale à 30° ? Avant il n'y avait peut-être pas de message de warning et d'arrêt du QA, mais en pratique la valeur max de confort était bien limitée par la limite globale. Je ne comprends pas dans quelles circonstances tu veux avoir une consigne Confort à 30° et tu veux quand même une limite globale à 28°. tu peux expliquer ? Je peux enlever l'arrêt du QA mais le principe de fonctionnement est de vérifier la config en détail au démarrage et d'alerter l'utilisateur si il y a quelque chose de bizarre. Une fois la config validée c'est le contraire, le fonctionnement doit être robuste.

 

3) Si ça se produit au démarrage de GEA tu as ta réponse. Tu doit avoir une ligne de test cachée quelque part. Essaie de désactiver tes règles et de de les réactiver groupe par groupe pour voir d'où ça vient ?

Modifié par Felig

Partager ce message


Lien à poster
Partager sur d’autres sites

1) Merci pour ton aide. Voici mon fichier config, dont la ligne 34 est ce paramètre...

PID_ConfigBureau.lua

(pour le délais 100% d'accord avec toi, sauf que je dois me conformer aux délais de GEA, car c'est GEA qui gère mes circulateurs, ou alors je dois tout passer en -1)

 

2) en fait j'avais fait simple avant, mis max 30 °C dans la SdB. Et la consigne de confort était limitée à 28°C, et ça m'allait très bien, car je savait que je n'atteindrais jamais la consigne, car ce que je voulais, c'était juste que le chauffage aille plein pot durant la période souhaitée. Puis j'ai installé la version, et madame m'a appelé pour manger, sans que j'ai pu faire les vérifications de base. Et ensuite j'avais la flegme de remonter pour analyser la cause. J'ai inventé une explication à la noix pourquoi la salle de bain était froide le lendemain. Tu sais tout ...

3) en effet ça doit venir de GEA, mais avec 190 GEA.add, je n'ai ni le temps, ni surtout le courage de toutes les désactiver et les remettre 1 à 1. C'est juste 1 mail en plus à détruire au démarrage de GEA

 

Partager ce message


Lien à poster
Partager sur d’autres sites

1) Il faut juste que tu déplaces la ligne 34 avant le "end" de la ligne 33. Tous les paramètres doivent être insérés avant le "end".

Je ne comprends pas pourquoi tu dois te caler sur les délais de GEA, mais on doit avoir une utilisation différente...

Si tu veux absolument modifier minAction, je te conseille de fixer minCycle à 300 ou 600 (au lieu de 180).

 

2) Ça me rappelle ma femme qui met le thermostat à 24° dans la voiture en pensant que ça va chauffer plus vite :). Que la consigne soit 28° ou 30°, le radiateur sera à fond jusqu'à que ce que la température dépasse les 27°.

 

3) tu peux mettre des groupes de GEA.add entre commentaires avec la syntaxe --[[ et --]]. Tu mets les 100 premiers en commentaires, et si c'est bon tu sais que c'est dans les 90 autres, sinon tu réactives les 50 premiers, et ainsi de suite.

 

EDIT: Comme la structure du fichier config a été un peu modifiée, j'en ai profité pour mettre à jour ton fichier avec la nouvelle fonction setRoomSensor() (au cas ou tu en aies besoin un jour)

 

PID_ConfigBureau.lua

Modifié par Felig
Fichier config modifié
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

1) Merci ! Honte à moi, c'est tellement évident....
Je regarde aussi pour tes autres conseils

 

2) en effet, je mets une consigne (n'importe laquelle), tant que le chauffage chauffe

 

3) c'était en effet mon idée, mais il faut que je trouve la motivation ...

 

EDIT : Merci

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 22 heures, Felig a dit :

la nouvelle fonction setRoomSensor() (au cas ou tu en aies besoin un jour)

eb effet, avant c'était dans

  HM:addHeater({id=162, wakeUp=300})

je préfère ici. Mais les 2 sont compatibles. avec la version 5.20.14 du code ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui les deux sont acceptés.

HM:addHeater({id=162, wakeUp=300})

est équivalent à :

HM:addHeater({id=162})
HM:setRoomSensor({wakeUp=300})

En cas de conflit, addHeater est prioritaire.

Modifié par Felig
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

J'ai un truc TRES étrange avec un radiateur (le chauffage de ma piscine ...) qio est commandé par un simple FGS-224.

il 'affiche ceci 

zdg2.jpg

Et évidemment, pour rendre les choses plus compliques, je modifie la config pour mettre le débug de 1 à 4, et tout revient dans l'ordre.

0orx.jpg

Maintenant, j'ai laissé le débug à 4 ...

P.S. : la consigne à 35°C ne sera jamais atteinte, mais je veux qu'elle déleste mes panneaux solaires lorsque le température de mon ECS est ok ...

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello jojo,

 

Désolé pour le délai. Ce message signifie seulement que le FGS ne répondait pas aux commandes. Il y a du avoir une perturbation dans ton réseau qui visiblement a été temporaire. J'imagine que ça ne s'est pas reproduit depuis, sinon dis-moi.

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonsoir Felig,

No stress pour le délais, je savait que tu répondrais ...

 

En effet le problème ne s'est plus reproduit depuis,

MAIS

  1. je l'avais déjà eu 3-4 fois avant (sinon je ne t'aurais pas dérangé)
  2. j'ai une règle GEA qui surveille ce module s'il est mort (et mail et réveil).
  3. à chaque fois, pour revenir bien, je rajoute un espace dans la config et sauve (étrange ?).
  4. je ne suis pas informé de l'erreur par mail, car la température ne varie que entre 10h et 21h. Donc j'aurais tous les jours un warming. (mais je vais quand même l'activer pour voir cette erreur lorsqu'elle se produit - sauf s'il y a moyen de définir le niveau de log qu'on veut recevoir)

Partager ce message


Lien à poster
Partager sur d’autres sites

Il y a une solution toute simple, désolé j'aurais du y penser avant. Ce contrôle se fait uniquement au démarrage du QA, qui vérifie qu'il arrive à communiquer avec le FGS. Ça doit se produire pendant un reboot, alors que le réseau zwave n'est pas encore totalement rétabli (le programme attend 1 minute mais visiblement dans ton cas ce n'est pas toujours suffisant). La solution est de désactiver l'option HMCF.checkHeaters (remplacer true par false) dans le fichier config. Une fois que ta config est stable cette vérification n'est plus nécessaire.

 

Ça devrait régler le pb une fois pour toutes.

 

Et de mon côté je vais allonger le délai d'une minute avant de communiquer avec les modules en cas de reboot.

Partager ce message


Lien à poster
Partager sur d’autres sites

merci , j'aime les solutions simples ...

du coup je passe ce paramètre à false sur tous mes PID ...

Partager ce message


Lien à poster
Partager sur d’autres sites

salut @Felig,

Cela fait super longtemps que je me dis ce qui suit, mais j'avais toujours une (mauvaise) raison pour ne pas écrire ...

 

Si il n'y a plus de variation de la température de la pièce pendant 8h00, il y a ce warning, que je reçoit par mail (HMCF.sendEmail = true)

[WARNING] Chauf_Pauline_Radiateur : No temp. update since 8h 00m

J'utilise cette info pour la détection du niveau de la batterie, info bien plus fiable que les notifs de Fibaro.

Et en fait parfois (souvent même) il se réveille, et tout est de nouveau OK.

Donc ce serait sympa d'avoir une ligne du style

[WARNING] Chauf_Pauline_Radiateur : again temp. update

Comme ça je sais (juste en lisant mes mails) que tout est redevenu OK.

 

Maintenant, j'ai une autre demande qui me semble plus complexe et (à mes yeux) moins cosmétique...

Le warning précédent (et c'est très logique dans certains cas) met le régulateur sur Off (sans possibilité de le modifier).

Voici mon idée : si le PID va sur Off à cause d'une erreur, pouvoir dire qu'il fonctionne à une valeur fixe en fonction du mode choisit. Pour cela je pense aux variables/paramètres suivants :

HMCF.error.manual = false|true -- false c'est le fonctionnement actuel
HCMF.error.conf = 80 -- en mode confort on activerait le radiateur 80% du temps si HMCF.error.manual = true 
HCMF.error.eco = 50 -- en mode éco on activerait le radiateur 50% du temps si HMCF.error.manual = true 
HCMF.error.vac = 30 -- en mode vacances on activerait le radiateur 30% du temps si HMCF.error.manual = true 
HCMF.error.manu = 100 -- en mode manual on activerait le radiateur 100% du temps si HMCF.error.manual = true 

Cette idée m'est venue à l'esprit, car le radiateur de la SdB était froid un (plusieurs) matin(s) car en pleine nuit le thermostat s'était mis sur Off, car cela faisait 8h que pas de mesure de température, en pleine nuit, évidemment. Du coup, j'ai du faire preuve de beaucoup d'imagination auprès de mon épouse pour lui expliquer pourquoi la SdB était froide à 6h00 en plein hivers ...

Idée saugrenue ?

Partager ce message


Lien à poster
Partager sur d’autres sites

×