[Carte] Appliance Électroménager Cards : 16 cartes animées pour l'électroménager, pensées pour les prises connectées

Bonjour à tous,

Je partage un pack de 16 cartes Lovelace pour l'électroménager et les équipements de la maison. Chaque carte affiche une illustration réaliste de l'appareil qui s'anime selon son état : le tambour du lave-linge tourne, les flammes du poêle dansent, le couvercle du congélateur se soulève quand il est ouvert…

Les 16 cartes animées

Le point de départ : chez moi, le lave-linge, le sèche-linge, le lave-vaisselle, le frigo et le ballon d'eau chaude sont sur de simples prises connectées qui remontent la puissance (W) et l'énergie (kWh). Je voulais autre chose qu'une icône et un chiffre, et je n'ai rien trouvé qui exploite bien ce type d'installation. Les cartes sont donc conçues d'abord pour ça : une prise avec mesure suffit, pas besoin d'un appareil « connecté » ni d'une appli de marque.

Dépôt GitHub : GitHub - skyrotter/ha-appliance-electromenager-cards: 16 realistic animated Lovelace cards / électroménager: washer, dryer, dishwasher, water heater, oven, microwave, fridge, freezers, pellet stove, pool pump, 3D printer, solar, VMC, cooktop, radiator. HACS. · GitHub
Démo en ligne (sans rien installer) : Appliance Cards – page de test


Les 16 cartes

# Carte Type Lovelace
1 Lave-linge custom:appliance-washer-card
2 Sèche-linge custom:appliance-dryer-card
3 Lave-vaisselle custom:appliance-dishwasher-card
4 Ballon d'eau chaude custom:appliance-water-heater-card
5 Four custom:appliance-oven-card
6 Micro-ondes custom:appliance-microwave-card
7 Réfrigérateur / congélateur custom:appliance-fridge-card
8 Poêle à granulés custom:appliance-pellet-stove-card
9 Pompe de piscine custom:appliance-pool-pump-card
10 Imprimante 3D custom:appliance-printer-3d-card
11 Congélateur coffre custom:appliance-chest-freezer-card
12 Congélateur à tiroirs custom:appliance-drawer-freezer-card
13 Panneaux solaires + onduleur custom:appliance-solar-card
14 VMC / extracteur de salle de bain custom:appliance-vmc-card
15 Plaques de cuisson électriques custom:appliance-hob-card
16 Radiateur électrique à inertie custom:appliance-radiator-card

Ce que chaque carte affiche

  • Puissance en direct, énergie consommée, coût (si vous avez un capteur de coût)
  • Temps restant et heure de fin (« Fin à 15:54 ») si l'appareil les fournit
  • Températures (four, ballon, frigo, congélateurs, radiateur, buse et plateau de l'imprimante) si vous avez les capteurs
  • Alertes : porte ou couvercle ouvert, frigo ou congélateur trop chaud, humidité élevée (VMC), fenêtre ouverte (radiateur), niveau de granulés bas
  • Un afficheur LCD sur l'appareil qui reprend l'état, comme sur le vrai
  • Un clic sur une valeur ouvre son historique

Et aussi :

  • Éditeur visuel complet, pas besoin de YAML
  • Détection automatique des entités à l'ajout de la carte (si leur nom contient lave_linge, frigo, ballon, poele, piscine, solaire, vmc, radiateur…)
  • Suit le thème clair/sombre de HA
  • Français / anglais automatiquement selon la langue de HA
  • S'adapte à la taille de l'écran et à la vue en sections
  • Animations désactivables (animations: false)
  • Aucune dépendance : un seul fichier JS

Installation via HACS

Ouvrir dans HACS

Ou à la main :

  1. HACS → les 3 points en haut à droite → Dépôts personnalisés
  2. Dépôt : https://github.com/skyrotter/ha-appliance-electromenager-cards, catégorie Dashboard
  3. Cherchez Appliance Électroménager Cards → Télécharger
  4. Rechargez la page (Ctrl+F5)
  5. Modifier le tableau de bord → Ajouter une carte → tapez « Appliance »

Home Assistant 2024.8 minimum.


Comment l'état est déterminé

  1. Si entity a un état descriptif (running, finished, idle, ou un texte comme Rinçage), il est utilisé tel quel.
  2. Si entity est un input_boolean ou un binary_sensor : on = en marche.
  3. Si entity ou switch est une prise allumée : c'est la puissance qui décide (au-dessus de threshold = en marche, en dessous = veille).
  4. Puissance seule : au-dessus de threshold = en marche.

Les seuils par défaut sont adaptés à chaque appareil (10 W pour le lave-linge, 20 W pour le frigo, 50 W pour le radiateur…) et réglables.

Exemple minimal avec une prise :

type: custom:appliance-washer-card
entity: switch.prise_lave_linge
power: sensor.prise_lave_linge_puissance
energy: sensor.prise_lave_linge_energie_jour
cost: sensor.lave_linge_cout_jour   # facultatif
Astuce lave-linge : détection de cycle fiable (automatisation prête à l'emploi)

Un lave-linge fait des pauses (trempage, chauffe) pendant lesquelles la puissance tombe à quelques watts. Avec la puissance brute, la carte alterne entre « En cours » et « Veille ». L'automatisation suivante considère que le cycle démarre au-dessus de 100 W pendant 30 s et qu'il se termine sous 20 W pendant 8 min.

  1. Créez une entrée Interrupteur (input_boolean.lave_linge_en_cours).
  2. Ajoutez l'automatisation (remplacez le capteur de puissance par le vôtre) :
alias: Lave-linge – détection de cycle
mode: restart
triggers:
  - trigger: numeric_state
    entity_id: sensor.prise_lave_linge_puissance
    above: 100
    for: "00:00:30"
    id: start
  - trigger: numeric_state
    entity_id: sensor.prise_lave_linge_puissance
    below: 20
    for: "00:08:00"
    id: end
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: start
        sequence:
          - action: input_boolean.turn_on
            target:
              entity_id: input_boolean.lave_linge_en_cours
      - conditions:
          - condition: trigger
            id: end
          - condition: state
            entity_id: input_boolean.lave_linge_en_cours
            state: "on"
        sequence:
          - action: input_boolean.turn_off
            target:
              entity_id: input_boolean.lave_linge_en_cours
          # facultatif : notification de fin
          # - action: notify.mobile_app_mon_telephone
          #   data:
          #     message: "La lessive est terminée 🧺"
  1. Dans la carte :
type: custom:appliance-washer-card
entity: input_boolean.lave_linge_en_cours
power: sensor.prise_lave_linge_puissance
energy: sensor.prise_lave_linge_energie_jour

Valeurs conseillées : lave-linge 100 W / 20 W / 8 min, sèche-linge 100 W / 15 W / 5 min, lave-vaisselle 50 W / 10 W / 10 min. Syntaxe triggers: / actions: : HA 2024.10 ou plus récent.


Détails par carte

Poêle à granulés

Avec une simple prise, la carte distingue l'allumage (la bougie consomme 250 à 400 W pendant quelques minutes) du fonctionnement (ventilateur et vis sans fin, 30 à 100 W) :

  • au-dessus de ignition_threshold (250 W) : Allumage, petite flamme, bougie rouge, fumée au conduit
  • au-dessus de threshold (20 W) : Chauffe, flammes selon power_level, braises, air chaud
  • en dessous : Arrêt / Veille

L'extinction, le nettoyage et les alarmes viennent d'une entité d'état (entity:) ou d'une entité climate d'une intégration de poêle.

type: custom:appliance-pellet-stove-card
power: sensor.prise_poele_puissance
energy: sensor.prise_poele_energie_jour
temperature: sensor.salon_temperature
power_level: sensor.poele_puissance_niveau   # facultatif, 1–5
pellet_level: sensor.poele_niveau_granules   # facultatif, %

:warning: Ne coupez jamais l'alimentation d'un poêle en marche ou en extinction : son ventilateur doit évacuer les fumées. Si switch: est renseigné, la carte demande un second clic.

Pompe de piscine

L'eau circule en boucle sur le dessin : piscine → préfiltre (eau qui tourbillonne, feuilles dans le panier) → pompe → retour avec bulles. La vitesse de l'animation suit speed (tr/min ou %) ou la puissance rapportée à max_power. runtime affiche le temps de filtration du jour, par exemple avec un history_stats :

sensor:
  - platform: history_stats
    name: Filtration piscine aujourd'hui
    entity_id: switch.pompe_piscine
    state: "on"
    type: time
    start: "{{ today_at() }}"
    end: "{{ now() }}"
type: custom:appliance-pool-pump-card
switch: switch.pompe_piscine
power: sensor.pompe_piscine_puissance
energy: sensor.pompe_piscine_energie_jour
temperature: sensor.piscine_temperature_eau
runtime: sensor.filtration_piscine_aujourd_hui
max_power: 1100
Imprimante 3D

Imprimante à plateau mobile (Bambu Lab A1, Prusa MK, Ender…). La tête balaie, le portique monte couche après couche et la pièce grandit avec progress. Fonctionne avec les intégrations Bambu Lab, OctoPrint, Moonraker/Klipper, PrusaLink (états prepare, running, pause, finish, failed…) ou avec une simple prise (au-dessus de 40 W = impression).

type: custom:appliance-printer-3d-card
entity: sensor.a1_print_status
progress: sensor.a1_print_progress
remaining: sensor.a1_remaining_time
temperature: sensor.a1_nozzle_temperature
bed_temperature: sensor.a1_bed_temperature
program: sensor.a1_task_name
filament_color: "#ff8a1f"
Congélateur coffre et congélateur à tiroirs
  • Coffre : quand door s'ouvre, le couvercle se soulève et montre l'intérieur éclairé, avec le froid qui s'échappe.
  • Tiroirs : la porte s'ouvre sur quatre tiroirs transparents et un tiroir sort.
  • Les deux : flocon qui pulse et air froid en bas quand le compresseur tourne, alerte « trop chaud » au-dessus de freezer_max_temperature (−12 °C par défaut), alerte porte ouverte.
  • Si switch: est renseigné, couper un congélateur demande toujours un second clic.
type: custom:appliance-chest-freezer-card
power: sensor.prise_congelateur_puissance
energy: sensor.prise_congelateur_energie_jour
temperature: sensor.congelateur_temperature
door: binary_sensor.congelateur_couvercle
Panneaux solaires

Le soleil, deux panneaux sur leur structure alu et l'onduleur, sans décor.

  • Production : soleil jaune qui grossit selon la production (par rapport à max_power), rayons qui tournent, reflet qui balaie les panneaux, énergie qui circule dans le câble jusqu'à l'onduleur.
  • Pas de production (nuit, pas de soleil) : soleil gris, panneaux sombres, onduleur au repos, NIGHT sur l'afficheur.
type: custom:appliance-solar-card
power: sensor.solaire_puissance
energy: sensor.solaire_energie_jour
cost: sensor.solaire_economies_jour   # facultatif
max_power: 3000                       # puissance crête (Wc)
VMC / extracteur de salle de bain

Extracteur mural sur un mur carrelé. Petite vitesse : les pales tournent lentement et l'air humide est aspiré. Grande vitesse : tout accélère. Humidité au-dessus de humidity_max (70 %) : buée et gouttes de condensation, avec alerte. Avec une prise : 5–35 W = petite vitesse, au-dessus de high_threshold (35 W) = grande vitesse. Une entité speed est prioritaire si vous en avez une.

type: custom:appliance-vmc-card
power: sensor.prise_vmc_puissance
energy: sensor.prise_vmc_energie_jour
humidity: sensor.salle_de_bain_humidite
Plaques de cuisson

Table vitrocéramique noire à 4 foyers, casserole et poêle. Chaque foyer actif rougit selon son niveau, la casserole fume, la poêle grésille, et un H (chaleur résiduelle) reste affiché residual_minutes (10 min) après la cuisson. Données par foyer (zone_1 à zone_4, niveau 0–9, W ou %) si votre intégration les fournit (Home Connect, SmartThings…), sinon les foyers s'allument d'après la puissance totale.

type: custom:appliance-hob-card
power: sensor.plaques_puissance   # module DIN ou pince ampèremétrique
energy: sensor.plaques_energie_jour

:warning: Une plaque de cuisson est sur un circuit dédié 20–32 A : jamais sur une prise connectée.

Radiateur électrique à inertie

Radiateur mural à six éléments avec son boîtier de commande (afficheur, icônes Confort / Éco / Hors-gel). En chauffe, les colonnes rougissent et la chaleur ondule au-dessus, plus fort selon la puissance (par rapport à max_power). Le mode est lu depuis un select fil pilote, un preset climate ou toute entité de mode. Fenêtre ouverte (window) : air froid et alerte.

type: custom:appliance-radiator-card
entity: climate.radiateur_salon   # ou seulement power / mode
power: sensor.radiateur_salon_puissance
window: binary_sensor.fenetre_salon

Bouton marche/arrêt

Le bouton n'apparaît que si switch: est renseigné. Pour éviter les accidents, couper un lave-linge, sèche-linge, lave-vaisselle, poêle ou imprimante 3D en marche demande deux clics, et couper un congélateur en demande toujours deux. confirm_off: false désactive cette sécurité. Sur un lave-linge, le plus simple est souvent de ne pas mettre de switch: du tout.

Limites (pour être clair)

  • Une prise ne connaît ni le programme, ni la phase (rinçage, essorage), ni le temps restant. Avec une prise seule, la carte affiche « En cours » pendant tout le cycle. Les phases et le temps restant s'affichent si votre appareil connecté (Home Connect, SmartThings, LG ThinQ…) les remonte.
  • Les températures demandent des capteurs.
  • Sécurité : vérifiez que la prise supporte l'appareil (16 A, soit 3 680 W en général). Four encastré et plaques de cuisson : module de mesure sur rail DIN ou pince ampèremétrique au tableau, jamais une prise connectée.

Tester sans installer

La page de démo permet de jouer avec des curseurs (puissance, état, température, porte, mode…) et de voir les 16 cartes réagir, en clair ou en sombre, en français ou en anglais :

Il y a aussi une page de tests automatiques (233 tests) :


C'est gratuit et open source (licence MIT). Je suis preneur de vos retours : bugs, appareils à ajouter, idées d'animation, ou simplement vos captures de tableau de bord. Vous pouvez répondre ici ou ouvrir une issue sur GitHub. Et si le projet vous plaît, une :star: sur le dépôt fait toujours plaisir.

Merci !

Bonjour,
Merci pour ces chouettes cartes ! Petite question en liaison, car je n'ai jamais osé mettre de prises connectées sur ces gros appareils, quel modèle de prise utilises-tu ?
Merci d'avance pour ta réponse !
Philippe

NOUS A7Z Prise Connectée ZigBee 3.0, 16A, Certifiée TÜV, Suivi de Consommation, Contrôle par App et Voix, Minuterie, Compatible Alexa, Google Home, Home Assistant & Tuya, Hub ZigBee Requis, Pack of 4

Super ! Merci beaucoup !

Neo NAS-WR01B ici

l'important c'est de prendre du 16 A pour lave linge / lave vaisselle / seche linge

l'autre solution, si c'est juste pour la mesure de consommation, c'est de prendre un système a base de pince ampèremétrique (genre pour une plaque de cuisson qui peut aller au delà des 16A), mais c'est difficile a mettre en place coté prise. Ca se fait bien dans le tableau par contre en cas de ligne dédiée.

Bonjour,
Vraiment sympa d'avoir des images plutôt qu'un interrupteur sur un dashboard dédié. Beau boulot ! Il manque peut-être la télévision :wink:.

Bonjour, bravo, très sympa installé et utilisé.

Bonjour,

Super ! Merci beaucoup ! Superbe travail

Serait-il possible d'ajouter des cartes pour des splits de pompe à chaleur et des planchers chauffants ?

Serait-il possible d'ajouter un coût en numérique (ie. sans passer par un sensor) ?

Merci beaucoup :slight_smile:

Testé et adopté sur mes radiateurs électriques, ma pompe piscine, lave-linge, sèche-linge, lave-vaisselle et ballon ECS !

Merci pour ce boulot :smiley:

En test sur mon lave-linge pour commencer, qui est juste raccordé via prise connectée et un fingerbot pour lancer les cycles. J'ai un compteur temps qui s'active au dessus d'un seuil en watts du style sensor.lave_linge_temps_ecoule_cycle_courant, mais comment l'intégrer par rapport aux Type-specific options ?

Mon anicenne carte

avec l'image animée

Merci.

Merci @nicolas59 pour les cartes, j'aime beaucoup les visuels.

j'utilise aussi en complément celle de @JDLaplace

merci a tous les deux pour ce beaux travail :+1:

Bonjour,
Merci pour ces jolies cartes, j'ai cependant quelques idées d'amélioration.

Pour le compteur Linky, il faudrait pouvoir mettre

  • 6 index de consommation (contrat Tempo) : 3HP et 3HC en fonction des périodes
  • 1 index d'injection sur le réseau
  • 1 tarif d'injection
  • la possibilité de saisir manuellement ou via une entité les HC/HP
  • la différence entre tarif et coût n'est pas très claire.

Merci pour ce super travail en tout cas :slight_smile:

salut

je trouve l'image de la télévision, un peu trop basic (on dirait un simple rectangle en mode éteint).

peut être qu'une image avec le pied serait plus représentative.

un peu de ce genre,

c'est juste un avis perso.

Merci pour les cartes,

dans la continuité : box internet, onduleur à batterie, speakers style google mini ou autre, imprimante réseau, imprimante 3D résine, objets multimédia style jukebox, pincab, raspydarts.....

Merci.

Edit : comme mes machine à laver, sèche linge sont sur prises connectées et du coup ne remontent pas le temps restant, j'ai du créer des helpers pour un temps estimatif pour avoir une idée du temps restant et de la barre de progression, à partir de l'heure de mise en fonction

Hello,
À priori HA Wash Data permet d'analyser les cycles des électroménagers. C'est en cours de test chez moi :slight_smile:

Hello, le souci, c'est si il y a un changement de cycle volontaire, comme il n'y a pas de remontée, il faut le changer à la main. Donc du coup temps restant et barre de progression sont KO. Si ces entités ne sont pas disponibles, on peut remplacer par le temps écoulé depuis le démarrage du cycle, c'est ce que j'utilise actuellement sur d'autres cartes . Les valeurs sont foireuses parce que je lance des départs cycles pour voir le retour dans tes cartes.