Bonjour à tous
je viens voir la communauté au sujet de deux automatisations.
Elles doivent me permettre de voir si mon sèche linge a démarré, en route, ou s’est arrêté.
J’ai sur le sèche linge une prise connectée et un capteur d’ouverture sur l’hublot.
La courbe de la puissance de la prise est la suivante :
La zone rouge correspond à l’endroit où le cycle de séchage est terminé.
Les zones jaunes correspondent au mode défroissage du sèche linge.
Et le temps de fonctionnement complet pourrait être l’ouverture de la porte d’ailleurs ! Mais je ne veut pas attendre tous les cycles pour avoir la notification
Mon problème aujourd’hui, c’est que je capte bien l’arrêt de la machine et je m’envoie les bonnes notifications mais les pics jaune me déclenche à nouveau le start alors que c’est pas nécessaire.
Mes notifications Discord (ne pas se regarder les chiffres c’est des tests donc il sont pas juste)
J’ai tenté de mettre une condition template dans le START.
Cette condition regarde si le last changed de l’ouverture de porte est inférieur à 5 minutes et que la porte est bien fermée donc à Off.
Mais je suis pas serein sur la syntaxe dans l’automatisation (même si c’est ok dans la partie modèle).
{% if is_state('binary_sensor.pte_buanderie_seche_linge_contact', 'off') and
as_timestamp(now()) - as_timestamp(states.binary_sensor.pte_buanderie_seche_linge_contact.last_changed) < 300 %}
true
{% else %}
false
{% endif %}
Est-ce que déjà vous pouvez me dire si le template se gère bien comme ceci et s’il est correct en syntaxe ?
Auriez vous un autre approche, pour faire abstraction de ces pics qui sont aléatoires à la fois en nombre et en valeur ?
Merci de votre approche
je tente l’expérience HA plutôt que Node Red
Mon automatisation START :
Sèche Linge Start
alias: Sèche Linge Start
description: ""
trigger:
- type: power
platform: device
device_id: bc13545f3db9a733403213d935627cb9
entity_id: 6c8f07c063934ada4b5787cfbc3d843c
domain: sensor
above: 5
for:
hours: 0
minutes: 0
seconds: 1
condition:
- condition: state
entity_id: input_boolean.seche_linge_cycle
state: "off"
- condition: state
entity_id: binary_sensor.pte_buanderie_seche_linge_contact
state: "off"
- condition: template
value_template: >-
{% if is_state('binary_sensor.pte_buanderie_seche_linge_contact', 'off')
and
as_timestamp(now()) - as_timestamp(states.binary_sensor.pte_buanderie_seche_linge_contact.last_changed) < 300 %}
true
{% else %}
false
{% endif %}
enabled: true
action:
- service: utility_meter.calibrate
data:
value: "0"
target:
entity_id:
- sensor.pc_buanderie_seche_linge_energy_kwh_heure
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.seche_linge_cycle
- service: notify.home_assistant
data:
message: ""
target:
- "1108858191128838184"
data:
embed:
title: ""
description: >-
Démarrage du Sèche Linge à
**{{((state_attr('automation.seche_linge_start','last_triggered')) |
as_local).strftime("%Hh%M") }}**
url: https://www.home-assistant.io
color: 199363
author:
name: Gestion des machines
url: https://www.home-assistant.io
icon_url: https://i.imgur.com/9V4Lspg.png
footer:
text: "HA - Sèche Linge : Notification"
icon_url: https://www.home-assistant.io/images/favicon-192x192-full.png
thumbnail:
url: https://i.imgur.com/9V4Lspg.png
mode: single
Mon automatisation END:
Sèche Linge Fin : Notification
alias: "Sèche Linge Fin : Notification"
description: ""
trigger:
- type: power
platform: device
device_id: bc13545f3db9a733403213d935627cb9
entity_id: 6c8f07c063934ada4b5787cfbc3d843c
domain: sensor
below: 5
for:
hours: 0
minutes: 0
seconds: 5
condition:
- condition: state
entity_id: input_boolean.seche_linge_cycle
state: "on"
action:
- service: input_boolean.turn_off
data: {}
target:
entity_id:
- input_boolean.seche_linge_cycle
- service: counter.increment
data: {}
target:
entity_id:
- counter.seche_linge_cycle
- service: notify.home_assistant
data:
message: ""
target:
- "1108858191128838184"
data:
embed:
title: ""
description: >-
{%- set time =
((state_attr('automation.seche_linge_fin_notification','last_triggered'))
-
(state_attr('automation.seche_linge_start','last_triggered'))).seconds-%}
{%- set minutes = ((time % 3600) / 60) | round | int -%} {%- set
hours = ((time % 86400) / 3600) | int -%} Le cycle s'est déroulé de
**{{((state_attr('automation.seche_linge_start','last_triggered')) |
as_local).strftime("%Hh%M") }}** à **{{
(state_attr('automation.seche_linge_fin_notification','last_triggered')
| as_local).strftime("%Hh%M") }}**
Pour une durée de : **{{ '{:01}h{:02}'.format(hours, minutes) }}**
Le cycle à consommé :
**{{states('sensor.pc_buanderie_seche_linge_energy_kwh_heure') |
round(4) }}** kWh
Pour un coût de :
**{{(states('sensor.pc_buanderie_seche_linge_energy_kwh_heure') |
float * states('input_number.hp_energy_cout')| float) | round (2)
}}** €
Nombre de cycles : **{{states('counter.seche_linge_cycle') |
float(default=0) |
round(0)}}**
url: https://www.home-assistant.io
color: 199363
author:
name: Gestion des machines
url: https://www.home-assistant.io
icon_url: https://i.imgur.com/9V4Lspg.png
footer:
text: "HA - Sèche Linge Fin : Notification"
icon_url: https://www.home-assistant.io/images/favicon-192x192-full.png
thumbnail:
url: https://i.imgur.com/9V4Lspg.png
mode: single