lundi 13 janvier 2020

Domotique: comment j'installe ou ré-installe Jeedom ? ;-)

Et oui c'est pas ma première fois.... et c'est encore moi le premier tuto que l'on trouve sur internet sur le sujet.

Je vais vous parler d'installation pour les débutants en fait mais avec mes recommendations en terme de sécurité, de version d'OS, etc... pour bien commencer et cela vous n'allez pas le trouver ailleurs ;-)

En terme de hardware, on va faire cela sur un Raspberry PI 2 ou 3 (le 3 qui reste encore le plus rentable et adapté à mon avis en ce moment en ce début 2020)

Bien sur il est conseillé de mettre jeedom sur SSD ou mSSD mais pas sur microSD mais quand on commence pour tester, c'est ce que l'on fait pour aller au plus vite ;-) Donc je vais vous expliquer comment installer sur microSD... J'utilise des microSDHC Sandisk Ultra de 16Go, moins de 7€ en ce moment sur Amazon si on en achète au moins 3 !

Pour l'OS, je conseil de rester en Raspbian 9 Lite (http://ftp.ubuntu-tw.org/mirror/raspbian-downloads/raspbian_lite/images/raspbian_lite-2019-04-09/2019-04-08-raspbian-stretch-lite.zip) pour le moment parce que c'est l'OS le mieux adapté à Jeedom V3 qui est stable, je ne conseille pas forcement la V4 pour l'instant même si pour un débutant le risque est limité mais dans mon cas, j'ai besoin de réinstaller et de restaurer une ancienne sauvegarde donc je vais vous le faire sur la V3. (je vous dirais comment installer la V4 dans ce tuto mais il faudra prendre la dernère version de Raspbain 10 Lite dans ce cas et ici: https://downloads.raspberrypi.org/raspbian_lite_latest ;-)

Voici les 10 premières étapes pour avoir Jeedom dans le rapberry pi :

1) Pour commencer je conseil pour la microSD de flasher avec BalenaEtcher (windows/macosx/linux) : https://www.balena.io/etcher/

2) Quand c'est flashé sur la microSD, avant de la mettre dans le raspberry pi, il faudra créer un fichier sur à la racine de la microSD appelé "ssh" sans extension, c'est suffisant pour activer le SSH dans le Raspberry Pi, cela va nous servir ;-)

3) Ensuite, je conseille de mettre le raspberry pi en Ethernet, mettre la microSD et alimenter celui si par une bonne alimentation comme les AUKRU 5 volts 3 ampères aussi sur Amazon ;-)

4) Après le boot, dans mon cas, je regarde dans mon DHCP pour trouver le device qui s'appel "raspberrypi", je choppe l'IP en question puis je m'y connecte en SSH via un putty sur Windows ou avec la commande "ssh pi@ip" à partir de l'invite de commande sur MacOsx.
Par la suite dans mon DHCP (engénéral dans votre routeur), via l'adresse mac, je mets habituellement le Rapsberry Pi en IP fixe pour me simplifier la vie ;-)


MACBOOK:~ user$ ssh pi@192.168.0.XX
The authenticity of host '192.168.0.XX (192.168.0.XX)' can't be established.
ECDSA key fingerprint is SHA256:p0V01234J8wn0f56787Ns149+/mqaqvpnBntji8IoYU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.XX' (ECDSA) to the list of known hosts.
pi@192.168.0.XX's password: 
Linux raspberrypi 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jan 13 18:24:27 2020 from 192.168.0.4

SSH is enabled and the default password for the 'pi' user has not been changed.
This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password.

pi@raspberrypi:~ $ 

le login est 'pi' et password par défaut est 'raspberry'

5) Quand je suis en SSH je change de suite le mot de passe pour des raisons de sécurité évidente et comme conseil dans l'invite de commande :


pi@raspberrypi:~ $ passwd
Changing password for pi.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
pi@raspberrypi:~ $ 

6) Ensuite je change aussi le hostname pour m'y retrouver parce que j'ai plusieurs Jeedoms ;-)

Je lance la commande: "sudo raspi-config" et j'arrive sur ce menu (on aurais pu changer le password ici aussi ;-) :


Et ensuite je vais dans "Network Options" et "Hostname", et dans mon cas je mets "Jeedom2" parce que c'est mon deuxième Jeedom ;-)

J'aime aussi mettre une connection Wifi de secours (à partir du RPI 3 bien sur ;-) donc j'en profite pour rentre mes credentials wifi au passage, je le conseil ;-)

Je ne change pas la langue parce que j'ai déjà eu des mésaventures avec certains composants par trop compatible avec notre langue :-(

Mais je change la localisation pour être en "Europe/Paris" et donc à l'heure ;-)

Puis dans "advanced Option" je vais "expand filesystem" pour être sur de bien utiliser l'espace par la suite.

Je fais un "update" de l'outil au passage ;-)

puis je sors de l'outil

7) Je fais une mise à jour de l'OS et du firmware avec la commande suivante :

pi@raspberrypi:~ $ sudo apt-get update; sudo apt-get install rpi-update
sudo: unable to resolve host raspberrypi
Hit:1 http://raspbian.raspberrypi.org/raspbian stretch InRelease
Hit:2 http://archive.raspberrypi.org/debian stretch InRelease
Reading package lists... Done
sudo: unable to resolve host raspberrypi
Reading package lists... Done
Building dependency tree       
Reading state information... Done
rpi-update is already the newest version (20140705).
0 upgraded, 0 newly installed, 0 to remove and 91 not upgraded.

8) Je reboot...

pi@raspberrypi:~ $ sudo shutdown -r now

9) Je me reconnecte en SSH et avec le nouveau password ;-) et j'ai le nouveau hostname dans l'invite de commande "Jeedom2" :


MACBOOK:~ user$ ssh pi@192.168.0.XX
pi@192.168.0.XX's password: 
Linux Jeedom2 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Jan 13 19:18:55 2020 from 192.168.0.3
pi@Jeedom2:~ $ 

Pour lancer l'installation de jeedom, dans mon cas, je veux la v3 donc j'utilise la commande suivante:


wget -O- https://raw.githubusercontent.com/jeedom/core/stablev3/install/install.sh | sudo bash

Et pour la 4 c'est ainsi mais attention il faudra bien être avec la dernière version de raspbian pour rappel :


wget -O- https://raw.githubusercontent.com/jeedom/core/master/install/install.sh | sudo bash

Puis après téléchargement du .sh, l'installation se lance et voici la fin de l'installation avec les checks qui vont bien :


.
.
.
Check filesystem right...OK
[END CONSISTENCY]
Ajout de l'utilisateur (admin,admin)
OK
Temps d'installation : 11s
[END INSTALL SUCCESS]
\033[1;32métape 9 installation de jeedom réussie\033[0;39m
---------------------------------------------------------------------
\033[1;33mCommence l'étape 10 post jeedom\033[0;39m
no crontab for root
www-data ALL=(ALL) NOPASSWD: ALL
\033[1;32métape 10 post jeedom réussie\033[0;39m
---------------------------------------------------------------------
\033[1;33mCommence l'étape 11 vérification de jeedom\033[0;39m
==================================================
|    JEEDOM SICK SCRIPT 2020-01-13 20:34:16    |
==================================================

**************************************************
*                 VARIABLES                      *
**************************************************
Dossier d'installation : /var/www/html
User : root
Sudo : OUI

**************************************************
*               DOSSIERS                         *
**************************************************
Charge l'environnement de Jeedom...OK
Vérifie si les log sont en écriture...OK

**************************************************
*              UTILISATEURS                      *
**************************************************
admin =>  Admin

**************************************************
*                 CRON                           *
**************************************************
Vérifie si cron est actif...OK
Vérifie si scenario est actif...OK

NAME | STATE | SCHEDULE | DEAMON | ONCE | LAST RUN
plugin::cronDaily() | stop | 00 00 * * * * | 0 | 0 | 
jeedom::backup() | stop | 18 06 * * * | 0 | 0 | 
plugin::cronHourly() | stop | 00 * * * * * | 0 | 0 | 
scenario::check() | stop | * * * * * * | 0 | 0 | 
scenario::control() | stop | * * * * * * | 0 | 0 | 
jeedom::cronDaily() | stop | 00 00 * * * * | 0 | 0 | 
jeedom::cronHourly() | stop | 00 * * * * * | 0 | 0 | 
jeedom::cron5() | stop | */5 * * * * * | 0 | 0 | 
jeedom::cron10() | stop | */10 * * * * * | 0 | 0 | 
jeedom::cron() | stop | * * * * * * | 0 | 0 | 
plugin::cron() | stop | * * * * * * | 0 | 0 | 
plugin::cron5() | stop | */5 * * * * * | 0 | 0 | 
plugin::cron10() | stop | */10 * * * * * | 0 | 0 | 
plugin::cron15() | stop | */15 * * * * * | 0 | 0 | 
plugin::cron30() | stop | */30 * * * * * | 0 | 0 | 
plugin::checkDeamon() | stop | */5 * * * * * | 0 | 0 | 
cache::persist() | stop | */30 * * * * * | 0 | 0 | 
history::archive() | stop | 00 5 * * * * | 0 | 0 | 
plugin::heartbeat() | stop | */5 * * * * * | 0 | 0 | 

**************************************************
*                 DATE                           *
**************************************************
Vérifie si la date de Jeedom est bonne...OK ()

**************************************************
*                 MESSAGE                        *
**************************************************
DATE | PLUGIN | LOGICALID | MESSAGE

**************************************************
*                 PLUGIN                         *
**************************************************
ID | NAME | STATE



==================================================
|         TOUTES LES VERIFICATIONS SONT FAITES    |
==================================================
\033[1;32métape 11 vérification de jeedom réussie\033[0;39m
/!\ IMPORTANT /!\ Le mot de passe root MySQL est 6b2c256be25ef9c
Installation finie. Un redémarrage devrait être effectué
pi@Jeedom2:~ $ 


10) je reboot encore une fois aussi parce que je vois dans l'install de jeedom des mises à jour de composants qui me demande un reboot puis jeedom le dit aussi:

pi@raspberrypi:~ $ sudo shutdown -r now


Maintenant, on va se connecter à Jeedom (fini le SSH ;-)...

1) en utilisant le login "admin" et le password "admin" :


2) On change aussi le mot de passe de l'accès admin pour finir comme proposé par Jeedom :


3) Ensuite on se connecte au store ou on en créé un :


4) et Moi, pour des raisons sécurités encore ;-), je conseil de désactiver le compte admin et mettre son propre login dans le menu "utilisateurs": 




C'est fini ici pour les nouveau utilisateur, je vous laisse jouer avec Jeedom ;-)

Pour les autres, si vous voulez restaurer un backup, je continue....

Restauration de backup

1) on va d'abord aller dans le menu avec la roue cranté comme pour les "utilisateurs" mais cette fois on va dans "sauvegarde" :


2) On utilise le bouton "envoyer" pour charger la sauvegarde qui dans mon cas est sauvegardée régulièrement par Jeedom dans le cloud (il faudra faire justement un article aussi sur cela, j'ai encore du boulot ;-)


3) Puis on clic sur "restaurer" avec le petit message pour avertir (dans mon cas, je pars d'une base vierge... pas de risque... j'ai grillé ma microSD précédente, morte de vieillesse je pense ;-)


Donc je dis "OK" et c'est partie :


Et voilà, ma domotique "is back"... (après un petit F5 quand même et/ou un logout/login)

4) Dans tout les cas, moi j'aime bien refaire un "redémarrage" pour finir et me reloguer pour vérifier si c'est stable et que je suis sur le bon user ;-):



5) Et pour finir, les dépendances s'installent et certains plug-in (je vais vérifier chaque plug-in pour voir si tous se passe bien) devront être mise à jour dans le centre prévu à cette effet ;-) (dans mon cas, j'installe des dépendances à la main mais c'est pour ma bibliothèque de scripts en tout genre, je vous en dispense pour cette fois, vous avez pu le découvrir dans d'autres articles déjà)


6) Vous pouvez faire un dernier check aussi dans le centre de "santé", dans mon cas on voit que le Z-wave est en cours d'installation mais j'ai un problème de swap sur mon Raspberry Pi 2 :


7) Pour le problème de swap (parce que je suis en Raspberry Pi 2, sur le 3, on peut le supprimer), je vais réduire le pourcentage de swap en le forçant à 10 % en éditant le fichier suivant :

pi@Jeedom2:~ $ sudo nano /etc/sysctl.conf

Et en rajoutant la ligne à la fin: vm.swappiness = 10


CTRL+X puis Y puis ENTRER pour sauvegarder.

Puis je vais augmenter la taille du swap à 2 Go en modifiant ce fichier :

pi@Jeedom2:~ $ sudo nano /etc/dphys-swapfile

Et en modifiant la ligne CONF_SWAPSIZE=100 par CONF_SWAPSIZE=2048



CTRL+X puis Y puis ENTRER pour sauvegarder

8) Puis je redémarre encore une fois... je conseil par l'interface Jeedom, cela est mieux...

 

Fini !!!!


Et voilà, merci d'avoir suivi ce tuto sur mes habitudes d'installation de Jeedom, cela va encore évoluer (et je peux dire que c'est de mieux en mieux si on compare au début en 2014 aussi bien pour Jeedom que pour moi !) mais cela vous montre comment je m'y prends pour ne pas avoir de problème maintenant et faire au plus vite pour repartir sur de bon pied ;-)

Enjoy !







Aucun commentaire :

Enregistrer un commentaire