Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:domotique:server_v1 [2025/02/10 17:37] – supprimée - modification externe (Date inconnue) 127.0.0.1 | fr:domotique:server_v1 [2025/02/15 15:23] (Version actuelle) – [Satisfait ?] kodein | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== J'aime écrire ====== | ||
+ | |||
+ | Oui, écrire mes idées, ça m'aide à prendre des décisions. Une relecture et tout me semble un peu plus clair. | ||
+ | |||
+ | Certains sont des échanges sur diverses plateformes de chat, d' | ||
+ | |||
+ | La suite de ce texte est une version légèrement revue, corrigée et expurgée de ces écrits. | ||
+ | |||
+ | ====== Le serveur ====== | ||
+ | |||
+ | ==== Hardware ==== | ||
+ | <gallery lightbox& | ||
+ | : | ||
+ | Planifiant de l' | ||
+ | |||
+ | ==== Software ==== | ||
+ | |||
+ | Comme vu ci-dessus, l'OS était déjà choisi, une distro Debian, parfait pour un petit serveur amateur à la maison. En ce qui concerne le software domotique en lui-même, de nombreuse hésitations entre Jeedom, Domoticz, Home Assistant et OpenHab ont motivé une recherche plus approfondie d' | ||
+ | * <gallery lightbox& | ||
+ | * <gallery lightbox& | ||
+ | * <gallery lightbox& | ||
+ | * <gallery lightbox& | ||
+ | |||
+ | ==== Communications sans fils ==== | ||
+ | |||
+ | Les protocoles utilisés en domotiques sont nombreux, les plus usités dans nos contrées sont, à l' | ||
+ | |||
+ | Des sites spécialisés recommandaient le Z-Wave, c'est donc sans me poser beaucoup plus de questions vers ce système que je me suis dirigé. J'ai commandé un contrôleur USB [[https:// | ||
+ | |||
+ | Les périphériques Z-Wave sont très variés, de la vanne thermostatique de radiateur jusqu' | ||
+ | |||
+ | ====== Fonctionnement d' | ||
+ | |||
+ | Tout est très organisé, dans OpenHab. Je vais passer rapidement sur quelques concepts essentiels, histoire d' | ||
+ | |||
+ | ===== Add-ons ===== | ||
+ | |||
+ | Dans OpenHab, les add-ons couvrent divers sujets tels que l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | ===== Bindings ===== | ||
+ | |||
+ | Les // | ||
+ | |||
+ | Le binding Z-Wave pour exploiter ces réseaux via un stick USB ou le binding Freebox permettant de lier sa box et récupérer des infos pour les afficher dans l' | ||
+ | |||
+ | ===== Things ===== | ||
+ | |||
+ | Les //Things// sont la représentation des objets connectés via un // | ||
+ | |||
+ | Le contrôleur Z-Wave lui-même sera définit en tant que thing, tout comme une ampoule connectée, un capteur, etc. | ||
+ | |||
+ | On peut attribuer un lieu à chaque thing, information exploitée pour l' | ||
+ | |||
+ | ==== Items ==== | ||
+ | |||
+ | Les //Items// sont des variables. On doit leur définir un type de donnée à stocker, il est possible de les ajouter dans un ou plusieurs groupes, mais pas nécessaire. Les items sont des entités à part entière, ils peuvent être liés à un //Thing// via un // | ||
+ | |||
+ | Par exemple, le multi capteur cité plus haut possède deux // | ||
+ | Sur une ampoule connectée, on pourrait avoir un item pour le //channel// variateur et un second pour le //channel// t° du blanc...\\ | ||
+ | Et toutes les ampoules pourraient faire partie du groupe définit par l'item Eclairage. | ||
+ | ==== Rules ==== | ||
+ | |||
+ | Les règles sont le système d' | ||
+ | |||
+ | Par exemple, si la valeur du capteur de luminosité passe sous un seuil entre 17h et 20h, alors on envoie la commande de s' | ||
+ | |||
+ | Il existe plusieurs méthodes pour créer des rules, la coder dans un fichier texte, utiliser l' | ||
+ | |||
+ | Le codage manuel est évidemment le plus souple, mais demande l' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Le Rule Engine permet de créer des règles simples très rapidement, sans aucun besoin de connaitre la syntaxe. | ||
+ | |||
+ | ====== Mise en route du serveur ====== | ||
+ | |||
+ | Extrêmement simple un apt-get install plus tard et le serveur démarrait! | ||
+ | |||
+ | Le plus complexe a été d' | ||
+ | |||
+ | Il a ensuite fallu attendre qu' | ||
+ | |||
+ | Pour ajouter le stick Z-Wave à OpenHab, installer le " | ||
+ | |||
+ | Reste à lancer une découverte automatique de périphériques Z-Wave et activer le mode appairage sur ce dernier. Si tout se passe bien, un objet unknown devrait apparaitre dans la liste, en un clic sur l' | ||
+ | |||
+ | En Z-Wave, cette étape peut prendre du temps. La raison est la suivante : ce protocole est prévu pour économiser la batterie des périphériques. Ils se mettent en veille et ne se réveillent que lorsqu' | ||
+ | |||
+ | Maintenant qu'il est appairé et que tous les channels disponibles sont exposés, on peut lier à chaque channel un Item soit en créant un nouvel item, soit en liant un item existant. Permettant l' | ||
+ | |||
+ | Du coup, mon capteur me remonte bien la température ainsi que la luminosité de la pièce. | ||
+ | |||
+ | ===== Considérations vis à vis des réseaux domotiques ===== | ||
+ | |||
+ | Le Z-Wave fonctionne plutôt bien, mais les périphériques peuvent être assez chers, de plus mes volets roulants somfy sont déjà pilotables via leurs télécommandes. Il reviendrait cher de remplacer tous les pilotes de volets somfy par des pilotes z-wave. Et en plus, les télécommandes actuelles ne fonctionneraient plus. | ||
+ | |||
+ | Il semble préférable de trouver un stick usb qui permettrait à OpenHab de communiquer avec ces contrôleurs de volets. Comme beaucoup d' | ||
+ | |||
+ | Les manipulations sont similaires au stick Z-Wave pour ajouter l' | ||
+ | |||
+ | ===== Persistence ===== | ||
+ | |||
+ | A chaque reload de la page control, les informations remontée par mon capteur passent à NaN (Not A Number) parce que les informations précédentes remontées par le capteur ne sont stockées nulle part. Pour éviter ça, la seule solution est d' | ||
+ | |||
+ | La persistance permet , lors d'un reload de la page ou d'un reboot du serveur, de recharger les valeurs précédentes de tous les items configurés pour persister. Mais aussi de générer des graphes pour le suivi des valeurs. De nombreux autres usages sont possibles. | ||
+ | |||
+ | Un nouveau apt-get plus tard et j'ai un serveur PostgreSQL fonctionnel, | ||
+ | |||
+ | Dans les règles de persistance, | ||
+ | |||
+ | Ayant quelques soucis d' | ||
+ | |||
+ | ====== Satisfait ? ====== | ||
+ | |||
+ | Pendant un temps, j'en reste là. OpenHab fonctionne sur le lenovo tiny posé dans le salon. Mais je trouve ça dommage de faire tourner 24/24 365/an avec ces specs pour un serveur domotique qui ne nécessite pas du tout une si grande puissance de calcul. | ||
+ | |||
+ | En plus, même si il ne chauffe pas énormément, | ||
+ | |||
+ | Il est temps d' | ||
+ | |||
+ | |||