Aller au contenu

jojo

Membres confirmés
  • Compteur de contenus

    13 446
  • Inscription

  • Dernière visite

Réputation sur la communauté

2 498 Excellent

4 abonnés

À propos de jojo

  • Rang
    Légende du forum
  • Date de naissance 25/08/1967

Profile Information

  • Sexe :
    Homme
  • Ville :
    Nivelles (Belgique)
  • Box
    Autre
  • Version
    HC3

Visiteurs récents du profil

12 164 visualisations du profil
  1. jojo

    Heating & Cooling Manager (PID HC3)

    en effet, je trouvais également que le PID était particulièrement adapté pour les longues périodes à la même consigne mais ,maintenant, si on joue sur le kp pour faire de l'hystérésis c'est impeccable. Aurais-tu une formule pour calculer le delta entre la consigne et le démarrage du chauffage (si ki & kd =0). Comme ça si on le documente, c'est tout bon pour tout le monde. Comme ki=0 n'est pas encore possible, quelle est sa valeur minimale (0,00001) ? Je me posais la question depuis longtemps : expl d'une pièce rarement occupée : quand personne, consigne à 12°C (température qui ne sera jamais atteinte ou TRES TRES lentement); quand quelqu'un présent, consigne à 20°C (qui est une température atteignable). Quel sera l'impact si la consigne précédent a mis énormément de temp pour être atteinte) ou alors le programme détruit son historique à chaque changement de consigne ? Pour ma cave à vins, j'ai mis la commande domotique en // avec le régulateur que l'installateur à mis (quand il vient faire l'entretient, je mes ma consigne à 30 °C (donc jamais d'enclenchement de l'airco) et son régulateur à 13°C. Et inversement quand je travail avec ma box (qui lui fait peur ..). Je ne suis donc pas méga connaisseur de cette machine, mais je sais que son régulateur commande l'airco avec un contact sec. Donc j'ai juste fait mettre un FGS-224. Ce que j'ai observé pour le On/Off : le Off est immédiat. Le On, non = peut aller jusqu'à 1 min après la commande... quand tu veux, je la mettrai sur le radiateur de mon bureau. Cela me permettra. de faire des tests avec mes Google Calendar. J'ai vu dans la doc qu'il y avait moyen de commander la consigne par GEA/ Mais pourquoi le dernier paramètre à passer est GEA. En fait mon script Google appelle un QA lua qui dit au bon thermostat à quelle consigne il doit être. Ici je lui dirais passe le thermostat du bureau sur confort ou sur Eco (c'est déjà prévu dans le programme pour GEA; mais pourquoi ce param!tre "GEA" ?)
  2. jojo

    Heating & Cooling Manager (PID HC3)

    Merci BEAUCOUP pour cette analyse détaillée (je serais incapable d'en faire autant !) J'ai remis l'ancienne version ce matin à 9h00 et le graphe ne montre aucune différence : Ton code ne semble donc pas en cause Cette nuit j'ai pensé à un truc (qui serait peut-être applicable ici). Il y a des cas où le PID n'est peut-être pas la solution appropriée (expl : ma salle de bain : avant de prendre ma douche, je faits aller le chauffage "plein" pôt, histoire que le sèche serviette soit chaud, peut importe la température de la pièce) Comme je trouve l'UI de ce QA super, je me disais qu'il pourrait remplir les 2 fonctions : régulation PID ou régulation par hystérésis. On ajouterait 2 paramètre à la config : HMCF.PID = true -- false for hyterisis regulation, true for PID regulation (= default value) HMCF.Hydtereis = 0,5 -- delta to setpoint for ON/OFF Comme j'imagine que le système actuel appelle une fonction ON ou OFF en fonction de ses calculs, on aurait une nouvelle "méthode" de calcul qui appelerait les mêmes fonctions ON & OFF. Et dans l'UI, dans la 3° ligne qui a été libérée on préciserait la méthode de calcul. Qu'en penses-tu ?
  3. jojo

    Heating & Cooling Manager (PID HC3)

    cette dernière version (cadre blru) et quand même moins bien que celle que nous avions testée ensemble sur l'autre post Je te joint également un log bien plus complet (car je laisse ma fenêtre de debug ouvert h23) log_Regul.txt
  4. jojo

    Heating & Cooling Manager (PID HC3)

    cool, bonne nouvelle, car si tout f'un coup, sans explication ça ne fonctionne plus, ce sera difficile à trouvé. En tout cas, avec la version précédente c'était ok : Je mets en place ta version corrigée et te dis quoi
  5. jojo

    Heating & Cooling Manager (PID HC3)

    en effet, oui je suis revenu à une version précédente, pour voir ce que ça dit après une nuit. Cool que tu ais trouvé qqch. A ta dispo pour tester
  6. jojo

    Heating & Cooling Manager (PID HC3)

    très pauvres en logs ;-(, mais si tu as le courage Trouver : Entrer la phrase Tag : Type : RÉINITIALISER [30.01.2023] [18:39:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (3m) [30.01.2023] [18:39:16] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13°C | Temp. 12.6°C | Extérieur 6.2°C [30.01.2023] [18:39:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : Kp = 40 | Ki = 6 | Kd = 0 | EC = 10.3 [30.01.2023] [18:39:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : P = -16.0% | I = 61.8% | D = -0.0% | 46.0% [30.01.2023] [18:39:16] [DEBUG] [QUICKAPP846]: [-PID-] Storing: {"Ki":6,"lastError":-0.4,"cumError":10.3} [30.01.2023] [18:39:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 12.6°C | Début clim. 1m 21s [30.01.2023] [18:39:36] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.6°C => 12.8°C [30.01.2023] [18:40:36] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.8°C => 13.0°C [30.01.2023] [18:40:38] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : Arrêt climatisation [30.01.2023] [18:41:37] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.0°C => 13.2°C [30.01.2023] [18:42:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (3m) [30.01.2023] [18:42:16] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13°C | Temp. 13.2°C | Extérieur 6.2°C [30.01.2023] [18:42:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : Kp = 40 | Ki = 6 | Kd = 0 | EC = 10.5 [30.01.2023] [18:42:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : P = 8.0% | I = 63.0% | D = 0.0% | 71.0% [30.01.2023] [18:42:16] [DEBUG] [QUICKAPP846]: [-PID-] Storing: {"Ki":6,"lastError":0.2,"cumError":10.5} [30.01.2023] [18:42:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 13.2°C | Début clim. 2m 06s [30.01.2023] [18:42:36] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.2°C => 13.4°C [30.01.2023] [18:43:46] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.4°C => 13.2°C [30.01.2023] [18:44:22] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : Arrêt climatisation [30.01.2023] [18:44:26] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.2°C => 12.9°C [30.01.2023] [18:44:26] [WARNING] [QUICKAPP846]: Cave Vins : Cave_AirCo a été modifié - vérifiez que seul HCM le contrôle [30.01.2023] [18:44:46] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.9°C => 12.7°C [30.01.2023] [18:45:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (3m) [30.01.2023] [18:45:16] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13°C | Temp. 12.7°C | Extérieur 6.2°C [30.01.2023] [18:45:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : Kp = 40 | Ki = 6 | Kd = 0 | EC = 10.2 [30.01.2023] [18:45:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : P = -12.0% | I = 61.2% | D = -0.0% | 49.0% [30.01.2023] [18:45:16] [DEBUG] [QUICKAPP846]: [-PID-] Storing: {"Ki":6,"lastError":-0.3,"cumError":10.2} [30.01.2023] [18:45:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 12.7°C | Début clim. 1m 27s [30.01.2023] [18:45:46] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.7°C => 12.9°C [30.01.2023] [18:46:36] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.9°C => 13.1°C [30.01.2023] [18:46:44] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : Arrêt climatisation [30.01.2023] [18:47:36] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.1°C => 13.3°C [30.01.2023] [18:48:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (3m) [30.01.2023] [18:48:16] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13°C | Temp. 13.3°C | Extérieur 6.2°C [30.01.2023] [18:48:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : Kp = 40 | Ki = 6 | Kd = 0 | EC = 10.5 [30.01.2023] [18:48:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : P = 12.0% | I = 63.0% | D = 0.0% | 75.0% [30.01.2023] [18:48:16] [DEBUG] [QUICKAPP846]: [-PID-] Storing: {"Ki":6,"lastError":0.3,"cumError":10.5} [30.01.2023] [18:48:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 13.3°C | Début clim. 2m 13s [30.01.2023] [18:48:36] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.3°C => 13.5°C [30.01.2023] [18:50:16] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.5°C => 13.0°C [30.01.2023] [18:50:30] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : Arrêt climatisation [30.01.2023] [18:50:46] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.0°C => 12.8°C [30.01.2023] [18:51:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave_AirCo : Démarrage cycle PID (Cycle) (3m) [30.01.2023] [18:51:16] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Consigne 13°C | Temp. 12.8°C | Extérieur 6.2°C [30.01.2023] [18:51:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : Kp = 40 | Ki = 6 | Kd = 0 | EC = 10.3 [30.01.2023] [18:51:16] [DEBUG] [QUICKAPP846]: [-PID-] Cave_AirCo : P = -8.0% | I = 61.8% | D = -0.0% | 54.0% [30.01.2023] [18:51:16] [DEBUG] [QUICKAPP846]: [-PID-] Storing: {"Ki":6,"lastError":-0.2,"cumError":10.3} [30.01.2023] [18:51:16] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : C 13°C | T 12.8°C | Début clim. 1m 35s [30.01.2023] [18:51:56] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 12.8°C => 13.0°C [30.01.2023] [18:52:52] [DEBUG] [QUICKAPP846]: [REGUL] Cave Vins|Cave_AirCo : Arrêt climatisation [30.01.2023] [18:52:56] [DEBUG] [QUICKAPP846]: [INFO ] Cave_AirCo : Modif. Température 13.0°C => 13.2°C
  7. jojo

    Heating & Cooling Manager (PID HC3)

    @Felig je ne comprends plus rien ... Le graphe ci-dessous montre une brusque variation de la régul, et promis juré, je n'ai modifié aucun paramètres. Ah oui, peut-être, j'ai mis le dernier code. Je remets la version précédente et te dis qyoi une idée ?
  8. jojo

    motion sensor

    avec GEA, c'est super simple. as-tu installé GEA sur ta HC2 ?
  9. jojo

    Propagation des variables dans un QA

    J'avais commencé à l'écrire, et 1) il est partit trop vite => impossible de ne pas le publier. 2) en éditant son contenu, et donc en y mettant tous les détails nécessaires, j'ai trouvé la raison. Donc en fait il n'aurait jamais du partir, mais à cause de 1) ...
  10. jojo

    Heating & Cooling Manager (PID HC3)

    sinon @mprinfo peut le faire pour toi, il est expert maintenant
  11. jojo

    string.gsub()

    THANK YOU, and (of course) it works ! Thank you for explanation why, I could keep searching for a very very long time before finding the solution
  12. jojo

    string.gsub()

    Bonjour, Je suis honteux, je me sent en mode profiteur ... Cela fait des heures que je tourne mon code dans tous les sens, et que je n'arrive pas à trouver ce qui ne va pas. Je souhaite remplacer le . decimal par un autre charactère. En LUA, c'est la fonction s = string.gsub("Lua is good", "good", "great") print(s)--> Lua is great voici mon code local DeviceProperty = hub.getValue(v.id, ReportProperty) if debugD then self:trace ("Device property = "..tostring(DeviceProperty)) self:trace ("Type of Device property = "..type(DeviceProperty)) end -- test si propiété est numérique - number if type(DeviceProperty) == "number" then DecimalPosition = string.find (tostring(DeviceProperty), ".") DeviceProperty = string.gsub (tostring(DeviceProperty), ".", ReportDecimal) if debugD then self:trace ("Type of Device property = "..type(DeviceProperty)) self:trace ("Decimal position = "..DecimalPosition) end end if debugD then self:trace("Device property = "..tostring(DeviceProperty)) end result = result..Date..ReportSeparator..RoomName.." ("..RoomID..")"..ReportSeparator..DeviceName.." ("..DeviceID..")"..ReportSeparator..tostring(DeviceProperty).."<br>" et une partie du debug associé [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Type of Device property = boolean [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Device property = false [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Salon (221);Est_Noel (839);false [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Device property = 2.0 [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Type of Device property = number [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Type of Device property = string [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Decimal position = 1 [29.01.2023] [13:14:22] [TRACE] [QUICKAPP852]: Device property = ,,, On y voit clairement qu'il a bien déterminé le type de valeur et (et c'est là le problème), que mon string.gsub à remplacé tous les caractère par des , car il a identifié le "." dès la position 1, alors que ça devrait être la position 2. Qu'ai-je mal fait ? Merci
  13. jojo

    Propagation des variables dans un QA

    Bonjour, Il falait que je commence à écrire ce post, de la façon la plus détaillé possible pour que je trouve l'erreur ...
  14. jojo

    Heating Manager - PID and more

    il n'y a presque okus personne sous HC2 ...
  15. jojo

    Heating Manager - PID and more

    Effectivement, encore mieux ! Du coup j'ai su^^rime la 3° ligne, ce qui remonte les boutons
×