"Temps de chauffe minimum (% du cycle)" non pris en compte aprés action off

Bonjour j’ai un « Temps de chauffe minimum (% du cycle) » de 67 et j’ai coché « Limite les cycles marche/arrêt incessants (pellet, gaz, fioul) et PID »
Mais j’ai remarqué que le « Temps de chauffe minimum (% du cycle) » n’est pas pris en compte si le termostat c’est arrêté par une action off alors qu’il était en marche.
Si l’action off est utilisé alors que le termostat c’est déjà arrêté car la puissance été descendu a 0 il n’y a pas de problème.

Logs correspondant ou le thermostat n’aurait pas du démarrer à 14:01:59 car la puissance était de 2.49 ce qui est largement inférieur au 67 configuré.

[2020-11-27 13:57:09][DEBUG] : [Chambre parentale][thermostat] : **Thermostat sur off**
[2020-11-27 14:00:10][DEBUG] : [Chambre parentale][thermostat] : Action stop
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Début calcul temporel
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Reprogrammation automatique : 2020-11-27 14:16:00
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Smart schedule
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Plugin agenda détecté
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Temp in : 19.1 - Temp out : 16.5 - Consigne : 19
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Direction : 1
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Power calcul : (-0.1 * 50) + (2.5 * 3) + 0 = 2.4999999999999
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Smartstart non pris en compte car la durée 0.37499999999999
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Smartstart end
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Temp in : 19.1 - Temp out : 16.5 - Consigne : 19
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Direction : 1
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Power calcul : (-0.1 * 50) + (2.5 * 3) + 0 = **2.4999999999999**
[2020-11-27 14:01:59][DEBUG] : [Chambre parentale][thermostat] : Cycle duration : 0.37499999999999
[2020-11-27 14:02:00][DEBUG] : [Chambre parentale][thermostat] : **Action chauffage**

Je pense avoir trouvé le problème dans le code à la ligne 313:

                if (($thermostat->getConfiguration('stove_boiler') == 0 && $temporal_data['power'] < $thermostat->getConfiguration('minCycleDuration', 5)) || (($thermostat->getCache('lastState') == 'heat' && $temporal_data['power'] < 1) || ($thermostat->getCache('lastState') != 'heat' && $temporal_data['power'] < $thermostat->getConfiguration('minCycleDuration', 5)))) {
                        log::add('thermostat', 'debug', $thermostat->getHumanName() . ' : Durée du cycle trop courte, aucun lancement');

Il vérifie que $thermostat->getCache('lastState') != 'heat' or ce cache est bien setté a stop quand le chauffage s’arrête car la puissance calculé <=0 mais si il s’arrête suite a l’action off il n’est pas modifié est reste sur ‹ heat ›

Bonjour @PiR,
C’est moi qui est proposé cette option.
Le bouton OFF, je le prends pour un arrêt sur une longue période (été par exemple).
En période hivernale creuse, je te conseil de passer en mode ECO au lieu de OFF.
Le problème de OFF donne également une période de chauffe fausse car la consigne peut-être supérieur à ta température (voir graphique du plugin).
Dans ton cas concret, lorsque tu est passé à OFF, ta variable laststate est à heat (avant le off tu es en période de chauffe).
Si ton laststate est à heat, c’est normal que la chauffe continue si la puissance est supérieur à 1. (C’est le cycle normal de garder la chauffe tant que ta puissance est supérieur à 1).
Pour moi, pour corriger il faut rajouter dans la condition l’état du bouton OFF lorsque laststate est égal à heat.
Il y a eu plusieurs corrections sur ce bouton récemment.
Perso, j’utilise le OFF avec verrouillage uniquement pour bloquer la chauffe l’été.
@PiR Quel est ton type de chauffage pour utiliser cette option?

J’ai une PAC que je commende en pseudo PID :
en fonction de la puissance calculée par le plugin jeedom j’adapte la température cible et la vitesse de ventilation de la PAC. Pour info, si la puissance calculé est > a 0 j’execute ce bloc de code:

exec('curl -s "http://192.168.0.48/" | grep "deg;" | sed "s/.*>\([0-9\.]*\).deg;.*/\1/"',$temp);
$temp = $temp[0]; //temp du split PAC
$puissance = cmd::byId(1895)->execCmd();
$targetTemp = $temp + round($puissance/20.0) - 1;
$targetFan = floor($puissance/33.0)+1;
if($targetFan < 1) $targetFan = 'QUIET';

$url = "curl 'http://192.168.0.48/?PWRCHK=&POWER=ON&TEMP=$targetTemp&FAN=$targetFan'";
exec($url);

En fait chez moi l’action off est appelé en action de fin par le plugin agenda. Pour le moment je vais créé un mode veille avec température cible a 0 et appeller ce mode plutot que off dans l’agenda ça devrait corriger le problème.

Mais si le plugin peut être modifié pour mettre le cache « lastState » a « stop » lors de l’actiion « off »; ca devrait marcher et éviter le problème pour ceux qui utilisent l’action off.

Bonsoir.

Je pense que personne utilise le mode off. Off c’est pour arrêter le thermostat.
C’est comme pour un thermostat physique, on retire pas les piles pour arrêter le chauffage.

C’est le module qui est on ou off.

Le mode off du thermostat ne doit être utilisé que lors de l’été par exemple, ou il n’y a aucun besoin de régulation/ chauffage.

J’ai modifié mes agenda pour utiliser mon nouveau mode « veille » et j’ai même masqué le bouton « off ». Je vais surveiller demain mais le problème devrait être résolu. Merci pour vos conseils.

Le laststate est juste, car la dernière période est bien la dernière période de chauffe.
Pour moi la correction, c’est plutôt de rajouter l’état OFF dans la condition. Ce bouton est peut-être également mal interprété dans la documentation du plugin.

Mon nouveau mode veille ma posé un petit problème. Il n’a pas été pris en compte et j’ai été réveillé par la PAC qui s’est déclenché au milieu de la nuit :frowning:

J’ai l’impression que si on choisi comme température cible pour un mode une température inférieur a ce qui est configuré dans « Température min (°C) » de l’équipement.
Lors du passage sur ce mode (en manuel ou via agenda) la température cible du mode est ignoré et c’est toujours la température cible du mode précédent qui est utilisée. Je ne sais pas si ce comportement est voulu ou si c’est un bug.
J’ai baissé « Température min (°C) » de l’équipement et il semble que je n’ai plus de problème.

Bonsoir, je n’ai pas bien compris le bug du changement de consigne. Peux tu mettre les logs, afin de comprendre le dysfonctionnement.

Qu’est-ce paramètre ‹ Temperature min ›?

Bonjour,
C’est ce paramètre ‹ Temperature min › : https://doc.jeedom.com/fr_FR/plugins/wellness/thermostat/?theme=light#La%20configuration

Dans ce test à 09:18:25 j’ai cliqué sur le mode « hors-gel » configuré à 2°C mais dans les logs on voit juste que la consigne ne change pas et que c’est toujours celle de l’ancien mode (19°C) qui est utilisée:

[2020-11-30 09:18:01][DEBUG] : [Chambre parentale][thermostat] : Power calcul : (2.5 * 50) + (14.6 * 3) + 0 = 168.8
[2020-11-30 09:18:01][DEBUG] : [Chambre parentale][thermostat] : Cycle duration : 15
[2020-11-30 09:18:01][DEBUG] : [Chambre parentale][thermostat] : Action chauffage
[2020-11-30 09:18:25][DEBUG] : [Chambre parentale][thermostat] : Début calcul temporel
[2020-11-30 09:18:25][DEBUG] : [Chambre parentale][thermostat] : Reprogrammation automatique : 2020-11-30 09:33:00
[2020-11-30 09:18:25][DEBUG] : [Chambre parentale][thermostat] : Smart schedule
[2020-11-30 09:18:25][DEBUG] : [Chambre parentale][thermostat] : Plugin agenda détecté
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Temp in : 16.5 - Temp out : 4.4 - Consigne : 19
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Direction : 1
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Power calcul : (2.5 * 50) + (14.6 * 3) + 0 = 168.8
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Smartstart duration : 25.32 à 2020-11-30 19:15:00 programmation : 2020-11-30 18:50:00
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Next smart schedule date : 2020-11-30 18:50:00
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Smartstart end
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Temp in : 16.5 - Temp out : 4.4 - Consigne : 19
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Direction : 1
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Power calcul : (2.5 * 50) + (14.6 * 3) + 0 = 168.8
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Cycle duration : 15
[2020-11-30 09:18:26][DEBUG] : [Chambre parentale][thermostat] : Action chauffage

Remarque si je baisse la « Température min (°C) » en dessous de 2°C et refait le même test le mode hors-gel est bien pris en compte.

Je pensais que la configuration « Température min (°C) » ne servait qu’a régler les plage d’affichage du widget cursor mais elle sert aussi a bloquer certaines consignes (à moins que cette deuxième partie ne soit pas voulu et soit un bug ?)

Bonjour,

Non, ce n’est pas un bug, les plages hautes et basses sont bien là pour créer des limitations.
- C’est comme verrouiller le thermostat, s’il est verrouillé il n’est plus pilotable :wink:

Je comprend bien que c’est la plage de limite d’utilisation mais moi justement je ne veut pas l’utiliser mais le mettre en veille :slight_smile:

Du coup je vais laisser une température min très basse (pour pouvoir utilisé des mode veille car il faut pas utiliser off pour ça) et me faire un widget slider custom pour laisser la plage du slider restreinte car si le slider prend tout la plage des temp autorisé il n’est pas précis pour régler la temp.

Mais au lieu de faire une veille avec ce mode :
Pourquoi ne pas faire un mode « ECO » (comme nous tous) et dans ce mode ECO, vous mettez la valeur de °C de consigne que vous voulez.
- Et votre « veille » sera simplement de passer dans ce mode.

Exemple classique d’usage d’un thermostat :
Mode « Confort » : 21°C (aux heures ou l’habitation est occupée, mais pas la nuit)
Mode « Eco » : 18°C (la nuit et aux heures ou il y a personne dans l’habitation)
Mode « HG » : 5°C (en cas d’absence prolongée du domicile (en hivers))
Off : (pour l’été)

Pour mon mode « Eco » (que j’ai appelé « veille »). Je ne veux pas que le chauffage se déclenche pendant que j’aère la pièce (et la température peut descendre en dessous de 10° pendant l’aération ) et je n’ai pas de capteur d’ouverture pour désactiver le chauffage.

Mais de toute façon le problème est le même avec votre proposition si il y a un mode « HG » : 5°C il faut que la « Température min (°C) » soit défini <= à 5 sinon le mode HG ne fait rien.