Bon en attendant j’ai trouvé comment gérer mes radiateurs (et ça me suffit en l’état).
En mode box on peut régler la température en changeant « occupied_heating_setpoint ».
Donc une automatisation comme ça fonctionne :
action:
- service: zha.set_zigbee_cluster_attribute
data:
cluster_type: in
ieee: xx:xx:xx
endpoint_id: 1
cluster_id: 513
attribute: 18
value: "1200"
1200 signifie 12 degrés celsius.
Du coup je suis en train d’utiliser custom button pour faire mes contrôles :
Pour avoir les degrés actuels dans le nom j’ai créé un sensor dans configuration.yaml
sensor:
- platform: template
sensors:
temp_radiateur_sam:
value_template: "{{ state_attr('climate.radiateur_sam_thermostat', 'current_temperature') }}"
unit_of_measurement: '°C'
friendly_name: 'SAM Temp'
Et au niveau de la custom card j’ai ça :
type: vertical-stack
cards:
- type: custom:button-card
name: >-
[[[ return "Salle à manger : " + states["sensor.temp_radiateur_sam"].state
+ " °C";]]]
aspect_ratio: 5/1
- type: horizontal-stack
cards:
- type: custom:button-card
name: 10°
aspect_ratio: 1
tap_action:
action: call-service
service: zha.set_zigbee_cluster_attribute
service_data:
cluster_type: in
ieee: xxxxx
endpoint_id: 1
cluster_id: 513
attribute: 18
value: '1000'
- type: custom:button-card
name: 15°
aspect_ratio: 1
tap_action:
action: call-service
service: zha.set_zigbee_cluster_attribute
service_data:
cluster_type: in
ieee: xxxxx
endpoint_id: 1
cluster_id: 513
attribute: 18
value: '1500'
- type: custom:button-card
name: 19°
aspect_ratio: 1
tap_action:
action: call-service
service: zha.set_zigbee_cluster_attribute
service_data:
cluster_type: in
ieee: xxxx
endpoint_id: 1
cluster_id: 513
attribute: 18
value: '1900'
On peut ajouter un verrou pour éviter les appuis accidentels :
lock: true
confirmation:
text: Sûr ?
Si on veut repasser le radiateur en mode « box » (donc contrôle depuis ZHA) :
service: zha_toolkit.attr_write
data:
ieee: xx:xx:xxxxxx
cluster: 0x0201
attribute: 0x001c
attr_val: "1"