Installer Jeedom sur Raspberry Pi, script v3. Fonctionne avec Debian ou Machine Virtuelle [Màj 2018]

Depuis le passage à la version 3 de Jeedom, l’image de la carte SD du serveur domotique n’est plus proposée au téléchargement. Jeedom s’installe maintenant sur n’importe quelle distribution Linux basée sous Debian 8 à l’aide d’un script (comme Domoticz d’ailleurs). On pourra donc créer une box domotique DIY en recyclant un ancien PC windows, un Raspberry Pi 3 ou un Orange Pi (suivez ce tutoriel pour installer Jeedom sur la carte SD ou la mémoire eMMC). Il est également possible de mettre à jour la version 2 de Jeedom. Pour cela, n’hésitez pas à aller lire cet article publié sur Maison et Domotique. Pour ce tutoriel, nous allons installer Jeedom v3 sur un Raspberry Pi 3 fonctionnant sous Raspbian Jessie avec le bureau Pixel.

Matériel de base

Si vous vous lancez dans la fabrication d’une box domotique Jeedom, voici une configuration à base de Raspberry Pi 3 très bien adaptée.

raspberry-pi3 Raspberry Pi 3

Environ 40€

convertisseur hdmi vga Adaptateur vidéo (optionnel, pour l’installation)

case raspberry pi 3 Boitier pour Raspberry Pi 3

A partir de 6,99€

carte sd Carte SD 8 Go SDHC Classe 10

A partir de 6,90€

chargeur raspbery pi 3 5v 3000ma Alimentation 5V – 3000mA

Environ 11€

Il est bien souvent plus économique d’acheter le Raspberry Pi sous la forme d’un kit. On en trouve pour environ 55€ sur Amazon.

Pour piloter vos appareils sans fils depuis Jeedom, vous pouvez ajouter une (ou plusieurs) passerelles domotiques.

RFXCOM RFXCom

Environ 110€

Module payant 4€

cle dongle jeedom domoticz z-wave zwave.me Clé Z-Wave

Environ 34€

Module gratuit

montage rflink rfxcom arduino mega 2560 superheterodyne domoticz Passerelle Open Source RFLink

Tutoriel pour fabriquer une passerelle RFLink 100% DIY pour environ 10,50€

Module payant 4€. La liste du matériel à acheter

Voici une liste toute prête du matériel à acheter sur le comparateur de prix.

Installer Raspbian sur la carte SD

Si vous débutez en domotique et que vous venez d’acheter un Raspberry Pi 3, la première chose à faire est de préparer la carte SD du système d’exploitation. Allez sur le site officiel de la fondation et téléchargez l’image de la distribution Raspbian Jessie ou Jessie Lite. La version Lite est plus légère. Il n’intègre pas de bureau graphique (appelé Pixel) et aucun logiciel pré-installé (navigateur internet, messagerie, suite bureautique…).

Si le Raspberry Pi est réservé à la box domotique (fortement conseillé), la version Lite est suffisante.

raspberry pi jessy lite raspbian

Pour ce tutoriel, nous allons installer Jeedom sur un Raspberry Pi 3 fonctionnant sous Raspbian Jessie avec le bureau Pixel. Suivez ce tutoriel pour installer Raspbian sans écran ni clavier.

Après avoir téléchargé l’image de la carte SD, utilisez le logiciel Open Source Etcher pour installer Raspbian sur la carte SD. Suivez ce guide qui explique toutes les étapes. Etcher est disponible sur Windows, macOS et Linux.

etcher sd card

Démarrer le Raspberry Pi

A la fin de l’opération, Etcher éjecte automatiquement la carte SD du lecteur. Insérez la dans le lecteur de carte du Raspberry Pi puis mettez le sous tension. Au premier démarrage, Raspbian s’occupe d’étendre la partition pour occuper tout l’espace disponible sur la carte SD.

Configurer le clavier

Pour tout mettre en Français, ouvrez le Menu puis Preferences -> Raspberry Pi Configuration et allez dans l’onglet Localisation.

Cliquez sur Set Locale…

Choisissez fr (French) en face de Language et Fr (France) en face de Country

raspberry raspbian configurer interface en francais

Votre Pi doit redémarrer pour prendre en compte les modifications.

Une fois redémarré, ouvrez le Menu -> Préférences -> Clavier et souris

Allez dans l’onglet clavier et cliquez sur Keyboard Layout…


raspberry pi 3 raspi 3 configurer clavier azerty francais
Dans la liste qui s’affiche, choisissez France en dessous de la colonne Country et cherchez le clavier qui s’approche le plus du vôtre dans la colonne Variant.

Validez. Votre clavier est maintenant en AZERTY.

Configurer le WiFi et le bluetooth

Le bluetooth est activé par défaut. Il n’y a rien de plus à faire.

Pour connecter le Raspberry Pi au réseau WiFi, cliquez sur l’icône réseau à coté de l’heure (dans le coin supérieur droit de l’écran). Sélectionner le réseau et saisir le mot de passe dans la fenêtre qui s’affiche.

activate wifi raspbian jessie

Modifier le mot de passe et activer  la connexion SSH

Raspbian est livré avec un mot de passe par défaut qui pourrait être utilisé par des pirates pour accéder à votre box domotique. Lisez cet article sur le Trojan Linux.MulDrop.14 récemment découvert. Il est impératif de le modifier. Pour cela, exécutez la commande passwd  et suivez les consignes.

Ne débranchez jamais le câble d’alimentation sans avoir arrêté le système. C’est le meilleur moyen de casser votre carte SD ! Pour arrêter le système, exécutez la commande sudo halt. Après l’extinction de la Led d’activité, attendez encore 5 secondes.

Pour activer la connexion SSH qui permettra d’installer ou de mettre à jour Jeedom et Raspbian depuis un autre ordinateur (sans avoir besoin d’un clavier et d’une souris pour le Raspberry Pi), il suffit d’aller dans le panneau de configuration. Suivez ce tutoriel pour apprendre comment fonctionne une connexion sécurisée SSH.

raspbian raspberry pi activer connexion ssh

Installer Jeedom v3 sur Raspbian Stretch

Maintenant que tout est prêt, nous pouvons lancer l’installation de Jeedom. Il n’y a quasiment rien à faire car c’est le script qui va se charger de tout. La procédure est détaillée dans la documentation officielle (point 5 – Autre/DIY). Le code du script d’installation est disponible sur GitHub ici.

L’installation de Jeedom va se dérouler en 11 étapes :

  • step_1_upgrade : mise à jour du système. C’est l’opération la plus longue car le script fait un update et un dist-upgrade du système
  • step_2_mainpackage : installation des librairies
  • step_3_database : installation et configuration de mysql. Durant cette étape, le mot de passe à la base de données sera affiché dans le Terminal. C’est une série de chiffres et de lettres générée au hazard. Notez le. En cas de plantage durant l’installation, il vous permettra de reprendre facilement celle-ci
  • step_4_apache : installation du serveur web apache
  • step_5_php : installation de php
  • step_6_jeedom_download : télécharge les ressources de Jeedom et décompresse le Zip dans /var/www/html
  • step_7_jeedom_customization : construction du système
  • step_8_jeedom_configuration : configuration de Jeedom. Si le script s’est planté auparavant, le script ne pourra plus se connecter à la base de données car un nouveau mot de passe aura été généré. La solution est données plus bas dans l’article
  • step_9_jeedom_installation : exécute le script php install.php
  • step_10_jeedom_post : mise en place de la cron table (exécutions programmées)
  • step_11_jeedom_check : dernière vérification

Exécutez ces trois commandes pour installer Jeedom sur Raspbian. La première commande permet de récupérer le script d’installation. On rend ensuite ce script exécutable (chmod +x) avant de le lancer.

wget https://raw.githubusercontent.com/jeedom/core/stable/install/install.sh
chmod +x install.sh
sudo ./install.sh

Le temps d’installation va fortement dépendre de la vitesse de votre connexion internet et de l’état de votre système. S’il est déjà à jour, la première étape (qui est la plus longue) sera très rapide. En principe tout se fait tout seul. Il faut juste de la patience !

Attention. Il ne faut pas interrompre le script d’installation, surtout après l’étape 3. Un mot de passe est créé automatiquement pour configurer la base de données MySQL. Il n’est indiqué qu’à la fin de l’exécution du script. Suivez ce tutoriel pour ré-initialiser le mot de passe en cas de problème.

Voici un extrait des nouveautés proposées par la version 3 (la liste complète ici)

  • Suppression du mode esclave
  • Possibilité de déclencher un scénario sur un changement d’une variable
  • Les mises à jour de variables déclenchent maintenant la mise à jour des commandes d’un équipement virtuel (il faut la dernière version du plugin)
  • Possibilité d’avoir une icône sur les commandes de type info
  • Possibilité sur les commandes d’afficher le nom et l’icone
  • Ajout d’une action « alert » sur les scénarios : message en haut dans jeedom
  • Ajout d’une action « popup » sur les scénarios : message à valider
  • Les widgets des commandes peuvent maintenant avoir une méthode d’update ce qui évite un appel AJAX à Jeedom
  • Les widgets des scénarios sont maintenant mis à jour sans appel ajax pour avoir le widget
  • Le résumé global et des pièces sont maintenant mis à jour sans appel ajax
  • Un clic sur un élément d’un résumé domotique vous amène sur une vue détaillée de celui-ci
  • Vous pouvez maintenant mettre dans les résumés des commandes de type texte
    Changement des bootstraps slider en slider (correction du bug du double événement des sliders)
  • Sauvegarde automatique des vues lors du clic sur le bouton « voir le résultat »
  • Possibilité d’avoir les docs en local
  • Les développeurs tiers peuvent ajouter leur propre système de gestion de tickets
  • Refonte de la configuration des droits utilisateurs (tout est sur la page de gestion des utilisateurs)
  • Mise à jour des libs : jquery (en 3.0) , jquery mobile, hightstock et table sorter, font-awesome
  • Grosse amélioration des designs :
    • Toute les actions sont maintenant accessibles à partir d’un clic droit
    • Possibilité d’ajouter une commande seule
    • Possibilité d’ajouter une image ou un flux vidéo
    • Possibilité d’ajouter des zones (emplacement cliquable) :
      • Zone de type macro : lance une série d’actions lors d’un clic dessus
      • Zone de type binaire : lance une série d’actions lors d’un clic dessus en fonction de l’état d’une commande
      • Zone de type widget : affiche un widget au clic ou au survol de la zone
    • Optimisation général du code
    • Possibilité de faire apparaître une grille et de choisir sa taille (10×10,15×15 ou 30×30)
    • Possibilité d’activer une aimantation des widgets sur la grille
    • Possibilité d’activer une aimantation des widgets entre eux
    • Certains types de widgets peuvent maintenant être dupliqués
    • Possibilité de verrouiller un élément
  • Les plugins peuvent maintenant utiliser une clef api qui leur est propre
  • Ajout d’interactions automatiques, Jeedom va essayer de comprendre la phrase, d’exécuter l’action et de répondre

Erreur SQLSTATE[HY000] [2002] No such file or directory : problème avec la base de données MySQL

Jeedom utilise la base de données Open Source MySQL (aussi appelée MariaDB) pour fonctionner. Même si en théorie tout est installé et configuré par la script, vous risquez de rencontrer ce message après l’installation. Le message SQLSTATE[HY000] [2002] No such file or directory signifie que Jeedom n’arrive pas à se connecter à la base de données. Vous pourrez également rencontrer ce problème suite à un arrêt imprévu de Jeedom (une coupure de courant, un plantage de Jeedom…). Impossible de décrire toutes les solutions. Consultez le forum officiel ici. Pour ma part, j’ai obtenu le message d’erreur après l’installation. Je n’en connais pas la cause exacte mais voici comment je m’en suis sorti !

Tout d’abord, mettez en lieu sûre le mot de passe généré par le script au moment de l’installation. Il est indiqué  par le script à la fin de l’installation dans la section ALL CECKS COMPLET. C’est un identifiant unique composé de 15 caractères alphanumériques généré automatiquement au démarrage du script.

On commence par désinstaller MySQL du système

sudo apt-get purge mysql-server

Puis tout le contenu du répertoire

sudo rm -rf /var/lib/mysql

Enfin, on installe MySQL

sudo apt-get install mysql-server

Durant l’installation, une fenêtre va apparaître pour vous demander le mot de passe root. Collez le mot de passe généré par le script précédemment. Rien ne vous interdit d’utiliser un autre mot de passe. Il faudra l’indiquer au script d’installation de Jeedom juste après.

Pour sécuriser encore plus MySQL, vous pouvez exécuter la commande mysql_secure_installation

Evidemment, désinstaller et ré-installer MySQL n’est pas sans conséquences sur Jeedom. Si vous actualisé le navigateur internet, vous aurez le message d’erreur suivant

SQLSTATE[HY000] [1045] Access denied for user 'jeedom'@'localhost' (using password: YES)

Il va falloir “rejouer” le script d’installation pour tout remettre en ordre. Comme vous avez noté le mot de passe (et ré-installé MySQL avec le même), exécutez cette commande

sudo ./install.sh -m MOT_DE_PASSE_MYSQL

Comme le système est déjà à jour et que toutes les ressources ont été téléchargées, quelques minutes suffisent.

Et voilà, vous pouvez commencer à configurer votre box domotique 100% DIY Jeedom v3 ! Ouvrez Jeedom en saisissant l’adresse IP du Raspberry PI depuis n’importe quel ordinateur ou tablette du réseau local.

[socialpoll id=”2387384″]

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous désinscrire à tout moment.

Promos à ne pas louper

17 Commentaires
  1. Bonjour
    J’ai enfin réussi à avoir jeedom en prenant le nouvel OS du raspberry par contre j’ai remarqué en voulant activer le plugin easy que nodes.js n’était pas installé

    • Bonjour Visual. Tout d’abord bonne année ! C’est génial. Pour Nodejs, Jeedom va s’occuper de tout à la première installation d’un plugin. C’est un peu déroutant car totalement transparent. Tu peux ouvrir le log depuis le panneau de configuration du plugin pour voir se qui se passe. Par contre il ne faut surtout pas le faire manuellement au risque de ne pas installer la version supportée. Voilà, tout devrait bien aller maintenant. Bonne journée

  2. bonjour,
    je vines d’essayer d’installer Jeedom sur mon raspberry 2 équipé d’un disque dur de 2.5 pouce mais t’essuie échec sur échec et cela en raison de Mysql-server
    j’ai essayé de le supprimer comme indiqué mais je m’arrête toujours à l’étape 9
    existe il un méthode de réinstallation de jessie sans MYSQL
    Je compte sur vous car je suis vraiment bloqué
    bonnes fin d’année

    • Bonjour Visual. Non, à priori MySQL est installé par défaut. Il faudrait vérifier si elle est intégrée à la version Lite. Sinon pour désinstaller MySQL, il suffit de suivre le paragraphe Erreur SQLSTATE[HY000] [2002]. Bon courage.

  3. Bonjour,
    Super tuto, pour moi l’installation a marché sans problème, sauf que :
    Lorsque je me connecte depuis un navigateur web sur l’ip du ras berry, j’ai une fenêtre Jeedom qui me demande le login et le mot de passe, ou je trouve ces informations ?

    Merci

  4. Bonjour,
    j’ai l’erreur SQLSTATE[HY000] [2002] No such file or directory lorsque je souhaite me connecter à Jeedom.
    Pour la petite histoire, j’ai planté ma carte SD en milieu de semaine (coupure électrique), puis tout réinstallé sur une nouvelle carte. Et je pensais être tranquille, jusqu’à ce matin avc cette erreur de bdd.
    Je viens de réinstaller jeedom avec une autre carte SD neuve, et au bout de quelques minutes, l’erreur est revenue.
    Je voulais appliquer ta méthode pour réinstaller mysql, mais je ne sais de quel mot de passe tu parles.
    Comment puis-je le récupérer pour tenter cette solution
    Merci

    Michel

    • Bonjour Michel. Le mot de passe est généré de manière aléatoire par le script d’installation. Il est affiché à la fin de l’installation. Il n’est pas stocké donc impossible de le récupérer. Il faut donc le changer depuis la console de MySQL. Toutes les étapes sont indiquées ans le tutoriel. C’est un peu pénible à faire, mais c’est le seul moyen…avant de repartir d’une carte SD vierge. Bon courage.

  5. Les plugins sont aussi dispo ?

    • Bonjour Tibo. Oui, les plugins sont indépendant de la plateforme d’installation. Ils sont développés en javascript et donc fonctionnent avec NodeJS. Aucun problème pour les installer sur Linux. D’ailleurs, c’est transparent pour nous. Jeedom s’occupe de tout ! Bravo à l’équipe de développement !

  6. Bonjour
    J’aimerais savoir quelle doit être la taille minimal de la carte SD ?
    Une autre question, peut-on directement booter via une clé USB ?
    Sinon le tuto est clair et bien formulé, merci.

  7. Bonjour
    Merci pour ce tuto. je viens de le tester et même pour un débutant comme moi, il reste facile à mettre en oeuvre. Je me lance dans une alarme maison open source. et c’est les premiers pas.
    Encore merci pour ton travail de qualité
    Seb

  8. Bonsoir

    J’ai un problème d’installation de Jeedom

    Le script “sudo ./install.sh” s’exécute sans erreur la 1ère fois
    Lors de la recréation de la base de données “sudo apt-get install mysql-server”, la commande ne me demande pas le mot de passe (est-ce dû au fait que celui-ci est le même que pour pi)
    Lors de l’exécution du script “sudo ./install.sh -m MOT_DE_PASSE_MYSQL”, la 2ième fois, j’ai une erreur dans l’étape 3, voici la ligne en erreur :

    Start step_3_database
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    mysql-client is already the newest version (5.5.9999+default).
    mysql-common is already the newest version (5.8+1.0.2).
    mysql-server is already the newest version (5.5.9999+default).
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    mysqladmin: connect to server at ‘localhost’ failed
    error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 “No such file or directory”)’
    Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!
    mariadb.service – MariaDB database server
    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Sun 2017-09-03 21:59:57 CEST; 7min ago
    Process: 2865 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
    Process: 2710 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= || VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ] && s
    Process: 2702 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
    Process: 2699 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 2865 (code=exited, status=1/FAILURE)
    Status: “MariaDB server is down”

    Merci de m’indiquer ce que je dois faire

    Par avance merci

    Guy

    • Bonjour Guy. Jeedom ne peut pas s’installer car la base de données (MariaDB / MySQL) n’est pas démarrée. Il faut suivre les instructions du paragraphe “Erreur SQLSTATE[HY000] [2002] No such file or directory : problème avec la base de données MySQL” et ça devrait fonctionner. A très bientôt.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Domotique et objets connectés à faire soi-même