Comment calculer le temps de montée en température d'une pièce?

Je connais bien la syntaxe en PHP mais c’était le pont avec Jeedom que je ne maîtrisais pas.

Merci @m.georgein je vais essayer d’avancer avec toutes ces informations

Bon courage :slight_smile: !!!

Entendu, pas de problème.

Tu n’as pas précisé comment tu commandes ta pac ni si ta pac est air/air, air/eau.
Le sujet est tellement vaste et peut être traité de multiples manières.
Par exemple chez moi (chauffage central gaz condensation) je commande la chaudière en fixant la température d’eau en fonction de la consigne et de la temp ext (loi d’eau). Ensuite dans les pièces les vannes thermostatiques assurent la régulation terminale.
Pour palier au temps de montée en temp je me suis contenté d’observer l’évolution des températures pour en déduire un coef (que j’ai borné). Pour chaque pièce 2 heures avant le changement de consigne je lance un scénario qui me calcule un temps d’anticipation. C’est déjà une usine à gaz mais j’ai grandement simplifié. Au départ j’étais parti sur un ensemble de scénarii pour calculer dynamiquement le coef de pertes de chaque pièce. Finalement avec un coef fixe (la chaudière ne développe pas la même puissance en fonction de la temp ext) ça marche aussi bien.

Salut,

C’est une PAC air/air commandé par le plugin Daikin.
Pour le moment je déclenche le passage de 18°c à 21°c sur des plages horaires fixes (en fonction de nos heures de levés et de départ au boulot, etc…)

J’ai juste optimisé un peu la montée en température en forçant une ventilation plus importante jusqu’à ce que la température mesurée dans la pièce soit à 1°c de la température de consigne. Ensuite je repasse la PAC en ventilation automatique.

Hello,

Bon mon code est en place depuis quelques temps mais il y a 2 soucis :

  • Parfois le temps nécessaire à la montée en température de 1°c vari pas mal d’une fois à l’autre. J’ai fais un autre scénario qui calcul la montée en température sur 2h pour ramener ça au temps moyen nécessaire pour gagner 0.1°c, je verrais si ça donne quelque chose de plus précis.
  • La pièce n’atteint jamais la bonne température demandé par la clim (21°c). Je vais voir avec le chauffagiste s’il peut régler quelque chose (température dans le circuit en fonction de l’extérieur).

Autre chose, j’ai une partie du code qui sert à corriger si l’heure de démarrage est trop tôt ou trop tard et ça ne fonctionne pas je ne comprends pas pourquoi.

          $a_PrgConsigneAutomatique = date('Hi', strtotime('06:30 - '.$tDelais.' seconds')); // Objectif : consigne atteinte à 6h30
          $scenario->setLog('PrgConsigneAutomatique -> '.$a_PrgConsigneAutomatique);
   	  	  if ($a_PrgConsigneAutomatique<=0400 OR $a_PrgConsigneAutomatique>0600) { // Si inférieur à 04h00 ou supérieur à 06h00 il faut corriger
	  	  	$a_PrgConsigneAutomatique = '0600';
   	 	  	$scenario->setLog('PrgConsigneAutomatique rectifiée-> '.$a_PrgConsigneAutomatique);
	  	  }

Le bout de lignes dans log :

[2020-01-27 04:00:07][SCENARIO] PrgConsigneAutomatique → 0528
[2020-01-27 04:00:07][SCENARIO] PrgConsigneAutomatique rectifiée-> 0600

Le résultat dans l’expression est pourtant false :

Je vais évaluer : **0528<=0400 OR 0528>0600**
Résultat : **false**

Une idée ?