Tutoriel | Plugin thermostat pour poêle a granulés connecté

Nos messages se croisent …
Pour le smart stop, j’ai fais différemment (je crois) :
Si on demande au poêle de s’allumer avec une consigne, mais qu’une consigne inférieure est prévue dans les 60 prochaines minutes, on empêche le poêle de s’allumer.

Ex: Le poele est éteint avec 18°C. Il est réglé sur 20°C. Il va s’allumer car la puissance demandée le permet.
Sauf que vu que dans 50 min, une consigne smart schedule le fera passer en mode éco à 18°C, on empêche l’allumage.
Ca ressemble à ca :

if ($next['consigne'] < $consigne && strtotime($next['date']) < (strtotime('now') + 3600) ) {

Donc c’est simpliste !

Pour le smartstart, j’utilise pour le moment la formule suivante:

Anciennement:

   $duration = ($temporal_data['power'] * $cycle) / 100; 

Maintenant:

//adaptation Poele
	        $thermos = $this->getHumanName();
	        if ($thermos == '[Thermostat][Thermostat salon]') {
	        	$duration = ($temporal_data['power'] * 65) / 100;
	     	        }
          else {
             $duration = ($temporal_data['power'] * $cycle) / 100; 
        	}
// fin adaptation

En l’occurence, un cycle de 65 minutes donne qqc de très correct chez moi !
Je ne suis pas dév du tout, mes bidouilles fonctionnent…mais ca reste de la bidouille !

Tu as mis le smartstop à la bourrin.

De plus il faut l’appliquer au bon endroit uniquement si le cycle precédent n’est pas en chauffage.
J’ai la solution en tête, mais il faut la validation de la team avant de faire n’importe quoi.

Et pour le smartart, je propose plutôt un coeficient sur le cycle duration:
$duration = ($temporal_data['power'] * $cycle)*3.2 / 100;
A la place de 3.2, un champ modifiable dans les parametres avancées

Car cette solution est plus adapté et peut également avoir un coef négatif.

Je te confirme que c’est bourrin, mis en place en quelques minutes ce matin :wink: Cependant fonctionnellement ca répond totalement à mon besoin

Par contre:

  1. Il est appliqué au bon endroit (au niveau de la vérification de la durée du cycle)
  2. Appliqué uniquement sur le poêle
  3. Appliqué uniquement si le cycle précédent n’était pas en chauffage ($thermostat->getCache(‹ lastState ›) != ‹ heat ›)
    J’ai fait quelques tests entre midi et deux, chez moi en tout cas c’était parfait.
    Après, bien entendu pour l’intégrer dans le plugin, il faudrait pouvoir passer le thermostat concerné par l’admin du plugin, la c’est en dur :wink:

En effet rajouter un coefficient sur la durée du cycle calculé est surement plus malin, entre autre du fait de pouvoir mettre un coef négatif pour ceux qui auraient l’inverse de notre problème !

Je fais les modifs de mon côté mais once again, je ne suis pas dév! Preneur d’une solution plus propre directement intégrée au plugin :wink:

Je comprend mieux le principe. C’est ma première année avec un poêle a granulé et puis ca fait que 2/3 semaines que je suis sur jeedom. avec l’histoire du covid j’ai toujours pas eu la mise en service de mon poseur. Du coup je tourne presque toujours a deux c’est vrai que c’est super long de remonter comme ca la température et moi mon poêle ce coupe pas tout seul une fois la température atteinte. Car j’étais pas en mode éco. Du coup j’ai presque tournée poele h24 pendant deux semaines je vous raconte pas le nombre de sac qui sont passé la dedans…

Bonjour,

Merci pour ce tuto, tout fonctionne à priori bien, même si je dois encore peaufiner les réglages de puissance pour le cas de mon poêle. J’arrive à le mettre en route manuellement en cliquant sur un mode ou en augmentant la température.

Je viens d’installer le plugin agenda pour automatiser tout ça. Seulement il ne déclenche pas l’allumage du poêle. J’ai fait ça hier soir à la va-vite et ce matin 15°, ça pique ! (j’aurais pas dû). Pourtant tout a l’air de fonctionner dans les logs.

Capture d’écran du 2021-01-07 19-26-22

Ce soir pareil, le poêle ne s’est pas déclenché malgré des logs similaires. Là il est en train de chauffer et il fait trop froid en ce moment pour que je le coupe afin de faire un test.

Je n’ai pas mis d’action de fin dans l’agenda, je me suis dit que l’événement suivant allait prendre le dessus, peut-être pas. J’ai mis un mode absent qui se déclenchait à 8h10 et celui-ci a bien fonctionné, le poêle s’est éteint. Est-ce que quelqu’un pourrait m’aider s’il-vous-plaît ? J’ai dû faire une erreur dans l’agenda ou oublié d’appeler une action mais je ne sais pas quoi. Bon je débute, j’aurais dû être plus patient mais j’avais hâte d’avoir un programme de chauffe digne de ce nom pour mon poêle.

Merci

Les logs sont claires, tu devrais chauffer à 5h30.
J’ai vu également ton message sur Hottoh. Apparemment, tu as réussi à faire fonctionner ton poêle avec jeedom.
Si tu as suivi le tutoriel, j’ai mis en place un scénario marche_arrêt. Et ainsi démarrer avec une variable? Est ce que c’est ce que tu as mis en place ?
Pour chaque scénario, tu as un fichier logs. Il pourrait te dire si celui-ci a exécuté la commande à 5h30.

Bonjour,

Merci pour ta réponse et surtout merci pour ces explications et le plugin, je suis bien content de pouvoir enfin contrôler le poêle comme je veux sans avoir à utiliser l’horrible télécommande vendue avec.

Oui j’ai bien fait les même scénarios que dans le tuto.

En fait, je me suis trompé hier, je ne m’en suis pas souvenu tout de suite (je ne devais avoir qu’un oeil d’ouvert) et ça n’était plus présent dans logs le soir. Le poêle était bien allumé hier matin (il s’est allumé car la température était descendue en dessous de 15° en mode nuit) mais sur puissance 3 (sur 20), la même que lorsqu’il s’est arrêté la veille et a continué comme ça jusqu’à ce que je me lève.

Ce matin pareil, le poêle s’est éteint sur puissance 11 et au déclenchement, il est resté sur cette puissance sans la changer par la suite. Pourtant quand je me suis levé, j’ai appuyé sur le mode « Confort » manuellement et les niveaux de puissances ont tout de suite réagi.

Mon souci viendrait donc du scénario de puissance qui ne n’agit pas en mode agenda, je vais mettre le mettre en debug pour observer son comportement. Merci pour la piste.

D’ailleurs concernant le scénario de puissance, je ne sais pas encore programmer, mais n’y aurait-il pas la possibilité de créer une sorte de boucle avec un code plus court ? J’ai 20 niveaux de puissances sur le poêle et j’ai eu du mal à adapter ton scénario au mien. Avec toutes les imbrications de code, l’affichage des briques dépasse le bord de l’écran et il n’y a pas de barre de défilement horizontal qui apparaît dans le navigateur. Une fois que je l’ai terminé, je ne peux plus trop y toucher ni voir les valeurs que j’ai mis. Je regarderai ce week-end si je peux adapter un truc.
Bonne journée

Effectivement dans le cas de 20 niveaux de puissances, ce n’est pas judicieux d’utiliser des conditions. Je ne suis pas un expert des scénarios, je pense que j’utiliserai le plugin script.

Bon ça a fonctionné ce matin.

Le scénario de gestion de puissance se lançait bien mais n’avait pas l’air d’avoir d’action sur le poêle avec l’agenda puisque le poêle restait sur la puissance qu’il avait au moment de son extinction.

J’ai créé un scénario qui relance une fois le scénario de puissance 10 minutes après le premier appel. Ca a l’air d’avoir fonctionné mais je ne sais pas si c’est très orthodoxe…

Pour être sûr de ne pas avoir froid ce matin, j’avais mis une action de début sur le mode nuit de l’agenda qui remettait le poêle sur le niveau de puissance 20, je ne sais pas si ça a joué, je ne pense pas.

Pour la gestion de puissance, pour alléger le code dans mon cas, je pense reprendre la base du tien et faire un calcul du style :

Si [Th_poele][puissance] > 100 alors [poêle]niveau puissance =20
Sinon [poêle]niveau de puissance = l’arrondi de la valeur de ([Th_poele][puissance]/5)

Mais je ne sais pas encore comment on fait ça, il faut que je me documente.

En tout cas, merci beaucoup pour l’aide, je vais bientôt pouvoir utiliser le smartstart et vraiment gagner en confort avec ces différents plugins.

Avec autant de niveau de puissance, la solution d’un PID classique avec un arrondi à 5% sur la puissance de sortie ne serait pas plus adapté ?

Ma solution ici pour commander des vannes thermostatiques entre 0 et 99% à 1% près.

Tu pourrais peut-être l’adapter en arrondissant les valeurs pour sortir une puissance avec un pas de 5% ?

Un truc dans ce goût là pour arrondir à 5 dans l’intervalle [0;100] et diviser par 5 pour être dans l’intrevalle [0;20]

[Th_poele][puissance20]=max(0,min(5*floor([Th_poele][puissance]/5),100))/5

Je suis toujours avec un grand intérêt les remarques autour de ce tuto.
Ce qui me plaît dans le plugin thermostat, c’est l’apprentissage automatique des coefficients.
En revanche, de mon point de vue, le plugin thermostat ne peut pas en compte des apports gratuits variables (soleil, présence humaine) mais seulement des apports gratuits constants où il faut rentrer à la main des valeurs (non évidentes à déterminer).

Comment cela se passe-t-il lorsqu’il y a eu plusieurs jours non ensoleillés où les coefficients se sont adaptés à cette situation, puis une journée fortement ensoleillé ? Il y a forcément dépassement de consigne ? Et pendant combien de cycles ?

Bonjour damatiser.
D’après mon observations les coeff changent après chaque cycle de chauffe, ils sont légèrement moderées par l’ancien coeff. J’avoue ne pas comprendre grand chose à la logique de l’algorithme mais visiblement ça fonctionne et c’est ce qui compte.

Bonjour @Pierrick
As tu participé à l’élaboration du plugin, tu as l’air bien calé la dessus ?
Merci

Effectivement, un PID serait peut-être l’idéal.

Le constructeur du poêle a d’ailleurs commencé à en implémenter un dans les réglages avancés du poêle dans la dernière mise à jour (uniquement PI), mais il ne sait pas lui-même comment s’en servir. Je leur avais demandé comment régler les coefficients (initialement, Ki= 15 et Kp=20000??? un peu obscur pour moi) puisqu’en l’état ça ne fonctionnait pas (la température stagnait 2 degrés trop bas et le poêle restait à faible puissance), ils m’ont dit que personne chez eux ne touchait aux réglages et qu’il ne fallait les modifier… Alors ça marche peut-être dans une maison BBC mais pas chez moi. J’ai tout de même modifié les coefficients en notant sur un tableau les résultat de chaque changement et obtenu quelque chose de potable (mieux que le fonctionnement tout ou rien initial du poêle). C’est ce dont je me servais avant de passer sur jeedom.

Bravo pour ton PID mais avant que je comprenne tout, il va passer du temps. Ca ne fait que 7 jours que je suis utilisateur de Jeedom et la moindre manip me prend déjà des heures :wink: . J’y reviendrai quand je serai plus au point.

Et merci pour la formule ! C’était ça que je cherchais, même si j’ai pour l’instant modifié le scénario de Pierrick pour que la puissance 1 du poêle occupe la plage 0 à 30 de la puissance demandé par le thermostat. Je trouvais qu’en l’état, il utilisait peu les puissances basses. J’essaierai d’adapter ça avec ta formule quand je comprendrais tout mieux.

Un PI suffit pour le chauffage.

:laughing: Le vendeur ne sait peut-être pas. Mais le concepteur doit savoir !

Pour les valeurs, attention aux unités, à quoi ça correspond ?

Avant d’aller toucher à ce genre de coefficients, il faut bien comprendre ce qu’on fait.
C’est un PI qui fait quoi ? Il est dans le thermostat ?

C’est pourtant le constructeur que j’ai contacté pour savoir, voici sa réponse : « Aucun de nos techniciens ni experts n’a jamais touché à ces deux paramètres.
Normalement, ils ne sont pas accessibles à l’utilisateur. »

Sinon dans les réglages c’est juste affiché « K proportionnel puissance PID » et « K integrale puissance PID ». C’est ce qui gère le « smartmode » du poêle, un mode qui est sensé permettre d’arriver à une température de consigne sans la dépasser et ensuite essayer de la maintenir. Et c’est lié à la télécommande qui sert de sonde de température et de thermostat.

Bon sinon j’ai toujours un problème avec le plugin thermostat qui ne lance pas à chaque fois le scénario de puissance, le poêle reste à la puissance dans laquelle il s’est éteint, obligé de relancer le scénario manuellement.

Il faudrait également que je trouve une autre sonde de température, pour l’instant c’est celle de la télécommande, mais la température n’est pas stable du tout et peut varier de -0,5 à +0,5 rien qu’en la bougeant de quelques millimètres, la fréquence d’actualisation du plugin toutes les 15 minutes fait qu’il prend parfois une température erronée…

Ben, ils ne sont pas vraiment « constructeurs ». :sweat_smile: En gros, ils ont acheté un PID industriel à un autre constructeur pour la régulation de leur poêle et ils ne savent pas s’en servir ! :rofl:

Ça devrait bien fonctionner. La plupart des thermostats « intelligents » fonctionnent comme ceci et l’utilisateur n’a pas de réglages a effectué (les coef du PID ne sont pas accessible à 'utilisateur).

Pourquoi n’utilises pas tu leur télécommande/sonde/thermostat ?

C’est certainement la société Astrel qui fait les cartes mères hottoh qui a implémenté ça et pas eux, d’où un réglage générique.
En l’état, leur PID ne fonctionne pas, le poêle stagne à presque 2 degrés en dessous de la température de consigne et ne chauffe jamais à puissance maximale. J’ai résolu ça en bidouillant sur les deux chiffres Ki et Kp, j’avais quelque chose de potable.

Voilà exactement pourquoi je me retrouve ici, parce que ça :
Capture d’écran du 2021-01-11 16-52-00

Une télécommande du début du 21e siècle, avec un superbe temps de latence entre chaque action, un magnifique écran à cristaux liquide qui oblige à se mettre sous une lampe pour voir ce qui est écrit, une facilité à effectuer une programmation hebdomadaire déconcertante. C’est bien simple, il n’y a que moi qui sait s’en servir à la maison.

J’ai acheté le kit wifi en début d’année, c’est un peu mieux, mais avec les télétravails alternés, etc, les semaines ne sont jamais les mêmes, je trouve que c’est beaucoup mieux avec les solutions proposées par Jeedom.

Voilà. Mais bon, on s’éloigne du sujet initial. Désolé pour cette déviation.

Bonjour,
@Domatizer, @Taraf
Je vous invite à lire cet article sur l’optimisation de la régulation d’un poêle à granulé.
https://conseils-thermiques.org/contenu/reduire-consommation-granule.php#1

Non, tu peux toi même définir un offset via un simple scenario exemple:



Ce qui te laisse la possibilité d’inclure le soleil et sa position, la météo et ton imagination…

Oui il te faut une sonde précise avec une fréquence élevé(sans pile) et surtout bien placé dans ta pièce.

Il faut penser qu’un poêle à granulé doit éviter d’être éteinds - allumé. Le risque de la formule PID ne doit pas incité le redémarrage immédiatement après l’arrêt.

Alors toi @Pierrick, t’es un malin ! C’est très astucieux ! :wink:
Maintenant pour déterminer sa valeur en fonction du soleil, du vent, nombre de personnes, c’est presqu’impossible ? z’avez toujours trop chaud ou trop froid ! (bon, j’exagère un peu)

Sur ce point, le PID classique est capable de s’adapter en continu.

Bon ben pour l’instant c’est pas encore probant pour moi avec le plugin thermostat.

Je trouve que le poêle fonctionne trop à pleine puissance et pas assez sur les puissances intermédiaires. Il chauffe à fond et d’un seul coup il fait trop chaud, l’approche n’est pas assez progressive, il devrait ralentir beaucoup plus tôt. Dès qu’il a atteint la température de consigne, il s’éteint trop rapidement, vu qu’il n’a pas suffisamment anticipé la chauffe ou pris en compte l’inertie du poêle. J’ai eu 4 démarrages en une journée hier et je l’empêche de se couper le soir quand il est en mode confort sinon il ne ferait que ça.
On ne peut pas lui dire qu’il reste plus longtemps à faible puissance ou qu’il continue de réguler la température pendant 40 min ? Une fois le calcul fait et en dessous de 0, il s’arrête. C’est pas grave si j’ai 0,1 ou 0,2° au dessus de la consigne, je préfère qu’il continue à tourner. C’est pas ce que je préfère les phases d’allumage et d’extinction, c’est bruyant sur le mien.

Petite question, peut-on modifier le fonctionnement du smartstart ? Ca fonctionne bien, mais mon poêle met 25-30 minutes avant de commencer à chauffer (il charge les deux vis sans fin, allumage, équilibrage puis il commence à chauffer). Comment peut-on lui indiquer ça ? J’ai bien vu l’option "seuil de cycle où le chauffage…), mais il faudrait que je mette 200% et il relancerait ça à chaque cycle ? Ou il faudrait que je mette un offset que pour le calcul du smartstart, mais je ne vois pas où on peut mettre ça

Je suis à 35 en apprentissage chaud, je vais attendre d’être à 50 pour voir. Si ça ne convient pas, je ne laisserai pas le plugin gérer la puissance, je m’en servirai juste pour le smartstart en recopiant l’apprentissage obtenu sur le premier essai.

J’ai vu l’article que tu cites Pierrick, c’est plutôt une gestion linéaire de la puissance sur le mien avec le PID, mais mal réglé en usine (ou pas pour ma maison mal isolée). Et si j’en parle à mon installateur (si j’arrive à lui parler un jour, société pas sérieuse), il va me regarder avec des yeux de hibou !