Ajouter une condition de température

Bonjour a tous,

J’ai un prise connecte en zigbee qui allume au radiateur uniquement de 6H30 a 8H00
j’ai une automatisation qui fonction mais je souhaite y rajouter une condition de temperature.

Je possede un sensor aquara temperature dans la piece.

sensor.0x00158d0003e74a44_humidity
state_class: measurement
battery: 100
humidity: 71.6
linkquality: 255
pressure: 984
temperature: 23.36
voltage: 3025
unit_of_measurement: '%'
friendly_name: Multi Sensor Salle de bain 1er humidity
device_class: humidity

j’ai un input

input_number.set_temperature_sdb_1
initial: null
editable: true
min: 0
max: 25
step: 1
mode: slider
unit_of_measurement: °
friendly_name: Set temperature SdB 1

Quand j’ecris mon yaml et y injecte le template

alias: Chauffage salle de bain 1er on
description: prise salle de bain 1er
trigger:
  - platform: time
    at: input_datetime.climate_on
condition:
  - condition: template
    value_template: |-

      {{ (state_attr('sensor.0x00158d0003e74a44_temperature', 'temperature') <
      state('input_number.set_temperature_sdb_1')) }}
action:
  - service: switch.turn_on
    target:
      entity_id: switch.0xbc33acfffe579c65
mode: single

le template il ne passe plus rien
le but c’est que la switch s’allume que si la temperature de aquara est inferieur a l’input.

J’espere etre clair dans ma requete.

Je vous remercie d’avance.

System Health

version core-2021.7.3
installation_type Home Assistant Supervised
dev false
hassio true
docker true
virtualenv false
python_version 3.9.5
os_name Linux
os_version 4.19.0-17-amd64
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4637
Installed Version 1.13.2
Stage running
Available Repositories 857
Installed Repositories 60
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Debian GNU/Linux 10 (buster)
update_channel beta
supervisor_version supervisor-2021.06.8
docker_version 20.10.7
disk_total 113.6 GB
disk_used 10.7 GB
healthy true
supported true
supervisor_api ok
version_api ok
installed_addons Samba share (9.5.1), MQTT Server & Web client (1.2.0), Terminal & SSH (9.1.3), Spotify Connect (0.9.0), Grafana (7.0.4), Node-RED (9.2.0), Tydom2MQTT - Beta (release_1.2.1), ESPHome (1.19.4), InfluxDB (4.1.1), File editor (5.3.2), Zigbee2mqtt (1.20.0-1), Glances (0.12.3), Dnsmasq (1.4.4), Duck DNS (1.13.0)
Lovelace
dashboards 3
resources 42
views 16
mode storage
Spotify
api_endpoint_reachable ok

Renseigner votre problème

Ma configuration


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Configuration > Info > bouton copier > Pour Github
image


Salut,

As-tu essayé de remplacer ça :

par

condition:
  - condition: template
    value_template: "{{ (state_attr('sensor.0x00158d0003e74a44_temperature', 'temperature') < state('input_number.set_temperature_sdb_1')) }}"

Tu peux aussi tester la syntaxe directement dans les Outils de développement

j’essaie ca de suite :slight_smile:

J’ai le meme probleme c’est comme ci il y avait plus d’info

Je ne sais pas utilise modele dans outil developpement je suis trop nooby

Tu copies le test que tu veux faire

"{{ (state_attr('sensor.0x00158d0003e74a44_temperature', 'temperature') < state('input_number.set_temperature_sdb_1')) }}"

et tu regardes ce que ça donne dans la partie à droite

Chez moi, forcement c’est pas correct, les entités n’existent pas… (d’où le message d’erreur en rouge)

j’ai le message state n’est pas definie

donc ça c’est pas correct, ton entité ne contient pas de valeur (acceptable) dans state
Donc vérifie avec l’outil Etats


si avec la bonne entité, la colonne état est vide, alors ça pourrait expliquer ton souci

Tu m’a mis sur la voix j’ai ecrit ca

value_template: "{{ state_attr('sensor.0x00158d0003e74a44_temperature', 'temperature') | float < states('input_number.set_temperature_sdb_1') | float }}"

mais je ne comprends pas pourquoi float

C’est pour s’assurer que tu obtiens bien des chiffres (un nombre à virgule) au lieu d’un texte…

du coup ca marche :slight_smile:
Merci Pulpy

Bien compliqué tout ça pour quelque chose de supporté nativement et présent dans la documentation :

condition:
  condition: numeric_state
  entity_id: sensor.0x00158d0003e74a44_temperature
  attribute: temperature
  below: input_number.set_temperature_sdb_1

:upside_down_face: :sweat_smile:

1 « J'aime »

ca prouve que je suis un vraie nooby :grin::grin::grin:

Pas forcément :wink:

Même en lisant la documentation attentivement, quand on a pas une application concrète du code derrière, on oublie… C’est humain… :innocent:

1 « J'aime »

Je vais pas revenir sur le « float », mais en plus de ça entre tes 2 versions tu as ajouté le « s » au « state » devant l’input_number :wink:

merci pour l’info :wink: a force de chercher on ne voie plus rien