Domoticz – Installation

Domoticz est une application de gestion domotique open Source disposant d’une communauté active autour du projet. La solution est modulaire et permet piloter des capteurs par le biais de “hardware” que ce soit directement avec des transceiver radio (RF433, EnOcean, Zwave), ou indirectement avec des gateway IP (autre Raspberry Domoticz, bus MQTT, etc).

Domoticz permet donc la collecte d’informations de capteurs (température, présence, etc), le traitement de ces informations (event) par des scripts (LUA, Blockly) et d’agir par l’envoi de commandes à des capteurs, l’envoi de notification nativement (SMS,email, push smartphone) ou encore déclencher des actions externes (appel API, déclenchement de script bash, envoi email, etc).

Domoticz est fourni sous forme d’image Raspberry OS (Debian) + Domoticz à installer sur une SD Card.

Le Système

Le raspberry est configuré (bootloader) pour aller chercher la partition de boot et par la suite la partition primaire sur la SD Card.

Domoticz (+ OS Raspbian) est fourni sous forme d’image ISO à charger sur la SD Card.  Pour charger l’image tout se passer avec l’outil “dd” qui permet de copier des fichiers au niveau bloc:

df -h
diskutil unmountDisk /dev/disk<disk# from diskutil>
sudo dd bs=1m if= of=/dev/rdisk<disk# from diskutil>

Une fois l’image chargée, il est possible d’étendre le file system avec l’outil raspi-config qui permet de resizer les partitions rootFS et ainsi d’utiliser la pleine capacité de la carte SD.

Le logiciel SD formatter fonctionnant sur MAC OS permet de faire la même chose de manière graphique

RAM Drives

L’’image domoticz SD card est configurée avec 3 RAM Drives montés en /run. Ces disques permettent de stocker des informations sans utiliser la SD card qui peut être endommagée après de nombreux cycles de lectures.

Filesystem      Size  Used Avail Use% Mounted on

rootfs           30G  942M   28G   4% /

/dev/root        30G  942M   28G   4% /

devtmpfs        183M     0  183M   0% /dev

tmpfs            38M  220K   38M   1% /run

tmpfs           5.0M     0  5.0M   0% /run/lock

tmpfs            75M     0   75M   0% /run/shm

/dev/mmcblk0p1   56M  9.7M   47M  18% /boot

Domoticz

Domoticz est installé par défaut dans le répertoire home de l’utilisateur “pi” (mot de passe par défaut: “pi”). Un script dans /etc/init.d permet de le lancer au démarrage du raspberry. Tout peut donc se faire depuis l’interface web.

La configuration consistera essentiellement à ajouter un transceiver (transmetteur/recepteur) RF et détecter des capteurs. Quelques points sont à vérifier néamoins:

  • L’authentification doit être mise en “basic-auth » pour permettre accès aux API par les scripts et applications (home automation Pilot pour iPhone par ex.)
  • Configuration des mot de passe web, security panel
  • RF433: Ne configurer que les protocoles radio utiles.

Capture d’écran 2015-07-31 à 20.30.44

Logiciels tiers

DDClient

La gestion du ddns depuis le serveur permet de s’affranchir du routeur utilisé. Cela necessite un testde l’ip publique auprès d’un serveur externe. Ici j’utilise le service Dyndns.com pour gérer mes IP dynamiques, mon hébergeur 1and1 n’étant pas en mesure d’offrir ce service.

Pour l’URL .xaviermeunier.com, soit je mets l’IP (qui n’est pas si dynamique que ca chez Bouygues) soit je mets un CNAME vers le FQDN DynDNS

Fichier de configuration pour no-ip:

# Configuration file for ddclient generated by debconf 
# 
# /etc/ddclient.conf 
protocol=noip use=web, web=checkip.dyndns.com/, web-skip='IP Address' 
server=dynupdate.no-ip.com
login=bobylaopointe@gmail.com 
password='fdfdfdf' 
xmeunier.ddns.net

Fichier de configuration du daemon. La valeur de refresh est augmentée à 1800 pour éviter d’être banni.

# Configuration for ddclient scripts 
# generated from debconf on Wed Dec 24 12:04:32 CET 2014 
# 
# /etc/default/ddclient 
# Set to "true" if ddclient should be run every time a new ppp connection is 
# established. This might be useful, if you are using dial-on-demand. 
run_ipup="false" 

# Set to "true" if ddclient should run in daemon mode 
# If this is changed to true, run_ipup must be set to false.
 run_daemon="true" 

# Set the time interval between the updates of the dynamic DNS name in seconds. 
# This option only takes effect if the ddclient runs in daemon mode. 

daemon_interval="1800"

Sécurisation

Il est important de sécuriser un minimum sa solution de domotique.

  • Changer le mot de passe de l’utilisateur “pi”
  • Changer les ports par défaut (80 et 443)
  • logguer et remonter les tentatives d’attaques

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *