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

J’utilise un scénario pour gérer la température de ma PAC afin de chauffer une pièce avec des périodes confort et eco.
Le problème c’est que je déclenche les phases de chauffe toujours à la même heure et malheureusement suivant la température extérieure il faut plus de temps pour que ça grimpe.

Je cherche donc à savoir, suivant la température extérieure, combien de temps il faut pour atteindre ma température de confort pour déclencher le scénario au bon moment.
Comment pourrais je construire ce tableau de données à partir des données existante des sondes intérieur et extérieur ?

A tout hasard, le plugin thermostat ne pourrait pas t’aider?

J’imagine que oui mais je souhaite essayer sans

Salut,

Il faut faire un calcul PID (“Proportionnelle Intervalle Dérivée” de mémoire)… je te laisse chercher sur le net mais c’est balèze!

Et pour info c’est ce que fais le plugin thermostat en mode temporel :slight_smile:

Salut,
Je n’ai pas voulu en remettre une couche surtout quand on voit la complexité du plugin.

Je ne comptais pas reproduire le plugin Thermostat ni approcher la complexité de l’algorithme.
Je voulais juste arriver à constater que par exemple de 6h à 7h chaque matin il faut :
Si 10°c dehors en 1h la température de la pièce est montée de 3°
Si 8°c dehors en 1h la température de la pièce est montée de 2°
Etc…
Sans partir sur quelque chose de mathématiquement compliqué il devient possible d’avoir un abaque de valeurs et donc de vérifier que s’il fait 8° dehors il va falloir demarrer le chauffage quelques dizaines de minutes plus tôt.
Est-ce que l’on peut stocker des variables tableaux par exemples car du coup je pourrais construire ce tableau au fur et à mesure des jours et sans avoir à regarder dans le passé ?

Personnellement, je ne saurais pas t’aider, mais il me semble que la solution de l’asservissement PID évoquée par @Salvialf est la meilleure solution.
Si tu veux faire un tableau pour te permettre de te créer des abaques, je pense que tu vas devoir écrire du code.

Mais tu peux pas juste checker les courbes et faire si température < 8°c alors heure allumage -20 minutes ?

C’est exactement ce que je pensais faire à l’origine pour éviter une problématique de développement mais il semblerait que ça bouge quand même suivant les jours et qu’il n’y a donc pas que la température extérieure qui compte dans l’affaire. C’est pourquoi je m’étais dis qu’en analysant les données sur plusieurs semaines et de façon automatique ça m’éviterait l’analyse des courbes.

Perso, je constate aussi qu’en fonction de la direction du vent, les données ne sont pas les même non plus.
Je ne sais pas si le plugin thermostat le prend en compte.

Pour info, au début j’étais comme toi : J’ai voulu faire par moi même. Même si je pense que ça m’a permis d’apprendre énormément sur le fonctionnement de jeedom, c’est aussi beaucoup, beaucoup, beaucoup de temps personnel à consacrer.
Aujourd’hui, je ne me lancerai pas sur le plugin car ma solution me convient et j’ai la flemme. Mais si c’était à refaire … :blush:

Pas sûr de te comprendre. Tu as fait ce genre de solutions toi même du coup où tu as fini par utiliser le plugin Thermostat ?

Non, ma solution chauffage est personnelle avec de multiples scénarios. Mais si c’était à refaire, je pense que j’irai vers le plugin.
En plus, ma config est très certainement moins “aboutie” que le plugin.

Mais le pb quand tu te lances dans une solution perso, c’est que même si elle n’est pas parfaite, elle t’a demandé beaucoup d’énergie. Et tu n’as pas forcement envi de balancer tout ça à la poubelle et repartir sur une solution toute faite (même si elle est meilleure :wink: )

Chez moi, je ne prends rien en compte. Ni T° Ext, ni direction du vent. Tout se fait en fonction des T° de chaque pièce. D’où l’imperfection de la solution :wink:

Mon intervention se basait surtout sur le fait que la température ext n’est pas le seul facteur à prendre en compte et qu’en fonction de la direction du vent, l’anticipation n’est pas la même.

Bah je te rassure le plugin se base sur :

  • la température de la pièce,
  • la température extérieure,
  • le coefficient de chauffe,
  • et le coefficient d’isolation.

Bonjour,

Une solution simple qui fonctionne parfaitement :

1 - Au démarrage du mode confort mémoriser l’heure et la t° extérieure
2 - Lorsque la t° atteint la consigne, calculer le ratio du temps qu’il a fallu vs la différence de température , cela donne le temps nécessaire pour élever la t° de la pièce de 1° AVEC les conditions extérieur DU JOUR.
3 - pour prendre en compte l’évolution des t° / vent extérieur je fais la moyenne des coefficients des 3 derniers jours pour calculer l’heure de démarrage des chauffages.

Au final, mes chauffages s’arrêtent à la température de consigne à ± 5mn de l"heure demandée.

Salut,

C’est vrai que souvent la température ne chute pas brutalement d’un jour à l’autre.

Tu stocks ces informations dans 3 variables différentes pour J-3 J-2 et J-1 afin de faire un calcul de moyenne sur les 3 jours ?
Reste à lancer un scénario à 4h du matin par exemple pour calculer d’après les 3 derniers jours combien de temps il va falloir pour élever la température jusqu’à la température de confort et programmer le changement de cette température de consigne à la bonne heure ?

tous mes scenarios stocke les infos dans des tableaux de variables pour des raisons de lisibilité et éviter des accès multiples à la BdD. Il en ai de même de l’ensemble des paramètres de ma domotique : tabVarChauffage, $tabVarConfort, $tabVarLumieres, $tabVarUsers, etc…

Mon scénario de régulation lance le mode “normal” en utilisant le coefficient moyen de la veille et initialise ce tableau de variable, lorsque la t° atteint la consigne je recalcule ce tableau de coefficient pour le lendemain (ou le prochain cycle).

NB : pour une meilleure précision je ne mémorise pas les coeff basé sur des durées < 15 mn et < 1°c.

En reprenant mes histo sur 1 an j’obtient une précision moyenne de l’ordre de 3 mn avec quelques valeurs isolées de 8-10 mn (forte tempète ponctuelle par exemple)

NB2 : a titre indicatif, selon les pièces et le type de chauffage j’ai des coeff allant de 1.6°/heure à 8.5 °/heure.

J’avais posé la question pour enregistrer des variables de type tableau mais apparemment personnes ne devait savoir. Tu as fait comment (dans un bloc code je présume) ?

Ben si, on sait faire, mais on ne sait pas comment tu veux faire ce que tu veux faire.
Je t’ai déjà dit que si tu veux utiliser un tableau, tu vas devoir coder et je n’ai pas eu de réponse.
A moins que je n’apprenne pour le coup quelque chose, les scénarios utilisent des variables pas des tableaux.
Sinon, pour parler encore de tableaux, je ne vois pas comment les affichages en tableau vont pouvoir t’aider.

@mich0111, on s’est mal compris. Quand tu parlais de coder j’ai compris développement de plugin, ce qui n’est pas mon but.

Ce que je voudrais en revanche c’est utiliser le bloc code dans un scénario pour effectivement faire le quelque peut de code qui me servira à faire des petits calculs et du stockage de variables.
Je veux pouvoir stocker des array (tableaux PHP), pas utiliser un affichage tableau.

Apparemment @m.georgein sait utiliser des array donc je suis impatient de voir comment.

La syntaxe des var et tableau en php est élémentaire :

$tab1[‘var1’] = ‘toto’; // pour enregistrer l’index var1 dans le tableau $tab1
$scenario->setData(‘tab1’, $tab1); // pour stocker $tab1 en BdD

$tab1 = $scenario->getData(‘tab1’); // pour lire $tab1 en BdD
print_r($tab1[‘var1’]); // affichera ‘toto’;

Autre forme :
$b = array (‘m’ => ‘monkey’, ‘foo’ => ‘bar’, ‘x’ => array (‘x’, ‘y’, ‘z’));
$results = print_r($b, true); // $results contient l’affichage du tableau $b

Toute l’info sur https://www.php.net/support

1 J'aime