Forum Francophone Home Assistant

Generic thermostat commande inversée

bonjour,
toujours avec mon chauffage sur fil pilote
je voulais utiliser un thermostat générique mais
ma commande est inversée
c’est a dire que pour allumer le chauffage, il faut les 2 relais à off et pour le mettre en eco ou off, il faut allumer un relais
donc il faudrait inverser la commande du thermostat ?

salut:
je ne suis pas sure mais peut etre dans ton climat:

ac_mode: false

peut devenir : true et ainsi faire l’inverse tu aura un off quand tu sera en demande et un on quand tu aura atteint la consigne. (voir la doc) car tes intervalles haut et bas seront inversé, ou utilisation en climatiseur peut être plus facile.
exemple des deux:

############### 
##### SDB #####
############### 
  - platform: generic_thermostat
    name: Thermostat salle de bain
    heater: switch.ch_sdb
    target_sensor: sensor.temperature_158d0002e89ca1
    min_temp: 15
    max_temp: 21
    ac_mode: false
    cold_tolerance: 0.5
    hot_tolerance: 0.1
    keep_alive:
      minutes: 3
    min_cycle_duration:
      seconds: 60
    away_temp: 15
    precision: 0.1
############### 
#### cheminé ##
############### 
  - platform: generic_thermostat
    name: Thermostat cheminée
    heater: light.ventilateur
    target_sensor: sensor.temperature_158d000227ece2
    min_temp: 10
    max_temp: 80
    ac_mode: true
    target_temp: 35
    cold_tolerance: 5
    hot_tolerance: 5
    min_cycle_duration:
      seconds: 5
    keep_alive:
      minutes: 3
    initial_hvac_mode: "cool"
    away_temp: 35
    precision: 0.1

J’ai pour ma part fait un fake switch sans toucher au thermostat. Et si c’est du fil pilote ajoute un diode à ton relais.

switch:
- platform: template # switch.shelly_shsw_1_f39bxx
  switches:
    pilot_wire_1:
      friendly_name: 'Convecteur : Salle de Bain'
      value_template: "{{ is_state('switch.shelly_shsw_1_f39bxx', 'off') }}" # fake switch is on when real switch reports off, and vice versa
      turn_on:
        service: switch.turn_off
        data:
          entity_id: switch.shelly_shsw_1_f39bxx
      turn_off:
        service: switch.turn_on
        data:
          entity_id: switch.shelly_shsw_1_f39bxx
1 J'aime

oui bien,
pour le moment, j’ai inversé mes relais dans esphome,
donc j’ai pu faire un thermostat sans inversion,

maintenant, sachant que j’utilise le fil pilote avec 2 relais,
mon thermostat va agir sur 1 seule commande, donc 1 relais
si j’ai mis un mode (eco) qui allume les 2 relais et que mon thermostat se déclanche,
je ne vais avoir qu’un relais qui va basculer et l’autre va rester ‹ on ›
donc je n’aurais pas le mode 'confort" de mon radiateur et il ne se déclanchera pas normalement …

comment avez vous réglé cela ?

En fait quand tu utilise un thermostat HA on fait pas du ECO/CONFORT mais du ON/OFF.

Genre tu le programme pour que de telle heure à telle heure ca soit à 21° par exemple. Du coup je me contente de dire au fil pilote ON ou OFF… Dans l’idée on oublie la notion de confort/eco du radiateur et on se base sur une sonde externe…

Salut, petite question et dans ton thermostat, tu mets le switch virtuel ou bien le réel. J’ai aussi un soucis, j’utilise un module sonoff mini zigbee pour mon fil pilote, l’entité créer est une light parce que mon switch représente bien l’inverse de ma lumière mais il ne se comporte pas comme un switch, c’est à dire quand j’essaye de le modifier directement, il ne modifie pas l’état de light.chauffage_noemie (l’inverse fonctionne), du coup, le thermostat ne peut pas le commander.
En gros mon thermostat :
# configuration du chauffage de la chambre de Noémie

  • platform: generic_thermostat
    name: chauffage_noemie
    heater: switch.pilote_chauffage_noemie
    target_sensor: sensor.temperature_noemie_temperature
    min_temp: 16
    max_temp: 22
    ac_mode: false
    target_temp: 18
    cold_tolerance: 0
    hot_tolerance: 0
    initial_hvac_mode: « off »
    away_temp: 16
    precision: 0.1
    min_cycle_duration:
    seconds: 5
    keep_alive:
    minutes: 3

Mon switch virtuel :

  • platform: template # switch.shelly_shsw_1_f39bxx
    switches:
    pilote_chauffage_noemie:
    friendly_name: ‹ Pilote chauffage Noémie ›
    value_template: « {{ is_state(‹ light.chauffage_noemie_on_off ›, ‹ off ›) }} » # fake switch is on when real switch reports off, and vice versa
    turn_on:
    service: switch.turn_off
    data:
    entity_id: light.chauffage_noemie_on_off
    turn_off:
    service: switch.turn_on
    data:
    entity_id: light.chauffage_noemie_on_off

En écrivant mon poste, j’ai trouvé moi-même la réponse. Le soucis provenait du fait que mon entité qui contrôlé mon fil pilote était une lumière, j’utilise l’intégration ZHA, j’ai modifié le type de mon sonoff pour que celui-ci soit reconnu comme un switch, j’ai mis dans configuration.yaml :
zha:
device_config:
00:12:4b:00:24:c2:03:4e-1: # format: {ieee}-{endpoint_id}
type: « switch »

J’ai ensuite modifié mon switch virtuel, tout est rentré dans l’ordre.