Aller au contenu

Heating Manager - PID and more


Messages recommandés

Posté(e)

désolé,  il y a des soucis avec la régul. ....

je m'explique (les screenshots proviennent de mon GSM, avec l'avant dernière version du code - donc pas encore celle où tu as remis les emoji dans l'UI).

Comme je n'ai pas vu d'erreur dans les logs, je ne les joins pas).

Ici, on voit, une consigne à 13, une température mesurée à 13,8 et P = 0%

ih5j.jpeg

Ici  P à 100%, mais mon airoco arrêté dans les faits.

br3a.jpg

Je suis repassé ce matin sur mon ancienne régulation :

mfp4.jpg

 

En ce qui concerne l'UI (je suis comme toi, j'aime ce qui est beau et utile)

La seconde ligne de texte reprend la consigne (qui est reprise plus haut) et le mode (qui est précisé à la ligne suivante)

Dans les logs, j'ai vu que tu récupérais la température extérieure. Pour quoi ne pas l'afficher juste en dessous du mode actuel (surtout qu'on a gagné un ligne) ?

Posté(e)

autre question (non spécifique au refroidissement)

Je l'illustre par ce graphique :

wzf5.jpg

Ici c'est donc le mode Eco qui est sélectionné (?)

Il a été configuré à 14,5°C (cfr 3)

Mais le thermostat fonctionne avec quelle consigne (13 (cfr 1&2) ou 14,5 (cfr 3))

Ne serait-ce pas que toutes les infos soient "cohérentes" (comme pour le mode OFF)

93nw.jpg

 

Maintenant que je me suis lancé, il va être difficile de m'arrêter ...

Posté(e) (modifié)

Hello Jojo,

 

N'hésite avec les questions, ça fait longtemps que j'avais besoin d'un œil extérieur :)

 

Pour la régulation, est-ce que tu peux essayer avec Kp=20 ? Je pense qu'une cave à vins doit être bien isolée et donc bonne inertie. Je fais des tests de mon côté pour voir si il y a autre chose.

EDIT: Efface la variable HM_Data pour repartir sur une config vierge. Et met le paramètre showPID à true stp pour surveiller l'évolution des paramètres PID.

 

Pour la 2ème ligne de l'UI, c'est uniquement pour les consignes imbriquées: si tu configures Auto=Confort par exemple (au lieu de Confort=13), ça donnera cet affichage:

 

image.png.fd69fdf3ddb8d2ac01e97b870f5553b5.png

 

Enfin sur ton dernier post c'est pas normal, toutes les infos doivent être cohérentes au bout d'un délai. C'est normal que ce ne soit pas instantané, mais au bout de 10 secondes max la consigne du thermostat doit se caler sur celle de l'UI. Tu peux confirmer que ça ne se cale jamais ?

Modifié par Felig
Posté(e)
il y a une heure, Felig a dit :

N'hésite avec les questions, ça fait longtemps que j'avais besoin d'un œil extérieur :)

:60:

il y a une heure, Felig a dit :

c'est pas normal, toutes les infos doivent être cohérentes au bout d'un délai. C'est normal que ce ne soit pas instantané, mais au bout de 10 secondes max la consigne du thermostat doit se caler sur celle de l'UI.

voici après 2 min ...

eq91.jpg

J'y pense, j'ai modifié la consigne Eco via l'UI, mais dans le fichier config, Auto=13

 

Posté(e)

je viens de modifier dans le fichier Config Auto=12.

Et toujours pas synchronisation des UI

lptv.jpg

 

Il régule à 12 ou à 13 du coup ?

Posté(e)

il y a vraiment un soucis :

qccp.jpg

Je ne crois pas que c'est avec la régul proprement dite, car elle demande 100 %

99ei.jpg

mais avec la commande au device, qui est Off (c'est un FGS-224)

Posté(e)

Il régule à 12. C'est bon j'ai trouvé: j'avais oublié de remplacer un "heatingThermostatSetpoint" par "coolingThermostatSetpoint". Voici une version corrigée.

 

Est-ce que tu peux stp choisir les options suivantes dans le fichier config:

  HMCF.showPID        = true      -- display technical info messages about PID regulation
  HMCF.showDebug      = 1         -- 0=minimal, 1=normal, 2=detailed, 3=verbose, 4=debug
  HMCF.showEmoji      = false     -- show emoji in logs (set to false to post logs on forum)

 

Dans la section addHeater du fichier config, essaie avec: (xxx = id de ta clim)

HM:addHeater({id=xxx, Kp=20, Ki=3, Kd=0})

Ca permettra de surveiller les paramètres PID. Plus les paramètres Kp et Ki sont faibles, plus les changements sont progressifs, et donc le risque d'overshoot faible.

Et si la régul. diverge encore, je veux bien les logs.

HM HC3 Cool.lua

Posté(e)
Il y a 12 heures, Felig a dit :

Il régule à 12. C'est bon j'ai trouvé: j'avais oublié de remplacer un "heatingThermostatSetpoint" par "coolingThermostatSetpoint". Voici une version corrigée.

Super ! Merci..

A 2, on va faire un méga super QA :  je teste en profondeur (à mon rythme...) et tu fais le plus difficile (pour moi) coder proprement ...

 

Je crois que je viens de trouver pourquoi il ne régulait pas correctement :

Cette nuit c'était parfait avec cette config :

HM:addHeater({id=327, Kp=100})

et ça n'allait pas avec 

HM:addHeater({id=327, property="NO", Kp=100})

Or mon ID=327 est un FGS224, property="NO" était faux, mais bon, en quoi cette info influe-t-elle la régulation. De ma compréhension, c'est un simple retour d'état ...

Je viens de remettre le paramètre property="NO",  et la température semble à nouveau diverger :
o7ji.jpg

 

J'implémente ton nouveau code sans le paramètre property="NO".

Posté(e)

ke confirme la divergence à cause de property="NO",

La consigne est à 13°C, Je suis à 15°C, le régulateur dit 100M:60:, mais le device est sur off.. (il me semble que c'est quand l'écart de température augmente que ça ne va plus).

(J'ai une alternative, mais mon objectif est d'essayer de tester tous les cas possible)

jaat.jpg

epyh.jpg

avec log level = 2

[09.01.2023] [13:31:50] [DEBUG] [QUICKAPP846]: ------------------------------------------------------------------------------
[09.01.2023] [13:31:50] [DEBUG] [QUICKAPP846]: Setpoint Cave Vins : 'Auto' = 13° (Auto)
[09.01.2023] [13:31:50] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (5m)
[09.01.2023] [13:31:50] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13°C | Temp. 15.0°C | Extérieur 6.5°C
[09.01.2023] [13:31:50] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins (Cave_AirCo) : C 13°C | T 15.0°C | Début clim. 4m 58s
[09.01.2023] [13:32:00] [DEBUG] [QUICKAPP846]: ------------------------------------------------------------------------------

 

Posté(e)

Bien vu! J'ai pas de property="NO" chez moi, ça explique que j'ai rien remarqué. J'ai revu les procédures d'allumage/extinction des radiateurs du coup. Essaie avec cette version stp.

HM HC3 Cool.lua

Posté(e)

pour property="NO", je l'avais mis par erreur. Mon interprétation est ok quand je pense que ce n'est que dui displat ?

je te dis quoi demain si pas de soucis cette nuit.

Posté(e)

Oui c'est le retour d'état, mais le programme l'utilise. Tu peux tester: essaie d'éteindre manuellement le module de la clim. quand elle est en marche ou inversement, le programme envoie un warning sur ton portable et dans les logs; c'est pour détecter les cas ou deux thermostats commandent le même module.

Je pense que ce qui a causé le bug c'est que parfois le programme pensait que la clim. était déjà allumée et du coup ne faisait rien alors qu'il fallait l'allumer. Et avec property=NO il pouvait pas vérifier. On va voir si c'était bien ça.

Posté(e)

Très cohérent ton analyse, j'aime !

 

Cette nuit mon vin a passé une bonne nuit (et t'en remercie).

Il fonctionnait avec ces paramètres

HM:addHeater({id=327, property="NO", Kp=20, Ki=0, Kd=0})

Mais je trouve que la température moyenne n'est pas de 13°C (consigne) mais un peu supérieure.

Peut-être à cause du Ki=0 : je me suis trompé, et l'ai remis à 3

sid8.jpg

Posté(e)

@jojo Ah oui Ki=0 c'est un problème. Quand la température est stabilisée (proche de l'objectif), c'est Ki qui détermine le power pour maintenir la température. Avec Ki=0 il n'y a plus d'apprentissage et donc plus de régulation PID :).

 

@Nico Ca dépend de quel apprentissage tu parles. Le PID inclut déjà un apprentissage, puisqu'on ajuste I en fonction des erreurs cumulées (I = Ki x cumError). Ki détermine la vitesse à laquelle il "apprend". J'ai cru comprendre qu'il y avait aussi des thermostats qui arrivaient à ajuster Kp et Ki par apprentissage, mais ça c'est pas inclus dans ce programme pour l'instant. Ce QA réplique un PID simple comme le SRT321. Et sur le SRT tu as aussi un réglage pour choisir entre chauffage à faible inertie ou forte inertie.

Posté(e)

Re. Oui, je parlais bien de l apprentissage auto qui règle les kx au fil des jours, cycle après cycle. 

Posté(e)

j'ai apprivoisé ta régul PID pour l'airco de ma cave à vins...

n5bw.jpg

même s'il je ne comprends pas pourquoi il y a des périodes de fortes oscillations.

Avant, il n'y avait que ça (j'aurais bien voulu montrer le graphe, mais je ne comprends pas pourquoi il est vide).

Donc, pour moi, tu peux publier cette version stable du code, en y ajoutant le fichier mode d'emploi. 

Ce mode d'emploi est très bien pour la config du QA, mais ce serait bien d'y ajouter des commentaires sur les différentes icône de l'UI (j'ai pleins de questions à ce sujet, car je n'ai pas saisi toutes les subtilités). Si tu souhaites rendre l'UI plus conviviale, je suis ton homme/ oeil extérieur

Posté(e)

Franchement ces oscillations c'est pas normal. Chez moi les variations de température sont de 0.2° dans un sens ou l'autre max. Je voudrais comprendre d'où ça vient.

Tu as toujours le paramètre property="NO" ? Si oui est-ce que tu peux essayer sans ?

 

Ensuite est-ce que tu peux utiliser les paramètres suivants: showDebug=1, showPID=true, et ensuite poster une copie des logs sur une période de plusieurs heures si possible. Avec showDebug à 1, les logs seront sobres et donc ça devrait pas prendre trop de lignes.

 

Pour l'UI avec plaisir, l'idée c'est ce que ça soit intuitif.

 

Je poste ma dernière version pour être sûr qu'on ait la même.

 

HM HC3 Cool.lua

  • Upvote 1
Posté(e)
il y a 47 minutes, Felig a dit :

Tu as toujours le paramètre property="NO"

voici ma config (depuis qq jours) :

 HM:addHeater({id=327, Kp=20, Ki=3, Kd=0})

 

il y a 54 minutes, Felig a dit :

Ensuite est-ce que tu peux utiliser les paramètres suivants: showDebug=1, showPID=true, et ensuite poster une copie des logs sur une période de plusieurs heures si possible.

ok, config faite :

  HMCF.showPID        = true      -- display technical info messages about PID regulation
  HMCF.showDebug      = 1         -- 0=minimal, 1=normal, 2=detailed, 3=verbose, 4=debug

je te donne tout ça demain.

il y a 59 minutes, Felig a dit :

Pour l'UI avec plaisir, l'idée c'est ce que ça soit intuitif.

on s'y attellera quand tout le reste ok pour tpi

Posté(e)

voici les nouvelles :

Pas de logs et pas de régulation.

De mon côté, je me suis probablement enmellé les pinceaux dans les CTRL C/V, donc j'ai tout refait pour être sît.

 

Mais, ce qui est certain, c'est que la version 5.16b ne fonctionne pas : il reste éternellement sur =

xt0m.jpg

alors j'ai remis la 5.15b de lundi 20h40, et là ça va mieux !

ol3p.jpg

Je mettrai les logs demandés ce soir

Posté(e)

voici les premiers logs (de la version 5,15b)

Le warning, je suis intrigé : peut-être proviendrait-il de mon ancien régulateur que j'ai mis sur OFF .

dans le log, on pourrait peut-être indiqué l'/les id de ce qui a causé le warning ?

14.01.2023] [12:25:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (5m)
[14.01.2023] [12:25:08] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13.0°C | Temp. 14.3°C | Extérieur 8.5°C
[14.01.2023] [12:25:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins (Cave_AirCo) : C 13.0°C | T 14.3°C | Début clim. 4m 58s
[14.01.2023] [12:25:58] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 14.3°C => 13.6°C
[14.01.2023] [12:25:58] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [12:28:08] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.6°C => 14.2°C
[14.01.2023] [12:28:08] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [12:30:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (5m)
[14.01.2023] [12:30:08] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13.0°C | Temp. 14.2°C | Extérieur 9.2°C
[14.01.2023] [12:30:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins (Cave_AirCo) : C 13.0°C | T 14.2°C | Début clim. 4m 58s
[14.01.2023] [12:31:38] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 14.2°C => 13.6°C
[14.01.2023] [12:31:38] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [12:34:08] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.6°C => 14.3°C
[14.01.2023] [12:34:08] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [12:35:09] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (5m)
[14.01.2023] [12:35:09] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13.0°C | Temp. 14.3°C | Extérieur 9.2°C
[14.01.2023] [12:35:09] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins (Cave_AirCo) : C 13.0°C | T 14.3°C | Début clim. 4m 58s

 

Posté(e)

Le warning concernant le fait qu'il y aurait un autre appareil qui contrôle mon "radiateur" venait bien de mon ancienne  régul, malgré qu'elle soit inactive, (sur OFF).

 

En effet j'ai supprimé le lien dans l'ancienne régul, et l'alerte a disparu des logs. => peut-être introduire un test avant de faire ce warning ?

 

[14.01.2023] [15:05:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (5m)
[14.01.2023] [15:05:08] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13.0°C | Temp. 13.9°C | Extérieur 10.4°C
[14.01.2023] [15:05:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins (Cave_AirCo) : C 13.0°C | T 13.9°C | Début clim. 4m 58s
[14.01.2023] [15:05:38] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.9°C => 13.3°C
[14.01.2023] [15:05:38] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [15:08:18] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.3°C => 13.9°C
[14.01.2023] [15:08:18] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [15:08:28] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.9°C => 14.0°C
[14.01.2023] [15:08:28] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle
[14.01.2023] [15:10:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (5m)
[14.01.2023] [15:10:08] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13.0°C | Temp. 14.0°C | Extérieur 10.4°C
[14.01.2023] [15:10:08] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins (Cave_AirCo) : C 13.0°C | T 14.0°C | Début clim. 4m 58s
[14.01.2023] [15:11:58] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 14.0°C => 13.3°C
[14.01.2023] [15:13:38] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.3°C => 12.5°C

!!! il faudrait repartir de la 5,15b

Posté(e)

je viens d'expérimenter un redémarrage automatique de la box ;-(

après le redémarrage, le régulateur est revenu sur OFF

=> problème, ce serait bien qu'il redémarre comme il était avant ...

2dsw.jpg

Ourf ! et encore bcp plus grave, il ne réagit plus aux appuis sur les boutons de l'interface ! : il reste obstinélent sur OFF, malgré qu'on voit qu'il réagit à l'appuis sur les boutons.

Même après un redémarrage propre de la box, rien ne se passe.

Je re-bascule donc sur mon ancienne régul

 

Posté(e) (modifié)

Hello Jojo,

 

Bon on a résolu le problème des oscillations. Le programme ne connait pas l'id du module qui interfère, il vérifie juste l'état de la clim. et si non conforme il en déduit que qqun l'a modifié.

 

Les reboots n'ont aucun impact sur la régulation. Par contre si ton QA reste sur Off et ne réagit pas aux commandes c'est peut-être parce qu'il est désactivé. Est-ce que tu as regardé les logs au démarrage ? C'est important que tu regardes chaque fois qu'il y a un pb (comme le blocage sur Chargement de la configuration) et à chaque démarrage quand on a modifié qque chose.

 

La version 5.16 fonctionne chez moi c'est bizarre, je veux bien voir les logs au démarrage (avec showDebug=4 si ca plante toujours, pour avoir le max de détail).

 

Merci! Tiens-moi au courant

 

EDIT: Au cas où il y ait un pb avec ton fichier config (suite aux Ctrl-C Ctrl-V) utilise celui-là, il est réglé sur ta config normalement.

config j.lua

Modifié par Felig
×
×
  • Créer...