Regulation chauffage electrique avec FIL PILOTE

Bonjour à tous,

Voici ma problématique , je pilote une regulation de chauffage via le fil pilote
Comme vu sur plusieurs tutos j’ai pris un module zegbee avec un diode et ensuite j’attaque la commande du fil pilote du chauffage pour faire du tout ou rien…
Jusque là RAS, sauf que :

Mon module est intégré comme une « light » et de plus quand :
la light est à 1 : chauffage sur arrêt
la light est à 0 : chauffage marche.

Cela me pose un problème avec ma boucle de régulation que j’ai introduit voici les codes : (vu sur tuto aussi) :

  - platform: smart_thermostat
    name: Régulation temperature cuisine
    unique_id: regulation_temperature_cuisine
    heater: light.chauffage_cuisine_on_off
    target_sensor: sensor.ble_temperature_a4c13825afaf
    min_temp: 7
    max_temp: 28
    ac_mode: true
    target_temp:    19
    keep_alive:
      seconds: 60
    away_temp: 14
    kp : 5
    ki : 0.01
    kd : 500
    pwm : 00:15:00

vous l’avez remarqué j’ai mis AC mode : true pour que cela fonctionne
Je régule donc en mode clim du à mon inversion d’état de ma light. Cela fonctionne mais c’est pas l’ideal…
Ancien régleur je suis tout de même étonné par les réglages de : « proportionnelle intégrale et de la dérivé »… Mais bon on verra cela plus tard…

J’ai essayé de créer une fausse entrée inversée pour attaquer la boucle de régulation, mais même si son état est inversé j’ai l’impression que cette entrée n’agit sur rien…

En espérant trouver une solution avec vous…
Merci bcp
Gilles

Bonsoir
Il faudrait des copie d’écran des températures et de la commande du thermostat.
Sinon je ne sais pas trop comment fonctionne le smart_thermostat…

Je pourrais conseiller dans un premier temps, un thermostat beaucoup plus simple comme celui ci:
https://forum.hacf.fr/t/gestion-de-bout-en-bout-du-chauffage/4897

Il est robuste même si une commande proportionnelle ne garantit pas d’avoir la température exacte.

Une fois que tout fonctionne avec ce thermostat alors tenter un plus complexe comme le smart.
Sinon ce thermostat utilise la température extérieure et je l’ai connectée à la mesure locale météo France.

bonjour Haz,

merci pour ton interet tu as les codes de la declaration du smart_thermostat plus haut…
voici les codes de déclaration de ma light transformé en switch…

# declaration switch inversé fil pilote relais cuisine
  - platform: template
    switches:
      transformation_chauffage_cuisine:
        friendly_name: 'transformation light - switch Chauffage Cuisine'
        value_template: "{{ is_state('light.chauffage_cuisine_on_off', 'on') }}" 
        turn_on:
          service: switch.turn_on
          data:
            entity_id: light.chauffage_cuisine_on_off
        turn_off:
          service: switch.turn_off
          data:
            entity_id: light.chauffage_cuisine_on_off
      chauffage_cuisine:
        friendly_name: 'Chauffage Cuisine'
        value_template: "{{ is_state('switch.transformation_chauffage_cuisine', 'off') }}" # fake switch is on when real switch reports off, and vice versa
        turn_on:
          service: switch.turn_off
          data:
            entity_id: switch.transformation_chauffage_cuisine
        turn_off:
          service: switch.turn_on
          data:
            entity_id: switch.transformation_chauffage_cuisine   

et je voici le montage physique, qui est des plus simple au final :

J’ai une deuxieme question dans la question :
peut on déclarer une imput externe au code : target temp…

Merci
Gilles

Salut

je n’ai pas trop le temps de débugger un code que je ne connais pas…
Avant le montage, il faudrait regarder les on/off que le thermostat est sensé produire.

Pour les input externe oui c’est possible.
Tu peux les déclarer

  • soit dans le configuration.yaml, comme par exemple:
# 
# Données de controle des radiateurs
# 
input_boolean:
  synchro_rad:
    name: Synchronize heaters
    initial: "on"

Et les utiliser comme par exemple ici:

- id: asservissement_rad1
  alias: asservissement_rad1
  description: 'Asservissement Puissance rad1: id3 cuisine'
  trigger:
  - platform: state
    entity_id: input_boolean.synchro_rad  <--------
    to: 'off'
  - platform: numeric_state
    entity_id: sensor.cumul_radg1
    above: input_number.PW_cmd1  <--------
  action:
  - variables: 
      TimeSinceSynchro: '{{  now().minute % 5 + now().second / 60 }}'
      Pconso: '{{ states("sensor.cumul_radg1") }}'
      Pcmd:   '{{ states("input_number.PW_cmd1") }}'     <--------
      TrigSynchro: "{{ trigger.platform | string == 'state' }}"
      TrigConso:   "{{ trigger.platform | string == 'numeric_state' }}"
      Rad_id:  3

Je suis totalement débutant en domotique donc j’ai besoin de l’avis d’une personne expérimentée qui pourrait m’aider.

Je souhaite chauffer une pièce avec un radiateur électrique (avec un fil pilote) uniquement lorsque des personnes sont présentes dans la pièce.

Il n’y a pas de heures d’utilisation de la pièce par les gens. Les gens l’utilisent à différents moments de la journée et à différents jours de la semaine. Je suppose donc que je devrai connecter le radiateur à un capteur de présence.

Si quelqu’un a une idée de la façon de procéder, merci de me le faire savoir.

Merci beaucoup

Hello
Moi j’ai fait ceci

Installe ceci avec HACS

Configure the activity mode
We will now see how to configure the new Activity mode. For this mode I freely inspired myself from a blueprint shared by @ChrisInUK (https://community.home-assistant.io/t/motion-controlled-room-eco-heating/291322) and I gratefully thank him for his job. What we need:

a motion sensor. The key in configurationfile is "motion_sensor".
a target "motion" mode. We will used the same temperature than this mode when an activity is detected. The key in configurationfile is "motion_mode".
a target "no motion" mode. We will used the same temperature than this mode when no activity is detected. The key in configurationfile is "no_motion_mode".
a "motion delay" duration defining how many time we leave the temperature like in "motion" mode after the last motion is detected. The key in configurationfile is "motion_delay".
So imagine we want to have the following behavior :

we have room with a thermostat set in activity mode, the "motion" mode chosen is comfort (21.5C), the "no motion" mode chosen is Eco (18.5 C) and the motion delay is 5 min.
the room is empty for a while (no activity detected), the temperature of this room is 18.5 C
somebody enters into the room, an activity is detected the temperature is set to 21.5 C
the person leaves the room, after 5 min the temperature is set back to 18.5 C
The configuration we have to set is the following :
climate:
  - platform: awesome_thermostat
    name: Study
    heater: switch.study_heater
    target_sensor: sensor.study_temperature
    eco_temp: 18.5
    away_temp: 16
    boost_temp: 23
    comfort_temp: 21.5
    sleep_temp: 20
    motion_sensor: input_boolean.study_motion_sensor
    motion_mode: comfort
    no_motion_mode: eco
    motion_delay:
      minutes: 5