Bug sur le temps de chauffe minimum

Bonjour,

J’ai remarqué de temps en temps que mon poêle à granulé démarre le cycle suivant après son arrêt.
Alors qu’en toute logique il doit attendre la consigne défini dans Temps de chauffe minimum (% du cycle).

Voici mes logs:

[2020-04-04 09:00:13][DEBUG] : [Salon][Th_Poele] : Debut calcul temporel
[2020-04-04 09:00:13][DEBUG] : [Salon][Th_Poele] : Reprogrammation automatique : 2020-04-04 09:15:00
[2020-04-04 09:00:13][DEBUG] : [Salon][Th_Poele] : Smart schedule
[2020-04-04 09:00:13][DEBUG] : [Salon][Th_Poele] : Plugin agenda detecté
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Temp in : 22.5 - Temp out : 2.6 - Consigne : 17
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Direction : 1
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : La temperature est supérieure à la consigne de plus de 1.5°C je ne fais rien
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Smartstart non pris en compte car la durée 0
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Smart start end
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Temp in : 22.5 - Temp out : 2.6 - Consigne : 21.5
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Direction : 1
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Power calcul : (-1 * 70) + (18.9 * 3.2) + 0 = -9.52
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Cycle duration : 0
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Durée du cycle trop courte, aucun lancement
[2020-04-04 09:00:16][DEBUG] : [Salon][Th_Poele] : Action stop
[2020-04-04 09:15:08][DEBUG] : [Salon][Th_Poele] : Debut calcul temporel
[2020-04-04 09:15:08][DEBUG] : [Salon][Th_Poele] : Reprogrammation automatique : 2020-04-04 09:30:00
[2020-04-04 09:15:08][DEBUG] : [Salon][Th_Poele] : Smart schedule
[2020-04-04 09:15:08][DEBUG] : [Salon][Th_Poele] : Plugin agenda detecté
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Temp in : 22.3 - Temp out : 3.5 - Consigne : 17
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Direction : 1
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : La temperature est supérieure à la consigne de plus de 1.5°C je ne fais rien
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Smartstart non pris en compte car la durée 0
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Smart start end
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Temp in : 22.3 - Temp out : 3.5 - Consigne : 21.5
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Direction : 1
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Power calcul : (-0.8 * 70) + (18 * 3.2) + 0 = 1.6
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Cycle duration : 0.23999999999999
[2020-04-04 09:15:11][DEBUG] : [Salon][Th_Poele] : Action chauffage

On s’apperçoit qu’à 9 h00, le thermostat envoie l’arrêt du poêle avec l’action STOP car la puissance est en négatif.
Le cycle suivant à 9H15, la puissance passe en positif et le chauffage démarre à nouveau.
J’ai remarqué que ce problème n’arrive que sur le premier cycle de chauffe.

En allant chercher un peu plus loin, j’ai remarqué que la variable suivante ne prends pas en compte l’arrêt de chauffage et reste égal à heat au cycle suivant.

$thermostat->getConfiguration('lastState')

Après vérification, il y a bien un $thermostat->setConfiguration('lastState', 'stop'); sur l’action d’arrêt.
Je ne vois pas d’ou peut venir le problème.
@Loic si tu as une idée?

Merci

Bonjour
Il faudrait que tu mettes des captures de ta configuration

Voici ma config:

En faite ca vient de la case limité les cycle marche/arret mais vu que c’est pas moi qui ait fait cette partie du code il faut attendre que la personne voit ton sujet pour y repondre de mon coté je ne comprend pas cette partie je ne peux donc pas aider.

C’est moi qui est proposé cette partie :wink:

Je vais regardé et faire des essais pour corriger.

Bonjour @loic,
J’ai trouvé le bug Ligne 1503 $this->refresh();
Dans la méthode StopThermostat()

Pour moi l’action refresh(); devrait être dans a condition au dessus:

if ($_repeat) {
    $this->refresh();
	return;
}

En mettant le debug avant et après le refresh : log::add('thermostat', 'debug', $this->getHumanName() . ' : stop thermostat lastSate: '.$this->getConfiguration('lastState'));
J’ai un changement d’état
Passage en STOP puis en Heat;

Merci

C’est possible oui il doit virer les modifications faite sur l’objet, je pense meme que ce refresh ne devrait pas etre la du tout. Je viens de pousser une beta sans, si quelqu’un peut tester.

J’ai déjà testé sans en mettant en commentaire le refresh() et je n’ai plus de changement d’état de lastState.

Ok tu peux tester la beta ? Comme ca je la passe en stable.

ok je teste dès que la mise à jour est dispo

Elle devrait l’etre la.

Ok j’ai fait la mise à jour, j’attends demain matin le cycle de chauffage.

@Loic, tous c’est bien passé la chauffe ce matin.
:wink:

Super merci bien pour le test ca sera dispo dans la prochaine stable du plugin.

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.