Merci, mais c’est ce que je fais déjà
Bonjour,
ça devrait être
value_template: "{{ is_state('sensor.etat.noeud25', '1') }}"
non ? (etat.noeud25
à la place de etat_noeud25
)
Non ça ne change rien
Essaie en mettant juste etat.noeud25
dans le template ou en remplaçant l’unique_id
dans la définition du sensor par sensor.etat.noeud25
Ton état, tu le publies comme un string ou un int ?
Ah ça je ne sais pas, comment je peux savoir ?
J’imagine que c’est un nombre puisque je le récupère sur l’état de la prise (0 ou 1)
Dans ce cas essaie :
value_template: "{{ is_state('etat.noeud25', 1) }}"
après, je suis à cours d’idée
Tu relances bien ha après chaque modif ?
Slt je ne connais pas ha mais es qu’il ne s’attend pas a recevoir un binaire true/false et donc 0/1
Il s’attend à une valeur à comparer. La valeur peut-être de tous type (string, int, boolean, …)
Justement si la valeur ne convient pas pourquoi linterpreterai t’il ?
ben rien ne le dit, d’où le test avec quotte et sans pour la valeur 1 …
value_template: « {{ is_state(‹ etat.noeud25 ›, 1) }} » ne change rien
Oui je redémarre ha à chaque modification.
C’est quand même dingue qu’on ne puisse pas faire changer d’état un interrupteur en fonction d’une valeur 0 ou 1. Pour ça jeedom est quand même supérieur
Après, je découvre à peine ha. Un connaisseur te fournira sans doute la solution.
J’essaierai de faire un swtich avec état (comme le tien) ce week-end pour voir
J’ai trouvé ce post:
light:
- platform: mqtt
name: JEEDOM lumiere cuisine
state_topic: "Lumiere/cuisine_onoff"
command_topic: "Lumiere/cuisine_onoff/act"
brightness_state_topic: 'Lumiere/cuisine_brightness'
brightness_command_topic: 'Lumiere/cuisine_brightness/act'
qos: 0
optimistic: false
payload_on: "1"
payload_off: "0"
merci cddu33 mais mon switch fonctionne très bien dans le sens HA–>jeedom.
Je clique, ça allume ma prise jeedom, l’interrupteur passe sur on. Je clique à nouveau, ça éteint la prise et l’interrupteur passe sur off.
C’est dans l’autre sens que ça déconne. Si j’allume ma prise depuis jeedom, l’interrupteur ne change pas pourtant la variable etat.noeud25 passe bien à 1
Je ne comprends pas ce qui cloche
Bonjour,
J’ai donc testé …
ci-dessous ma conf :
mqtt:
binary_sensor:
- name: "Lumiere"
device_class: "light"
payload_on: 1
payload_off: 0
state_topic: "Maison/Jardin/Lumiere"
object_id: jardin_lumiere
unique_id: state.jardin_lumiere
switch:
platform: command_line
switches:
jardin_lumiere:
friendly_name: Lampe Jardin
command_on: echo "1"
command_off: echo "0"
command_state: echo
unique_id: cmd.jardin_lumiere
value_template: "{{ is_state('binary_sensor.jardin_lumiere',[1,'on','1']) }}"
Points d’attention :
Dans le switch, il faut mettre command_state
avec une commande bidon pour que value_template
soit pris en compte.
Dans value_template, l’identifiant à mettre c’est l’identity_id et non l’unique_id que tu définis.
J’ai mis un tableau pour is_state car j’avais la flemme de tester avec quoi exactement c’était comparé.
Dernier point, c’est leeeent entre le changement d’état de la lumière dans HA et la mise à jour du switch.
En gros :
Jeedom → mqtt → ha → màj état lampe c’est ok mais ensuite dans ha, état lampe → màj switch entre 15 et 30 secondes :
En complément (pour corriger le problème de lenteur), dans le fichier automations.yaml, ajouter :
- id: 'jardin_update_switch_light'
alias: update switch
description: ''
trigger:
- platform: state
entity_id:
- binary_sensor.jardin_lumiere
condition: []
action:
- service: homeassistant.update_entity
data: {}
target:
entity_id: switch.jardin_lumiere
mode: single
Et là le switch se met à jour automatiquement
Édit : et dire que, parfois, certaines personnes trouvent Jeedom compliqué …
Merci d’avoir passé du temps sur mon cas, depuis 2j j’ai changé d’approche et cela fonctionne avec rest_command
mqtt:
sensor:
- name: "noeud25"
state_topic: "etat/noeud25"
unique_id: noeud25
rest_command:
on_noeud25:
url: "http://192.168.1.28/core/api/jeeApi.php?apikey=API..."
off_noeud25:
url: "http://192.168.1.28/core/api/jeeApi.php?apikey=API..."
switch:
- platform: template
switches:
noeud25:
unique_id: Noeud25
value_template: "{{ is_state('sensor.noeud25', '1') }}"
turn_on:
service: rest_command.on_noeud25
turn_off:
service: rest_command.off_noeud25
Cela fonctionne bien, comme tu dis, Jeedom est « trop » compliqué