Calaos OS ne contient pas seulement le serveur Calaos. Il embarque aussi une série de logiciels complémentaires, qui apportent chacun une fonction : parler à des équipements Zigbee, enregistrer l’historique de vos mesures, tracer des graphiques, piloter de l’éclairage DMX…
Chacun tourne isolé des autres, dans ce qu’on appelle un container. Concrètement, cela veut dire que :
Vous n’avez rien à installer : ils sont déjà là. Certains ne servent que si vous utilisez le matériel correspondant.
| Service | À quoi il sert | Documentation |
|---|---|---|
| Mosquitto | Fait circuler les messages MQTT entre vos équipements et Calaos | MQTT |
| Zigbee2MQTT | Fait le lien entre vos équipements Zigbee et Calaos | Zigbee |
| InfluxDB | Enregistre l’historique de vos mesures : températures, consommations… | — |
| Grafana | Affiche ces mesures sous forme de graphiques | — |
| OLA | Pilote l’éclairage DMX | DMX / OLA |
| hue2mqtt | Fait le lien avec les ampoules Philips Hue | Hue |
| Envoy | Récupère les données des onduleurs solaires Enphase | Enphase |
| HAProxy | Aiguille les connexions réseau entrantes vers le bon service | — |
Le fait qu’ils tournent dans des containers ne change rien à leur utilisation. Chacun est piloté par le système au même titre que les autres services : vous les démarrez, les arrêtez et consultez leur état avec les mêmes commandes.
Connectez-vous au serveur en SSH (voir Accès SSH), puis utilisez systemctl comme pour n’importe quel service :
systemctl status zigbee2mqtt
systemctl restart zigbee2mqtt
Pour voir l’ensemble des services actifs, y compris ceux-ci :
systemctl list-units --type=service
Tout cela est détaillé sur la page Services.
Pour connaître les versions installées et savoir si des mises à jour existent :
calaos-os list
Les services complémentaires se mettent à jour en même temps que le reste du système :
calaos-os upgrade
Voir Mise à jour pour la procédure complète.
Pour ne mettre à jour qu’un service précis, sans toucher au reste :
calaos-os upgrade NOM_DU_SERVICE
Chaque service stocke ses données dans son propre sous-dossier de /mnt/calaos :
/mnt/calaos/
├── config/ réglages de Calaos
├── influxdb/ historique de vos mesures
├── grafana/ graphiques et tableaux de bord
├── mosquitto/ données MQTT
├── zigbee2mqtt/ équipements Zigbee appairés
├── ola/ configuration DMX
├── hue2mqtt/ configuration Hue
├── envoy/ configuration Enphase
├── haproxy/ configuration réseau
└── xorg.conf.d/ réglages d'affichage
Sauvegarder ce dossier, c’est sauvegarder l’ensemble : voir Sauvegarder sa configuration.
Le dossier zigbee2mqtt mérite une attention particulière : il contient la liste de vos équipements Zigbee appairés. Le perdre vous obligerait à tout réappairer un par un.
Consultez d’abord son état et ses journaux, qui indiquent presque toujours la cause :
systemctl status NOM_DU_SERVICE
journalctl -u NOM_DU_SERVICE
Ces commandes fonctionnent pour ces services comme pour tous les autres.
Voir aussi Journaux et Services.
Les services s’exécutent avec Podman, une alternative à Docker qui n’a pas besoin de service central pour fonctionner.
Chaque container est décrit par une unité systemd, ce qui explique qu’ils se pilotent tous avec systemctl : pour le système, un container est un service comme un autre.
C’est aussi pourquoi journalctl voit les journaux de tous les services, containers compris : inutile de passer par Podman pour les lire.
Si vous voulez regarder les choses depuis l’angle des containers plutôt que des services, Podman offre ses propres commandes :
podman ps # containers en cours d'exécution
podman images # images disponibles localement
Elles donnent une vue complémentaire, utile pour du diagnostic fin, mais ne remplacent ni systemctl pour démarrer et arrêter un service, ni journalctl pour consulter ses journaux.
Les images des services sont décrites par des fichiers .source rangés dans /usr/share/calaos/. Lors de l’installation, elles sont exportées vers un cache local, dans /var/lib/cache/containers : c’est ce qui permet à votre serveur de démarrer une première fois sans accès à Internet.