Mon serveur Domoticz
Le cerveau de mon système est Domoticz, installé sur une Raspberry PI. J’utilise cette page d’abord pour me souvenir de ce que j’ai mis en place. Si ça peut servir à quelqu’un en parallèle, c’est encore mieux.
Attention, je fais tourner Domoticz sur un Raspberry PI 2.
Remplacement de la carte SD par un disque dur
Une carte SD n’est pas un support de stockage qui supporte des écritures trop nombreuses. On pourrait bricoler le Raspbian pour l’empêcher d’écrire sur la carte SD, mais Domoticz a besoin, à minima, de pouvoir sauvegarder sa base de données. Il est possible de stocker celle-ci sur un disque réseau, mais j’ai préféré éviter cette solution qui nécessite un disque réseau fonctionnel 24h/24h. J’ai donc choisi de remplacer la carte SD par un disque dur USB SSD.
Je ne vais pas décrire ici toute la procédure ici, on trouve plein de tutos sur le net à ce sujet.
Dans les grandes lignes, j’ai procédé comme suit :
- flashage de PI Os sur une carte SD, ajout d’un fichier vide nommé ssh sur la partition boot et démarrage du PI 2 avec cette carte SD. Ne pas étendre le root file system, on le fera après directement sur le disque dur.
- branchement du disque vierge sur le raspberry, création d’une partition sur de disque, formatage.
1 2 3 4 5 6 7 8 9 10 11 |
sudo fdisk -l -> pour trouver le chemin vers le disque (/dev/sda) sudo cfdisk /dev/sda -> partionnement éventuel pour un disque neuf sudo mkfs.ext4 /dev/sda1 -> formatage mkdir-p /home/pi/DisqueExterne sudo mount -t ext4 /dev/sda1 /home/pi/DisqueExterne -> monte le disque dur df -> on vérifie que tout est ok = /dev/sda1 bien monté |
- copie de la partition Filesystem de la carte SD sur le disque dur, puis extension de cette partition à tout l’espace disponible
1 2 3 4 |
sudo dd if=/dev/mmcblk0p2 of=/dev/sda1 bs=512 sudo mount -t ext4 /dev/sda1 /home/pi/DisqueExterne ls /home/pi/DisqueExterne -> on doit trouver le root file system |
- ajout d’une ligne dans le fichier /etc/fstab pour monter le disque dur au démarrage
1 2 3 4 5 6 |
cd /home/pi/DisqueExterne sudo nano etc/fstab remplacer # PARTUUID=b294bceb-02 / ext4 defaults,noatime 0 1 par /dev/sda1 / ext4 defaults,noatime 0 1 |
- modification du fichier /boot/cmdline.txt que le boot aille chercher le file system sur le disque dur et non la sdcard.
1 2 3 4 5 |
cd /boot sudo nano cmdline.txt remplacer console=serial0,115200 console=tty1 root=PARTUUID=b294bceb-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait par console=serial0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait |
- Etendre le root file system
1 |
sudo resize2fs /dev/sda1 |
- Redémarrer, mettre à jour
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo reboot |
Installation de domoticz
Pas grand chose à raconter ici, il suffit de suivre la procédure décrite sur le site suivant.
1 2 3 4 5 6 7 |
sudo adduser domoticz sudo adduser domoticz sudo su domoticz sudo visudo curl -sSL install.domoticz.com | sudo bash sudo service domoticz.sh restart sudo service domoticz.sh status |
Un utilisateur domoticz -> domoticz est dans /home/domoticz/domoticz et non dans /home/pi/domoticz…
Mise en place du backup automatique de la base
Il faut aller dans l’interface web de domoticz, menu configuration / paramètres / onglet système, activer la sauvegarde automatique.
La base est sauvegardée en plusieurs exemplaires dans le répertoire /home/domoticz/backups
Recopie de mes scripts
Installation de MQTT
1 2 3 |
sudo apt install mosquitto -y systemctl status mosquitto <span class="cmd">sudo systemctl enable mosquitto.service</span> |
MAJ après bug reboot du raspberry pi :
J’ai du lancer la commande :
1 |
mosquitto -d |
Installation de NodeRed
Je suis ce qu’il y a sur ce site
1 |
bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-package/master/resources/update-nodejs-and-nodered) |
1 |
sudo systemctl enable nodered.service |
1 |
sudo node-red-start |
Puis navigateur sur http://localhost:1880/
Grafana
- Add the APT key used to authenticate packages:
12wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - - Add the Grafana APT repository:
12echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list - Install Grafana:
123sudo apt-get updatesudo apt-get install -y grafana
Grafana is now installed, but not yet running. To make sure Grafana starts up even if the Raspberry Pi is restarted, we need to enable and start the Grafana Systemctl service.
- Enable the Grafana server:
12sudo /bin/systemctl enable grafana-server - Start the Grafana server:
12sudo /bin/systemctl start grafana-server
Grafana is now running on the machine and is accessible from any device on the local network. - Open a browser and go to
http://<ip address>:3000
, where the IP address is the address that you used to connect to the Raspberry Pi earlier. You’re greeted with the Grafana login page. - Log in to Grafana with the default username
admin
, and the default passwordadmin
. - Change the password for the admin user when asked.