Montage mural tactile ET cadre photo

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

  1. On va supposer que vous avez déjà installer votre PI et HA… que vous connaissez les comptes d’accès (pi/root)
  2. Que pour éditer un fichier, on passera par nano
  3. Que pour déplacer des fichiers, c’est votre outil préféré qui fera le boulot : winscp par exemple
  4. Mon PI a pour adresse IP 123.123.123.123
  5. Mon url d’accès à HA est https://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

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

  2. 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 le PI, on aura pas besoin de connaitre le mot de passe pour se connecter au compte pi

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

8 « J'aime »

Bonjour pas de remarque particulière c’est super mais as tu des freeze de temps en temps. J’ai à peu prêt la même configuration sauf en http et je ne passe pas 2 jours dans devoir redémarrer mon pi.

Salut,
Etonnant tes freezes… ça concerne quoi exactement ?
J’ai pas noté de problème particulier… le tactile réagit toujours bien. Les photos défilent…
(les mêmes reviennent souvent mais bon).
Par contre, j’ai 1 reboot automatique par jour sur cette machine (mise à jour à 4h30 du matin via un cron)
ET je suis resté sur une image raspios 32bits… la 64 n’est pas vraiment stable !
Après sur le principe, http/https c’est une question de goût (surtout en local) et en plus ma conf est particulière, mais ça doit pas vraiment influencer le fonctionnement.

J’ai refais une install propre on va voir si ça redeconne
Merci

Super idée, tu saurais si on peut faire la même chose avec des photos issues d’un NAS ?

Salut

Je ne me suis pas penché sur ce besoin malheuresement mais :

  • unsplash permet de créer ses propres collections Create a Collection | Unsplash Help Center
  • un économiseur d’écran classique doit pouvoir faire ça à partir de photos locales (donc montées depuis un nas)
1 « J'aime »

Salut @Pulpy

Quel écran tactile as tu utilisé ?

@+

Celui-ci

A l’époque je l’ai payé un peu de plus de 120€ (frais de ports inclus et avant la TVA), donc il y a eu grosse inflation
Par contre, je suis pas du tout déçu de la qualité, ni de l’efficacité du transport/emballage. Un vrai full HD, pas un pixel foireux et bonne réactivité du tactile

Salut @Pulpy,
Peux-tu stp partager une photo du rendu final au mur ?
Car comme toi je ne veux pas de tablette mais pour autant je veux un truc esthétique. Ta solution m’intéresse beaucoup.

@Neuvidor

Quelques photos sont là déjà.

Tu veux des détails particuliers en plus (assemblage, branchement) ? Dis-moi je ferai un complément

Merci @Pulpy pour le lien.
Je suis effectivement preneur si tu as des photos concernant l’assemblage, j’aimerai dans mon cas avoir un écran le moins épais possible. Après je peux tjrs incruster l’écran dans la cloison.

D’ailleurs ton écran ne chauffe pas trop ?

Alors voilà comment c’est assemblé :
Les 4 profils en U ont des formes un peu particulières pour s’emboiter. Collé en haut, mais visé par le dos en bas pour un éventuel démontage

Et on vient glisser l’écran dans le cadre, légèrement plaqué contre les bords, c’est le dépron qui fait le job de presser l’écran (pas trop fort, il faut calculer les épaisseurs pour ajuster le U) et qui amortie quand on joue avec le tactile

Au dos, j’ai monté un cadre plus petit/basique qui permet à la fois de placer le PI/SSD/la carte contrôle écran etc. Il est visé sur le MDF et permet d’assurer la ‹ fixation murale ›

Ce deuxième cadre 38mm+13mm de profondeur (la largeur d’un rail de placo+BA13), s’insère dans une découpe du mur… Comme ça j’ai aucun fil apparent, et un accès facile en cas de besoin


Les boutons de l’écran sont cachés en dessous, juste à fleur(j’ai une petite finition à faire). C’est pas indispensable pour autant de les avoir à portée de main au quotidien.

Les vis, le depron

J’ai la chance d’avoir en plus une petite niche derrière, donc j’y ai collé un onduleur

Niveau chauffage, c’est pas si chaud malgré la circulation qui doit pas être optimale.
Je pense pas pouvoir faire beaucoup plus fin, au risque d’avoir un cadre en bois moins solide… Peut-être avec un autre matériau (genre alu) mais ça pose d’autres soucis (fixation, court-circuit…)


4 « J'aime »

Merci beaucoup pour ces détails @Pulpy !
Il serait intéressant d’avoir le projet 3D si jamais tu l’as encore. En tous cas belle réalisation même si je ne suis pas fan du bois, la finition semble vraiment parfaite !

De rien !
La finition est vraiment chouette… Même si j’ai dû corrigé 2/3 trucs en cours de route. Le seul mini défaut, c’est un des ajustements en bas à gauche : le bois s’est retracté. Probablement un séchage pas parfait et du coup je peux pas corriger le 1/10 mm avec les trous de vis.
Pour le fichier 3D c’est bien simple , c’est juste un schéma à la main levée pour illustrer. J’ai tout fais à l’ancienne sur papier et un metre… Après c’est pas non plus de la microchirurgie, une fois que le principe des clés pour le montage du cadre est compris, le reste c’est du sur-mesure en fonction du bois, de l’écran, de sa surface d’affichage de la place dispo sur le mur etc…
Concernant les matériaux, le choix est assez limité… Le bois c’est à mon avis le meilleur compromis entre la facilité de travail, la capacité à faire du sur mesure, sans forcement disposer d’une usine chez soi. Plutôt que de garder l’aspect bois, j’aurai également pu faire un coup de peinture + vernis pour adapter à la déco. J’ai hésité avec un noir mat.
Voilà voilà

2 « J'aime »

Hello @Pulpy donc si j’ai bien lu et compris ton installation qui, au passage, est géniale, je peux afficher un Dashboard en particulier avec un autre raspberry pi connecté à un écran ? Donc avoir un écran déporté ?
Ce que je cherche à faire c’est avoir sur un Dashboard coupé en 4 en haut à gauche vue en live de caméra 1, en haut à droite statuts de certaines entités, en bas à gauche vue en live de caméra 2 et en bas à droite vue en live de caméra 3.
J’avais tenté un lancement automatique en mode kiosk de chromium sur le bon Dashboard au démarrage du pi mais je ressentais un gros décalage sur la vidéo en live que je n’avais pas sur Firefox avec mon pc Windows 10 par exemple.
Si j’arrive à résoudre ça je ferai un peu comme toi sur un écran tactile d’un autre rpi.
Donc si je suis ton installation, ça ira mieux les latences ? Que dois-je modifier ? Qu’est-ce que j’aurais mal fait ?
Merci de ton retour et tes précieux conseils

Hello.

Merci pour tes retours et compliments. J’avoue que je suis plutôt heureux du résultat…
Dans ton cas, ce n’est pas évident de donner une réponse globale à ta série de questions :

  • Oui, avec ce genre d’installation on est très libre : user dédié ça fonctionne. Dashboard dédié aussi. Faire autre chose avec le pi (root-assistant) également.
  • Le côté confort également : grand écran, grande résolution… Mise à jour… Pilotage à distance (ssh etc)
  • Pour la visualisation des vidéos par contre, c’est moins net. J’ai personnellement un petit décalage entre la vidéo et la réalité. Mais ça peut être lié à beaucoup de choses : mon flux est en flux 5mp… Qualité de réception wifi pas optimale (il y a beaucoup de rails à cet endroit, une mise à jour via apt est beaucoup plus lente qu’ailleurs) et le matériel un peu juste tout de même (c’est pas un pc et je suis revenu à un pi3/1go au lieu du pi4/go initial). Dans la réalité c’est moins gênant, on a beau avoir la vidéo, on reste pas scotché en face. Frigate fait le boulot le détection et d’enregistrement par ailleurs (il est là le pi4) donc si je veux retrouver un événement c’est facile et rapide.

Donc si tu as des soucis de latence / performances il faut optimiser ça : réduire la résolution et / ou la qualité vidéo. Surtout pour 3 flux. Tu peux essayer de voir si le wifi n’est pas sur un canal trop encombré. Le wifi 5ghz c’est une piste à étudier mais c’est pas forcément sans impact. Il faut du matériel compatible (pas certain que mon pi3 le soit)

Ok faut que je regarde cette histoire de vidéo.

Autre question toute con : y’a moyen de se connecter à l’interface de home assistant en utilisant un bearer token dans l’url ?

Salut.
Je n’ai pas essayé. Le cache navigateur fonctionne et le login automatique sur l’ip aussi