Bon, j’avais fait un copier/coller dans le script de reset des conso pour le sèche linge XD
qui avait les valeurs du lave-linge…
Une erreur de trouvée
Bon, j’avais fait un copier/coller dans le script de reset des conso pour le sèche linge XD
qui avait les valeurs du lave-linge…
Une erreur de trouvée
En regardant les automatisations j’ai des erreur sur une variable qui est utilisée dans un template :
Dans le guide de domo-blog il faut créer cette entité input_datetime.temps_dernier_cycle_lave_linge
Mais elle n’est utilisée nulle part dans tout le reste du code des autres fichiers qu’il fourni ou dans son guide.
Je pense que je vais virer ça et coder autrement la gestion de fin de cycle en créant un script comme pour le début de cycle.
Comment peut on mettre une valeur dans une entité de type input_datetime dans un script ?
Dernière chose , un template sensor , ça se met à jour en continue n’est-ce pas ? Pas seulement quand on affiche une carte sur un Dashboard qui utilise ce sensor.
Salut
Bon je crois que j’ai réussi à avoir quelques chose de fonctionnel et propre.
J’ai choisi de conserver dans une entité la date de fin de cycle en plus de celle de début.
Pour le calcul de la durée qui mersit j’ai fait autrement après avoir passé plusieurs heures dans la partie développement pour faire des essais avec les fonctions de temps
J’ai encore quelques peaufinages à faire quant à l’affichage du cycle en cours : par exemple mettre « en cours depuis xxx min ».
Il me reste à transcrire ceci sur le lave linge et le sèche linge
Bonjour,
J’ai enfin quelque chose de fonctionnel ^^
J’ai dû virer des automatisations la partie qui calculait la durée, car ça ne fonctionnait pas, ça me faisait une erreur et la suite n’était pas traitée.
Je fais juste écrire la valeur du temps de fin dans le input_datetime
dans l’automatisation, et je lance un script à la fin qui va enregister dans un input_number
la valeur de la consommation à la fin du cycle.
Le calcul de la consommation et de la durée est faite dans le template dans lequel j’ai mis une condition sur le statut « En-cours » ou non d’une machine.
Par exemple, pour mon lave-vaisselle :
# ╔══════════════════════════════════════════════════════════════════════════╗
# ║ Entités pour calculer les durées des dernières machines ║
# ╚══════════════════════════════════════════════════════════════════════════╝
- name: "Comptage Lave-Vaisselle"
unique_id: "comptage_lave_vaisselle"
state: >
{% if is_state('input_boolean.cycle_lave_vaisselle', 'on') %}
En cours
{% else %}
{% set var_debut_lave_vaisselle = as_timestamp(states('input_datetime.debut_lave_vaisselle')) -%}
{%- set var_fin_lave_vaisselle = as_timestamp(states('input_datetime.fin_lave_vaisselle')) -%}
{%- set var_duree_derniere_lave_vaisselle = as_datetime(var_fin_lave_vaisselle) - as_datetime(var_debut_lave_vaisselle) -%}
{{ var_duree_derniere_lave_vaisselle }}
{% endif %}
# ╔══════════════════════════════════════════════════════════════════════════╗
# ║ Entités pour calculer les consommations des dernières machines ║
# ╚══════════════════════════════════════════════════════════════════════════╝
- name: "Conso. Lave-Vaisselle"
unique_id: "conso_lave_vaisselle"
state: >
{% set energie_debut_lave_vaisselle = states('input_number.lave_vaisselle_energie_debut_cycle') | round(2) %}
{% if is_state('input_boolean.cycle_lave_vaisselle', 'on') %}
{% set energie_fin_lave_vaisselle = states('sensor.smartplug_lave_vaisselle_energy') | round(2) %}
{% set energie_cycle_lave_vaisselle = energie_fin_lave_vaisselle - energie_debut_lave_vaisselle %}
⚡️ {{ (energie_cycle_lave_vaisselle) | round(2) }} kWh (en cours)
{% else %}
{% set energie_fin_lave_vaisselle = states('input_number.lave_vaisselle_energie_fin_cycle') | round(2) %}
{% set energie_cycle_lave_vaisselle = energie_fin_lave_vaisselle - energie_debut_lave_vaisselle %}
⚡️ {{ (energie_cycle_lave_vaisselle) | round(2) }} kWh
{% endif %}
Tout ça nécessite la création d’un certains nombre de input_datetime
, de input_boolean
et de input_number
, mais là j’ai quelque chose de fonctionnel ^^
Et d’assez élégant :
Bonjour
Est-il possible d’avoir le code de ta carte, Merci.
Salut @pascal_ha
Tu parles de quelle carte ? J’en ai 9 par machine
@pascal_ha Il y a justement 9 cartes dedans ^^
Mais voilà le code de tout ça :
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~ Partie pour le Lave-Vaisselle ~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- type: custom:text-divider-row
text: Suvi cycle du Lave-Vaiselle
- type: vertical-stack
cards:
- square: false
type: grid
cards:
- type: custom:mushroom-entity-card
entity: input_boolean.cycle_lave_vaisselle
icon_color: amber
name: Cycle Lave-Vaisselle
- type: custom:mushroom-entity-card
entity: sensor.conso_lave_vaisselle
icon_color: pink
name: Conso. dernier cycle
fill_container: false
icon: mdi:lightning-bolt
- type: custom:mushroom-entity-card
entity: sensor.debut_lave_vaisselle_template
icon_color: light-green
name: Début Lave-Vaisselle
- type: custom:mushroom-entity-card
# entity: input_datetime.fin_lave_vaisselle
entity: sensor.fin_lave_vaisselle_template
icon_color: red
name: Fin Lave-Vaisselle
fill_container: false
columns: 2
- type: custom:mushroom-entity-card
entity: sensor.comptage_lave_vaisselle
icon_color: orange
name: Durée dernier cycle Lave-Vaisselle
fill_container: false
icon: mdi:clock-time-eight
- type: custom:mini-graph-card
entities:
- entity: sensor.smartplug_lave_vaisselle_power
unit: W
color: "#ED4C67"
name: Lave-Vaisselle
line_width: 1
icon: mdi:dishwasher
hours_to_show: 24
points_per_hour: 12
hour24: true
show:
graph: line
labels: true
labels_secondary: true
extrema: true
- type: vertical-stack
cards:
- type: custom:mushroom-entity-card
entity: sensor.smartplug_lave_vaisselle_energy
icon_color: teal
name: Consommation Totale Lave-Vaisselle
fill_container: false
- square: false
type: grid
cards:
- type: custom:mushroom-entity-card
entity: sensor.smartplug_lave_vaisselle_power
icon_color: orange
name: Puissance Lave-Vaisselle
fill_container: false
- type: custom:mushroom-entity-card
entity: select.smartplug_lave_vaisselle_power_outage_memory
icon_color: pink
name: Mode coupure
columns: 2
l va te falloir créer les template et input_datetime et compagnie ^^
Merci pour le code, je vais adapter à mes input et sensor.
Bonjour,
Je te remercie pour le travail founi, top.
Pourrais-tu partager ton code de l’automatisation pour démarrer le lave vaisselle ? (le mien ne fonctionne plus et input reste bloqué sur le 6 juin …
Autre question, a quoi correspond ‹ sensor.debut_lave_vaisselle_template › , c’est ton automatisation que tu transforme en sensor ? si oui comment as-tu fait
Désolé je m’inspire, n’y connaissant pas grand chose.
Merci d’avance
Salut @cedric1
Voilà le code de l’automatisation de début de cycle :
alias: Mode - Technique - Lave-Vaisselle - Début du Cycle
description: ""
trigger:
- type: power
platform: device
device_id: cfe3eeabcaeb78671f9d8dc44ebbfd04
entity_id: 48a48ba6d6704d060de7620275286972
domain: sensor
id: lave-vaisselle-demarrage
above: 2
for:
hours: 0
minutes: 1
seconds: 0
condition: []
action:
- if:
- condition: state
entity_id: input_boolean.cycle_lave_vaisselle
state: "off"
then:
- service: input_datetime.set_datetime
data:
datetime: "{{ now() }}"
target:
entity_id: input_datetime.debut_lave_vaisselle
- service: input_boolean.turn_on
data: {}
enabled: true
target:
entity_id: input_boolean.cycle_lave_vaisselle
- service: script.turn_on
data: {}
target:
entity_id: script.auto_technique_lave_vaisselle_reset_conso_debut_de_cycle
else: []
mode: single
Ce sensor est effectivement un template qui permet de formater comme je le veux l’écriture de la date, je n’ai pas trouvé comment faire autrement.
# ╔══════════════════════════════════════════════════════════════════════════╗
# ║ Entités pour afficher le temps de début et de fin des dernières machines ║
# ╚══════════════════════════════════════════════════════════════════════════╝
- name: "Début Lave-Vaisselle Template"
unique_id: "debut_lave_vaisselle_template"
state: >
{%- set months = ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"] %}
{%- set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"] %}
{%- set days_short = ["Lun.", "Mar.", "Mer.", "Jeu.", "Ven.", "Sam.", "Dim."] %}
{%- set months_short = ["janv.", "févr.", "mars", "avr.", "mai", "juin", "juill.", "août", "sept.", "oct.", "nov.", "déc."] %}
{{ days_short[as_datetime(states('input_datetime.debut_lave_vaisselle')).weekday()] + ' ' + as_datetime(states('input_datetime.debut_lave_vaisselle')).day | string + ' ' + months_short[as_datetime(states('input_datetime.debut_lave_vaisselle')).month-1] + ' ' + (as_datetime(states('input_datetime.debut_lave_vaisselle'))).strftime("à %H:%M") }}
J’ai le même capteur pour le temps de fin de cycle.
Les entités debut_lave_vaisselle
et fin_lave_vaisselle
sont des input_datetime
:
debut_lave_vaisselle:
name: Début Lave-Vaisselle
has_date: true
has_time: true
icon: mdi:dishwasher-alert
fin_lave_vaisselle:
name: Fin Lave-Vaisselle
has_date: true
has_time: true
icon: mdi:dishwasher-off
Merci, je vais tester cela ce soir
Pas de soucis.
Si tu as un problème hésite pas .
Je me dis qu’il faudrait que je fasse un message complet expliquant tout de A à Z.
Là, il y a un topic qui reprend de A à Z pour comment faire :
Bonjour Roumano,
J’ai j’ai déjà lu et essayer plusieurs tuto. Je comprend pas pourquoi je n’ai plus mes automatisations qui fonctionnent pour le lave vaisselle.
je recommence et lisant d’autre topic et en cherchant mes erreurs et ce qui ne va plus ^^
Merci en tout cas
Bonsoir,
Finalement ça prend plus de temps de calculer sa consommation (pourquoi d’ailleurs ?) que de faire la vaisselle
Mais des choses intéressantes dans ce post.
Bob
Je viens de tomber sur un cas intéressant, je ne sais pas si tu le gères.
J’ai mis un délai de démarrage sur ma machine. De ce fait elle consomme un peu puis ensuite se met en veille jusqu’au démarrage. ça m’a compté ça comme un cycle car j’ai un seuil de 3W pour savoir si elle est en route ou pas Il va falloir que je l’augmente!
@MilesTEG1 quelle puissance as-tu mis pour la détection?
Salut @Cloom
Je temporise avec une condition sur la durée : plus d’une minute à cette valeur pour le lancement, et plus de 10 min au-dessous pour la fin.
Mais en effet, si ta machine se met en veille au-dessous de ces valeurs lors d’un cycle différé, je ne gère pas ça… ça va te faire un micro cycle batard de quelques minutes avec quelques W XD
Je t’avoue que je n’ai pas trop regardé le cas du lancement différé…
En ce moment j’ai un bug difficile à trouver sur la valeur affichée ici lorsque le cycle est en cours :