Vous avez adoré mon précédent guide qui explique comment configurer la domotique Home Assistant pour automatiser son chauffe-eau avec un panneau de pilotage dédié et design. Je reviens aujourd’hui avec un autre guide du même type avec un focus sur la machine à laver. C’est un appareil qui n’est pas encore énormément connecté. Bien que certains nouveaux modèles haut de gamme commencent à disposer d’une application, vous allez voir que même votre bonne vieille machine à laver qui a 10 ans, peut rapidement devenir connectée et intelligente avec la domotique Home Assistant.
Dans ce nouveau guide, je vous propose de créer un panneau de pilotage dédié à la machine à laver. Si les machines à laver sont simples à programmer pour un démarrage décalé sur les heures creuses par exemple, on dispose de peu voire pas d’autres informations la concernant. Pourtant, avec un simple prise connectée, vous allez voir que l’on peut assez rapidement mettre en place un suivi fin et précis de la machine à laver sous le système domotique Home Assistant.
En usant de quelques fonctionnalités clés du système Home Assistant qui sont parfois méconnues, on arrive à dresser un dashbord avec beaucoup d’informations sur la machine à laver. Consommation en direct, consommation du dernier cycle, durée du lavage, heure de fin, courbe de consommation… Tout ça avec une simple prise connectée à 10€ et un peu d’imagination.
Que ce soit sur la version web ou sur Home Assistant companion, vous disposez alors d’un suivi complet de tous vos cycles de machine à laver. Pratique pour suivre la consommation en fonction du mode de lavage !
Voyons alors sans plus attendre comment mettre en place et configurer ce tableau de bord sur votre système domotique.
La prise connectée
Avant tout, il nous faut un périphérique domotique capable de suivre la consommation de la machine. Il en existe plusieurs sur le marché, mais le plus simple, rapide à mettre en oeuvre et économique est la prise connectée. La seule condition est que cette prise soit en capacité à remonter la consommation au système domotique.
Pas de grande importance concernant la charge maximale car toutes les prises intelligentes du marché sont en capacité à piloter une charge maximale supérieure à 3000W. Veillez tout de même à vérifier la puissance max de votre machine afin de choisir une prise avec une charge max supérieure. Il existe plusieurs types de prises, personnellement j’ai opté pour une prise Nous Zigbee que j’utilise déjà sur de nombreux appareils dans la maison et que je trouve très fiable et précise. C’est aussi une prise qui fonctionne en Zigbee soit un routeur en plus dans le maillage Zigbee de la maison, ce qui est toujours un plus au passage.
Apprentissage de la consommation de votre machine, un point de départ à notre suivi intelligent
Maintenant que nous avons notre dispositif de mesure, il ne reste plus qu’à le connecter au système domotique, le mettre en place sur la machine à laver et lancer un cycle d’apprentissage.
J’entends par là que toutes les machines ne se comportent pas toute pareilles. En effet, la consommation de veille n’est pas la même selon le type ou la marque de la machine à laver. Etant donné que cette information est une information clé pour notre suivi intelligent, il faut commencer par enregistrer un premier cycle dans la domotique pour analyse.
Après analyse sur ma machine, je constate que la valeur de consommation de référence pour opérer la bascule entre cycle de lavage et veille se situe à 4W. En effet, en veille ma machine à laver consomme 3W et au plus bas sur un cycle de lavage, elle tombe à 4W. D’où l’importance de disposer d’un prise qui mesure très précisément la consommation si vous vous trouvez dans le même cas. Avec la prise Nous, aucun problème, la détection est faite correctement sur tous les cycles. On pourra toujours ajouter d’éventuels chiens de garde au besoin, mais avec la Nous Zigbee, je n’ai pas eu à mettre en place ce type de configuration.
Les entités natives de la prise Nous
Etat, consommation et puissance, les états par défaut remontés par la prise connectée vers le système domotique sont logiquement les premiers états à intégrer à notre panneau de suivi de la machine à laver. Ajoutons également avec la prise Nous le mode coupure qui est le mode de restauration de l’état de la prise après une coupure électrique. Toutes les prises n’ont pas toujours ce mode, pourtant bien pratique pour mémoriser l’état et le restaurer.
L’entité Cycle Machine
La première entité “custom” de notre tableau de bord est la carte Cycle Machine. Cette carte est un état booleon, un interrupteur virtuel à créer sous le menu Paramètres/Appareils et services/Entrées.
On nomme alors cet interrupteur virtuel “Cycle machine” et on lui applique l’icône suivante pour représenter un cycle.
mdi:auto-mode
Les entitées Début Machine et Fin Machine
Les deux cartes suivantes que nous allons créer sur notre dashbord dédié à la machine à laver sont deux entités date/heure à créer toujours sous le menu Parametres/Appareils et services/Entrées.
On nomme alors la première carte Début Machine avec l’icône suivante pour représenter le début de cycle.
mdi:washing-machine-alert
Puis on nomme la seconde carte Fin Machine avec l’icône suivante pour représenter la fin du cycle de lavage.
mdi:washing-machine-off
On applique également dans la configuration de ces entités le format Date et heure.
L’entité Durée dernière machine
La carte suivante à configurer se nomme “Durée dernière machine”, il s’agit d’une carte de calculs dynamiques, résultat d’un template déclaré dans le fichier de configuration .yaml de Home Assistant. Cette carte va afficher le temps de fonctionnement de la machine à laver sur le dernier cycle de travail.
Pour créer cette carte, nous allons donc éditer le fichier de configuration.yaml via Paramètres/Modules complémentaires/File editor
Repérer ensuite la section template de votre fichier de configuration représentée par :
template:
- sensor:
Si cette section n’existe pas encore dans votre fichier configuration.yaml ajoutez-la avant de coller le code ci-dessous. À moins que vous ayez un fichier template.yaml dédié déjà attaché au fichier principal dans la section “includes”. Dans ce cas, ouvrez ce dernier.
Suivant votre cas, ajoutez maintenant le code du template ci-dessous dans votre fichier de configuration.
Code disponible au téléchargement en fin de guide
Rapidement quelques explications sur ce code, on définit les variables sur les entités à manipuler, à savoir créer une variable debut_machine et une autre fin_machine qui contiendront les valeurs des entités date début et date fin créées juste avant.
On crée ensuite une autre variable avec laquelle nous allons user de quelques calculs pour mettre en forme l’information que nous voulons afficher, à savoir la durée du dernier cycle. Pour cela, on va déduire le temps écoulé entre les deux dates.
Enfin, on use d’une petite condition pour afficher dans cette carte l’information “En cours” pendant un cycle puis d’afficher le temps de cycle dans la carte une fois le lavage terminé.
L’entité Conso dernier cycle
La dernière carte de notre tableau de bord dédiée au suivi de la machine à laver va nous permettre de calculer et afficher la donnée de consommation pour le dernier cycle de la machine. Là encore, on passe par un sensor template codé dans le fichier de configuration, sous la section template (ou dans le fichier template.yaml).
Pour ce faire, ajoutez simplement le bloc de code ci-dessous juste après le code inséré pour l’entité Durée dernière machine créée juste avant.
Code disponible au téléchargement en fin de guide
Quelques explications sur ce template. On va simplement stocker la valeur de consommation du compteur de la prise dans une variable au démarrage de la machine, puis on va venir le comparer avec la valeur en fin de cycle pour obtenir la consommation du cycle.
Notez qu’il faut aussi créer une entrée supplémentaire de type “nombre” pour stocker la valeur “puissance_machine_debut” qui servira a effectuer le calcul.
Enfin, il ne reste plus qu’à vérifier et valider les blocs de codes ajoutés via le menu Outils de développement/YAML puis le bouton Vérifier la configuration.
Si tout est OK, le système vous retourne un message vert, vous pouvez alors cliquer sur redémarrer pour activer la nouvelle configuration. Dans le cas contraire il y a une erreur dans le code, peut-être juste un problème d’indentation, le yaml est parfois très exigent sur l’indentation… Retournez alors sous le fichier de configuration et vérifiez votre code avant de revenir ici pour vérifier le changement.
Les automatisations pour la gestion intelligente de la machine à laver
Maintenant que notre tableau de bord de monitoring est en place, passons à la partie automatisation pour rendre tout cela intelligent et dynamique. Mais étant donné que nous avons mis en place des templates qui sont évalués automatiquement par le système sur changement de valeur, nous n’avons finalement que deux automatisations à créer.
Une première qui se déclenche au démarrage de la machine et une seconde en fin de cycle. C’est aussi simple que cela finalement.
Détail de la première automatisation déclenchée en début de cycle
Le déclencheur est tout simplement la valeur de consommation de la prise connectée qui surveille la machine. Quand la prise détecte une puissance supérieure à 4W, alors cela signifie que la machine vient de démarrer un cycle.
Alors, on effectue plusieurs actions comme réinitialiser le compteur de consommation de cycle, l’appel d’un script détaillé plus bas. On définit la date/heure de début du cycle et on passe l’état de cycle à actif.
Petit garde fou avant d’agir, on effectue un contrôle sur l’entité “état de cycle” pour s’assurer que l’état est bien sur désactivé avant d’agir. Cela permet de sécuriser une action provoquée par un faux positif.
Code disponible au téléchargement en fin de guide
Détail du script de remise à zéro du compteur de cycle
Pour remettre à zéro le compteur, j’utilise un script que j’appelle dans l’automatisation ci-dessus. voici le détail du script :
Code disponible au téléchargement en fin de guide
Ce script est à créer sous parametres/automatisations et scenes/scripts.
Détail de la seconde automatisation déclenchée en fin de cycle
La fin du cycle machine s’appuie encore et toujours sur la valeur de consommation de la prise. Chez moi tout se joue au Watt près, c’est pourquoi il est important dans ce cas de disposer d’une prise connectée précise comme la Nous zigbee.
Alors, on effectue les actions nécessaires pour mettre fin au cycle dans les différentes entités et publier les informations ici est là. On définit la fin du cycle machine dans l’entité du même nom, puis on met à jour la date et l’heure de fin de cycle pour permettre à l’entité durée de cycle de calculer automatiquement le temps de cycle via son template dédié que nous avons programmé plus haut dans le fichier de configuration.
Code disponible au téléchargement en fin de guide
Notez que j’ai utilisé la notion d’ID de trigger dans mes automatisations. Cela n’est pas une obligation, mais peut apporter quelques avantages. Nous aurons l’occasion de traiter ce sujet en détail dans un guide complet car il y a pas mal de choses à dire dessus.
Il faut aussi créer une dernière entrée de type nombre Temps derniere machine qui sera appelé à la fin de l’automatisation.
Conclusion
Voilà les amis, après vous avoir proposé le suivi et pilotage du chauffe-eau dans un tableau de bord Home Assistant dédié, vous avez maintenant aussi la méthodologie pour suivre les cycles de la machine à laver. Bien sûr, cela peut aussi s’appliquer sur le lave-vaisselle ainsi que d’autres appareils électroménagers de la maison.
Par ce guide je vous montre aussi des approches différentes et usages de différentes parties techniques de la domotique Home Assistant qui regorge de petites subtilités. Mais prendre connaissance de ces différentes approches pour réaliser une action permet aussi d’ouvrir son esprit et sa créativité à toujours plus d’usages, c’est pourquoi j’aime vous proposer des guides avec des méthodes multiples. J’espère que vous avez découvert ici quelques petites subtilités intéressantes de HA et que vous avez maintenant envie de reproduire ce guide chez vous.
Pour aller un peu plus loin, on peut également ajouter un détecteur de fuite d’eau zigbee à positionner sous la machine pour detecter une eventuelle fuite, cela peut aussi être très utile.
Il existe plusieurs capteurs très efficace pour detecter rapidement une fuite et vous notifier via le systeme domotique.
Téléchargez l’ensemble des codes (template, automatisation et script de ce guide)
Pour simplifier la mise en oeuvre de ce guide dans votre système domotique, vous pouvez retrouver l’ensemble des codes utilisés à télécharger ici (codes des automatisations, des templates et des cartes du dashboard à copier-coller dans le fichier de configuration ou encore le script de remise à zéro. En téléchargeant ces codes, vous contribuez à soutenir le blog et éviter de voir de la publicité encombrer votre lecture. Merci à vous.
A bientôt pour un nouveau guide du genre qui est déjà en cours d’élaboration au domo-lab !
Top le tuto. Attention une erreur s’est glissée dans les captures d’écran. C’est écrit “Clyce”.
Bonjour,
Super complet, je tente de mettre en action cet article mais j’ai quelques difficultés sur les templates, voici le genre de message que j’obtiens :
Invalid config for ‘template’ at template.yaml, line 4: invalid template (TemplateSyntaxError: unexpected ‘%’) for dictionary value ‘sensor->0->state’ …
Dans un premier temps j’avais intégré le template au configuration.yaml puis j’ai essayé de créer un template.yaml mais le résultat est le même.
Je dois mal m’y prendre…
Bonjour,
tout semble indiquer une faute de frappe je pense.
J’ai relu à maintes reprises, je ne trouve pas la faute de frappe
Hello,
Perso, mon principal pb était de détecter la fin de cycle de lavage.
Pour cela, j’ai accroché un capteur zigbee sur le système de verrouillage de porte : la pulse électromagnétique permet de détecter le déverrouillage et la box annonce sur la fin du lavage sue l’amazon echo.
Le nombre de fois où j’ai oublié d’étendre le linge ! C’est fini grâce à ce hack super simple où j’ai remplacé l’aiment du capteur de porte par la bobine de verrouillage de la porte… la modification prend 19 minutes et est totalement réversible
Bonjour,
systeme interessant, bien vu.
Salut Bob,
Tu peux détailler un peu le capteur zigbee et ton montage?
Je cherche à savoir si la porte à été ouverte pour automatiser une notification familiale d’aller étendre le linge si ça n’a pas déjà été fait par l’un d’entre nous.
Super tuto !
Je coince sur les automatisations, où écrire le script ? dans le yaml ?
Bonjour,
le script est à créer sous parametres/automatisations et scenes/scripts
Bonjour,
Ton tuto toujours top.
Par contre, je vois un graphe. Tu utilises quoi comme carte?
Par avance Merci. Et continue à nous fournir toujours plus de contenu.
Bonjour,
je vous prépare un guide complet au sujet des graph pour tout vous expliquer.
Bonjour,
Est-ce qu’il te serait possible de partager la conf yaml du tableau de bord dans le pack?
Par avance merci 🙂
Bonjour,
le code du dashboard a été ajouté dans le pack à télécharger.
Bonjour, en attendant la mise à jour je me suis inspiré de ce précédent article du blog :
https://www.domo-blog.fr/home-assistant-et-le-design-du-tableau-de-bord-lovelace-comment-faire-un-beau-tableau-de-bord-ha/
Bonjour,
Où trouve-t-on “temps dernière machine” dans la deuxième automatisation ?
(je ne l’ai pas comme entité, ni “durée dernière machine” non plus)
Bonjour,
tout est dans le fichier code au besoin.
J’ai acheté le pack avec le code, mais j’ai toujours le même souci, “temps_derniere_machine” est inconnu…
Ce qui affiche dans l’automatisation
Appeler le service “Entrée calendrier: Définir” sur input_datetime.temps_derniere_machine
et non
Appeler le service “Entrée calendrier: Définir” sur temps_derniere_machine
Le probleme vient du nom de l’entité cycle machine dans les deux automatisations à corriger.
Bonsoir,
Pourquoi Appeler le service “Entrée calendrier : définir” sur “Temps dernière machine” à la fin de la seconde automatisation ?
Merci.
Hello, C’est necessaire au bon fonctionnement de mon systeme, comme je l’explique dans le guide.
Comme @fhesdin je n’ai pas cette entité donc je ne peux pas l’ajouter à la dernière automatisation.
Dans tous les cas même sans cet élément mes derniers cycles de machine à laver n’ont pas eu l’air de se répercuter. Hormis le changement de nom de la prise en ce qui me concerne (qui apparaît a deux reprises dans le tuto sauf erreur de ma part), j’ai du me tromper quelque part…
Le probleme vient du nom de l’entité cycle machine dans les deux automatisations à corriger.
Bonjour,
*****************
MISE A JOUR
*****************
Je viens de relire les fichiers téléchargés, dans celui de l’automatisation “début du cycle” par deux reprise il n’est pas inscrit cycle mais “input_boolean.clyce_machine”
Je pense que c’est à modifier. Je vais voir si c’est cela qui empêche l’exécution du programme.
Je garde tout de même ci dessous, mon sujet, en cas où la modification n’est pas suffisante.
Super travail, je me suis donc lancer à le réaliser, j’ai téléchargé tous vos fichiers (comme cela pas de problème d’écriture) Malgré cela après test et un cycle de lavage, cela n’a pas fonctionné. Voilà comment j’ai procédé, ai-je oublié quelque chose. Copier/Coller les 4 fichiers du pack_suivi_MAL, à savoir : code_premiere_automatisation_MAL ; code_seconde_automatisation_MAL (dans mes automatisations) code_templates_calculs_machine_laver (dans le fichier YAML) et script_raz_compteur_MAL (dans la partie parametres/automatisations scripts, car scène est un autre onglet) Modification des id par celles de ma prise ainsi que le nom du sensor par celui de ma prise. Voilà mes manipulations, dois-je en faire d’autres ?
Hello,
en effet, une petite coquille s’est glissée dans le code des automatisations au niveau du nom de l’entité “cycle machine”.
Bien entendu, le nom de l’entité doit correspondre avec le nom donné à la création de l’état Cycle machine. Sans quoi la mise à jour ne peut se faire.
Merci, c’est corrigé !
Super, après avoir changé le clyce en cycle tout fonctionne bien. Je suis très satisfait de ce suivi.
Merci d’avoir ajouter le paragraphe “créer une entrée supplémentaire de type “nombre” pour stocker la valeur “puissance_machine_debut” qui servira a effectuer le calcul” qui résoud un de mes problèmes : l’entité P machine a laver n’était pas visible…
N’y a-t-il pas un problème similaire pour l’entité “Temps dernière machine” (ou “comptage machine”) que je ne peux pas ajouter en fin de seconde automatisation ? (je n’ai accès qu’aux entités “début de machine” et “fin de machine”…)
je ne l’avais pas mentionné en effet, c’est ajouté.
Bonjour et merci pour l’ajout des deux entités manquantes dans le tuto.
Par contre :
– je ne comprends pas pourquoi tu crée une entrée de type nombre “durée dernière machine” alors que le script appel input_datetime.set_datetime sur l’entrée “input_datetime.temps_derniere_machine”
– j’ai toujours une erreur d’execution sur la dernière étape de la fin de cycle : “Erreur : Error rendering data template: UndefinedError: ‘duree_derniere_machine_h’ is undefined”. Est-ce qu’il n’y aurait pas une coquille dans le template pour faire connaitre cette variable dans le script?
P.S. : Le screenshot de création de l’entrée nombre “puissance_machine_debut” mentionne un max à 100 ce qui devrait être atteint après quelques cycles de machine puisqu’on y stocke la valeur de conso cumulé de la prise. Il faudrait probablement le monter à une valeur bien supérieure pour éviter de futurs soucis. Et le pas est mentionné à 1 alors que la puissance remonté par la prise est à un pas de 0.1kWh (par défaut) donc ca risque de limiter la précision du calcul de conso du cycle.
Hello,
alors en effet, la coquille n’est pas dans le script mais dans la config.
J’ai effectué plusieurs tests pour mettre au point ce système et en effet, ce n’est pas une entrée “durée dernière machine” qu’il faut créer, mais “temps dernière machine”.
J’ai modifié dans le guide.
Concernant la valeur max, tu as raison, à un moment il faudra reset le compteur de la prose, ou bien augmenter la valeur. je vais le mentionner aussi.
Bonjour !
L’entité de la dernière automatisation n’est toujours pas disponible à l’ajout, mais “durée dernière machine” est un nombre dans le tuto, donc l’ajout via une entrée calendrier n’est-elle pas le problème ?
Merci
Bonjour,
la carte “durée dernière machine” est alimenté par un template, pas directement par l’automatisation.
le template fait la comparaison entre les deux dates (début et fin), pour afficher le temps de cycle.
re,
après reproduction du guide dans mon lab avec les derniers correctifs tout est OK.
Petit tips : pour ceux qui, comme moi, ont une machine qui repasse sous le seuil de consommation de veille durant le cycle de lavage (chez moi pendant un cycle délicat elle repasse cycliquement à 0,1W) il est possible d’ajouter une durée dans le déclencheur de l’automatisation de fin de cycle pour éviter les faux-positif 🙂
Merci pour l’astuce !
Combien de temps as tu mis ?
J’ai mis 45 secondes parce que le cycle délicat fait des arrêt de 30 secondes. Après c’est comme pour le reste du tuto, c’est de l’analyse de données (à la mano) déjà récoltés lors de cycle précédents.
hello, merci pour ce tuto !
As tu une astuce pour programmer le départ de cycle pour plus tard avec une heure fixe (vers 2h en HC) ou en pouvant changer l’heure n’importe quand ?
Merci d’avance
Bonjour,
Attention, il s’agit d’un suivi, il n’y a aucun pilotage de la machine ici.
Pour ma part j’ai toujours un souci, visiblement c’est au niveau des automatisations.
J’utilise pourtant moi même une prise Nous, j’ai modifié le nom de ma prise en conséquence (j’ai testé avec un simple envoi de notification, cela fonction), le visuel de l’automatisation est identique au tien, pourtant j’obtiens un message d’erreur quand je veux exécuter manuellement les actions :
Erreur d’exécution de l’action
must contain at least one of date, time, datetime, timestamp.. Got {‘type’: ‘execute_script’, ‘sequence’: [{‘service’: ‘input_datetime.set_datetime’, ‘data’: {}, ‘target’: {‘entity_id’: [‘input_datetime.debut_machine’]}}], ‘id’: 1130}
Pourrais-tu me montrer le Yaml de l’automatisation de début de cycle que je comprenne d’où vient l’erreur ?
Merci
Bonjour Dartagnan
Je suis confronté au même problème que toi sur l automatisation :
Error while executing automation automation.mode_technique_lave_vaisselle_debut_cycle: must contain at least one of date, time, datetime, timestamp
Peux tu m’expliquer comment as tu résolu ce problème stp
Merci d’avance
bonjour, merci pour ce super tuto.
moi je galère par contre pour créer mon Dashboard et surtout la conso dernier cycle.
n’est il pas possible de préciser cette partie là dans le tutoriel svp ? 🙂
Merci par avance.
Hello,
j’ai ajouté le code du dashboard dans le fichier pour simplifier la mise en oeuvre du dashboard.
Merci @Aurélien_Brunet : j’ai enfin pu constater le bon fonctionnement sur un cycle de lavage !
Il me reste à y insérer la notification de fin de cycle sur le mobile, vérifier l’utilité d’une des entités sur le “temps dernière machine”, et puis mettre en forme sous un beau tableau en y incluant pourquoi pas le coût !
Merci pour ton tuto en tout cas.
Bravo pour le tuto. Je viens de voir que d’autres malin on trouvé ça intéressant sur le site infos-it
Bonjour,
je me suis permis de modifier ton commentaire pour supprimer le lien et ne pas faire plus de pub à cette imposture … Mais en effet, j’ai déjà remarqué son article ce week-end, j’ai aussi envoyé un petit message, mais bien sûr pas de retour.
Ils sont nombreux à surfer sur le plagiat (mauvais plagiat en plus) car son article sans images, n’est utile à personne.
On sent parfaitement dans ce travail qui lui a coûté 5 minutes tout au plus qu’il ne maîtrise absolument pas le sujet. Dommage qu’il n’y ait pas de commentaires, car j’aurai bien posé quelques questions techniques.
Espérons que mon message lui fasse a minima mettre un lien vers mon guide… Merci en tout cas. je t’invite à suivre mon guide plutôt que le sien si tu le veux bien 😉
Je suis tombé dessus aussi tout à l’heure, j’ai même cherché le nom de l’auteur pour voir si c’était une collaboration… Que nenni donc !
non, simplement un imposteur qui fait du bourrage de mot clé sans aucune autre utilité.
Bonjour,
Merci pour ce tuto.
J’ai téléchargé les fichiers.
En fait, je ne vois pas les sensors créés dans le configuration.yaml, ils n’apparaissent pas dans la liste des entités.
J’ai redémarré plusieurs fois HA. Mais rien.
merci pour l’aide.
Bonjour,
c’est probablement un probleme d’indentation ou caractere oublié dans la copie du code.
Il faut bien redemarrer HA et non pas seulement un redemarrage rapide pour prise en compte.
Hello,
Super tuto, j’ai acheté ton pack mais il me reste juste un souci. Effectivement, la tuile “Fin de machine” reprend la date du jour et heure dès que je redémarre ma box HA. Là j’en suis à 19H de nettoyage du coup 😉 Une idée ?
Bonjour, malheureusement en effet, les template sont réévalués au reboot.
J’avoue ne pas avoir creuser ce point.
Bonjour,
Une solution à venir ?
Bonjour,
La dernière entrée à créer “Temps dernière machine” n’est pas de type nombre mais plutôt Date et/ou Heure, correct ?
Bonjour,
La dernière entrée à créer “Temps dernière machine” n’est pas de type nombre mais plutôt Date et/ou Heure, correct ?
Et j’ai un problème de script, j’obtiens cette erreur:
Stopped because an error was encountered at 15 mars 2024 à 08:54:17 (runtime: 0.02 seconds)
must contain at least one of date, time, datetime, timestamp.
Il s’agit du script debut cycle.
Une idée de ce que je dois changer ?
Merci
bonjour , pareil je sèche un peu , tu as pu avancer ?
Bonjour ,
j ai un problème avec le fichier templates.yaml ,
il est bien déclaré dans le configuration.yaml : template: !include templates.yaml
les sensors “Comptage Machine a laver” et “P Machine a laver” ne sont pas creer ,
j obtiens cette erreur : Template variable error: ‘value_json’ is undefined when rendering ‘{{ value_json.message }}’
mon fichier templates.yaml:
## ce code est a ajouter au fichier configuration/;aml de Home Asssitant sous la balise :
template:
– sensor:
#
# Calcul Machine a laver
– name: “Comptage Machine a laver”
state: >
{% set debut_machine = as_timestamp(states(‘input_datetime.debut_machine’)) -%}
{%- set fin_machine = as_timestamp(states(‘input_datetime.fin_machine’)) -%}
{%- set duree_derniere_machine = fin_machine – debut_machine -%}
{%- set duree_derniere_machine_h = (duree_derniere_machine | float // 60) | round(0) -%}
{% if fin_machine
{% set p_debut_machine = states(‘input_number.puissance_machine_debut’) | round(2) %}
{% set p_fin_machine = states(‘sensor.machine_a_laver_energy’) | round(2) %}
{% set p_cycle_machine = p_fin_machine – p_debut_machine %}
{{ (p_cycle_machine) | round(2) }} kWh
une idée les copains ?
dommage on ne peux pas copier le code avec de bonne indentations .
Salut,
essai de supprimer template: , sa devrai fonctionner.
ouep nikel 🙂
Bonjour,
Merci pour ce tuto très complet, j’ai réussi à l’appliquer aussi bien à la machine à laver, qu’aux lave vaisselle et sèche linge.
Merci sa fonctionne super bien.
Bonjour,
J’ai pris le pack ce weekend mais j’ai des problèmes avec la dernière action de la 2 automatisation ( Appeler le service “Entrée calendrier: Définir” sur Temps dernière machine).
J’ai vérifié les codes Yaml, j’ai créé l’entrée temps dernière machine (input_datetime.temps_derniere_machine), mais cette dernière action ne se déclenche pas. Quand je tente de l’exécuter manuellement le message suivant apparaît : Error rendering data template: UndefinedError: ‘duree_derniere_machine_h’ is undefined (pourtant bien présente dans configuration.yaml).
Dans les outils de développement la variable ‘duree_derniere_machine_h’ n’évolue pas, la date reste au 28/04 et l’heure reste figée à 0h0mn0sec.
Avez vous une idée du problème ?
Merci beaucoup
Bonjour Bruno,
tout semble indiquer un probleme dans le code (faute de frappe ou si ça fonctionne dans le menu dev) peut-être un probleme d’indentation.
C’était ma premiere idée, Je vais rerevérifier.
Merci beaucoup
Bonjour Bruno je rencontre le même problème, tu aurais trouvé une solution ? Merci
Bonjour,
Super tuto ! Merci beaucoup. En plus ça donne de bonnes idées pour des dashboards, 😁. Je suis débutant et c’est parfait pour mettre le pied dans les automatisations!
Je me dis qu’il serait intéressant d’historiser les données “temps cycle” et “conso cycle”. Mais j’avoue ne pas savoir comment récupérer les données et comment les présenter. Quelqu’un aurait un début d’idée ou de piste à proposer?
Merci beaucoup
Bonjour,
dans l automation fin cycle, a un moment tu as
si lorsque déclanché par machine arret
je bloque a cet endroit , je le trouve ou le machine arret ?
je suppose que tu as insereré ce id quelque part , mais ou ?
(vivement l article qui en parle aussi :p )
Jé
Hello, il s’agit de l’ID d’automatisation qui se trouve au niveau du bloc déclencheur. Ouvres les 3 petits points du bloc et modifier ID pour le créer).
Le guide complet arrive très bientôt
Hello,
Merci pour ce tuto, j’avais déjà en place quelque chose pour me notifier de la fin d’un cycle avec rappel toutes les 10min jusqu’à ce que j’ouvre la porte de la machine à laver (du coup capteur d’ouverture de porte).
J’ai donc rajouté la conso et le temps du dernier cycle dans mon dashboard!
Je viens de me commander des prises pour le lave vaisselle et peut-être aussi le sèche linge (que j’utilise peu donc je vais peut-être utiliser ça ailleurs) mais ça sera sympa d’avoir la même chose.
Je pense qu’ajouter les notifications et mettre tout ça dans un blueprint serait une belle v2 😉
Bonjour,
J’ai reproduit ce guide après avoir téléchargé les fichiers YAML.
J’ai du adapter les entités avec des noms différents pour correspondre à 3 machines différentes (Lave-Vaisselle, Lave-Linge, Sèche-Linge).
Mais chaque automatisation me remonte une erreur sur duree_derniere_lave_vaisselle_h qui n’est pas défini. Cette variable correspond à duree_derniere_machine_h du fichier code_seconde_automatisation_MAL.
Je pense que cette variable n’est pas définie en-dehors du template qui l’utilise.
Y-a-t’il un intéret à conserver cette dernière partie de l’automatisation de fin de cycle ?
Car l’entité qui y est modifiée (input_datetime.temps_derniere_machine) ne semble pas être utilisée ailleurs dans tout le code (ni dans le guide).
hello ,
j ai beaucoup d erreur de ce type :
Error while executing automation automation.mode_technique_machine_a_laver_fin_cycle: Error rendering data template: UndefinedError: ‘duree_derniere_machine_h’ is undefined
y a t il du monde qui a les meme ?