Accueil / Domotique / Domoticz / Installer Domoticz sur la distribution Raspbian

Installer Domoticz sur la distribution Raspbian

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, Broker Mosquitto, Python…).  C’est tout à fait possible et nous allons voir comment dans ce tutoriel. Pour rédiger cet article j’ai employé un Raspberry Pi 3 qui est suffisamment puissant pour faire fonctionner le serveur domotique et continuer à travailler. Ce tutoriel devrait également fonctionner pour les premières versions du Pi mais je ne rien pour tester.

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

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

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

 

Allez dans un navigateur et saisissez cet URL

http://ADRESSE_DE_VOTRE_PI:8080

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.

Mises à jour

  • 3/10/2016 : extension du système de fichier
  • 10/10/2016 : correction de la commande cmake, merci Wass
  • 27/10/2016 : make, merci Stéphane
  • 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

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

  • 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 ago
    oct. 19 13:53:29 pi systemd[1]: Started LSB: Home Automation System.

    Une idée ?

    • 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 moment mais si je trouve une piste je vous recontacte
      A très bientôt

    • 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 😉

  • 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 libraries found at: /usr/lib/arm-linux-gnueabihf/libz.so
    — ZLIB includes found at: /usr/include
    — Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
    CMake Error at CMakeLists.txt:476 (MESSAGE):
    cURL not found on your system, see install.txt how to get them installed.
    (for example ‘sudo apt-get install curl libcurl4-openssl-dev’)

    — Configuring incomplete, errors occurred!
    See also « /home/pi/domoticz/CMakeFiles/CMakeOutput.log ».

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