Automatiser la rotation des pages du Magic Mirror

Après avoir conçu mes trois vues dans Home Assistant (horloge/météo, organisation familiale, suivi bien-être), il me manquait une pièce maîtresse pour rendre l’expérience fluide et immersive : la rotation automatique entre les pages.
L’objectif : ne jamais toucher l’écran. Le tableau de bord change seul, à intervalles réguliers, comme un carrousel d’informations, adapté à un usage mural, passif, mais toujours pertinent.
Dans cet article, je vous explique comment j’ai mis en place cette rotation automatique — sans module tiers ni JavaScript complexe, uniquement avec les outils de base de Home Assistant.
Préambule
L’article ici présent met en place une version simplifiée de la rotation que j’ai réellement mis en place sur mon Magic Mirror. En effet, sur mon Raspberry Pi d’affichage, j’utilise des services Linux pour faire tourner les onglets Chromium sur l’écran sans intervention humaine. J’ai voulu écrire un article un peu plus accessible pour les personnes n’ayant pas l’habitude des lignes de commandes…
Pourquoi automatiser la rotation ?
Le Magic Mirror n’est pas un écran interactif tactile : c’est un support d’affichage passif. Il doit :
- afficher un contenu pertinent à tout moment de la journée,
- changer de vue sans intervention humaine,
- revenir à une page par défaut au besoin.
Cette logique de "carrousel" permet :
- de diffuser plus d’informations sans surcharger une seule vue,
- d’adapter l’information au moment (par exemple, l’agenda le matin, les températures l’après-midi),
- de renforcer la sensation de fluidité et d’élégance.
Méthode retenue : automation + navigate
service
1. Pré-requis
- Avoir un tableau de bord dédié dans Home Assistant (ex :
magicmirror
). - Avoir défini chaque vue (page) avec un chemin (
path
) clair :-
page-1
pour l’heure/météo -
page-2
pour les calendriers -
page-3
pour le confort ambiant
-
2. Utilisation du service navigate
Home Assistant permet de naviguer vers une autre vue via le service :
service: browser_mod.navigate
data:
path: /lovelace/magicmirror/page-2
browser_id: magic_mirror_kiosk
🔸 Le
browser_id
est essentiel. Il identifie l’écran concerné (le Raspberry Pi du Magic Mirror). Il est fourni par l’intégrationbrowser_mod
.
3. Créer une automatisation de rotation
Voici une automatisation complète qui fait tourner les vues toutes les 30 secondes :
alias: Rotation Magic Mirror
trigger:
- platform: time_pattern
seconds: "/30"
variables:
pages:
- /lovelace/magicmirror/page-1
- /lovelace/magicmirror/page-2
- /lovelace/magicmirror/page-3
current_page: >
{{ state_attr('sensor.magicmirror_current_page', 'path') or '/lovelace/magicmirror/page-1' }}
next_index: >
{% set index = pages.index(current_page) %}
{% if index + 1 >= pages | length %}
0
{% else %}
index + 1
{% endif %}
next_page: >
{{ pages[next_index] }}
action:
- service: browser_mod.navigate
data:
path: "{{ next_page }}"
browser_id: magic_mirror_kiosk
mode: single
Cette version :
- détecte la page actuelle (avec un
sensor
personnalisé ou une intégration commekiosk-mode
), - calcule l’index suivant,
- utilise le service
browser_mod.navigate
pour changer de vue.
🛠️ Astuce : tu peux aussi créer plusieurs automatisations distinctes (une par page) si tu préfères une logique plus simple et séquencée.
Et côté Raspberry Pi ?
Ton Raspberry Pi (afficheur Magic Mirror) doit lancer Home Assistant en plein écran dans Chromium, avec un identifiant reconnu par browser_mod
.
Exemple de lancement via chromium-kiosk.service
:
chromium-browser --kiosk --noerrdialogs --disable-infobars --start-fullscreen http://homeassistant.local:8123/lovelace/magicmirror/page-1
Et dans la configuration browser_mod
(configuration.yaml
) :
browser_mod:
devices:
magic_mirror_kiosk:
name: Magic Mirror
Résultat : un Magic Mirror vraiment magique
Grâce à cette rotation automatisée :
- les vues s’enchaînent sans interruption,
- l’écran est toujours à jour,
- les enfants n’ont rien à manipuler.
On passe ainsi d’un affichage figé à un dashboard vivant, contextuel et toujours utile.
En bonus : rotation intelligente
Tu peux aller plus loin :
- afficher une page selon l’heure (matin = agenda, soir = températures),
- afficher une page selon la présence ou l’ouverture d’une porte,
- suspendre la rotation si un mode "invité" est activé.
Mais ça… on en reparlera potentiellement dans un article bonus 😏
Derniers commentaires
# Le 19 octobre 2024 à 13:09, par nico
En réponse à : MagicMirror², ma configuration personnalisée
# Le 25 septembre 2024 à 12:01, par Teddy Payet
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation
# Le 25 septembre 2024 à 11:20, par vY
En réponse à : Un Nouveau Chapitre : Mon Admission dans un MBA en Intelligence Artificielle et Data Innovation
# Le 21 juin 2024 à 13:49, par Teddy Payet
En réponse à : Home Assistant : Routine le matin avant l’école
# Le 21 juin 2024 à 10:47, par Teddy Payet
En réponse à : Ma domotique open source
# Le 16 juin 2024 à 17:15, par Eric
En réponse à : Ma domotique open source