Affecter une valeur numérique à chaque item d'uninput-select

Bonjour,

Je souhaite pourvoir changer le mode de chauffage (Confort, Nuit, Absent, Hors-gel) de tous mes thermostats simultanément.

J’ai commencé avec un premier thermostat en utilisant un input_number (de 1 à 4) ; ça fonctionne mais ce pas ergonomique car il n’y a pas d’association entre le chiffre sélectionné et le mode de chauffage.

J’ai donc créé un input-select avec une liste constituée des 4 modes mais je ne sais pas récupérer dans un input.number un nombre correspondant au mode sélectionné dans la liste (1 pour confort, 2 pour Absent,3 pour Nuit et 4 pour hors-gel).

modes chauffage

Salut,

je ne connais pas assez les bidouilles qu’on peut faire avec ces entités, mais instinctivement je ferais ça avec une automatisation, basée sur le changement d’état de ton input_select.
Et dans l’atcion, suivant la case sélectionnée, tu changes tous tes thermostats dans le mode correspondant…

J’ai fait ceci pour tester le principe et ça fonctionne

- id: '1671657013489'
  alias: Test automatisation mode chauffage
  description: ''
  trigger:
  - platform: state
    entity_id:
    - input_select.choix_mode_chauffage
    from: Confort
    to: Hors-gel
  condition: []
  action:
  - service: climate.set_preset_mode
    target:
      entity_id: climate.bureau_temperature
    data:
      preset_mode: "eco"

mais, en fait (je n’ai pas détaillé initialement pour ne pas compliquer la demande), je ne veux pas modifier directement le mode de chauffage mais récupérer une valeur entre 1 et 4 (correspondant à chaque mode) dans un input-number pour l’utiliser dans mon contrôleur logique KNX.

Rigolo… Moi je serai parti sur des groupes…
Comme ça on a les modes directement et pas un truc à convertir

1 « J'aime »

Tu peux faire ce que tu veux dans ton contrôleur KNX, changer le mode du thermostat c’est juste un example.
Pour l’automatisation j(aurai pas fait comme ça, j’aurais juste fait un trigger qui s’active à chaque changement de ton input dans valeur donnée, et toute la logique dans l’action de type « Choisir » qui ter permet de faire cette conversion texte<>chiffre.

Après faire une groupe comme le dit @Pulpy-Luke marche, mais aucune idée si ça colle avec le KNX

J’ai pu faire la conversion texte → nombre mais pour le trigger ???

- id: '1671657013489'
  alias: Test automatisation mode chauffage
  description: ''
  trigger:
  - platform: state
    entity_id:
    - input_select.choix_mode_chauffage
    from: Confort
    to: Nuit
  condition: []
  action:
  - service: input_number.set_value
    target:
      entity_id: input_number.test_mode_chauffage
    data:
      value: 3

Les from/to ne sont pas obligatoires, ça va se déclencher dès que ça change quelle que soit la valeur.

Merci pour vos « pistes » !
Je poste un code qui fonctionne même s’il n’est très probablement pas optimisé

- id: '1671657013489'
  alias: Test automatisation mode chauffage
  description: ''
  trigger:
  - platform: state
    entity_id:
    - input_select.choix_mode_chauffage
  action:
    - choose:
        - conditions:
            - condition: state
              entity_id: input_select.choix_mode_chauffage
              state: 'Confort'
          sequence :
            - service: input_number.set_value
              target:
                entity_id: input_number.test_mode_chauffage
              data:
                value: 0
        - conditions:
            - condition: state
              entity_id: input_select.choix_mode_chauffage
              state: 'Absent'
          sequence:
            - service: input_number.set_value
              target:
                entity_id: input_number.test_mode_chauffage
              data:
                value: 1
        - conditions:
            - condition: state
              entity_id: input_select.choix_mode_chauffage
              state: 'Nuit'
          sequence:
            - service: input_number.set_value
              target:
                entity_id: input_number.test_mode_chauffage
              data:
                value: 2
        - conditions:
            - condition: state
              entity_id: input_select.choix_mode_chauffage
              state: 'Hors-gel'
          sequence:
            - service: input_number.set_value
              target:
                entity_id: input_number.test_mode_chauffage
              data:
                value: 3  

Hello

c’est ce prendre la tete la pour tout gere avec ce que tu souhaite faire
comme dis @Pulpy-Luke un group suffit

voila ce que j’ai fait
simple mais efficace


Capture d’écran 2022-12-22 040208

Merci pour le partage.
Comme je l’ai indiqué, dans mon installation c’est le KNX qui gère la régulation du chauffage, y compris le calendrier des changements de mode en cas d’absences courtes ou prolongées (HA est utilisé uniquement comme superviseur) et j’avais besoin des valeurs numériques correspondant aux modes.

Re,
autant pour moi j’ai pas percuté sur le KNX :upside_down_face: :upside_down_face:

Mais tu l’as pas indique dans le 1er post ce KNX :grinning:

Si je mentionne le KNX, personne ne répond ! :grinning:

Ma page de thermostats avec la possibilité de changer simultanément le mode de tous les thermostats et également, en cas d’absence, de programmer un mode ; à la fin de la période programmée, ils se positionnent au mode sélectionné dans Direct.

elle est excellente celle la ! on me l’vais jamais fait :joy: :wink: :+1: :+1:

J’aime bien ta petite carte
Capture d’écran 2022-12-22 183542
tu peux partagé ton code ?

Du coup, quand c’est pas mentionné, on propose des trucs à coté… c’est mieux ?

1 « J'aime »

Je l’ai mentionné dès le second message (avant ta réponse).

Le thermostat c’est celui de base.

type: thermostat
entity: climate.bureau_temperature
name: Bureau

dont les valeurs sont alimentées via knx_climate.yaml

# Bureau
  - name: bureau.temperature
    temperature_address: "4/0/10"
    temperature_step: 0.5
    target_temperature_address: "4/1/10"
    target_temperature_state_address: "4/6/10"
    operation_mode_address: "4/2/10"
    operation_mode_state_address: "4/2/10"
    min_temp: 7.0
    max_temp: 23.0

et pour la position de la vanne

type: custom:bar-card
entities:
  - entity: sensor.bureau_electrovanne
    name: Vanne
positions:
  icon: 'off'
  minmax: 'off'
  name: inside
direction: right
height: '10'
icon: mdi:valve
unit_of_measurement: '%'
severity:
  - color: Green
    from: 0
    to: 30
  - color: Orange
    from: 31
    to: 70
  - color: Red
    from: 71
    to: 100

Hello

Merci beaucoup :+1: