Containerisation

Comme j'ai commencé à jouer avec docker pour mon serveur nextcloud, autant continuer et tenter de l'utiliser aussi pour installer openhab.

Ça complexifie un peu la mise en route la première fois, mais sur le long terme, ça devrait rendre la maintenance bien plus simple, puisqu'il suffira de relancer le fichier YML détaillant le déploiement des containers.

Du coup, mes serveurs OpenHab et PostgreSQL seront contenus dans des containers Docker.

OpenHab 3.X

Bah ouais, quitte à tout réinstaller, autant partir sur la dernière version en date. Donc au revoir 2.5.X et bonjour 3.X (version milestone et pas stable parce que je suis un taré, un ouf, un déglingo !).

Pas mal de choses ont bougés pour cette nouvelle version :

  • Nouvelle infrastructure débarrassées des vieux restes de 1.X.
  • Disparition de Paper UI au profit de l'UI par défaut qui a le bénéfice supplémentaire de combiner interface utilisateur et interface administrateur (planquée derrière un login/mdp).
    Restent basic UI, HabPanel, CometVisu et HABot comme UI “plugin”.
  • Blockly est maintenant pleinement intégré pour générer facilement de la logique d'automatisation.
  • La possibilité de faire du remote binding. En résumé, faire tourner plusieurs serveurs openhab qui s'échangent les données. Ce qui permet, par exemple, de mettre de petits serveur équipé d'un stick z-wave/zigbee/rfxcom au plus près des périphériques utilisant ce protocole de communication. Il est d'ailleurs possible, dans un serveur 3.X, de récupérer les bindings d'un serveur sous 2.5.X!

J'en oublie plus que certainement, mais j'ai listé avant tout ce qui semble essentiel pour mon utilisation personnelle.

Docker-compose

Du coup, j'ai regardé comment les autres faisaient et j'ai repompé sans aucune vergogne les code docker-compose. Faut dire qu'ayant juste deux containers à déployer pour faire tourner, ça va assez vite.

Après installation

L'interface post installation d'OpenHab m'a demandé de créer un compte administrateur et proposé quelques options de config et l'installation de plugins (binding, ui et autres).

Une fois ces formalités réglées, il était temps de commencer à apprivoiser la nouvelle interface. Heureusement, elle conserve de nombreux points communs avec les anciennes interfaces ce qui permet de ne pas être trop perdu. J'ai facilement pu ajouter les Things pour mes sticks usb et récupérer les capteurs et actionneurs de mon installation.

Le plus surprenant est la nouveau "modèle sémantique" qui remplace complètement l'ancien sitemap (même pour l'UI basic). Je n'ai fait qu'effleurer les possibilités offertes par ce système, mais il semble permettre de générer une interface sympa pour gérer ses appareils domotiques.

Un peu plus tard

A l'heure actuelle, le stick zigbee refuse de fonctionner, mais l'appel de la procrastination se faisant sentir, je vais temporairement m'en passer. Et plutôt me concentrer sur le reste avant d'être repris de flemmingite aigüe.

Avec le RFXcom et le Z-Wave, je couvre déjà 80% des appareils installés. Le RFXcom pour les volets et des capteurs t°/humidité, le Z-Wave pour des capteurs divers et des micro modules planqués dans les interrupteurs. Le zigbee capricieux fait qu'il manque deux capteurs de t°/humidité et deux rubans de leds d'ambiance.

J'en ai profité pour mettre à jour le firmware du stick Z-Wave, les deux autres étant encore à jour.

Beaucoup plus tard

Quasi plus rien ne fonctionne… Ça commence à bien faire, on vire tout et on essaye autre chose !