Config domotique : un écran Jeedom tactile et antenne déportée

Pi Screen Jeedom 4

Un écran Jeedom pour quoi faire ? A-t-on besoin de savoir ce qui se passe dans la maison ? Et bien oui. Pourtant, un simple constat la domotique chez beaucoup (voir tous) c’est : une multitude de capteurs et un peu moins de déclencheurs.

Des capteurs de températures, des interrupteurs, détecteurs de fumée, lumière, télécommande infrarouge etc.

Mais il ne faut pas négliger le “retour d’informations”. Celui-ci peut prendre plusieurs formes :

  • écrite (SMS, email, Telegram …)
  • vocale (Squeezebox, TTS, Jarvis …)
  • visuelle (Dotti, Nimbus, écran …)

L’avantage des deux premiers est de pouvoir utiliser les interactions Jeedom. Mais la simplicité du visuel et l’affichage continue ont ses avantages. Bref, ce retour d’info de Jeedom vers l’habitant sous une forme n’exclut pas les autres, au contraire.

Ici, je vais prendre comme cas d’usage un Raspberry et son écran officiel. Pas une tablette Android avec un Imperihome car je souhaite profiter d’un Linux pour compléter l’usage d’écran. On verra ce point plus loin.

Matériel

Commencons par lister le matériel nécessaire au montage :

Soit un total de 146€ pour ce montage. C’est un écran 7″ et c’est donc plus cher que certaines tablettes Android oui. Mais les tablettes Android sont vites obsolètes au niveau logiciel, ce qui veut dire non maintenu à jour, failles possibles dans votre maison ou bien simplement ne vieilliront pas bien.

Pourquoi un Pi Screen et pas une tablette

Si je devais lister mes raisons de préférer une telle composition :

  • Raspbian est tenue à jour, même si le Pi 4 sort demain, la Raspbian c’est la même donc logiciellement on a le temps de voir venir
  • Etant par définition un montage, la maintenance est pour moi plus facile. On grogne sur les SD des Pi, mais au moins si elle se corrompt, on ouvre la boite on la change et c’est fini.
  • Ne pas avoir un Android sur la tablette, c’est m’évitez des accros avec les enfants qui installeront tout un tas d’applis du market (oui ou alors vous faites exprès de prendre une tablette qui n’accepte pas le market …)
  • Linux me permet de choisir exactement ce que je vais faire et comment (ouverture automatique du design en plein écran)
  • Linux toujours me permet de pouvoir réutiliser ce Pi pour autre chose que l’écran, par exemple le Bluetooth et le Mirror

Pi Screen Jeedom 2

Pi Screen Jeedom 3

Montage

Alors mon premier écran est monté depuis quelques semaines, j’ai pas pris de photo. Le deuxième sera là bientot mais bon, c’est pour votre bien que je prend pas de photos 🙂 Je demanderais à madame si elle veut bien essayer.

Mais sinon, vu qu’on est là pour donner des idées mais pas du copier-coller, le montage tient en :

  • coller une Raspbian Pixel sur la carte SD (par la méthode que vous préférez, moi c’est dd, pas le cochon, pas la commande vi mais le binaire … mais ca marche avec imagediskwriter et tous les autres)
  • mettre la SD dans le Pi (admettez, y a pas besoin de photo montage pour ca, si ?)
  • connecter l’écran sur le Pi, visser le Pi sur l’écran (la notice de l’écran à le nécessaire, hop esquive la photo)
  • fermez le boitier (la not… ah vous avez compris, bon ok)
  • branchez l’alimentation (et des deux côtés, sur le Pi et la prise)

Voilà, vous avez logiquement un Pi qui démarre et arrive sur une session ouverte.

Pi Screen Jeedom 6

Oui mais l’écran est inversé ? Et y a pas de clavier ?

Configuration

Alors l’écran inversé, on va commencer par ca.

Donc à votre préférence, il va falloir un clavier USB ou bien se connecter en SSH sur le Pi. Personnellement j’utilise que SSH pour ca, mais j’ai aussi un clavier USB avec trackpad que je garde à la maison pour justement au besoin sur le Pi Kodi, un de ses Pi etc

Inverser l’affichage

Donc là on se retrouve avec un affichage inversé, la tête en bas. Pas terrible. Mais il suffit d’ajouter une ligne d’option dans un fichier.

Le fichier en question :

/boot/options.txt

Vous pouvez l’éditer avec vi ou nano, comme vous préférez. Et il faut ajouter la ligne suivante :

lcd_rotate=2

Un reboot et c’est fini. Pas très compliqué pour le coup.

Lancement auto de Chromium

Maintenant faudrait que notre design s’affiche par défaut. Et en plein écran si possible.

Là on part d’une Raspbian avec Pixel. Avec ouverture de session automatisée. Il suffit donc d’ajouter un chromium en démarrage auto, avec l’adresse du design Jeedom et en indiquant plein écran.

Pour avoir l’adresse de votre panel, ouvrez le dans un navigateur vous aurez :

https://monjeedom/index.php?v=d&p=plan&plan_id=1

Pour le mode plein écran (plein écran de Jeedom, pas de l’écran), ca donne :

https://monjeedom/index.php?v=d&p=plan&plan_id=1&fullscreen=1

Ok, donc cette adresse du design, on va s’en servir maintenant sur le Pi.

Il faut éditer ce fichier :

~/.config/lxsession/LXDE-pi/autostart

On va y supprimer la dernière ligne :

@point-rpi

Et ajouter deux lignes :

@sed -i 's/"exited_cleanly": false/"exited_cleanly": true/' ~/.config/chromium/Default/Preferences
@chromium --noerrdialogs --kiosk https://monjeedom/index.php?v=d&p=plan&plan_id=1&fullscreen=1 --disable-translate

Bilan

L’option –kiosk sert à ouvrir en plein écran.

Dans le fichier je laisse les lignes qui activent le screensaver, ca permet d’éteindre l’écran automatiquement après une non utilisation.

Un reboot et vous tomber sur la page Jeedom mais il faut saisir votre compte (clavier USB nécessaire ici)

Un dernier reboot et c’est bon.

Fini

Voilà, là pour la partie purement “écran” de Jeedom, vous avez fini sur le Pi. Toute modif du design se fait depuis n’importe quel Jeedom donc vous pouvez le faire de votre PC et redémarrer l’écran pour prise en compte.

A chacun de voir ce qu’il veut mettre sur le(s) design(s). Moi j’avais pas encore de design, c’est une bonne occasion de m’y mettre.

Pi Screen Jeedom 1

Pi Screen Jeedom 5

Pour aller plus loin

Je vais en profiter pour évoquer des petites idées pour compléter l’usage de cet écran.

Configurer le hostname depuis votre routeur

Alors, ca va peut être paraitre bizarre comme idée mais y a de la logique derrière 🙂

On a de plus en plus d’objets connectés qui ont une IP, gérer les réservations sur notre routeur permet d’avoir une centralisation et une meilleure vue globale.

Ca c’est pour les réservations. Mais en même temps on défini un hostname qui correspond (quand votre routeur le permet), donc on a :

MAC ADDR – IP réservée – hostname défini

Pourquoi faire ca ? Et bien en ayant cette conf, si vous dupliquez votre carte SD sur un nouveau Pi par exemple, automatiquement il sera joignable par ce hostname et lui-même va l’utiliser. Vous n’aurez pas 2 fois raspberrypi par exemple.

Normalement, c’est tout ce qu’il y a à faire sur les versions actuelles. Dhclient prend automatiquement le hostname fourni par le DHCP. Sur d’anciennes versions j’avais eu à utiliser un script en hook comme celui-ci.

Ce hostname par exemple pourra être utilisé par squeezelite pour se déclarer dans Logitech Media Server.

Encore une bonne raison d’avoir un routeur à vous et de ne pas vous baser sur celui du FAI. Une maison domotisée c’est aussi important que les capteurs.

Antenne BLEA

Et bien oui quand même, l’occason est trop belle. Un Pi 3 bluetooth intégré paf paf antenne BLEA. Si vous avez réutilisé un Pi2 ou autre, hop une clef Bluetooth et c’est faisable aussi.

Alors comment on configure le Bluetooth ? Et bien sur la Raspbian Pixel, ca marche de base le bluetooth intégré est vu.

Reste depuis Jeedom a déclarer l’antenne. Merci Sarakha63 encore.

Utilisation d’un Mir:ror

Le Mir:ror de Violet, ceux à l’origine des lapins Nabaztag et Karotz. Donc c’est un lecteur RFID dont les tags sont des petits lapins en 3D, portes clés ou des autocollants.

J’ai prévu le plugin pour pouvoir faire tourner le service sur une antenne sans Jeedom. C’est pas aussi simple que BLEA je vous préviens car je pensais être le seul à m’en servir. Maintenant que le premier écran est là, va falloir que je vois pour améliorer ca.

Squeezebox / Logitech Media Server

Un autre usage possible est en tant que Squeezebox. Quelques possibilités :

  • une enceinte USB alimentée par le Pi (je l’ai souvent utilisé en appoint c’est suffisant)
  • des enceintes branché sur la sortie son du Pi ou une extension DAC (jamais utilisé)
  • une enciente Bluetooth en l’appairant à l’avance

Là il faut installer squeezelite et le must c’est de modifier ses options de démarrage pour lui faire utiliser le hostname en nom déclaré. Ainsi votre Squeezebox remontera avec un nom compréhensible et pas uniquement la MAC.

PlayTTS

Une alternative à Squeezebox serait d’utiliser PlayTTS. Même choix de configuration audio. Et dans Jeedom il suffit de le déclarer en hôte distant.

 

Debian 9 et supprimer le curseur

Steph13 a donné des indications intéressantes en commentaire que je recopie ici pour compléter le sujet :

 

Autre chose dans la nouvelle version de Raspbian : Stretch la ligne :

 [code]@chromium –noerrdialogs –kiosk https://monjeedom/index.php?v=d&p=plan&plan_id=1&fullscreen=1 –disable-translate[/code]

doit être remplacée par :

 [code]@chromium-browser –noerrdialogs –kiosk https://monjeedom/index.php?v=d&p=plan&plan_id=1&fullscreen=1 –disable-translate[/code]

Je n’arrive cependant pas à annuler la boite de chromium qui me dit qu’il s’est mal arrêté !

Enfin si ça peut servir à quelqu’un il ya un moyen de faire disparaitre le curseur de la souris:

Via SSH (et Putty)

1. Installer le paquet Unclutter


 sudo apt-get install unclutter

 

2. Editer le fichier Autostart

 nano ~/.config/lxsession/LXDE-pi/autostart

 

3. Ajouter la ligne suivante :

 @unclutter -idle 0

Sauvegarder : Ctrl+X et O

 

4. Redemarrer

sudo reboot

 

50 réflexions au sujet de “Config domotique : un écran Jeedom tactile et antenne déportée

  1. Nickel, merci pour ce tuto, petite question tout de même, l’écran reste-t-il toujours allumé et si oui existe-t-il un moyen de l’allumer facilement (appui sur l’écran ?)
    Merci

    • Je me méfie de ces écrans. Connectique c’est HDMI+USB et souvent le touch panel (en USB) le pilote est pas inclu dans Raspbian.
      Après au niveau qualitatif c’est pas génial et ca fait très bricolage car tu as beaucoup plus de cables.
      J’ai commencé par ce genre d’écran dans une boite en bois où je l’avais incrusté, et c’est juste bof au final j’ai abandonné.

  2. Tres bon article, meme si je préfere personnellement ma tablette android au mur. Mais je suis seul donc je suis certain que personne d’autre ne touchera a la tablette lol

  3. Merci pour l’article que j’ai trouver excellent, je partage complètement ton analyse. Comme deja dit sur g+ j’ai un écran 22″ sous android et son seul défaut est android !!!!! Il était super bien au début pendant bien 2 ans puis plus aucune maj possible, bloqué en android 4.4.2 avec un cpu poussif et une gestion de la ram castastrophique. Au final l’écran est pratiquement inutilisable 🙁 je vais essayer de récupérer l’écran tactile et mettre un voyo ou un truc comme ça mais si je n’y arrive pas je pars vers ton choix qui est évolutif 😉 et c’est bien la l’essentielle 😉 au plaisir

  4. salut, ca l’air vraiment la solution, pour faire pilote aisément ta solution domotique a toute la famille.

    Petite question. tu pense ca marcherait avec un raspberry pi zero ^^

    • Alors si le Pi Zero a le connecteur écran pourquoi pas. Après faut pas oublier qu’il lui faudra une clef Wifi. Je prévois d’utiliser le bluetooth ce que le Zero n’a pas. Si t’as besoin de mettre un clavier pour 2-3 opérations, le Pi3 a ses 4 connecteurs dispo dans le boitier. Boitier qui a toute la place pour le Pi2 et Pi3.
      Le Zero est bien quand on veut gagner de la place ou moins d’usage polyvalent (j’en ai un sur l’unipi et sur l’opensprinkler)

  5. Bonjour j’ai un routeur Synology. Peut tu expliquer un peu plus comment faire le hostname, je suis pas expert en informatique mais je me débrouille. J’ai bien réservé une adresse IP à mon pi2, et je suis intrigué par ton astuce.

    • Oui ça répond a quelques demandes : écran plus grand, poe, mural. Mais ça risque de pas être le même prix. Et c’était pas censée sortir il y a longtemps déjà ? D’où le hub USB.

  6. Effectivement, c’est un budget beaucoup plus conséquent, pratiquement 2 fois plus cher! J’avais communiqué en Février avec le fondateur du Hack DiskioPi et il m’avait répondu: “le prix n’est pas encore déterminé, sans doute aux alentour de 260-280€. Un financement participatif sera lancé au printemps, si tout se passe bien.”
    Je le suis sous Twitter, le projet avance doucement mais sûrement.

  7. Bonjour j’ai également commencer cette configuration. Cependant petit problème pour le lacement automatique de Jeedom. J’ai installé jeedom pour raspberry sur la carte sd. Cependant je n’arrive pas à trouver le fichier autostart pour le modifier

  8. Bonjour, ok je n’avais pas fait trop attention. Donc pour vous le jeedom est sur un autre hardware?

    Merci de votre retour rapide

  9. Bonjour et merci Lunarok pour ces explications que j’ai suivi à la lettre.

    Juste une petite coquille dans la configuration de l’autostart, il faut un “/” derrière chromium.
    [code]@sed -i ‘s/”exited_cleanly”: false/”exited_cleanly”: true/’ ~/.config/chromium/Default/Preferences[/code]

    Autre chose dans la nouvelle version de Raspbian : Stretch la ligne :
    [code]@chromium –noerrdialogs –kiosk https://monjeedom/index.php?v=d&p=plan&plan_id=1&fullscreen=1 –disable-translate[/code]
    doit être remplacée par :
    [code]@chromium-browser –noerrdialogs –kiosk https://monjeedom/index.php?v=d&p=plan&plan_id=1&fullscreen=1 –disable-translate[/code]

    Je n’arrive cependant pas à annuler la boite de chromium qui me dit qu’il s’est mal arrêté !

    Enfin si ça peut servir à quelqu’un il ya un moyen de faire disparaitre le curseur de la souris:
    Via SSH (et Putty)
    1. Installer le paquet Unclutter
    [code]sudo apt-get install unclutter[/code]

    2. Editer le fichier Autostart
    [code]nano ~/.config/lxsession/LXDE-pi/autostart[/code]

    3. Ajouter la ligne suivante :
    [code]@unclutter -idle 0[/code]
    Sauvegarder : Ctrl+X et O

    4. Redemarrer
    [code]sudo reboot[/code]

    A+ Steph13

    • Merci, j’ai ajouté les détails en fin d’article
      Pour info, le coup de la batibox m’intéresse sur le forum, dans la maison je vais avoir une cloison creuse dans le hall où l’écran du Pi serait parfait

  10. Ok si j’ai des infos pour la batibox je fais passer.

    Par contre j’ai un gros soucis sur mon installation.
    Impossible d’avoir la mise en veille de l’écran, je ne sais pas si cela vient de la connexion wifi ou de ma config.

  11. Hello !

    Pour faire suite au message de Steph13, il faut exécuter la commande suivante juste avant le reboot:
    pkill chromium

    Et comme ça tu n’auras plus de boite de dialogue au démarrage 😉

    Flo

  12. Merci Flo. Je testerai ce week end.

    Tu n ‘aurais pas une solution pour ce probleme de mise en veille de l’écran.
    Je ne comprends pas pourquoi la veille ne s enclenche pas. L’écran est tout le temps allumé.

    Je cherche également la commande afin de réduire temps de mise en veille (sur le wiki du pi je n’ai rien compris). Il doit y avoir une commande xset dmps.

    En tout cas merci pour le partage

  13. Salut,
    Pour la mise en veille tu édites l’autostart avec la commande:
    nano ~/.config/lxsession/LXDE-pi/autostart

    et tu dois y mettre:
    @xscreensaver -no-splash
    @xset dpms 30 30 30
    @xset s off

    Ton écran s’éteindra après 30 secondes. Tu peux modifier le temps en secondes comme bon te semble 😉
    Ca marche nickel chez moi 🙂
    Tu as testé le pkill chromium ?

  14. Super la mise en veille fonctionne et j’ai testé le Pkill Chromium c’est top !

    Maintenant j’ai un autre problème, chromium refuse de passer en plein écran malgré la commande –kiosk dans l’autostart.

    J’ai deux petites questions (à caractère purement informatif) :

    1. Les paramètres derrière la commande xset dpms correspondent à quoi (j’ai lu un article peu clair pour moi, ou il était expliqué suspend, standby et off mais je comprends pas l’intéret).
    Si je veux mettre 60 sec , il faut mettre xset dpms 60 60 60 ?

    2. Que fait réellement la commande Pkill ?

    En tout cas merci Flo !!!!

  15. Pour ton problème de plein écran à tu bien ajouté &fullscreen=1 à la fin de ton URL jeedom ?

    Pour les paramètres derrière la commande set dpms, c’est flou pour moi aussi… Par contre, oui si tu met 60 60 60, l’écran s’éteindra au bout de 60 secondes.

    La commande Pkill quitte l’application, c’est comme si tu cliquais sur la croix pour fermer l’application et pour le coup l’application est correctement fermée et tu n’as pas le message au démarrage 😉

    Content d’avoir pu t’aider, je viens seulement de mettre en place mon écran de pilotage domotique la semaine dernière. Le tutoriel de Lunarok m’a bien aidé pour la mise en place et après j’ai fouiné un peu sur des forum pour la mise en veille, le redémarrage, etc. donc autant en faire profiter les autres.

  16. Salut, j’ai bien l’url complète.
    Je ne comprends plus rien, jusqu’à présent je n’arrivais pas à mettre la mise en veille et maintenant que je l’ai , je n’arrive plus à avoir le mode Kiosk.

    En fait Chromium ne se met pas en mode kiosk, je me retrouve avec une fenêtre et la barre d’outil classique de l’interface LXE.

    Voila une copie de mon fichier Autostart :

    @lxpanel –profile LXDE-pi
    @pcmanfm –desktop –profile LXDE-pi
    @xscreensaver -no-splash
    @xset dpms 60 60 60
    @xset s off
    @sed -i ‘s/”exited_cleanly”: false/”exited_cleanly”: true/’ ~/.config/chromium/Default/Preferences
    @chromium-browser -–noerrdialogs -–kiosk http://192.168.1.5/index.php?v=d&p=plan&plan_id=17&fullscreen=1 –disable-translate

    J’ai laissé les deux premières lignes, jusqu’à présent ca ne gênait pas pour le mode kiosk:
    @lxpanel –profile LXDE-pi
    @pcmanfm –desktop –profile LXDE-pi

    J’ai mis la veille sur 1min :
    @xset dpms 60 60 60

    La ligne suivante ne sert à rien apparemment :
    @sed -i ‘s/”exited_cleanly”: false/”exited_cleanly”: true/’ ~/.config/chromium/Default/Preferences

    Je ne sais pas vraiment à quoi servent les deux lignes suivantes :
    @xset s off
    @xscreensaver -no-splash

    Et pour la dernière ligne j’ai bien deux tirets devant noerrdialogs et kiosk (je pense que c’est juste)
    Enfin j’ai testé l’url depuis mon PC et elle fonctionne.

    J’ai même refait une installation complète de l’image Raspbian Stretch.

    Merci pour l’aide.

  17. Bonjour,

    Super solution et super tuto, elle m’a convaincue et j’ai fait la même 🙂
    J’ai aussi cherché pour ce problème de “crash dialog” et voici les solutions que j’ai trouvées (le pkill chromium fonctionne très bien mais uniquement quand c’est un reboot voulu, pas quand il y a une panne de courant ou quand le pi est débranché et rebranché par exemple):

    1/ juste pour info, le flag –disable-session-crashed-bubble dans la ligne de commande “@chromium-browser –noerrdialogs –disable-session-crashed-bubble …” aurait été une solution mais ne fonctionne plus depuis la version 58 de chrome apparemment.

    2/ rajouter @sed -i ‘s/”exited_cleanly”:false/”exited_cleanly”:true/’ ~/.config/chromium/’Local State’ en plus ou à la place de la première est aussi proposé sur le net. (il y a un espace de trop dans le tuto d’ailleurs avant “false” et “true” d’après moi).
    En deux mots pour ceux qui se demande ce que cela fait: cela remplace la première expression par la deuxième dans le fichier ciblé.
    Le soucis que j’ai chez moi c’est que ces commandes fonctionnent très bien quand je les teste dans un CLI mais elle ne semble pas s’exécuter par le autostart –> le fichier contient toujours “exited_cleanly”:false d’où le message d’erreur. Si quelqu’un a une explication?

    3/ rajouter le flag –incognito en démarrant chromium (@chromium-browser –incognito …) et il ne demande plus de restaurer la dernière session; victoire 🙂
    Mais … le soucis de cette solution c’est évidement que le user sur jeedom n’est plus reconnu (nouvelle session à chaque fois) et donc mot de passe à fournir à chaque démarrage. J’ai résolu ce problème avec le plugin autologin (dispo sur le market jeedom).

    En fait, forcer une nouvelle session à chaque reboot apporte un autre avantage: si comme moi vous avez créé un utilisateur avec des droits très restreint sur jeedom pour afficher votre design (histoire d’être sur de ne pouvoir que afficher les infos voulues et rien d’autres), lorsque vous modifiez ses droits (car ajout d’un équipement sur le design par ex.) ceux-ci ne sont pris en compte que lors d’une nouvelle session, ce qui n’est pas le cas, même après un reboot avec la solution proposée dans le tuto: il fallait tuer la session (via gestion user dans jeedom) et refournir le mdp; ici les nouvelles permissions sont actives dès le reboot.

  18. Bonjour,
    Tu parles d’une antenne déportée pour le Mir:ror, il existe un tuto quelque part pour mettre ceci en route ?
    Merci d’avance 🙂

  19. Bonjour,
    J’aurais une petite question toute bête mais pour l’instant je ne trouve pas la réponse.
    Alors, pour faire simple et clair, commençons par le début. Je possède déjà un pi avec écran officiel comme écran de contrôle déporté dans mon salon, j’en suis hyper satisfait et tout fonctionne parfaitement (plein écran, mode kiosk, etc . . .), vraiment le pied. Merci pour le tuto 😉
    J’aimerais multiplier le nombre de ces écrans (garage, chambres, cuisine, etc . . .).
    Sur mon pc, je suis en utilisateur “admin”, et sur l’écran déporté, j’ai un utilisateur “Salon” en local, et je pensais faire ainsi sur chaque écran (un utilisateur local pour chaque écran, je trouve nickel ainsi).
    Mais voilà, MON PROBLÈME ARRIVE, je me rend compte que quand je change de design sur l’écran déporté ou sur le pc, celui-ci change également sur le pc, ou l’écran déporté donc.
    Il y a t’il donc une possibilité pour que tout les écrans soient “indépendants”. Par exemple, je sélectionne le design “Lumières” dans le salon, pendant que dans la cuisine je suis sur le design “Multimédia”, et que dans une chambre je m’amuse sur le design “Températures”, tout ça en même temps.
    Je vous remercie énormément par avance de votre réponse.
    Cordialement,

Laisser un commentaire