Nouveau thermostat type proportionnel avec gestion des presets / portes et fenêtres / détection de mouvement .. (archive)

Bonne question en effet.

Idée 1 - la plus propre :
je fais un service qui permet de basculer le mode present/absent. Au lieu d’appeler le service de changement de preset tu devras appeler ce service.

Idée 2 - sans dev pour moi mais moins générique :
Ton automatisation pourrait faire basculer un input_boolean (y a les services qui vont bien) et l’input_boolean servir de capteur de présence.

Idée 3:
Sinon je capte le changement de preset vers away (que je garde en interne du coup) et je change les températures en fonction. Ca me parait peut être moins propre dans le sens ou le preset ne changera pas vraiment. Je laisse l’idée mais c’est pourri.

Comme on ouvre ou ferme un switch en fonction d’une température mesurée dans la pièce, je pense que ca marche si l’installation répond à ces 2 conditions

  • un switch qui allume les pompes,
  • un thermomètre qui mesure la température de la pièce.

Y aura peut être un peu plus d’inertie et peut qu’il faudra ajuster les coef_c et coef_t. Mais comme ils sont réglables ca se tente je pense. L’expertise de @Argonaute sur les paramètres peut être intéressant. Pour info, sur une pièce en sous-sol mal isolé j’ai du augmenter (de 0.01 à 0.05) le coef_t.

Si tu essayes ça m’intéresse d’avoir le résultat et notamment les réglages.

Bonjour,
@Jean-Marc_Collin dans la doc , tu parle qu’il faut un capteur de température extérieur.

Citation
an external temperature sensor (think of the meteo integration if you don’t have one)

Sauf que je ne trouve pas l’endroit ou le mettre dans la configuration.

Pour le détecteur de présence, avec un device tracker c’est possible ( statut: home ou not_home ) ?

Pour la température, faut obligatoirement des chiffres rond ou a virgule c’est bon ?
exemple, j’ai mis a 15.5 °C la pièce monte pas au dessus de 15.1°C. Si je met a 16°C la pièce monte bien a 16-16.1 °C.

Hello @WarC0zes ,

Le capteur de température se met dans la deuxième page de configuration de l’intégration si la fonction choisie est TPI uniquement (elle n’est utilisée que pour cette fonction). Ici exactement :
Capture d’écran 2023-01-11 à 07.43.59

Dans mon cas, j’ai mis le sensor météo France de ma ville (en blanc).

Pour le détecteur de présence, avec un device tracker c’est possible ( statut: home ou not_home ) ?

Pour le détecteur de présence, n’importe quel entité qui retourne True si une personne est présente et False sinon fait très bien l’affaire. Chez moi j’ai un template qui ressemble à ça :

- binary_sensor:
    - name: maison_occupee
      unique_id: maison_occupee
      state: "{{is_state('person.person1', 'home') or is_state('person.person2', 'home')}}"
      device_class: occupancy

Je m’en sers un peu partout dans mes automations et scripts donc j’ai fini par en faire un binary_sensor présent tout le temps.

Mais tu me fais penser que ce serait plus pratique de pouvoir passer directement un person.xxx et il suffit que je check l’état ‹ home › en plus de ‹ on ›. Je me le note dans la todo, mais en attendant fais toi un template c’est quand même super pratique.

Pour la température, faut obligatoirement des chiffres rond ou a virgule c’est bon ?

Ca prend les nombres à virgule normalement. Tout est en float partout. D’ailleurs dans ta copie d’écran y a bien des float. Si tu n’as pas de capteur de température extérieure, ca me parait pas inquiétant que tu n’atteignes pas la consigne. C’est justement ce terme là qui permet de l’atteindre. Configure le et ça va mieux marcher. D’ailleurs, je vais le rendre obligatoire en mode TPI.

Merci pour tes retours, 2 améliorations en attente…

J’ai compris, faut sélectionner TPI (ta capture ma éclaircie les neurones). J’avais tester avec linear et atan, de choisir TPI je peu sélectionner le capteur extérieur :+1:.

Pour la présence, ok pour un Template mais je vais attendre que tu ajoute une personne en entité :wink:
merci pour ces explications.

1 « J'aime »

Hello,
En fait je pense que c’est un abus de langage pour moi entre capteur de présence, et capteur de mouvement. J’avais du mal à comprendre la différence, mais je pense avoir branché mes neurones et avoir compris la différence.
Le capteur de présence c’est ça :
image
En gros mon géofencing ?
Et le capteur de mouvement c’est celui que je vais placer dans ma pièce pour vérifier si il y a du mouvement… (dis comme ça, c’est d’une logiiiique…)

Du coup, si c’est bien ça, je peux effectivement me servir de ton implantation directement dans la conf
Ou, si ce n’est pas le cas, ton idée 1 est très bien pour moi.

Désolé du mal entendu :sweat_smile: :sweat_smile:

1 « J'aime »

Vendu:

J’ai tester pendant 1h en mode TIP avec la température a 15,5°C et j’ai bien ajouter le capteur de température extérieur mais la pièce ne dépasse pas les 15.1°C.

La courbe du termomètre.

J’en déduit que les chiffres a virgule ne sont pas pris en compte et que 15.5 c’est finalement 15°C.

Hello,
Essai de jouer avec le coeff_t passe le à 0.04 pour tester.

1 « J'aime »

Le on_percent (le pourcentage de temps en On) est à 0,32 (donc 1/3 du temps).

0,6 x (0,4) + 0,01 x 8 = 0,32. Donc le calcul est bien en float.

Ca m’a fait ça sur une pièce froide et mal isolée. J’ai été obligé de passer le paramètre Coef_T à 0,05. Essaye ça.

C’est le cas, pièce mal isoler. Ok j’essaye le coef_T a 0,05.

Attention : Quand on change un paramétre il faut recharger l’intégration.
Capture d’écran 2023-01-11 à 10.17.18

Je savais , mais merci de le préciser pour d’autre :wink:
d’ou mon intéret pour ton intégration.

Avec le Coef_T à 0,05, ca l’air pas mal. La température ce rapproche des 15.5°C demander.

on_percent: 0.35
on_time_sec: 165
off_time_sec: 314

1 « J'aime »

Cool. Les coef 0,6 et 0,01 donnés par @Argonaute sont des coef pour des pièces aux normes (isolées donc). Faut pas hésiter à jouer avec.

Ca va consommer plus par contre mais c’est le revert de la médaille.

Bonjour @Jean-Marc_Collin,
apres 2 jours de test, j’ai remarquer que le thermostat déclenche avec 0.2°C de plus que le seuil.
Exemple, Je règle a 15.3°C , la pièce est a 15.5°C et le thermostats s’allume ( 1min max ) .

logs:

Prise Salon éteint déclenché par le service homeassistant.turn_off
05:51:10 - Il y a 33 secondes
Prise Salon activé déclenché par le service homeassistant.turn_on
05:50:37 - Il y a 1 minute
Prise Salon éteint déclenché par le service homeassistant.turn_off
05:43:32 - Il y a 8 minutes
Prise Salon activé déclenché par le service climate.set_hvac_mode
05:42:59 - Il y a 9 minutes - Warcozes

Y a un moyen d’ajuster ?
j’ai baisser le Coef_T a 0.03 pour voir.

C’est ça. Bon réflexe. Faut ajuster les coef. Les qqes règles qui me paraissent pertinentes :

  • Si en stationnaire (sans rien toucher pendant longtemps), ça plafonne au dessus de la consigne, il faut baisser coef_t.
  • Si en stationnaire ça plafonne en dessous, faut l’augmenter,
  • Si ça grimpe trop vite et ça oscille, faut baisser coef_c,
  • Si c’est trop lent pour atteindre la consigne, on augmente coef_c.

Si vous constatez d’autres règles comme ça, je suis intéressé ; je les mettrais dans le readme.

Note: après +/- 0.2 ° c’est pas aberrant non plus. La plupart du temps je suis à +/- 0.1 mais il arrive (on ouvre la porte, changement de consigne, …) que ce ne soit pas aussi précis.

D’accord je vais suivre ces règles pour affiner si besoin et Coef_T a 0.03 c’est bon, au pire + 0.1°C.

1 « J'aime »

Bonjour

Est ce que cela fait pareil chez vous , le changement n’est pas instantané , par exemple en mode manuel, si je baisse la temperature, il faut 5 minute pour la prise en compte c’est a dire d’envoyer l’information d’éteindre le radiateur, et vice versa en poussant la temperature.


Merci

oui @impuR_Shozz les changements se font toujours au cycle suivant. Je suppose que tu as un cycle de 5 m sur ton Thermostat ?

C’est parce-que les calculs sont faits à chaque début de nouveau cycle.