Accueil » Domotique » Home Assistant » Comment connecter la machine à laver sous la domotique Home Assistant ?
Home Assistant

Comment connecter la machine à laver sous la domotique Home Assistant ?

home-assistant-guide-suivi-machine-laver-dashboard-lovelace-conso-cycle

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.

Tableau de bord machine à laver sous Home Assistant – © domo-blog

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.

Tableau de bord domotique machine à laver sous l’application mobile Home Assistant – © domo-blog

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 !

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

69 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • 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…

  • 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,
    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,
    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)

      • 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

  • Bonsoir,
    Pourquoi Appeler le service “Entrée calendrier : définir” sur “Temps dernière machine” à la fin de la seconde automatisation ?
    Merci.

      • 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…

  • 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”…)

      • 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.

  • 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 🙂

  • 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

  • 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.

  • 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.

    • 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 !

  • 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,
    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 ,
    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 ?

  • 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,

    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 )

    • 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).

energie
promos domotique
green
promos 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

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

L’entité Cycle Machine

L’entité Durée dernière machine

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

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é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

Conclusion

Voilà les amis, après vous avoir proposé le suivi et pilotage du chauffe-eau dans un tableau de bord Home Assistant

  • La prise connectée
  • Apprentissage de la consommation de votre machine, un point de départ à notre suivi intelligent
  • L’entité Cycle Machine
  • L’entité Durée dernière machine
  • Les automatisations pour la gestion intelligente de la machine à laver
  • Détail de la première automatisation déclenchée en début de cycle
  • Détail de la seconde automatisation déclenchée en fin de cycle
  • Conclusion