Bonjour à vous j’ai mis en place des automatisme pour mon arrosage automatique grâce a une page GitHub. Tout fonctionne très bien il me manque juste une fonction que je voudrais ajouter mais je ne sais pas comment faire. Je voudrai rajouter un bouton qui quand je l’active me bloquerait mes commande d’arrosage jusqu’au moment ou désactiverait ce bouton. Sauriez vous me guider pour cette fonction ?
Merci,
Salut,
quand tu parles de Github, tu veux dire que tu as installé une intégration custo pour gérer l’arrosage?
Ce serait bien de donner le liens au cas où.
Pour le bouton que tu veux ajourer, je n’ai pas compris ce que tu veux qu’il fasse?
C’est plutôt une marche forcée ou à l’inverse un bouton pour désactiver l’automatisme?
En fait j’ai 4 circuits d’arrosage qui sont programmé pour ce déclencher chacun a une heur différente et pour chaque circuit j’ai un slider qui me permet de changer le temps d’arrose. Ce que je voudrai donc fair c’est un bouton qui me permet de bloquer l’arrosage par moment comme par exemple quand il pleut.
En fait je me suis trompé, je n’ai pas trouvé sur Github mais sur une vidéo
" #44 How to Create a Dashboard Controllable Timer Switch in Home Assistant | vccground - YouTube "
Ok, donc tu devrais avoir des automatisation qui gèrent tes circuits.
Le plus basique serait de créer un interrupteur virtuel (input_boolean) que tu peux contrôler par l’interface ou plus tard automatiquement si tu veux intégrer la météo…
(Paramètres>Appareils&Services>Entrées)
Dans les automatisations de l’arrosage il faudra ajouter une condition qui vérifiera létat de cet interrupteur virtuel.
Tu peux aussi ajouter une autre automatisation qui se déclenchera dès que l’interrupteur est allumé pour couper les timers déjà en cours à ce moment là.
J’ai la chance de possèder un OpenSprinkler qui me calcule tous les jours un taux d’arrosage nécessaire en fonction de la météo (une valeur entre 0 et 200% par rapport à la durée d’arrosage « normale »).
Du coup, dans mes automatisme d’arrosage pour les vannes non connectées à l’OpenSprinkler, j’ai comme toi créé un input (slider) qui me permet de définir la durée d’arrosage « normale » (10 mintes par exemple), et je multiplie cette durée par mon « taux d’arrosage » pour avoir la durée effective de déclenchement de la vanne.
Par exemple, comme il faut beau, chaud et venteux dans la partie nord de la France en ce moment, mon OpenSpinkler me donne un taux d’arrosage de 125%. Du coup, pour les fleurs de la terrasse qui s’arrosent en général 10 min (input manuel en slider), la durée réelle d’arrosage est de 12 minutes.
Tu pourrais créer un autre input (taux d’arrosage) que tu pourrais faire varier en fonction de la météo.
Ci-dessous le yaml de mon automatisme:
alias: Arrosage plantes terrasse variable
description: Arrosage plantes terrasse variable
trigger:
- platform: time
at: "2:30:00"
condition:
- condition: numeric_state
entity_id: sensor.opensprinkler_water_level
above: 0
action:
- type: turn_on
device_id: d2ef12411b312c99a93810c608f7a187
entity_id: switch.valve_arrosage_terrasse_switch
domain: switch
- delay:
hours: 0
minutes: >-
{{
float((states("sensor.opensprinkler_water_level")))*float((states("input_number.duree_d_arrosage_plantes_terrasse")))/100
}}
seconds: 0
milliseconds: 0
- type: turn_off
device_id: d2ef12411b312c99a93810c608f7a187
entity_id: switch.valve_arrosage_terrasse_switch
domain: switch
mode: single
Salut c’est bien ce que je voudrais faire mais je n’y arrive pas. j’ai bien créé un interrupteur virtuel mais après je bloque !
Voila ce que j’ai mis pour chaque circuit,
platform: state
entity_id:
- switch.sonoff_a48002e528_1
to: « on »
for:
hours: 0
minutes: « {{ states.input_number.arrosage_bordure_timer.state | int }} »
seconds: 0
Merci beaucoup à toi, mais je n’ai pas ce matériel et cela me semble un peut compliqué pour mois, je débute. Mais je garde ton code pour peut être plus tard.
Slt
Tu pourrais mettre le fichier complet en mode Yaml , en texte (insertion dans balises message </>)
Exemple du mien
alias: "Arrosage "
description: ""
trigger:
- platform: device
type: turned_on
device_id: e236b76a7a1de25bb9b0b4754db29095
entity_id: switch.pompe_puit
domain: switch
for:
hours: 0
minutes: 0
seconds: 5
condition:
- type: is_power
condition: device
device_id: e236b76a7a1de25bb9b0b4754db29095
entity_id: sensor.pompe_puit_power
domain: sensor
above: 800
alias: Test Puissance Pompe Puit > 800 W
action:
- service: notify.mobile_app_m2012k11ag
data:
message: "Début du Cycle d'arrosage ! "
alias: Notification du Démarrage arrosage pour DOM
- service: timer.start
data:
duration: "{{states.input_number.temps_d_attente.state| int}}"
target:
entity_id: timer.attente
alias: Affichage Décompte temps d'attente lancement Arrosage
- delay:
seconds: "{{ states.input_number.temps_d_attente.state | int }}"
alias: Attente pour lancer arrosage
- service: switch.turn_on
data: {}
target:
entity_id: switch.vanne4
alias: Ouverture Vanne du Tourniquet
- service: timer.start
data:
duration: "{{states.input_number.temps_d_arrosage.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'arrosage
- delay:
seconds: "{{ states.input_number.temps_d_arrosage.state | int }}"
alias: Temps d'arrosage
- service: switch.turn_off
data: {}
target:
entity_id: switch.vanne4
alias: Fermeture Vanne du Tourniquet
- service: timer.start
data:
duration: "{{states.input_number.attente_vanne_hors_fonction.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'attente vanne suivante
- delay:
seconds: "{{ states.input_number.attente_vanne_hors_fonction.state | int }}"
alias: Attente pour Vanne suivante
- service: switch.turn_on
data: {}
target:
entity_id: switch.vanne2
alias: Ouverture Vanne de Gauche
- service: timer.start
data:
duration: "{{states.input_number.temps_d_arrosage.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'arrosage
- delay:
seconds: "{{ states.input_number.temps_d_arrosage.state | int }}"
alias: Temps d'arrosage
- service: switch.turn_off
data: {}
target:
entity_id: switch.vanne2
alias: Fermeture Vanne de Gauche
- service: timer.start
data:
duration: "{{states.input_number.attente_vanne_hors_fonction.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'attente vanne suivante
- delay:
seconds: "{{ states.input_number.attente_vanne_hors_fonction.state | int }}"
alias: Attente pour Vanne suivante
- service: switch.turn_on
data: {}
target:
entity_id: switch.vanne1
alias: Ouverture Vanne du Milieu
- service: timer.start
data:
duration: "{{states.input_number.temps_d_arrosage.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'arrosage
- delay:
seconds: "{{ states.input_number.temps_d_arrosage.state | int }}"
alias: Temps d'arrosage
- service: switch.turn_off
data: {}
target:
entity_id: switch.vanne1
alias: Fermeture Vanne du Milieu
- service: timer.start
data:
duration: "{{states.input_number.attente_vanne_hors_fonction.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'attente vanne suivante
- delay:
seconds: "{{ states.input_number.attente_vanne_hors_fonction.state | int }}"
alias: Attente pour Vanne suivante
- service: switch.turn_on
data: {}
target:
entity_id: switch.vanne3
alias: Ouverture Vanne de Droite
- service: timer.start
data:
duration: "{{states.input_number.temps_d_arrosage.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'arrosage
- delay:
seconds: "{{ states.input_number.temps_d_arrosage.state | int }}"
alias: Temps d'arrosage
- service: switch.turn_off
data: {}
target:
entity_id: switch.vanne3
alias: Fermeture Vanne de Droite
- service: timer.start
data:
duration: "{{states.input_number.attente_vanne_hors_fonction.state | int}}"
target:
entity_id: timer.decompte_tempo
alias: Affichage Décompte Temps d'attente vanne Hors fonction
- delay:
seconds: "{{ states.input_number.attente_vanne_hors_fonction.state | int }}"
alias: Attente pour Vanne Hors fonction
- type: turn_off
device_id: e236b76a7a1de25bb9b0b4754db29095
entity_id: switch.pompe_puit
domain: switch
alias: Désactivation Pompe Puit
- service: notify.mobile_app_m2012k11ag
data:
message: "Fin du Cycle d'arrosage ! "
alias: Notification de l'Arrêt arrosage pour DOM
mode: restart
PS le fichier complet
- id: '1685803326122'
alias: 'Arrosage bordure automatisme '
description: ''
trigger:
- platform: state
entity_id:
- switch.sonoff_a48002e528_1
to: 'on'
for:
hours: 0
minutes: '{{ states.input_number.arrosage_bordure_timer.state | int }}'
seconds: 0
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_a48002e528_1
mode: single
- id: '1685805343718'
alias: 'Arrosage géranium automatisme '
description: ''
trigger:
- platform: state
entity_id:
- switch.sonoff_a48002e528_2
to: 'on'
for:
hours: 0
minutes: '{{ states.input_number.arrosage_geranium_timer.state | int }}'
seconds: 0
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_a48002e528_2
mode: single
- id: '1685805696912'
alias: 'Arrosage côté automatisme '
description: ''
trigger:
- platform: state
entity_id:
- switch.sonoff_a48002e528_3
to: 'on'
for:
hours: 0
minutes: '{{ states.input_number.arrosage_cote_timer.state | int }}'
seconds: 0
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_a48002e528_3
mode: single
- id: '1685805927676'
alias: 'Arrosage devant automatisme '
description: ''
trigger:
- platform: state
entity_id:
- switch.sonoff_a48002e528_4
to: 'on'
for:
hours: 0
minutes: '{{ states.input_number.arrosage_devant_timer.state | int }}'
seconds: 0
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_a48002e528_4
mode: single
- id: '1685806990818'
alias: 'Osmoseur automatisme '
description: ''
trigger:
- platform: state
entity_id:
- switch.sonoff_10004a606b
to: 'on'
for:
hours: 0
minutes: '{{ states.input_number.osmoseur.state | int }}'
seconds: 0
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_10004a606b
mode: single
- id: '1685807420349'
alias: Départ bordure
description: ''
trigger:
- platform: time
at: 08:00:00
condition: []
action:
- type: turn_on
device_id: 03b201883538b4bae7d213c6f9193130
entity_id: switch.sonoff_a48002e528_1
domain: switch
mode: single
- id: '1685807491435'
alias: 'Départ géranium '
description: ''
trigger:
- platform: time
at: 08:30:00
condition: []
action:
- type: turn_on
device_id: 03b201883538b4bae7d213c6f9193130
entity_id: switch.sonoff_a48002e528_2
domain: switch
mode: single
- id: '1685807567623'
alias: 'Départ gazon côté '
description: ''
trigger:
- platform: time
at: '21:00:00'
condition: []
action:
- type: turn_on
device_id: 03b201883538b4bae7d213c6f9193130
entity_id: switch.sonoff_a48002e528_3
domain: switch
mode: single
- id: '1685807628110'
alias: 'Départ gazon devant '
description: ''
trigger:
- platform: time
at: '21:30:00'
condition: []
action:
- type: turn_on
device_id: 03b201883538b4bae7d213c6f9193130
entity_id: switch.sonoff_a48002e528_4
domain: switch
mode: single
- id: '1685807691734'
alias: 'Départ osmoseur '
description: ''
trigger:
- platform: time
at: 09:00:00
condition: []
action:
- type: turn_on
device_id: 25a2da053f2759e4f97a5f6ff409dc96
entity_id: switch.sonoff_10004a606b
domain: switch
mode: single
- id: '1685823794823'
alias: Heure bordure
description: ''
trigger:
- platform: state
entity_id:
- switch.sonoff_a48002e528_1
to: 'on'
for:
hours: '{{ states.input_datetime.bordure.state | int }}'
minutes: '{{ states.input_datetime.bordure.state | int }}'
seconds: '{{ states.input_datetime.bordure.state | int }}'
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_a48002e528_1
mode: single
tu vois ce qui se passe dans automatisme ? Historique ?
On dirait qu’il y a un mélange dans ton YAML ! Normalement devrait pas pouvoir enregistré !
Plusieurs automatisme ?
Je viens de trouver la solution:
Mais merci de votre aide, en fait c’etait simple mais mois j’ai pas l’habitude des fonction et des contritions !
Si tu le dis !
mais voir sur H M S:
"10":
id: "1685823794823"
alias: Heure bordure
description: ""
trigger:
- platform: state
entity_id:
- switch.sonoff_a48002e528_1
to: "on"
for:
hours: "{{ states.input_datetime.bordure.state | int }}"
minutes: "{{ states.input_datetime.bordure.state | int }}"
seconds: "{{ states.input_datetime.bordure.state | int }}"
condition: []
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.sonoff_a48002e528_1
mode: single
Merci beaucoup cela me permet de comparer et d’améliore mon code.
bonne soirée à toi .
J’ai fait un truc qui donne ça, j’avais prévu un petit article avec le code si ça intéresse…