Installer Domoticz sur un Raspberry Pi 3 fonctionnant sous Rapbian Stretch

raspberry-pi3

Vous voudriez peut être continuer à utiliser votre Raspberry Pi en parallèle de votre serveur domotique Domoticz ou tout simple pourvoir le tester et profiter d’outils installés sur la distribution Raspbian (Node-RED, Mosquitto, Python…).  C’est tout à fait possible et nous allons voir comment dans ce tutoriel.

 

Cet article a été rédigé avec Raspberry Pi 3 qui est suffisamment puissant pour faire fonctionner le serveur domotique et continuer à travailler.

Mise à jour : il est beaucoup plus facile d’installer Domoticz à l’aide de la commande curl. Ce tutoriel a été mis à jour le 6 décembre 2016 pour en tenir compte.

Introduction

Le seul bémol à cette stratégie reste le redémarrage éventuel de votre Raspberry Pi. Et oui, c’est bien beau mais à chaque fois qu’on arrête ou qu’on redémarre le Pi, impossible d’allumer ou d’éteindre la lampe du salon sans passer par les bons vieux interrupteurs !

Dans l’article précédent nous avons vu comment préparer la carte SD à partir de l’image. Si vous débutez avec un Raspberry Pi, vous pouvez également lire cet article de présentation et de configuration.

Matériel conseillé

Le Raspberry Pi 3 est très bien adapté à la réalisation d’une box domotique 100% DIY avec Domoticz. Voici une configuration type.

raspberry-pi3 Raspberry Pi 3 ou modèle b+ (2018) plus puissant

Environ 35€

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

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€

Soit un budget d’environ 65€.

Pour piloter vos appareils sans fils depuis Domoticz, vous pouvez ajouter une passerelle domotique

RFXCOM RFXCom

Environ 110€

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

Environ 34€

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

Tutoriel de fabrication

Installation de Domoticz sur Raspbian

Commençons par mettre à jour le système

sudo apt-get update
sudo apt-get upgrade
sudo reboot

Ensuite on vérifie que le système de fichier est étendu et que toute la place de la carte SD est disponible. Exécutez

sudo raspi-config

Puis allez dans 1 Expand Filesystem

domoticz-expand filesystem domoticz

Redémarrez le RPI avec sudo reboot pour terminer l’opération.

domoticz-expand-filesystem

Création d’un utilisateur domoticz (optionnel)

Même si ce n’est pas nécessaire, il est préférable de créer un utilisateur domoticz. Exécutez la commande suivante et renseignez les informations demandées (le nom du compte et le mot de passe au minimum). Par sécurité, donnez un mot de passe différent de celui de l’utilisateur pi.

sudo adduser domoticz

On ajoute le nouveau utilisateur au groupe sudo pour lui permettre d’utiliser cette commande.

sudo adduser domoticz sudo

Changez d’utilisateur

su domoticz

Ensuite, on modifie la configuration pour autoriser l’utilisateur à exécuter des commandes sudo sans avoir à saisir le mot de passe.

sudo visudo

A la fin du fichier, insérez cette nouvelle ligne

domoticz ALL=(ALL) NOPASSWD: ALL

Enregistrez avec Ctrl+X puis Y.

Installation de Domoticz

Maintenant que tout est prêt, changez de compte et lancez l’installation avec cette commande curl.

sudo curl -L install.domoticz.com | bash

La commande d’installation a été modifiée fin 2018 (merci à Bussiere pour l’info)

curl -sSL install.domoticz.com | sudo bash

ou

curl -L https://install.domoticz.com | bash

Cette simple commande va s’occuper de tout. De l’installation des dépendances à la configuration via de petits configurateurs qui vont apparaître au fur et à mesure de l’installation.

domoticz orange pi lite installation armbian raspbian

La configuration commence

2-domoticz-orange-pi-lite-installation

On peut activer ou désactiver la connexion HTTP et HTTPS.

domoticz orange pi lite installation armbian port http raspbian

Choix du port HTTP. 8080 par défaut.

domoticz orange pi lite installation armbian raspberry pi raspbian https

Choix du port HTTPS. 443 par défaut.

domoticz orange pi lite installation armbian raspberry pi raspbian folder destination

Le dossier des fichiers.

domoticz orange pi lite installation armbian raspberry pi raspbian complete

C’est terminé. L’adresse IP de votre Orange Pi sur votre réseau est indiqué.

A la fin de l’installation, Domoticz ne pourra pas démarrer sous Raspbian ou Debian Stretch car il manque une librairie.

Librairie libssl.so.1.0.0 absente sur Raspbian Stretch

L’erreur m’a été signalée par Philippe dans les commentaires. Plusieurs librairies (libssl.so.1.0.0,libcrypto..) sont absentes sur Raspbian Stretch (version d’Août 2017), ce qui empêche le démarrage de Domoticz. Au lancement de Domoticz, vous aurez par exemple le message suivant

./domoticz: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

Voici comment faire pour installer la librairie (merci à Philippe qui a trouvé la solution sur le forum officiel de Domoticz).

La commande Linux ldd  permet de vérifier que toutes les librairies nécessaires sont installés. Exécutez la commande suivante en modifiant le chemin si nécessaire.

ldd /home/domoticz/domoticz

La commande retourne la liste des librairies nécessaires et indique le chemin d’installation. S’il manque une librairie, le message not found est indiqué à coté. Par exemple

/usr/lib/arm-linux-gnueabihf/libarmmem.so (0xb6f73000)
libusb-0.1.so.4 => /lib/arm-linux-gnueabihf/libusb-0.1.so.4 (0xb6f47000)
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb6f30000)
libresolv.so.2 => /lib/arm-linux-gnueabihf/libresolv.so.2 (0xb6f0b000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6ee2000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb6ebb000)
libcurl.so.4 => /usr/lib/arm-linux-gnueabihf/libcurl.so.4 (0xb6e3f000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb6e2c000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6dad000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6c6e000)
/lib/ld-linux-armhf.so.3 (0xb6f88000)
.....

Pour installer manuellement la librairie libssl.so, on va déjà la télécharger

wget http://ftp.nl.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_armhf.deb

Puis l’installer

sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_armhf.deb

Et voilà, Domoticz peut démarrer normalement. ON va redémarrer le service

sudo service domoticz.sh restart

puis pour vérifier si Domoticz fonctionne correctement

sudo service domoticz.sh status

En cas de besoin pour arrêter Domoticz, exécutez cette commande

sudo service domoticz.sh stop

Accéder à Domoticz depuis un navigateur

Tout est maintenant installé. Allez dans un navigateur et saisissez dans la barre d’adresse l’url de votre Raspberry:port, par exemple

http://ADRESSE_DE_VOTRE_PI:8080

Vous pouvez également vous y connecter de manière sécurisée en choisissant le port 443.

raspberry pi domoticz raspbian

Et voilà, vous disposez maintenant d’un serveur domotique sur votre distribution Raspbian. Pour terminer la configuration, je vous renvoie vers l’article précédent.

Installer Domoticz depuis les sources, méthode à ne plus suivre

J’ai préféré laisser cette méthode pour mémoire et pour les anciennes versions encore en circulation (au cas ou ?!).

Après déconnexion, on installe les paquets nécessaires à la récupération et à la compilation des sources

sudo apt-getinstall git-core subversion screen
sudo apt-get install cmake make gcc g++ libboost-dev libboost-thread-dev libboost-system-dev

On récupère les sources depuis github

git clonehttps://github.com/domoticz/domoticz.git domoticz

Il ne reste plus qu’à compiler les sources. Il faut au moins 35 minutes même sur un Raspberry Pi 3.

cd domoticz
cmake CMakeLists.txt
make

Maintenant il faut attribuer aux scripts les droits qu’ils méritent

sudo cp domoticz.sh /etc/init.d
sudo chmod +x /etc/init.d/domoticz.sh
sudo update-rc.d domoticz.sh defaults

Vous aurez peut être besoin de modifier le fichier de configuration, par exemple si vous utilisez un autre utilisateur que pi. Dans ce cas, éditez le paramètre USERNAME l’aide de vi ou nano.

sudo vi/etc/init.d/domoticz.sh

Il ne reste plus qu’à démarrer Domoticz

sudo service domoticz.sh start

et pour l’arrêter

sudo service domoticz.sh stop

Mises à jour

[10/02/2019] Nouvelle commande curl d’installation sur Linux / Raspbian

[3/09/2017] Installation manuelle de la librairie libssl.so.1.0.0 absente sur Raspbian Stretch. Merci à Philippe

[6/12/2016] Installation depuis la commande curl. N’installez plus Domoticz directement depuis les sources, c’est beaucoup trop fastidieux

[27/10/2016] compiler Domoticz (make) depuis les sources. Merci Stéphane (obsolète)

[10/10/2016] correction de la commande cmake. Merci Wass

[3/10/2016] extension du système de fichier

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

29
Poster un Commentaire

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.

  S’abonner  
Notifier de
BUSSIERE

Bonjour,

Suite au passage du site de DOMOTICZ en https, je me suis aperçu que la commande
“sudo curl -L install.domoticz.com | bash” génère un message d’erreur et ne lance pas l’installation.
Il faut donc utiliser:
curl -sSL install.domoticz.com | sudo bash ou
curl -L https://install.domoticz.com | bash.
Merci encore pour votre site qui est une aide très précieuse dans le domaine de la domotique “fait maison”.

Jeff

Merci encore à Projet DIY, 3 ans que j’utilise domoticz, je décide de réinstaller domoticz sur un Pi3 et le service ne se lance pas !!! Je cherche sur le wiki, trouve rien et hop une recherche dans google et grâce à ce tuto et à la librairie manquante tout rentre dans l’ordre. Incroyable que le site officiel ne mentionne pas ce cas…Que ferait-on sans Projet DIY 🙂

Avec plaisir Jeff. J’imagine que l’équipe de développement à beaucoup à faire entre les nouveaux développements et corriger les bugs à droite et à gauche. En tout cas, ça me fait plaisir si de temps en temps j’apporte une petite brique à l’édifice 😀

Guillaume Spohr

Bonjour, Tout d’abord, félicitation pour l’article. Malheureusement aucune des propositions pour résoudre le problème avec la librairie “libssl1.so.1.0.0” n’a fonctionné pour moi. Je tourne avec un Rpi B+ sous Raspbian Stretch téléchargé hier le 08/11/2017, de même que pour Domoticz. Après beaucoup de recherche, je pense avoir trouvé une solution que je partage ici. Domoticz utilise la librairie “libssl1.so.1.0.0” qui est obsolète et plus disponible avec Stretch. Un simple: sudo apt-get install libssl1.0.0 indique “Aucune version du paquet libssl1.0.0 n’est disponible, mais il existe dans la base de données. Cela signifie en général que le paquet est manquant, qu’il est… Lire la suite »

Bonjour Guillaume et merci beaucoup pour l’info, c’est ajouté au tutoriel

bret22

Merci pour tous vos conseils, grâce à vous j’ai réussi à demarrer Domoticz

Avec plaisir Bret

philippe rufenach

Bonjour
Merci pour ce tuto détaillé que j’ai appliqué selon la “nouvelle” méthode (curl…)
Tout s’est parfaitement déroulé, mais Domoticz ne démarre pas, ni automatiquement, ni “en manuel” par ./domoticz . J’ai le message suivant:
./domoticz: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory

J’ai tenté également “sudo service domoticz.sh start” mais ça ne change rien

Je constate que domoticz n’est pas lancé ( ps -A => pas de domoticz !)

SI quelqu’un peut m’aider … je ne suis pas un pro de linux et je sèche

philippe rufenach

Re bonjour

Après de nouvelles recherches, j’ai trouvé la solution (enfin pas moi !!!)
voir ici => http://www.domoticz.com/forum/viewtopic.php?f=6&t=18932&start=20#p146958
Le problème provient d’une incompatibilité avec la nouvelle version de Raspbian “strech” qui ne comporte pas certaines librairies utilisées par domoticz.
Faire > ldd domoticz => permet de vérifier s’il manque des lib

Après avoir téléchargé et installé libssl.so.1.0.0 et libgcrypto.so.1.0.0, ça fonctionne.
> wget http://ftp.nl.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_armhf.deb

puis : sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u6_armhf.deb

Autre solution: downgrader Raspbian

En espérant que cela pourra être utile

A+

Merci beaucoup Philippe. J’ai ajouté un paragraphe pour l’installation de Domoticz sur Raspbian Stretch

philippe rufenach

C’est un plaisir d’avoir pu contribuer malgré mes connaissances limitées.
A+

Mathieu Angel

Bonjour, la commande suivant ne fonctionne pas chez moi :
wget http://ftp.nl.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u6_armhf.deb

du coup je suis bloqué et je n’arrive pas a installer correctement domoticz

eric
Purmoka

Bonjour,
En tant que noobs, j’ai suis votre super tuto à la lettre (ou ligne pret) ! Premiere question le but de cette installation est de pouvoir utiliser son pi en parallele avec d’autre distribution, mais comment on met les autres distributions si besoin ? Plutot cette installation ou avec Docker ?
Il manque une explication sur acces au super-administrateur pour creation d’un groupe.
Et une derniere demande comment active t’on le wifi en ligne de commande et etant donner que sur jessie Lite pas d’interface graphique.

Merci beaucoup.

Bonjour Purmoka. Oui, ça permet soit de tester, soit pouvoir utiliser le Raspberry pour d’autres choses. Attention toutefois. Lors des arrêts et redémarrage, le serveur domotique est inopérant. Une autre distribution = une autre carte SD. Sur Raspbian ou Docker ? Comme vous voulez. Juste pour tester, Docker est très bien. C’est du jetable, on ne risque pas (moins) d’abimer le système. Accès super utilisateur avec la commande su -. Pour configurer et activer le WiFi, suivez ce tutoriel https://www.projetsdiy.fr/domoticz-installation-configuration-raspberry-pi-3/ A très bientôt

Mrclem15

Bonjour,

J’ai un problème avec la commande: “cmake CMakeLists.txt”, lorsque je l’effectue sur le raspberry il me sort une erreur: “-bash: cmake: command not found” mais je ne comprend pas pourquoi. Si quelqu’un sais, je suis prenneur.

Merci d’avance.

Pierrot

bonjour, j’ai quelques soucis après la commande Cmake Voici ma copie d’écran. Quelqu’un aurait-il la gentillesse de m’aider un peu. pi@raspberrypi:~/domoticz $ cmake CMakeLists.txt — Using builtin Mosquitto library — Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) — Failed to find openssl include files (ssl.h), no TLS support — Failed to find the openssl library, no TLS support — Compiling Revision #5924 — Boost version: 1.55.0 — Found the following Boost libraries: — thread — date_time — system — Linking against boost static libraries — ZLIB… Lire la suite »

Florian

Bonjour, j’ai exactement le même problème. Avez vous trouvé une solution?
Merci (je suis sur un raspberry B)

Bonjour Florian. En préparant un tutoriel sur l’installation de Domoticz sur un Orange Pi, j’ai trouvé une autre méthode pour installer Domoticz sur Raspbian à l’aide de la commande curl. Je viens de mettre à jour le tutoriel. Ca devrait être beaucoup plus facile maintenant. Bonne soirée. A très bientôt.

Bonjour Pierrot. En préparant un tutoriel sur l’installation de Domoticz sur un Orange Pi, j’ai trouvé une autre méthode pour installer Domoticz sur Raspbian à l’aide de la commande curl. Je viens de mettre à jour le tutoriel. Ca devrait être beaucoup plus facile maintenant. Bonne soirée. A très bientôt. Christophe

Wass

Je me permets d’apporter quelques corrections supplémentaires : cmake CMakeLists.txt (et non : cmake CMakeLists.txtmake) Puis: sudo cp domoticz.sh /etc/init.d sudo chmod +x /etc/init.d/domoticz.sh sudo update-rc.d domoticz.sh defaults au lieu de: sudo cp domoticz.sh/etc/init.dsudo chmod+x/etc/init.d/domoticz.shsudo update-rc.ddomoticz.sh defaults Par contre, j’arrive au bout du process sans aucun message d’erreur mais lorsque j’essaie d’accéder via http à Domoticz, il ne se passe rien (mon navigateur ne parvient pas à accéder au serveur). Pourtant, lorsque je tape: sudo service domoticz.sh status il semble tourner : domoticz.service – LSB: Home Automation System Loaded: loaded (/etc/init.d/domoticz.sh) Active: active (exited) since mer. 2016-10-19 13:53:29 GMT; 6min… Lire la suite »

Merci beaucoup pour le retour, je vais modifier l’article en conséquence pour en faire profiter tout le monde. Difficile de répondre sans avoir l’écran sous les yeux ni la configuration mais voici quelques pistes (j’ai tout noté ne sachant pas ce que vous avez déjà testé) : – Redémarrer le RPI pour être certain que tous les services sont démarrés – le Pi est-il bien sur le même sous réseau que le poste sur lequel on essai d’accéder à Domoticz ? – Ne pas oublier de pointer sur le port 8080 => http://IP_DOMOTICZ:8080 Je n’ai pas d’autres idées pour le… Lire la suite »

Stéphane DHUIT

Bonjour,

Je viens de suivre l’article pour réaliser mon installation. Tout s’est bien déroulé à par le fait que je n’arrivais pas à me connecter au serveur web. Je n’avais aucun port TCP à l’écoute et même symptôme que vous.

En cherchant, je me suis rendu compte qu’il manquait une étape de compil après le cmake (make):
cd domoticz
cmake CMakeLists.txt
–> make

J’ai donc stoppé Domoticz, fait le “make” (30 mn) puis un start de Domoticz –> Pb résolu.

Bonjour Stéphane. Merci beaucoup pour l’info. Décidément, il y avait plein d’erreurs dans ce tuto, dsl 😉

Wass

Bonjour,

J’ai un problème avec la commande “sudo apt-get install cmake makegccg++libboost-dev libboost-thread-dev libboost-system-dev”.

Résultat :
Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
E: Impossible de trouver le paquet makegccg++libboost-dev
E: Impossible de trouver de paquet correspondant à l’expression rationnelle « makegccg++libboost-dev »

Une idée ? problème de syntaxe dans la commande ?
Merci par avance!

Bonjour Wass. Effectivement il manque quelques espaces dans la commande : sudo apt-get install cmake make gcc g++ libboost-dev libboost-thread-dev libboost-system-dev A très bientôt.

Mrclem15

Bonjour,

J’ai un problème, au moment ou je souhaite installer le github sur le raspberry, il m’écris instantanément un message d’erreur:

“fatal: could not create work tree dir ‘domoticz’.: No space left on device”

Au début j’ai penser que cela venais de la carte mémoire qui était trop petite (16g) mais même avec une 64g il m’écris encore le message d’erreur, est ce que quelqu’un sais pourquoi?

Merci

Bonjour. La taille de la carte SD convient parfaitement (j’utilise une carte 8Go). Il faut étendre le système de fichier pour que toute la place disponible sur la carte SD soit utilisée. J’avais oublié de mettre cette étape dans le tuto (désolé). C’est corrigé. A très bientôt

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