Aller au contenu

Felig

Membres confirmés
  • Compteur de contenus

    140
  • Inscription

  • Dernière visite

Réputation sur la communauté

59 Excellent

À propos de Felig

  • Rang
    Membre passionné

Profile Information

  • Sexe :
    Homme
  • Ville :
    Le Vesinet - Ile de France
  • Intéret :
    GEA
  • Box
    Autre
  • Version
    HC3 - 5.110.15

Visiteurs récents du profil

1 014 visualisations du profil
  1. Felig

    Heating & Cooling Manager (PID HC3)

    Merci Jojo, j'ai copié ton log, tu peux l'enlever de ton post (pour faciliter le scrolling du forum). Je veux bien à l'occasion un log quand la température est proche de la consigne (désolé, après j'arrête, promis!). D'après les logs, ton Google Calendar envoie la consigne 20, et non pas "Confort". Avec GEA moi j'ai bien l'affichage suivant:
  2. Felig

    Heating & Cooling Manager (PID HC3)

    Merci Jojo! Je veux bien un fichier log (en showDebug 1) pour voir comment la régulation fonctionne dans le nouveau système. Tu as des cycles courts ce que je n'ai pas chez moi, donc tes tests sont très instructifs. Et si tout va bien je publierai une version stable dans le premier post.
  3. Felig

    Heating & Cooling Manager (PID HC3)

    Si tu ne connais pas la fréquence de mise à jour, je te conseille de fixer HMCF.minCycle à 900 dans le fichier config. Tu as les changements de température dans les logs, ça te donnera peut-être une idée. Le QA essaie de se synchroniser avec les remontées de température (le début du cycle est calé sur la dernière remontée) mais ça ne marche que lorsque le temps de réveil est connu. Il va falloir que je prévoie une option pour le saisir manuellement.
  4. Felig

    Heating & Cooling Manager (PID HC3)

    Je ne connais pas les Zigbee Aquara mais normalement le QA s'ajuste en fonction du temps de réveil du capteur. Il faut juste que le temps de réveil soit de 15 minutes max. Si le temps de réveil n'est pas disponible dans 'properties.wakeUpTime' (ce qui j'imagine est possible avec Aquara) le QA va croire que le capteur n'a pas de temps de réveil, et dans ce cas il faut forcer le temps de réveil réel dans HMCF.minCycle (fichier config). Pour tester, il suffit de regarder les logs au démarrage. Si le QA fonctionne sur des cycles courts (pour l'instant le minimum est 3 min, mais je l'ajusterai peut-être en fonction des tests faits actuellement par jojo, car ça me semble un peu court pour du chauffage classique), c'est que le QA n'a pas trouvé le temps de réveil du capteur.
  5. Felig

    Heating & Cooling Manager (PID HC3)

    Première question: Oui. Et si l'id du radiateur change, il repartira de zéro aussi (l'apprentissage est lié à l'id du radiateur). Deuxième question: Oui aussi. Il faut que ce soit strictement > 0 et < 100. EDIT: Grâce à tes logs j'ai identifié un pb dans le calcul de D. Peux-tu remplacer par cette version stp: HCM v520.07.lua
  6. Felig

    Heating & Cooling Manager (PID HC3)

    Oui c'est un point que j'ai identifié aussi entre-temps. Par défaut quand le programme n'a pas d'historique PID (nouvelle installation), il démarre avec une valeur de 0 pour I (qui détermine le ratio de chauffage quand on est à la consigne). Ensuite il va l'augmenter avec l'apprentissage, et la bonne valeur sera conservée en cas de reboot bien sûr. Dans les prochaines versions il démarrera à 20%, ce qui est une valeur arbitraire, mais probablement plus réaliste en moyenne, et qui accélérera un peu l'apprentissage.
  7. Felig

    Heating & Cooling Manager (PID HC3)

    Oui je n'utilise plus le fichier tools depuis la 5.19, tu peux le supprimer. En fait quand le thermostat est off, le QA est stoppé, et donc il ne fait plus les routines de vérification des températures. Mais je vais voir si je peux faire autrement. EDIT: Voilà, essaie cette version stp. HCM v520.06.lua
  8. Felig

    Heating & Cooling Manager (PID HC3)

    La valeur minimum de Ki c'est 1 pour l'instant, mais en réfléchissant le mettre à zéro ça sert pas à grand chose, Ki ne ralentira pas le chauffage. Si Kp est très élevé, le rôle de Ki et Kd deviendra négligeable. Si Kp = 200, le chauffage sera à 100% jusqu'à 0.5° sous la consigne. Si Kp = 100 => 1°. Le programme n'apprend que lorsqu'il est autour de la consigne, i.e. quand l'activité de chauffage est supérieure à 0 et inférieure à 100%. Dans ton exemple, si le système est à 20° et que tu met une consigne qui ne sera jamais atteinte, ça n'affectera pas son apprentissage. Et si il atteint les 12° il ajustera son apprentissage pour stabiliser les 12°. Le "GEA" à la fin ne sert qu'à indiquer d'où vient la consigne. C'est un texte qui sera repris sur l'UI et dans les logs pour que l’utilisateur comprenne pourquoi la consigne a changé, et quel programme en est à l'origine (cf. exemple). C'est un paramètre facultatif, si il est manquant il sera remplacé par "System". Voici une version bêta à tester. J'ai fait beaucoup de changements donc il y a surement des trucs à corriger. Principaux changements: système de régulation PID plus robuste (source: ici). système d'arrêt des radiateurs revu, et le mode Off (thermostat et radiateurs éteints) est maintenant préservé après un reboot. Pour bien tester, ne met pas Kd à zéro stp, la nouvelle régulation modifie le mode de calcul de D. HCM v520.lua Merci!
  9. Felig

    Heating & Cooling Manager (PID HC3)

    Il y avait cette possibilité dans le programme d'origine, mais je l'ai supprimée par simplification. En théorie PID n'est pas le mieux quand on a des changements importants de consigne, mais il fait très bien le boulot quand même. Et tu peux obtenir quelque chose qui ressemble à de l'hysteresis en mettant Ki et Kd à zéro (j'ai bloqué la possibilité de mettre Ki à zéro pour l'instant mais c'est facile à changer): Si Kp = 50 (Ki=0, Kd=0) et la consigne est 20°, le thermostat aura le comportement suivant: Température <= 18° : chauffage à 100% Température 18.5° : chauffage à 75% Température 19° : chauffage à 50% Température 19.5° : chauffage à 25% Température >= 20° : pas de chauffage Si Kp = 100 (Ki=0, Kd=0) et la consigne est 20°, le thermostat aura le comportement suivant: Température <= 19° : chauffage à 100% Température 19.5° : chauffage à 50% Température >= 20° : pas de chauffage Si Kp = 200 (Ki=0, Kd=0) et la consigne est 20°, le thermostat aura le comportement suivant: Température <= 19.5° : chauffage à 100% Température >= 20° : pas de chauffage Donc pour ta salle de bain, si tu met un Kp élevé le thermostat va rapidement dépasser la consigne avec l'inertie, mais comme tu ne cherches pas une température précise, pourquoi pas. Pour revenir sur ta cave à vins, ça m'intrigue le comportement de ta clim. Est-ce que c'est du au fait qu'il lui faut plus de délai entre une commande on et off pour la laisser reposer ? Il n'y a pas moyen de la commander par fil pilote (moins brutal que on/off)? Il faut peut-être tester des cycles un peu plus long genre 4 minutes, même si on aura le pb de la température qui remonte très vite quand elle est off. Et qu'est-ce qui a changé par rapport à la période ou on n'avait pas de grosses oscillations ? J'ai une nouvelle version que j'aurais bien aimé que tu testes, mais ça serait mieux si c'était avec un radiateur plus facile à contrôler.
  10. Felig

    Heating & Cooling Manager (PID HC3)

    Merci Jojo. C'est intéressant mais très bizarre. On dirait que la clim. ne répond pas bien aux commandes de mise en marche. Sur ce cycle de climatisation de 3 minutes (donc au maximum), on ne voit aucun effet sur la température, qui continue à monter: [31.01.2023] [14:04:47] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 13.7°C | Début clim. 2m 58s [31.01.2023] [14:07:17] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.7°C => 13.8°C [31.01.2023] [14:07:47] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.8°C => 13.9°C Alors que sur d'autres cycles le fonctionnement semble beaucoup plus normal: [31.01.2023] [19:13:47] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 13.4°C | Début clim. 2m 36s [31.01.2023] [19:13:57] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.4°C => 13.6°C [31.01.2023] [19:14:47] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.6°C => 13.4°C [31.01.2023] [19:15:17] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.4°C => 13.1°C [31.01.2023] [19:15:47] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.1°C => 12.9°C [31.01.2023] [19:16:17] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.9°C => 12.6°C [31.01.2023] [19:16:24] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : Arrêt climatisation J'aurais tendance à penser que c'est lié au fonctionnement de ta clim, mais ça n'explique pas pourquoi on n'a pas ce problème avec l'ancienne version. Tu peux la réinstaller et vérifier que ça se stabilise? Si c'est le cas je veux bien un log et le fqa de l'ancienne version pour comparer le code.
  11. Felig

    Heating & Cooling Manager (PID HC3)

    J'avais fait une modif sur la fonction d'arrêt des radiateurs sans la tester. Ça devrait être corrigé, j'ai mis à jour les fichiers dans le premier post.
  12. Felig

    Heating & Cooling Manager (PID HC3)

    Ça ce sont les logs avec la précédente version du code non ? Je crois que j'ai trouvé quelque chose de mon côté, je posterai la version corrigée ce soir.
  13. Felig

    Heating & Cooling Manager (PID HC3)

    Tu as les logs correspondant à ces variations ?
  14. Felig

    Heating & Cooling Manager (PID HC3)

    HEATING & COOLING MANAGER - THERMOSTAT PID POUR LA HC3 (QUICKAPP) Je démarre un nouveau sujet pour que la dernière version soit plus facile à trouver. Le Heating Manager original a été développé par @OJC pour la HC2, et adapté ensuite par @Dgille pour la HC3. J'ai réécrit une grande partie du code pour essayer de le fiabiliser et le simplifier mais les ajouts les plus visibles sont l'interface QuickApp (utilisation mono pièce) et la possibilité de piloter des climatiseurs (demande spéciale de @jojo). J'ai enlevé les modes de régulation non PID et ajouté quelques fonctions de sécurité (recherche d'un autre capteur de température si le capteur par défaut n'est plus valide, test intensif de la configuration au démarrage, etc.). Il y aussi beaucoup de messages dans les logs pour suivre ce qui se passe (pour ceux que ça intéresse). Ce QA est dédié à @Dgille qui a continué à le développer sur son lit d'hôpital pour nous alors qu'il se savait condamné. Remerciements à @jojo d'avoir pris le temps de le tester et pour toutes ses suggestions très utiles. HCM peut être commandé très simplement par GEA, mais il est aussi possible de configurer des événements spéciaux qui imposent une consigne prioritaire dans certaines conditions (par exemple consigne fixée à 5° tant qu'une fenêtre est ouverte). Une fois l'événement terminé, la consigne précédente est rétablie et l'utilisateur peut reprendre la main. Il est aussi possible de le piloter par une zone de climat (ex. panneau de chauffage). Un mode "simulation" est également disponible si vous voulez le tester sans perturber votre installation actuelle. Voici la dernière version pour une première installation: HCM.fqa Pour mettre à jour votre version actuelle sans modifier votre configuration, remplacez le contenu du fichier main par: HCM v519.lua Voici le mode d'emploi complet (inclus dans le fqa, dans le fichier help): mode emploi.lua Et voici le guide de démarrage rapide (première partie du mode d'emploi): ===================================================== HEATING & COOLING MANAGER - GUIDE DE DEMARRAGE RAPIDE ===================================================== Ce QuickApp est un thermostat PID dédié à une seule pièce. Par défaut, le QA utilisera le capteur de température de la pièce comme thermomètre. Ce capteur doit avoir un temps de réveil de 15 minutes maximum. 1) CHAUFFAGE OU CLIMATISATION ? Par défaut ce QA gère des radiateurs. Pour gérer des climatiseurs, vous devez utiliser le le paramètre suivant dans les USER SETTINGS du fichier 'config': HMCF.coolingDevice = true -- false : chauffage, true : climatisation 2) PERSONNALISATION DES MODES 4 modes à consigne fixe sont disponibles par défaut: Confort, Eco, Vacances, et Manuel. Vous pouvez fixer les valeurs minimum et maximum pour chaque mode dans USER SETTINGS. Vous pouvez aussi ajuster la durée du mode Manuel (par défaut: 2 heures) HMCF.range.Confort = {19, 22} -- Valeurs {min, max} pour le mode Confort HMCF.range.Eco = {10, 21} -- Valeurs {min, max} pour le mode Eco HMCF.range.Vacation = { 5, 5} -- Valeurs {min, max} pour le mode Vacances HMCF.range.Manuel = { 5, 23} -- Valeurs {min, max} pour le mode Manuel HMCF.manualTimer = 2*60 -- Durée maximum (en minutes) du mode Manuel Le mode Auto peut être associé à une consigne externe comme une zone de climat, une variable globale, ou un même un autre thermostat. Des exemples sont disponibles dans la section UTILISATION AVANCEE ci-dessous. Si vous ne configurez pas le mode Auto, il sera par défaut équivalent au mode Confort. 3) AJOUT DES RADIATEURS / CLIMATISEURS Chaque appareil (si il y en a plus d'un dans la pièce) doit être ajouté dans la section HEATERS CONFIGURATION du fichier config avec la fonction HM:addHeater(). Dans la plupart des cas, le seul paramètre nécessaire est son id. Exemple: HM:addHeater({id=145}) -- ATTENTION: un seul appareil par commande addheater() Par défaut, chaque appareil est commandé avec les commandes "turnOn"/"turnOff" et son retour d'état est vérifié avec la propriété "value". Si votre appareil n'est pas standard, des paramètres optionnels sont disponibles (cf. UTILISATION AVANCEE). Voilà! Votre Thermostat PID est configuré et prêt à être utilisé.
  15. Felig

    QuickApp pour les Nuls

    @Phil1789 le post s'adresse à des gens qui sont très à l'aise avec le concept de Virtual Device dans la HC2, ce qui était mon cas. Pour moi un VD c'était juste des ligne des code avec une interface, et je ne comprenais rien au concept de QA, auquel on devait donner un "type" quand on le créait. Par contre, si tu as programmé des VD, et que ça te semble obscur, ça veut dire que j'ai été trop rapide, et en me relisant c'est vrai qu'il n'y a pas beaucoup d'exemples. Si tu as des suggestions de concepts à éclaircir, ou un exemple de QA que tu veux développer, je compléterai le post initial.
×