Bonsoir,
J’ai terminé de bricoler un truc sympa donc je partage l’info. Avec l’affichage mural (un PI3 sous raspios et un écran tactile), je trouve pas terrible d’afficher 100% du temps une des pages de Home Assistant:
- Parce que la plupart du temps, on passe pas sa vie à regarder la variation du la température au 1/10
- Coté décoration/WAF, même si l’interface lovelace est sympa, une jolie photo ça fait plus cadre numérique
- Niveau discrétion, c’est pas forcement utile que les invités profitent des infos dont ils se fichent éperdument
Avec ce plugin, les photos (d’internet et en fonction des choix) défilent toutes seules… c’est beau !
Comme les économiseurs d’écran classiques, toucher l’écran affiche à nouveau HA !
En bonus et en bidouillant un peu, on arrive à couper l’écran quand tout le monde est au lit ou que la maison est vide… Et l’allumer le matin lors que le premier se lève.
Voici comment faire :
Etape 0: Prérequis
- On va supposer que vous avez déjà installer votre PI et HA… que vous connaissez les comptes d’accès (pi/root)
- Que pour éditer un fichier, on passera par nano
- Que pour déplacer des fichiers, c’est votre outil préféré qui fera le boulot : winscp par exemple
- Mon PI a pour adresse IP
123.123.123.123
- Mon
url
d’accès à HA esthttps://urldemonhomeassistant.amoi.fr
Donc penser à adapter en fonction de votre cas
Etape 1: Installer XLDE et chromium
$ sudo apt-get update && $ sudo apt-get install --no-install-recommends lxde-core lightdm chromium-browser
Etape 2: Cacher la souris
$ sudo apt-get install unclutter point-rpi
Etape 3: Configurer les options autlogin et gestion de l’écran
$ nano /etc/xdg/lxsession/LXDE-pi/autostart
Et on y mets
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xset s noexpose
@xset dpms 0 0 0
@xset s noblank
point-rpi
unclutter -idle 0.5 -root &
chromium-browser -pi --noerrdialogs --disable-infobars --kiosk https://urldemonhomeassistant.amoi.fr &
L’idée c’est de lancer automatiquement le navigateur chrome avec la bonne adresse, et de ne pas tenir compte des éventuelles erreurs lors de lancements précédents.
Etape 4: Rebooter et mémoriser les accès
Pour tester, il suffit de rebooter le pi et de profiter de l’autologin, donc $ sudo reboot -f
pour que la config ci-dessus soit prise en compte.
Si c’est pas la cas, on corrige et on recommence.
Si ça fonctionne et pour la première fois, il conviendra de se logger (avec un utilisateur dédié de préférence) et d’activer l’option de mémorisation du mot de passe. Ainsi on générer les cookies de sessions et on les conserve pour le prochain lancement automatique.
Etape 5: Installer le plugin unsplash
Là rien particulier, on ajoute le plugin dans HACS avec l’url https://github.com/tcarlsen/lovelace-screensaver
et la catégorie lovelace
dans les dépôts personnalisés. Et on l’installe.
L’url github contient toute la documentation, en cas en besoin…
Etape 6: Obtenir l’accès aux api.
Pour obtenir une clé, il se créer un compte sur https://unsplash.com/join
avec une adresse mail, confirmer la réception. En échange, on obtient 2 clés API. C’est gratuit !
Ensuite via la page Aperçu => menu avec les points verticaux en haut à droite => Editeur de configuration
on ajoute en début de fichier par exemple
screensaver:
unsplash_access_key: XXXXXXXXXXXXXXXXXXXXXXXXXXxx
query: animals
idle_time: 5
Forcement il va falloir sauvegarder et relancer HA pour que ce soit pris en compte.
Etape 7: Lien SSH entre HA et le kiosk
-
Coté PI on va générer la paire de clé RSA
ssh-keygen -t rsa -f /tmp/kiosk.key -q -P ""
En réalité, ça génère 2 fichiers/tmp/kiosk.key
et/tmp/kiosk.key.pub
On prémémorise la clé publique (en se connectant du PI au PI !) via la commande
ssh-copy-id -i /tmp/kiosk.key.pub pi@123.123.123.123
-
Coté HA
On récupére obligatoirement le fichier/tmp/kiosk.key
(la clé privée) que l’on va copier dans le sous-répertoire.ssh
crée préalablement/usr/share/hassio/homeassistant/.ssh/
Si besoin, on peut également copier la clé publique, mais c’est pas indispensable.
Comme la clé publique est déjà configurée sur lePI
, on aura pas besoin de connaitre le mot de passe pour se connecter au comptepi
Etape 8: Création des commandes ON/OFF pour le kiosk
Dans configuration.yaml
on ajoute les commandes
shell_command:
kiosk_off: 'ssh -i /config/.ssh/kiosk.key -o StrictHostKeyChecking=no pi@123.123.123.123 "DISPLAY=":0" xset dpms force off"'
kiosk_on: 'ssh -i /config/.ssh/kiosk.key -o StrictHostKeyChecking=no pi@123.123.123.123 "DISPLAY=":0" xset dpms force on"'
On notera que le chemin physique /usr/share/hassio/homeassistant/.ssh/
et à adapter, ici ça devient /config/.ssh/
puisque je fonctionne avec un container docker !!
Pensez à relancer HA encore une fois, pour la prise en compte de la configuration.
Etape 9: A vous de jouer
Voilà il ne reste plus qu’à tester en appelant le service shell_command.kiosk_off
et shell_command.kiosk_on
Etape 10:
Pour les pi3, pensez à ajouter le variable hdmi_blanking=1
dans la section [all]
de /boot/config/txt
, ça permet de couper complétement le rétro-éclairage. Actif après une reboot
En les ajoutant dans vos automatisations préférées, on peut tout faire. Personnellement je coupe l’écran le soir quand je bascule la domotique en nuit (pas d’alertes et de notifs) ou que la maison est vide. A l’inverse quand on rentre, ou que la première personne de la maison est levée : ça s’allume.
Le reste du temps les photos défilent, c’est magique !
Un premier tuto, donc si jamais vous avez des remarques, des plaintes, des améliorations ou des commentaires, j’essayerai d’en tenir compte.
Amusez-vous bien !
Suite à la demande de @Neuvidor quelques infos additionnelles
https://forum.hacf.fr/t/montage-mural-tactile-et-cadre-photo/4310/12