AgroLink - Programmeur d'irrigation modulable, automatisable, extensible - open source

J'espère que cette page sera utile à tous les jardiniers amateurs, maraîchers professionnels, afin d'économiser et ajuster leur usage de l'eau autant que nécessaire selon leurs besoins, et automatiser des processus demandant généralement beaucoup de temps afin de les soulager dans leur gestion de l'arrosage. J'invite tout un chacun à partager à son tour ses connaissance après avoir profit de ce qui est partagé ici. :-)


Visiter du blog : https://blog.pepinature.com


Cette page propose une expérience en matière d'irrigation open source, en recherche de solutions interopérables, permettant avec des équipements et logiciels de fabricants différents, de fonctionner ensemble.
Je l'ai écrit sur mon temps libre, elle est le fruit d'une longue expérience en informatique, principalement des solutions libres, utilisées notamment pour la gestion de l'eau de ma future pépinière.
N'étant pas figée, elle page sera vouée à évoluer selon les corrections et améliorations, ainsi que les investissements matériels supplémentaires possibles.

Un AgroLink , est un terme créé pour désigner un ensemble d'éléments matériel et logiciels autant que possible ouvert/intéropérable/open-source/libre au niveau matériel et l'étant obligatoirement au niveau de son système et des logiciels installés, disposant d'un environnement logiciel/matériel personnalisable, et d'un chargeur de démarrage ouvert, tel que présenté sur cette page ;
Interagissants ensemble (OsPI, Raspberry Pi, Linux, OpenSprinkler, Home Assistant…), dédié aux usages amateurs et professionnels nourriciers (voir davantage), n'étant pas seulement capable de gérer l'irrigation mais ayant aussi le potentiel d'une multitude d'autres choses, en rapport avec l'eau ou pas.

Des extensions et intégrations tout en un prêtes à l'emploi peuvent être développées pour l'AgroLink par quiconque le souhaitant (libres et open-source, mais pas forcément gratuites).
L'évolution de l'AgroLink dépendra donc globalement de la bonne volonté des aficionados à se saisir des outils proposés, et de leur capacité à contribuer et être force de proposition en modules et services via les centres névralgiques de l'outil, à savoir GNU/Linux, Raspberry Pi, Home Assistant , OpenSprinkler.

Fonctionnalités existantes et potentielles :

-Gestion intelligente de l'irrigation : l'AgroLink peut en l'état optimiser l'utilisation de l'eau en fournissant une irrigation intelligente basée sur des données météorologiques en temps réel, des capteurs d'humidité du sol et des prévisions météorologiques. Cela permetd'économiser de l'eau tout en assurant un arrosage précis et adapté aux besoins des plantes, pour peu que des solutions permettant plus de précisions soient tentées et confirmées.

-Planification des cultures : l'AgroLink pourrait offrir des fonctionnalités de planification des cultures, en suggérant les meilleures périodes de plantation, de récolte et de rotation des cultures en fonction des conditions météorologiques locales et des besoins spécifiques des plantes.

-Surveillance à distance : l'AgroLink pourrait permettre aux utilisateurs de surveiller à distance leurs systèmes d'irrigation et leurs cultures via une application mobile ou une interface web. Cela offrirait une flexibilité et une commodité accrues pour les professionnels qui doivent se déplacer fréquemment sur leurs parcelles.

-Alertes et notifications : L'AgroLink pourrait envoyer des alertes et des notifications en cas de conditions météorologiques défavorables, de niveaux d'humidité critiques du sol, ou d'autres problèmes potentiels liés à l'irrigation ou aux cultures. Cela permettrait aux utilisateurs de réagir rapidement aux situations d'urgence.

-Intégration avec d'autres technologies agricoles : l'AgroLink pourrait être conçu pour s'intégrer facilement avec d'autres technologies agricoles telles que les capteurs de qualité de l'air, les drones agricoles, les stations météorologiques avancées, les robots agricoles, etc. Cela créerait un écosystème complet pour une gestion agricole moderne et efficace.

-Analyse des données agricoles : l'AgroLink pourrait collecter et analyser des données agricoles sur le long terme, fournissant ainsi des informations précieuses sur les tendances climatiques, les rendements des cultures, les schémas d'irrigation, etc. Ces analyses pourraient aider les professionnels à prendre des décisions plus éclairées pour améliorer leur productivité.

-Support technique et mises à jour : l'AgroLink pourrait permettre à quiconque d'offrir un support technique pour aider les utilisateurs à résoudre d'éventuels problèmes et à tirer le meilleur parti du système. Des développeurs financés par un financement participatif, pourraient proposer des extensions et mises à jour spécifiques, et des mises à jour régulières pourraient être proposées pour améliorer les fonctionnalités et les performances du système.


Un AgroLink pourrait également inclure une fonctionnalité de protection contre le gel spécialement conçue pour les cultures fruitières :

-Surveillance des températures : l'AgroLink, via Home Assistant, serait équipé de capteurs de température qui surveilleraient en permanence les variations de température dans les parcelles agricoles. Cela permettrait de détecter rapidement les baisses de température potentiellement dangereuses pour les cultures.

-Alertes de gel : Lorsque le système détecte des températures proches ou inférieures au seuil critique de gel pour les cultures fruitières, il enverrait des alertes immédiates aux utilisateurs. Ces alertes pourraient être envoyées par SMS, notifications push ou e-mails, afin que les agriculteurs puissent réagir rapidement.

-Activation des systèmes de protection : L'AgroLink pourrait être intégré aux systèmes de protection contre le gel existants dans les exploitations agricoles. Par exemple, il pourrait déclencher automatiquement l'allumage des tours antigel, des dispositifs de pulvérisation d'eau ou d'autres méthodes de protection utilisées pour prévenir les dommages dus au gel.

-Historique des températures : l'AgroLink enregistrerait également un historique des températures pour chaque parcelle, ce qui permettrait aux agriculteurs d'analyser les tendances et les schémas de gel sur une période donnée. Ces données pourraient être utiles pour optimiser les stratégies de protection contre le gel à l'avenir.

-Adaptation aux prévisions météorologiques : l'AgroLink pourrait également tenir compte des prévisions météorologiques pour planifier les mesures de protection contre le gel. Par exemple, si des températures de gel sont prévues pour la nuit suivante, le système pourrait recommander aux agriculteurs de prévoir et d'activer les dispositifs de protection avant même que le gel ne survienne. L'AgroLink pourrait devenir un outil précieux pour les acteurs du domaine agricole en leur offrant une solution complète libre et open-source, pour la gestion intelligente de l'irrigation et des cultures, tout en leur permettant de rester connectés et informés de l'état de leurs cultures où qu'ils se trouvent.
La seule limite possible est l'imagination des contributeurs et utilisateurs… Jusqu'à l'épouvantail mobile détectant des oiseaux après un semi… :-)



Dans le contexte présent, et professionnel, adaptable à toute situation, le système de commande de l'irrigation présenté, irrigue/rafraîchit une parcelle et un jardin en toute autonomie, selon plusieurs paramètres précis, intégrant les prévisions de Météo France, la température actuelle, le niveau d'humidité d'un substrat/sol, et la détection ou non (réelle, sur le lieu) de pluie, sans nécessité d'abonnement à un service tiers comme certains programmeurs commerciaux.

Ce système tout en un est évolutif, personnalisable de A à Z, accessible depuis l'extérieur par Internet, et pourra intégrer une station météo, plusieurs capteurs de températures et d'humidité supplémentaires, et devra permettre une surveillance et paramétrage depuis un ordinateur, mais également depuis un smartphone.
Il est même possible d'envisager l'intégration d'une vidéo-surveillance sur place et accessible à distance, et d'ajouter des capteurs de présence et de décider d'action spécifique selon situation. (Alertes, évènements particuliers…)



Routeur 3G/4G :
-Huaweï B715s Gigabit - Un autre routeur peut faire l'affaire tant qu'il dispose de ports réseaux Ethernet, du wifi, et d'internet en 3G/4G ou d'une connexion à internet fibrée, ou par satellite)
-Câble réseau Ethernet blindé de 0,5m - Un autre peut faire l'affaire, la connexion filaire est toujours préférable au wifi, pour des raisons de sécurité, fiabilité, et stabilité.

Micro-ordinateur basse consommation :
-Un Raspberry Pi 4 - 1Gb de mémoire vive peut suffire, ou plus selon vos besoins particuliers supplémentaires - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.
-Un boîtier pour SSD au format M2 SATA vers USB 3.x (compact)
-Un SSD M2 SATA - Les clés USB ont une durée de vie (cycles d'écritures) beaucoup moins élevés, incompatibles avec une grande journalisation des événements liés à un tel système qui va en enregistrer une multitudes. (Sauf à des fins de tests temporaires, auquel cas on clone ensuite le contenu de la clé USB vers le SSD)
Outre ses grandes performances, un SSD est donc indispensable sur la durée.


-Une carte d'extension pour Raspberry Pi, gérant matériellement l'irrigation :
-OpenSprinkler Pi (OsPi) - Option sans alimentation externe, mais avec un boitier - Cette carte permet de contrôler l'irrigation et l'état des capteurs branchés - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.
-L'adaptateur A2D Analogique vers Numérique - Permet l'utilisation des capteurs analogiques tels que le SMT-50 et le Rainclick sur l'OsPi. - Étant un élément central, si vous le pouvez, prenez en un plusieurs en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.
-Optionnellement : un extenseur de zones pour OsPi en version 2.1 - Permet de gérer encore davantage d'électrovannes, cumulables par 16 extenseurs, permet de gérer jusqu'à 128 électrovannes. - Étant un élément central, si vous l'utilisez et le pouvez, prenez-en en double, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.

Les accessoires :

-Armoire électrique IP65 400x600x200 à deux serrures et 3 rails
-Serrure à clé et poignée pour armoire électrique étanche
-Rails DIN pour le support des accessoires

Alimentation :
-Alimentations sur rail DIN AC 230V (courant alternatif / AC) => 24V (courant alternatif / AC) Alimente l'OpenSprinkler PI (OsPi) qui alimente lui même le raspberry PI, les capteurs, et électrovannes - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.
-x2 2 prises modulaires 2P+T 16A sur rail DIN aux normes françaises - Le sigle NF est très important, les assurances ne prennent pas en charge les accidents liés aux défauts électriques sans ça, et c'est un gage qualitatif aux exigences fortes pour le matériel électrique, de façon général, prenez tout ce que vous pouvez en NF, quelle que soit la situation. - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.
-x2 prises connectées (wifi) NOUS A1T sous firmware Open Source "Tasmota" 10A - permet l'allumage et l'extinction des prises connectée via une interface web, un service tiers, ou un smartphone, ainsi que la surveillance de la consommation d'énergie, et de leur utilisation. Le firmware Tasmota est Open Source et libre, il permet spécifiquement une connexion avec d'autres logiciels directement par le wifi, ce que ne permettent généralement pas les prises utilisant d'autres protocoles de communication sans matériel supplémentaire. - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, en cas de problèmes inattendus, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.

Capteurs :
-Capteur de pluie Hunter rain Click - Permet de détecter toute pluie en cours. - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.
-Capteur d'humidité du sol SMT50 Truebner - Il s'agit d'un modèle utilisant un champ électromagnétique à des fins de détection, il n'y a donc aucune oxydation et sera utilisable sur du très long terme. Un bricolage serait même possible pour en faire une version sans fil fonctionnant avec 3 piles AAA. - Étant un élément central, si vous le pouvez, prenez en un supplémentaire en stock, pour pallier à tout problème inattendu, tels qu'un accident ou une panne.

Électrovannes :
-Électrovannes RainBird 100-HV-MM 1" AG 24 VAC (Filetage mâle, 24V en courant alternatif / AC) - Les plus qualitatives actuellement, très durables.

Connecteurs étanches :
-Connecteurs étanches pour électrovannes Scotchlok - pour lier des câbles de rallonge aux électrovannes, même en extérieur, sans nécessiter de boitier étanche.

Tuyauterie :
-Tubes Polyéthylène (PE) Ø25mm ou Ø32mm de norme aux normes françaises (Le respect de la NF est très important !) - Selon le diamètre de votre arrivée d'eau ! Jamais en PVC, se dégradant rapidement et craignant le gel.

Raccords tuyauterie :
-Raccords de tubes polyéthylène (PE)
-Raccords en T pour tubes polyéthylène (PE)

Outils spécifiques :
-x2 clés à chaînes pour pouvoir serrer les raccords - Une pour tenir, une pour serrer.

La/les Pompes :
-2 Pompes immergées auto-amorçante avec flotteur de sécurité - S'amorce seule, refroidissement permanent dans l'eau, se coupe pour éviter la surchauffe si manque d'eau. Pas de pompes de surface qui peuvent surchauffer et consomment davantage d'énergie, en plus de s'user bien plus rapidement. Si vous n'avez que ça toutefois, faites avec mais prenez cette pompe en secours en plus. L'eau pouvant être vitale selon les projets, une pompe de secours est indispensable pour parer à une situation d'urgence.
Si vous en perdez une, vous devrez toujours en avoir une de secours en stock, au cas ou.



Système d'exploitation :

-Raspberry Pi OS Lite, basé sur la distribution Linux Debian, fiable et stable, optimisée pour les Raspberry PI avec un support officiel du fabricant sur 5 ans.
Étant basé sur un noyau Linux, le fonctionnement est assuré en réalité pour beaucoup plus de temps, ce dernier offrant toujours le support de la première version matérielle, pourtant sortie en 2012. On peut raisonnablement estimer qu'un Raspberry Pi 4 sera toujours supporté par le noyau Linux dans 20 ans dans un contexte numérique favorable, voir davantage.

Logiciels :

-OpenSprinkler Firmware pour Raspberry Pi - Firmware Open source de support de la carte OpenSprinkler PI (OsPi), prend en charge les entrées/sorties liées à la carte OsPi, et fournit une interface web, et une API pour des outils tiers comme une application sur smartphones, ou des serveurs centraux de gestion domotiques, ou n'importe quel autre programme voulant intéragir avec le firmware OpenSprinkler.
-Home Assistant OS-Agent - Service faisant le lien entre le système hôte (ici Raspberry Pi Os, basé sur la distribution Linux Debian) et Home Assistant.
-Home Assistant Supervised - Superviseur du serveur central libre de gestion domotique Home Assistant, gérant son installation via Docker, et fournissant une interface web et une API pour des outils tiers comme une application sur smartphones. Il existe également une application pour smartphones officielle.
Attention, le Raspberry Pi 1 (première version) n'est plus supporté et n'est de toute façon pas suffisamment performant. Il est conseillé actuellement de se tourner vers la version 4 tel que précisé plus haut dans les besoins matériels, ou de disposer au minimum de la version 3 ou d'un Raspberry Pi Zero 2 W qui en est un équivalent dans un plus petit format.
-HACS - Permet d'installer facilement et automatiquement des extensions tierces au sein d'Home Assistant ne faisant pas partie des intégrations tierces fournies officiellement.
-Hass Open Sprinkler - Extension de support du firmware OpenSprinkler pour Home Assistant accessible en quelques clics via HACS ; Permet de profiter de l'API du firmware OpenSprinkler afin de surveiller l'état des capteurs gérés par ce dernier et des électrovannes, ainsi que leur activation/désactivation sans devoir passer par l'interface web fournie par le firmware OpenSprinkler.



L'on choisira un emplacement ombragé, à l’abri du gel. À minima, à l'ombre du soleil.
Les coffrets électriques et équipements présentés ne sont pas conçus pour être exposé à 55°C en plein soleil quand la température annoncée est de 40°C dehors.
Idéalement, on conservera l'armoire électrique au plus proche de la pompe ou arrivée d'eau, en respectant les normes de distance minimales réglementaires en la matière.
Il en ira de même pour les électrovannes, sauf nécessité impérieuse ou pour des raisons pratiques propres aux choix et contraintes de chacun.





Avant toute chose, il va falloir procéder au montage de l'ensemble. Dans le cas présenté, j'ai utilisé deux modèles de Raspberry Pi, la version “Zero 2 W” et la version “4”.
En pratique, ça ne fait aucune différence, le fonctionnement étant similaire, j'ai juste rajouté un adaptateur USB ⇒ Ethernet pour la version Zero 2 W qui ne dispose pas nativement de ce port réseau, et j'ai dû souder la broche GPIO moi-même qui ne l'était pas d'origine (mais on peut l'avoir avec déjà soudée, et c'est déjà fait d'origine sur la version 4, systématiquement.)


La première chose à faire consiste à monter l'OsPi sur son boîtier, qui lui même ira se fixer sur les rails DIN dans l'armoire électrique.

-On distingue déjà plusieurs informations de base, au dessus du bornier. à gauche se situe la prise d'alimentation (orange) 24v/ac, tandis qu'en bas de gauche à droit, on observe le neutre (GND), SN1 (Capteur N°1, pour le capteur d'humidité SMT-50), SN2 (Capteur N°2 pour un deuxième SMT-50 ou le capteur de pluie Rainclick dans le cas présent), +5V (la phase), et deux ports COM (le neutre pour n'importe quelle électrovanne.).
-S'ensuivent ensuite les numéros 1 à 8 correspondant aux phases des 8 électrovannes pouvant être connectées de base, et à droite, la broche d'extension permettant de connecter l'extendeur de zones pour rajouter un support jusqu'à 128 électrovannes de base normalement, mais l'OsPi offre la possibilité d'en configurer jusqu'à 200. Il est même possible de lier ensemble plusieurs OpenSprinkler pour les faire fonctionner ensemble, mais il s'agit d'usages beaucoup plus avancés.
-Au dessus, se situe la prise d'accueil des broches GPIO des raspberry Pi, qu'il faudra TOUJOURS veiller à bien faire correspondre avant d'alimenter le tout. S'il y a un décalage à gauche ou à droite des broches, il est possible d'endommager l'appareil. Il vaut mieux bien vérifier que le raspberry PI est correctement installé.
Immédiatement à gauche, se situe le fusible, soudé, mais remplaçable en cas de court circuit !
-Tout en haut, de gauche à droite, se situent, encadrés, les connecteurs GPIO utilisés par l'OsPi, et à côté, ceux utilisables pour des services tiers.
-Totalement à droite en haut se situe pour des utilisations spécifiques, un port permettant de souder un transmetteur radio.

Voici un exemple d'assemblage de base, le raspberry PI est bien positionné, un câble adaptateur micro-USB ⇒ USB pour brancher l'adaptateur Ethernet a été installé sur le raspberry Pi, et le convertisseur A2D Analogique ⇒ Numérique a été positionné correctement sur le bornier, et les fils d'électrovannes sont placés pour l'exemple. (idéalement, on étame les multibrins et les coupent plus courts.)

Ne reste plus ensuite qu'a fixer le couvercle, et visser le support d'installation sur rail DIN.

Le boîtier n'a pas une très belle finition, étant imprimé via une imprimante 3D, mais il fera l'affaire.



Pour le coffret, on installe tout d'abord les serrures, sécurité indispensable pour éviter tout risque électrique à quiconque, y compris en cours d'installation et absence momentanée.

Ensuite, on sort la plaque de support pour y placer des rails DIN, que l'on viendra solidement y visser ! Leur emplacement dépend de votre bon vouloir et de la taille du coffret.
Il faudra ensuite visser la plaque avec les rails installés dans le boîtier.

Il sera ensuite nécessaire de positionner les 4 fixations nécessaire pour l'installation du coffret sur son support.




On commence par installer l'alimentation et un module OpenSprinkler complètement assemblé et une prise 220v (que l'on ne branchera qu'à la fin) sur l'alimentation.

Puis l'on coupe proprement la gaine et torsade le fil multibrin faisant le lien entre le transformateur et l'OsPi

On connecte ces derniers ainsi avec la prise mâle d'alimentation de l'OsPI

Voici un exemple dans lequel j'ai connecté deux OsPi, l'un étant là en secours de l'autre, au cas où il y aurait un dysfonctionnement, il suffira simplement de permuter les bornes de l'un à l'autre, et d'y connecter le SSD USB également.

Un petit zoom sur le branchement électrique sur le transformateur :



Prévoyez les trous et connecteurs étanches en perçant le coffret pour faire passer les câbles d'alimentation générale, pompes, capteurs, électrovannes !

Dans le cas de l'installation de l'A2D avec un capteur de pluie Rainclick, l'installation est un peu particulière, il va falloir tout installer comme indiqué sur la photographie suivante :

Comme vous pouvez le voir, le capteur étant spécifique, on connecte directement le neutre (en noir) du capteur de pluie à GND, avec la première broche de l'A2D. Le second câble lui, la phase (en rouge), se connecte à SN2 (le capteur N°2) avec la troisième broche depuis la gauche de l'A2D. Enfin, sur l'A2D, on crée un pont avec un fil entre GND et SND.
Pour faire simple, considérez que le rainclick se comporte comme un interrupteur. Quand il est sec, le contact entre ces deux fils est permanent de son côté, et quand il est humide, il n'y a plus de contact et OpenSprinkler détecte ce changement d'état.

Concernant le capteur d'humidité SMT-50, c'est un peu différent, la mesure sera analogique, le petit potentiomètre (la première vis entourée d'un plastique bleu) permet de régler la sensibilité désirée de ce dernier avant le déclenchement de l'état “activé” (humidité détectée) ou “désactivée” (absence de détection), qu'il conviendra de régler selon vos besoins, dépendant de votre type de substrat ou sol. Plus on la tourne vers la droite moins la sensibilité à l'humidité sera élevée, et vice versa.

On connecte ainsi, sur l'A2D uniquement, le fil blanc sur le GND avec le fil déjà présent du pontage capteur de pluie Rainclick, le fil jaune sur SN1 (correspondant au capteur N°1), et le fil marron sur +5V (la phase).

Voici un exemple typique de connexion d'une électrovanne :

Pour chaque électrovanne, un fil va sur un des deux ports COM, l'autre sur 1 à 8 prévues à cet effet, voir davantage si vous avez des extenseurs de zones.
Une règle impérative toutefois, on ne branche jamais plus d'une électrovanne sur la même ligne au risque de détériorier l'OsPi !



Et voici un exemple d'intégration de base, dans laquelle j'ai récupéré une multiprise qui dispatche le 220v, le Raspberry Pi Zero 2 W se situe dans l'OsPi de gauche et un Raspberry Pi 4 a pris place à droite, avec temporairement une clé USB le temps de recevoir un SSD. L'on observe également que le câble Ethernet est branché, connecté au routeur 4G, et qu'une prise connectée “Nous A1T” (voir le matériel en haut de page) est installée sur la multiprise.
Évidemment, des prises 2P+T fixées sur les rails DIN seront plus stables et mieux intégrées, c'était du temporaire.
L'armoire quand à elle, est fixée sur une palette de récupération EPAL en bon état, elle même posée sur un parpaing, et fixée à la clôture, à l'abri du soleil direct.




Mon système d'exploitation sur PC est ArchLinux, mais la pratique elle même est assez générique et devrait être accessible à tous.

Tout d'abord, il convient d'installer “Raspberry PI Imager” disponible pour Linux, MacOs, et Windows.

Une fois installé, vous devrez suivre le processus d'écriture de votre média USB (carte SD, clé usb, SSD..) tel quel :

On choisit ensuite “Raspberry Pi Os (autre)” :

Puis “Raspberry Pi Os Lite 64 bits” :

Ensuite on clique sur la petite roue crantée en bas à droit de la fenêtre du logiciel, pour activer des paramètres d'origine :

-Le nom d'hôte correspond au nom que vous allez donner, visible sur le réseau, du Raspberry Pi.
-L'on active “SSH” permettant de contrôler en lignes de commandes le Raspberry Pi par le réseau en se connectant avec son nom d'utilisateur et mot de passe.

-On définit également un nom d'utilisateur et un mot de passe.
-On définit optionnellement le wifi, si vous souhaitez connecter votre raspberry Pi au réseau par ce moyen. Une connexion filaire est beaucoup plus fiable et recommandée, mais si vous n'avez pas d'autre choix, le wifi est possible.
-Définir les réglages locaux, ici sur Europe/Paris“ en France, et le type de clavier “fr”
-Cochez “Jouer un son quant terminé”, “Éjecter le média quand terminé”, et décochez “Activer la télémétrie” si vous ne souaitez pas partager vos informations d'installation avec la fondation Raspberry Pi.

Enfin, cliquez sur enregistrer.

Cliquer sur “Choisir le stockage”, puis sélectionner le bon média d'installation (idéalement ne branchez que celui là, pour ne pas vous tromper), qu'il s'agisse d'une carte SD, clé USB, SSD USB… Ici dans l'exemple, est branché un SSD faisan tune taille totale de 960,2Gb, où Manjaro est déjà installé. Il sera formaté par l'application.


Il ne reste plus qu'à cliquer sur “Écrire” et laisser le logiciel télécharger et installer le système d'exploitation pour vous, ce dernier vous avertira quand l'installation sera terminée !

Il est désormais temps de passer à la prochaine étape !



Pour démarrer le raspberry PI c'est très simple, il suffit soit de brancher un câble USB sur le port d'alimentation prévu à cet effet, soit de l'installer sur l'OsPi, puis d'alimenter en énergie cette dernière.
Il est possible d'interagir avec le raspberry Pi de deux manières, soit en le branchant à un clavier, et un écran, soit en profitant de l'accès SSH.

L'accès SSH est une solution simple et pratique, vous permettant d'interragir simplement directement depuis votre ordinateur.
Le premier démarrage étant généralement un peu plus long, on peut considérer que le raspberry Pi est totalement démarré à partir du moment où le routeur utilisé lui a attribué une IP.

Ici dans le cas du Routeur 4G Huaweï B715s, voici un exemple donné pour voir comment récupérer l'IP. À noter que mes pages sont en anglais car je dispose d'une version internationales, mais les français est disponible sur la version française.

Ici, j'ai configuré un mot de passe pour l'accès et la configuration du routeur.

Ensuite, on arrive sur l'écran d'accueil permettant de gérer les paramètres réseaux, les appareils connectés, lire/envoyer les sms, et voir quelques statistiques.. :

Il s'agit ensuite de se rendre sur la partie “Devices” dans le cas présent en anglais.

On observe bien la présence d'un Raspberry Pi 4 que j'ai nommé (host) pi4-pepinature01. L'adresse IP allouée par le routeur est de 192.168.1.130.

On va directement forcer le routeur à toujours allouer cette adresse IP, via l'Adresse matérielle “MAC” reconnue spécifiquement pour ce dernier. Elle est unique pour chaque périphérique réseau quel qu'il soit.


Se rendre dans les paramètres avancés ⇒ Routeur ⇒ DHCP, dans le cas d'une première fois, la liste en bas sera vide. Ici elle est indiquée tel quel à titre d'exemple.

Cliquer sur le ”+“ et interagir tel que définit sur l'image ci dessous, en choisissant l'IP fixe qui sera assignée, puis sauvegarder. (Ici “Save”)

Le Raspberry Pi est désormais prêt à être accessible via SSH.

Pour ceci, rien de plus simple, vous devez disposer du programme “SSH” sur votre système Linux ou Mac, ou de ”Putty“ sous Windows.

Ici, ssh sera utilisé depuis un terminal sous une distribution Linux installée sur mon PC.

Pour se connecter en SSH, suivre simplement cet exemple :

ssh nom-d'utilisateur@adresseIP


Ici ssh est le programme, nom-d'utilisateur est celui que vous avez choisi lors de l'installation de Raspberry Pi Os avec Pi manager, et l'adresse IP est celle qui a été rendue fixe, choisie précédemment.

Dans mon cas, voici ce que donne la commande réellement.

ssh camille@192.168.1.130

Le mot de passe ne s'affichera pas quand on le tape, c'est normal, il s'agit d'une sécurité de base avecun terminal sous Linux, pour se protéger des regards indiscrets.
À partir de ceci, on aura la main sur le système d'exploitation du raspberry PI depuis son propre ordinateur :



On commence donc par mettre à jour le système d'exploitation avec cette commande :

sudo apt update

-sudo est un programme se rajoutant avant le début de n'importe quelle commande pour exécuter cette dernièreavec des droits d'administration (aussi appelé root)
-apt est un programme de gestion des paquets logiciels, qui sont téléchargés et installés en toute sécurité depuis des serveurs en ligne dédiés à cet effet.
-update est un argument du programme apt, permettant de mettre à jour la liste des logiciels fournies par les serveurs de Raspberry Pi Os, gérés par la fondation Raspberry Pi.

sudo apt upgrade

-upgrade est un argument du programme apt, permettant de mettre à jours tous les logiciels du système. Par ce biais, apt va télécharger et installer les paquets logiciels standardisés de tout ce qui est installé et ayant été fournis par les dépots de logiciels pré-configurés. Contrairement à Windows, chaque programme ne gère pas à sa sauce ses mises à jour, et il n'y a pas besoin d'aller sur des sites internet pour récupérer les mises à jour, sauf exception, car ça reste possible pour des utilisations avancées.

Ensuite une fois le tout terminé l'on redémarre le système avec cette commande :

sudo reboot

-reboot est un simple programme permettant de redémarrer la machine, ici le Raspberry Pi, mais c'est la même chose sur PC. Il n'est pas possible de base, de redémarrer la machine sans les droits d'administration, avec cette commande. Il est également possible d'utiliser la commande poweroff pour éteindre complètement l'appareil.



Pour cette manipulation, l'on peut utiliser un service nommé Tailscale, gratuit, permettant la mise en lien de plusieurs machines au sein d'un réseau virtuel sur Internet.
En clair, Tailscale est un routeur réseau virtuel, créant des connexions réseau virtuelles transitant à travers le réseau internet, mais sans routeur matériel ni câbles réseaux.
Un autre services du même genre est utilisable nommé Zerotier mais ce dernière s'avère être moins stable en pratique, avec parfois des difficultés d'accès à une machine.
Chacun de ses services va créer un port réseau virtuel, et allouer une adresse IP à chaque machine connectée au même réseau.
Là où l'adresse IP 192.168.1.130 dans l'exemple précédent ne permettait une connexion qu'à quelqu'un connecté sur le même routeur que le raspberry PI, ces services offrent donc un accès depuis internet avec une autre adresse IP. Celle ci sera par la suite utilisée pour se connecter aux interfaces web, ou au système via SSH.

Pour installer Tailscale on exécute ces deux commandes qui vont rajouter la clé de sécurité (authentification des logiciels) et le serveur Tailscale à la liste des dépôts de logiciels :

curl -fsSL https://pkgs.tailscale.com/stable/debian/bullseye.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg>/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/debian/bullseye.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list

Puis l'on met à jour la liste des logiciels présents dans les dépôts (serveurs) de logiciels.

sudo apt update

Ensuite, il ne reste plus qu'à installer tailscale :

sudo apt install tailscale

-L'argument install pour le logiciel apt, permet de préciser quel logiciel on souhaite installer, fourni à la suite, avec un espace si l'on veux en installer plusieurs d'un seul coup.

Il ne reste plus qu'à lancer tailscale avec cette commande :

sudo tailscale up

Tailscale va alors vous proposer de cliquer sur un lien, pour vous connecter depuis un fournisseur de service de comptes de votre choix, et créer votre réseau. Ce compte devra être utilisé pour n'importe quelle connexion à ce même réseau depuis tout autre appareil pour accéder au système du Raspberry Pi.

Voici un exemple de la page d'accueil de Tailscale une fois connecté, avec plusieurs machines configurées, disposant chacun de leur propre adresse privée.

À noter qu'une application Tailscale est également disponible sur smartphones permettant de connecter ce dernier au serveur virtuel Tailscale ! Elle peut également être installée sans les services google.
Cette application est indispensable pour accéder à votre programmeur d'arrosage modulaire open source depuis n'importe quelle connexion à internet via votre smartphone, sans quoi vous ne serez limité qu'à un accès à condition d'être connecté au réseau wifi du routeur sur lequel est connecté le Raspberry Pi.


Pour ceux qui voudraient en alternative ou en complément, installer Zerotier, même principe, avec une ligne de commande permettant la récupération de la clé de sécurité et l'ajout de zerotiers depuis les dépôts officiels de l'application et d'installer zerotier-one :

echo "deb [signed-by=/usr/share/keyrings/zerotierone-archive-keyring.gpg] http://download.zerotier.com/debian/$RELEASE $RELEASE main" | sudo tee /etc/apt/sources.list.d/zerotier.list
sudo apt update
sudo apt install zerotier-one

Il faudra créer un compte sur Zerotier afin d'obtenir l'ID du réseau créé.



Puis l'on rejoint le réseau virtuel créé sur Zerotier avec cette commande :

sudo zerotier-cli join ID

-On remplace ID par l'ID du réseau créé via l'interface en ligne.

Et dans le réseau Zerotier créé il faudra cocher la case afin d'activer la connexion et obtenir une adresse IP sous la mention “Manager IPs”

Il sera ainsi possible, comme pour Tailscale, de se connecter au système du Raspberry Pi via cette adresse, que ce soit une interface web, SSH…



Le firmware OpenSprinkler libre et Open-Source, permet de gérer l'OsPI et toutes ses entrées/sorties. C'est l'interface entre le système et le matériel. Il fournit des interfaces ouvertes afin que n'importe quel logiciel tiers puisse également tirer parti de ces fonctionnalités, c'est pourquoi il est possible d'interfacer OpenSprinkler avec Home Assistant, c'est la grande force des logiciels Open Source, leur intéropérabilité, c'est à dire, leur capacité à fonctionner ensemble.
Tout le contraire de la grande majorité des fabricants de programmeurs clés en main, qui, pour des raisons commerciales, contraîgnent le plus souvent leurs utilisateurs à un écosystème fermé, le leur, afin d'un part de forcer à s'équiper de leurs propres produits, et d'autre part, payer un abonnement supplémentaire constituant alors pour eux une rente.
Le revers de la médaille d'outils Open-Source “de niche”, peut s'apparenter à une certaine complexité, par manque de moyens financiers ou de bénévoles, afin par exemple de développer des interfaces très ergonomiques.
Ces outils sont souvent maintenus bénévolement, mais, contrairement à un fabricant clé en main, bénéficient généralement d'un fonctionnement sur le long terme.
Si demain, un fabricant utilisant son propre écosystème fermé, ferme ses serveurs ou cesse le support de certains appareils, une partie de l'installation devient possiblement obsolète et bonne à jeter… Garder la main sur son matériel en tout indépendance au niveau de la domotique, est un point essentiel pour s'assurer de la disponibilité et de l'usage de son propre matériel dans la durée.
Par le passé, nombreuses ont été les situations où des entreprises étaient forcées de conserver un très vieil ordinateur sans quoi le programme clé vital dans un processus, n'aurait plus fonctionné, n'étant compatible qu'avec un vieux système. Ça pose des problèmes de maintenabilité et de sécurité.

Pour installer le firmware OpenSprinkler, il va d'abord falloir installer quelques dépendances logicielles pour son bon fonctionnement.

sudo apt install build-essential

On récupère ensuite les sources du firmware OpenSprinkler :

git clone https://github.com/OpenSprinkler/OpenSprinkler-Firmware.git

Puis on se positionne dans l'aborescence du dossier téléchargé avec GIT

cd OpenSprinkler-Firmware/

Enfin, on construit le programme à partir des sources téléchargées spécifiquement pour l'OsPi ainsi :

sudo ./build.sh ospi

Il conviendra de répondre par “yes” à la proposition de démarrage automatique.

Si l'on a besoin de mettre à jour vers le dernier firmware (uniquement en cas de problème corrigé, ou besoin spécifique) ;

-Mettre à jour le contenu du dossier OpenSprinkler-Firmware :

git pull

-Reconstruire de nouveau le firmware à partir des sources mises à jour :

sudo ./build.sh ospi

-Redémarrer le service du Firmware OpenSprinkler :

sudo /etc/init.d/OpenSprinkler.sh restart

Le firmware OpenSprinkler étant désormais installé, il sera accessible sous l'adresse http://192.168.1.130:8080 . Ce ”:8080“ correspond au port utilisé par le service, et est nécessaire pour indiquer spécifiquement d'afficher OpenSprinkler sur votre navigateur internet. Home Assistant utilisera un autre port pour l'affichage de son interface web.

À la première connexion, il vous sera demandé le mot de passe par défaut opendoor qu'il sera bienvenu de modifier afin de sécuriser votre installation.

L'interface web est à première vue très simple, ici je l'ai déjà préconfigurée pour deux électrovannes et deux prises électrique Nous A1T sous firmware open source Tasmota dont nous observerons la configuration plus tard, correspondant à deux pompes :


Dans le cas présent, on peut voir qu'aucune des station n'est activée, sans quoi le bouton serait vert, on observe également que le capteur d'humité (Sensor 1) détecte bien de l'humidité dans le sol/substrat.
Le niveau de l'eau détecté n'est pas significatif, sachant qu'aucun capteur de niveau n'a été connecté sur les ports de capteurs de l'OsPI.

OpenSprinkler permet de lancer manuellement ou de programmer les arrosages, mais étant limité dans sa modularité (pas d'interaction avec des services tiers comme Méteo France ni d'interactions avec d'autres éléments n'étant pas liés à l'arrosage), tout sera géré sous HomeAssistant, ici les stations ont simplement été préconfigurées pour être bien présentées à Home Assistant, et les prises connectées ne sont présentes et configurées que pour faciliter tout allumage/extinction de ces dernières manuellement depuis cette interface.
OpenSprinkler reste donc très utile pour contrôler n'importe quelle électrovanne/prise manuellement et rapidement, y compris sur un smartphone.
Manuellement, vous devrez toujours ouvrir une électrovanne de votre choix, avant d'allumer une pompe, pour ne pas faire forcer cette dernière.

L'utilisation des prises électriques passe par un serveur MQTT permettant la communication entre les appareils, nommé mosquitto. Pour l'installer :

sudo apt install mosquitto

Ensuite l'on configure ce dernier en éditant son fichier de configuration avec l'éditeur de texte en ligne de commande, nano :

sudo nano /etc/mosquitto/mosquitto.conf

Voici à quoi doit ressembler son contenu :

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

port 1883
allow_anonymous true

include_dir /etc/mosquitto/conf.d

On demande l'enregistrement/mise à jour du fichier en laissant appuyé sur la touche “CTRL” puis en appuyant sur “O”, nano proposera ensuite d'enregistrer le fichier, ce qui sera fait en appuyant sur entrée.
Pour quitter l'éditeur après enregistrement, de la même façon, on utilise le raccourci clavier CTRL+X

Il ne reste plus qu'à redémarrer le service Mosquitto afin qu'il prenne en compte cette configuration.

sudo systemctl restart mosquitto

Retour à OpenSprinkler :

Voici une configuration de base pour retrouver l'interface telle que présente, que vous enregistrerez sous le nom de fichier configuration-ospi-basique.json dans le dossier de votre choix :

{"settings":{"devt":1690123573,"nbrd":1,"en":1,"sn1":1,"sn2":0,"rd":0,"rdst":0,"sunrise":392,"sunset":1287,"eip":2728304439,"lwc":1690108509,"lswc":1690108509,"lupt":0,"lrbtc":99,"lrun":[0,99,19,1690123138],"pq":0,"pt":0,"nq":0,"mac":"","loc":"","jsp":"https://ui.opensprinkler.com/js","wsp":"weather.opensprinkler.com","wto":{"key":"","pws":""},"ifkey":"","mqtt":{"en":1,"host":"127.0.0.1","port":1883,"user":"","pass":""},"wtdata":{"wp":"Manual"},"wterr":0,"dname":"OpenSprinkler Pépinière","sbits":[0,0],"ps":[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0|]],"gpio":[5,6,7,8,9,10,11,12,13,16,18,19,20,21,23,24,25,26]},"programs":{"nprogs":0,"nboards":1,"mnp":40,"mnst":4,"pnsize":32,"pd":[]},"options":{"fwv":220,"tz":56,"hp0":144,"hp1":31,"hwv":64,"ext":0,"sdt":0,"mas":0,"mton":0,"mtof":0,"wl":100,"den":1,"ipas":1,"devid":0,"uwt":0,"ntp1":0,"ntp2":0,"ntp3":0,"ntp4":0,"lg":1,"mas2":0,"mton2":0,"mtof2":0,"fwm":1,"fpr0":100,"fpr1":0,"re":0,"sar":0,"ife":0,"sn1t":3,"sn1o":1,"sn2t":1,"sn2o":0,"sn1on":0,"sn1of":0,"sn2on":0,"sn2of":0,"wimod":169,"reset":0,"dexp":-1,"mexp":24,"hwt":255,"ms":[0,120,120,0,120,120]},"status":[0,0,0,0,0,0,0,0],"stations":{"masop":[255],"masop2":[0],"ignore_rain":[3],"ignore_sn1":[3],"ignore_sn2":[3],"stn_dis":[60],"stn_spe":[0],"stn_grp":[0,0,0,0,0,0,0,0],"snames":["Électrovanne N°1","Électrovanne N°2","S03","S04","S05","S06","Pompe N°1 - Tasmota P1","Pompe N°2 - Tasmota P2"],"maxlen":32}}

Il faudra idéalement effectuer quelques modifications propres à son propre raspberry PI, à “mac”;”“ vous remplacerez par “mac”;”l'adresse MAC de votre carte réseau“

Pour l'obtenir, l'on installe tout d'abord net-tools , puis on utilise la commande “ifconfig” pour retrouver la bonne adresse MAC correspondant à l'interface réseau de l'IP locale indiquée. Ne pas confondre avec le port réseau virtuel de Tailscale ou Zerotier, le nom de l'interface sera généralement eth0 pour une connexion filaire par Ethernet, et wlan0 pour du wifi.

Ici on peut voir devant ether l'adresse MAC (matérielle) unique de son raspberry PI, dont une partie est floutée pour des raisons de confidentialité.

https://github.com/home-assistant/supervised-installer/releases/download/1.5.0/homeassistant-supervised.deb

Il est ensuite possible d'importer la configuration (ou de l'exporte pour sauvegarder la votre) :

Il ne restera plus qu'à cliquer sur “Fichier” et sélectionner le fichier de configuration sauvegardé configuration-ospi-basique.json pour le restaurer sur votre installation :

Vous voici désormais avec une configuration tel qu'utilisé dans ce tutoriel !



Ces prises, permettent de faire le lien entre l'alimentation des pompes (ou tout autre appareil) et la consommation énergétique, elles seront accessibles via l'interface web d'OpenSprinkler mais également HomeAssistant par la suite.

La première chose à faire sera de se connecter en Wifi directement à la prise à configurer, dont l'ID, unique pour chaque prise s'affiche après le nom “tasmota-”.
Ici, l'opération consistera à se connecter une première fois à cette dernière pour lui indiquer à quel routeur se connecter par wifi.

Ensuite en règle générale, la prise connectée est accessible depuis un navigateur internet, via l'adresse http://192.168.4.1

On choisit le réseau sur lequel la prise va se connecter, puis cette dernière redémarre, redirigeant vers l'IP que le routeur lui aura indiqué, vous devrez reconnecter votrer ordinateur à ce réseau pour continuer de paramétrer la prise, ici http://192.168.1.50.

Dans le cas d'une première utilisation, le firmware d'origine est en anglais, nous pouvons le passer en français avec une upgrade de la dernière mise à jour de Tasmota.

Il suffira d'indiquer l'adresse http://ota.tasmota.com/tasmota/release/tasmota-FR.bin.gz dans l'url OTA à renseigner de mise à jour puis de lancer la mise à jour, la prise redémarrera ensuite avec une interface web accessible en français.

Attention, en cas de branchement/débranchements répétés 6 fois d'affilé, les paramètres de la prise seront réinitialisés, et ni l'alimentation ni le bouton intégré ne seront fonctionnels, c'est un reset intégral de secours.

Il faudra alors indiquer ces paramètres dans Configuration ⇒ Autre configuration ⇒ Autres paramètres et cocher “Activer” puis enregistrer les paramètres :

{"NAME":"NOUS A1T","GPIO":[32,0,0,0,2720,2656,0,0,2624,320,224,0,0,0],"FLAG":0,"BASE":49}

Il faudra ensuite configurer l'adresse IP du serveur MQTT, Mosquitto, installé plus tôt sur le système d'exploitation Raspberry Pi Os sur le Raspberry Pi.
Dans Configuration ⇒ Configuration MQTT, ne toucher à rien d'autre que l'IP à renseigner sauf à vouloir mettre le nez dans des paramètres de sécurité avancés :

À partir de là, la prise connectée sera en mesure d'échanger et fournir des informations avec le firmware OpenSprinkler et Home Assistant, via Mosquitto qui gèrera les informations d'entrées/sorties et interactions.

Désormais, l'on doit fixer l'adresse IP de la prise connectée dans le routeur, exactement comme ça a avait été fait sur le Pi, puis indiquer à une station OpenSprinkler en cliquant sur la roue crantée, l'adresse web à utiliser pour allumer/éteindre la prise. (C'est même faisable depuis un navigateur web).
Voici à quoi celà doit ressemble, et les commandes indiquées doivent être similaires.
Toutes les prises connectées sous firmware Tasmota fonctionneront sur ce principe au sein d'OpenSprinkler, avec chacune leur propre IP paramétrée.

Cliquez sur Soumettre pour enregistrer et effectuez les mêmes opérations pour autant de prises connectées que vous en avez l'utilité. (Pompes, luminaires, chargeurs, etc…)



Installer Home assistant

Nous pouvons enfin passer à l'installation de Home Assistant, qui est un peut le chef d'orchestre principal de toutes les interactions.

Tout d'abord, connectons nous au système d'exploitation de votre Raspberry Pi via SSH.

Ensuite, rentrons dans le vif du sujet :

mkdir homeassistant-packages

mkdir est une commande permettant de créer un dossier, dans lequel on va ensuite se placer

cd homeassistant-packages

Ensuite l'on va télécharger avec le logiciel curl la dernière version du paquet d'installation d'Home Assistant Supervised :

curl https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb --output homeassistant-supervised.deb

Ainsi que la dernière version en date du paquet os-agent pour Home Assistant pour l'architecture matérielle du Raspberry Pi 4 (ArmV7) :

curl https://github.com/home-assistant/os-agent/ releases / download /1.5.1/os-agent_1.5.1_linux_armv7.deb --output os-agent_1.5.1_linux_armv7.deb

Attention, dans le cas présent, veillez à vérifier que la version 1.5.1 soit bien la dernière version disponible en date et remplacez l'url indiquée si nécessaire.
Si vous avez un Raspberry Pi différent ou un PC (x86-64), choisissez l'architecture adaptée, il est important de comprendre que le Raspberry Pi 3 et Raspberry Pi Zero 2 W ont une architecture ARMv6, et que les sauvegardes complètes d'Home Assistant ne sont pas restaurable d'une architecture à l'autre, seuls les fichiers de configuration le seront, d'où l'importance de privilégier un set de matériel homogène plutôt que jongler entre les versions, puisqu'en cas de pépin, il suffit juste de restaurer une sauvegarde du SSD sur un autre et de l'y brancher sur le nouveau Raspberry PI, alors qu'en changeant de version, il faudra tout réinstaller. Mais si vous avez du temps et peu de moyens, avoir des versions différentes reste faisable (c'est mon cas actuellement).


On effectue tout d'abord les quelques configurations nécessaires pour préparer le bon fonctionnement de Home Assistant sur le Rapsberry Pi :

Activation de l'accès aux journaux système afin de pouvoir vérifier depuis l'interface web que tout fonctionne bien :

sudo systemctl enable systemd-journal-remote

Dans les paramètres de démarrage du noyau Linux, deux élements de sécurité doivent être activé, apparmor =1 et security = apparmor

Éditer avec nano le fichier /boot /cmdline.txt :

sudo nano /boot/cmdline.txt

Le contenu doit indiquer ces deux paramètres en fin de ligne :

console=serial0,115200 console=tty1 root = PARTUUID =10cc0308-02 rootfstype =ext4 fsck.repair= yes rootwait apparmor =1 security =apparmor

Redémarrer le Raspberry Pi afin que ces paramètres soient pris en compte, puis se re-connecter au système via SSH

sudo reboot

On passe ensuite à l'installation de ces deux paquets logiciels téléchargés qui mèneront à l'installation de Home Assistant et toutes les dépendances requises :

sudo apt install ./os-agent_1.5.1_linux_armv7.deb
sudo BYPASS_OS_CHECK=true apt install ./homeassistant-supervised.deb

Comme l'on n'utilise pas une distribution Linux Debian d'origine vu qu'elle est légèrement modifiée par la fondation Raspberry Pi, homeassistant-supervised ne s'installera pas dessus si on ne lui indique pas d'ignorer le fait que ce ne soit pas une Debian d'origine.
La variable d'environnement BYPASS_OS_CHECK=true passe ce paramètre particulier au script d'installation inclut dans le paquet pour qu'il le prenne en compte.

À partir de là, il va falloir être patient, les services installés par ces deux paquets, vont se débrouiller seuls, et automatiquement télécharger la dernière version de Home Assistant via des conteneurs Docker, et de configurer la base de l'ensemble. Cela peut prendre jusqu'à 20 minutes (ou être plus rapide), et dépendra de la vitesse du média USB, la version du Raspberry PI, mais aussi de la vitesse de téléchargement de la connexion à internet.

On accède ensuite à Home Assistant avec un navigateur internet, en renseignant l'adresse IP d'u Raspberry PI, suivit de :8123
Par exemple, pour un accès local par wifi dans l'exemple donné, l'adresse est http://192.168.1.130:8123
Pour Tailscale ou Zerotier , si la machine que vous utilisez est connectée à leur réseau virtuelle, vous indiquerez l'adresse correspondant au Raspberry PI, dans le tutoriel, nous allons partir du fait que Tailscal a alloué l'adresse IP virtuelle 100.66.2.103 au sein de notre réseau privé virtuel accessible depuis Internet.
L'accès depuis n'importe quel machine connectée à ce réseau privé virtuel via internet se fera alors par l'adresse web http://100.66.2.103:8123
L'opération est similaire si vous utilisez Zerotier en plus ou à la place de Tailscale, l'idéal étant de disposer des deux au cas où un des deux services aurait un problème.

Voici à quoi ressemblera approximativement Home Assistant une fois configuré, sachant que tout est personnalisable :

La première chose à faire va consister à installer un accès SSH au sein du conteneur Home Assistant lui même.

On commence par aller voir tout en bas à gauche son profil en cliquant sur son nom d'utilisateur :

Puis l'on active le mode avancé :


Pour ça il faut se diriger vers le centre de téléchargement des extensions en suivant ce lien.
Cette méthode va faciliter l'installation de logiciels via ce tutoriel.

Indiquer l'IP tailscale de votre Raspberry Pi pour accéder aux liens partagés vers l'interface web de Home Assistant :

Puis cliquer sur Open Link.

Une fois la page ouverte, recherchez SSH et cliquer dessus :

Puis cliquer sur installer :

Une fois installée, configurer les interrupteurs tel quel et cliquer sur démarrer :


Une fois le service ssh démarré, cliquer sur Ouvrir l'interface utilisateur web en bas à droite :

Et voici ce qui devrait apparaître, un terminal avec accès SSH au sein du conteneur système propre à Home Assistant :

Il ne reste plus qu'à installer HACS pour pouvoir disposer d'un dépot d'extensions alternatif sur Home Assistant.

Utiliser les commandes :

cd config
wget -O - https://get.hacs.xyz | bash -

HACS est désormais installé, après un redémarrage, il sera possible d'installaer l'intégration HACS et d'utiliserce dernier pour installer HASS OpenSprinkler.

Pour redémarrez, cliquez sur les 3 points verticaux en haut à gauche de l'écran dans les paramètres puis sur redémarrer :

Dans les options avancées, choisissez un redémarrage système.

Une fois le système entièrement démarré, et Home Assistant accessible via un navigateur internet, dirigez vous vers les Paramètres ⇒ Appareils et services.

Il faut indiquer à Home Assistant de prendre en compte le serveur MQTT Mosquitto, pour ça, cliquez sur + Ajouter une intégration

Recherchez MQTT puis cliquez dessus deux fois, afin de l'installer :

Voici les informations de paramétrages à indiquer, 127.0.0.1 indique que Home Assistant doit aller chercher Mosquitto directement sur le Raspberry PI sur lequel il est installé, c'est l'adresse IP locale qui redirige vers une même machine directement, contrairement aux IP attribuées sur un réseau.

Sur le même principe, il va falloir rajouter l'intégration “Tasmota” pour la prise en charge des données envoyées par les prises connectées NOUS A1T.

La prise connectée, ici un exemple avec une prise connectée au congélateur (nom paramétré directement dans les paramètres de la prise avec sa propre adresse web)

Voici ce qu'affiche désormais Home Assistant :

Il ne reste plus qu'à cliquer dans l'encart Tasmota sur “1 Appareil” pour vérifier les données fournies par la prise connectée, et que l'interrupteur d'allumage extinction fonctionne bien.

Désormais, il va falloir installer le service Météo France de la même façon :

Lors de l'installation, il sera demandé de configurer sa commune :

Cette intégration de Méteo France, permet d'accéder à une ribambelle d'informations qui permettront de créer des automatisations se basant sur des conditions actuelles et prévisions météo. Certaines informations comme la température sont désactivées par défaut, il faudra donc les activer en cliquant dessus puis en cliquant sur la roue crantées des paramètres avancés :

On clique sur “Activer” :

Puis s'affiche :

Désormais, Home Assistant a à sa disposition des informations supplémentaires de température actuelle sous forme de capteur virtuel, exploitable à loisirs :


Désormais, installer également l'intégration “Sun” afin de pouvoir s'y référer lors des automatisations.

Par la suite, nous allons installer les intégrations tierces parties liées à OpenSprinkler via HACS, précédemment installé.

Installer l'intégration HACS :

Prendre connaissance et cocher toutes les cases puis valider :

Activer l'utilisation de HACS avec un compte Github :

Indiquez le code précédemment indiqué à Github une fois connecté :

Cliquer sur Authorize HACS :

La procédure de connexion est terminée :

Il est désormais possible de rechercher et installer des intégrations tierces parties via HACS !

Pour les rechercher et les installer :

Cliquez sur Télécharger deux fois après avoir ajouté le dépôt OpenSprinkler :

Il vous sera ensuite demandé de redémarrer Home Assistant :

Dans les interfaces, sur HACS, il sera également possible d'installer une “carte” qui pourra s'affichet et être personnalisée sur l'écran d'accueil :

À noter que tout ce qui s'affiche en anglais peut être renommé en français.

L'installation de tous les composants nécessaires pour gérer OpenSprinkler et Météo France via Home Assistant est désormais terminée.



Configurer les programmes d'irrigation automatiques

Rentrons désormais dans le vif du sujet ! Tous les programmes présentés sont des exemples, conçus pour interagir les uns avec les autres sans rentrer en conflit !
Des codes YAML, permettant de copier/coller directement chaque programme, seront fournis, mais pour chacun des exemple, si jamais les ID de vos capteurs diffèrent, vous devrez les adapter ou corriger.

Voici les noms configurés pour tous les capteurs liés à OpenSprinkler, Météo France, et à l'intégration Tasmota.
Pour accéder à chacun d'entre eux, direction paramètres ⇒ Intégration ⇒ Nom de votre entité ⇒ XX entités

Noms de chaque ID pour l'intégration HASS OpenSprinkler installée via HACS :

Nom de chaque ID pour l'intégration Tasmota :

Nom de chaque entité pour l'intégration Météo-France :

Nom de chaque ID pour l'intégration Sun (renommée ici “Soleil”) :

Désormais, en ayant vérifié les correspondances, vous devriez pouvoir utiliser ces proposition d'automatisations et les adapter :

Tout se passe dans les paramètres de Home Assistant ⇒ Automatisations et scène

Après configuration, la liste des automatisations devrait ressembler à ceci :


Tous les modes des automatisations présentées sont configurés en mode redémarrage en cliquant sur les 3 points verticaux ⇒ “Modifier le mode”, et le code de l'automatisation pourra également être édité en cliquant sur “Modifier en tant que YAML”, considérez que le device ID est propre à chaque périphérique et est unique, mieux vaut d'abord configurer avec l'éditeur visuel à l'aide des captures d'écran qui suivent !



À CONFIGURER APRÈS LES AUTOMATISATIONS 02 ET 04, CAR CETTE AUTOMATISATION EN DÉPEND POUR NE PAS RENTRER EN CONFLIT AVEC !

Dans le détail, point par point, voici la configuration de visuel de chaque étape de l'automatisation :

Code Yaml :

Et voici le code YAML qu'il est possible d'éditer pour l'ensemble des actions, ou chacune d'entre elles :

alias:>-
  01 - Irrigation - Activation automatique (humidité) - Pompe 02 - Electrovanne
  01
description:>-
  Allumer automatiquement l’irrigation si le capteur d'humidité capacitif
  détecte un manque d'eau, que le capteur de pluie en indique l'absence, avec
  une option (désactivée par défaut) si le risque de pluie signalé par Météo
  France est inférieur à 71%, conjointement à une couverture nuageuse supérieur
  à 49%.
trigger:
  - type: turned_off
    platform: device
    device_id: a44b3b42fed7e481d557d0cd2d640e50
    entity_id: binary_sensor.opensprinkler_sensor_1_active
    domain: binary_sensor
    alias: Si le capteur d'humidité est désactivé (ne détecte plus assez d'eau)
condition:
  - type: is_off
    condition: device
    device_id: a44b3b42fed7e481d557d0cd2d640e50
    entity_id: binary_sensor.opensprinkler_sensor_2_active
    domain: binary_sensor
    alias: Lorsque le capteur de pluie ne détecte aucune pluie en cours ou récente
    enabled: true
  - condition: and
    conditions:
      - type: is_value
        condition: device
        device_id: a44b3b42fed7e481d557d0cd2d640e50
        entity_id: sensor.graulhet_rain_chance
        domain: sensor
        below: 71
        alias: Valeur de chance de pluie de Graulhet inférieure à 70%
        enabled: false
      - type: is_value
        condition: device
        device_id: a44b3b42fed7e481d557d0cd2d640e50
        entity_id: sensor.graulhet_cloud_cover
        domain: sensor
        alias: Valeur de couverture nuageuse au dessus de 50%
        below: 100
        enabled: false
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
        alias: Selon le planning
        enabled: false
    alias: Si ces conditions météorologiques sont remplies  (d'après Méteo France)
    enabled: false
action:
  - service: automation.turn_off
    data:
      stop_actions: true
    target:
      entity_id: automation.rafraichir_les_plants
    alias: Désactiver l'automatisation du rafraîchissement de la pépinière
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.irrigation_arret_pompe_01_electrovanne_01
    alias:>-
      Réactiver l'automatisation N°2 (arrêt automatique de l'irrigation si le
      capteur d'humidité détecte suffisamment d'eau) au cas où il aurait été
      arrêté par l'automatisation N°04 (rafraîchissement)
  - service: opensprinkler.run
    data:
      entity_id: binary_sensor.electrovanne_ndeg1_station_running
      run_seconds: 48600
    alias: Ouvrir l'électrovanne N°01 (Pépinière)
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 secondes, sans risquer de faire forcer la pompe
  - type: turn_on
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
mode: restart


Lorsque le capteur d'humidité détecte suffisamment d'eau, fermer l'électrovanne 01 puis la Prise P2 (Pompe 02) afin de mettre fin à l'automatisation 01 décrite précédemment.

Et voici le code YAML qu'il est possible d'éditer pour l'ensemble des actions, ou chacune d'entre elles :

alias: 02 - Irrigation - Arrêt automatique (humidité) - Pompe 02 - Electrovanne 01
description:>-
  Lorsque le capteur d'humidité détecte suffisamment d'eau, fermer
  l'électrovanne 01 puis la Prise P2 (Pompe 02).
trigger:
  - type: turned_on
    platform: device
    device_id: a44b3b42fed7e481d557d0cd2d640e50
    entity_id: binary_sensor.opensprinkler_sensor_1_active
    domain: binary_sensor
    alias: Si le capteur d'humidité est activé (détecte suffisamment d'eau)
    for:
      hours: 0
      minutes: 0
      seconds: 0
condition: []
action:
  - type: turn_off
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 secondes, sans risquer de faire forcer la pompe
  - service: opensprinkler.stop
    data:
      entity_id: binary_sensor.electrovanne_ndeg1_station_running
    alias: Désactiver l'électrovanne N°1 (Arroseur oscillant)
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.rafraichir_les_plants
    alias:>-
      Réactiver l'automatisation de rafraîchissement de la pépinière - Pompe 02
      - Electrovanne 01
mode: restart

Cette automatisation est utilisée afin d'irriger une petite parcelle 45 minutes chaque nuit à minuit à condition qu'aucune pluie n'ait été détectée.

Et voici le code YAML qu'il est possible d'éditer pour l'ensemble des actions, ou chacune d'entre elles :

alias:>-
  03 - Arrosage pépinière de nuit durant 45min à Minuit - Pompe 02 -
  Electrovanne 01
description: Arrosage des parties 1 et 2 des jardins au goutte à goutte la nuit
trigger:
  - platform: time
    at: "00:00:00"
    alias: À
condition:
  - type: is_off
    condition: device
    device_id: a44b3b42fed7e481d557d0cd2d640e50
    entity_id: binary_sensor.opensprinkler_sensor_2_active
    domain: binary_sensor
    alias: Lorsque le capteur de pluie n'a pas détecté de pluie
    enabled: true
action:
  - service: automation.turn_off
    data:
      stop_actions: true
    target:
      entity_id: automation.irrigation_arret_pompe_01_electrovanne_01
    alias:>-
      Désactiver l'automatisation de l'extinction en cas d'activation du capteur
      d'humidité
  - service: opensprinkler.run
    data:
      entity_id: binary_sensor.electrovanne_ndeg1_station_running
      run_seconds: 48600
    alias: Ouvrir l'électrovanne N°01
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 secondes, sans risquer de faire forcer la pompe
  - type: turn_on
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 45
      seconds: 0
      milliseconds: 0
    alias: Arroser durant
  - type: turn_off
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 seconde après extinction de la pompe
  - service: opensprinkler.stop
    data:
      entity_id: binary_sensor.electrovanne_ndeg1_station_running
    alias: Fermer L'électrovanne N°1
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.irrigation_arret_pompe_01_electrovanne_01
    alias:>-
      Réactiver l'automatisation de l'extinction en cas d'activation du capteur
      d'humidité
mode: restart

Allumer automatiquement l’arroseur oscillant si la température passe au dessus de 30°C toutes les une 1/2H, pendant 1 minute, afin de rafraichir l'air ambiant.
3 objectifs : attirer les auxiliaires de culture, limiter le développement d'acariens/cochenilles, favoriser une température compatible avec une photosynthèse continue pour les plantes. À l'inverse du zéro de végétation, il existe aussi un maximum qu'il convient d'éviter autant que possible pour que les plants considèrent être toujours au printemps.

Ici est rajouté spécifiquement une gestion du soleil, l'automatisation n'est active qu'après le lever et avant le coucher du soleil. (D'où la nécessité de l'intégration “Sun”.)

Ici l'on s'aperçoit de l'importance d'avoir activé le capteur virtuel de température relayé par l'intégration Météo France. Toutefois, pour encore plus de précision et une journalisation des évènements (pluviométrie, température, vent, direction du vent…), une station météo connectée sera installée dans l'avenir.

Et voici le code YAML qu'il est possible d'éditer pour l'ensemble des actions, ou chacune d'entre elles :

alias:>-
  04 - Rafraîchir température pépinière si + de 30°C - Pompe 02 - Electrovanne
  01
description:>-
  Allumer automatiquement l’irrigation si la température passe au dessus de 30°C
  toutes les une 1/2H, pendant 1 minute
trigger:
  - platform: time_pattern
    minutes: /30
    alias: Toutes les... (Rajouter un / avant le nombre crée une répétition)
    enabled: true
condition:
  - condition: sun
    before: sunset
    after: sunrise
    alias: Après le lever et avant le coucher du soleil uniquement
    enabled: true
  - type: is_temperature
    condition: device
    device_id: b33bd64e5e2697617dc09a39695e250e
    entity_id: sensor.graulhet_temperature
    domain: sensor
    above: 30
    below: 55
    alias: Si la température extérieure se situe entre
  - condition:
      - condition: not
        conditions:
          - condition: state
            entity_id: automation.irrigation_activation_pompe_01_electrovanne_01
            attribute: mode
            state:
              - triggered
        alias: Vérifier que le programme d'irrigation n'est pas en cours.
        enabled: true
  - type: is_off
    condition: device
    device_id: a44b3b42fed7e481d557d0cd2d640e50
    entity_id: binary_sensor.opensprinkler_sensor_2_active
    domain: binary_sensor
    alias: Lorsque le capteur de pluie ne détecte aucune pluie en cours
    enabled: true
    for:
      hours: 0
      minutes: 0
      seconds: 0
  - condition: state
    entity_id: automation.irrigation_activation_pompe_01_electrovanne_01
    state: "on"
    alias: Si le programme d'irrigation de la pépinière est activé mais pas en cours
  - condition: and
    conditions:
      - type: is_value
        condition: device
        device_id: a44b3b42fed7e481d557d0cd2d640e50
        entity_id: sensor.graulhet_rain_chance
        domain: sensor
        below: 71
        alias: Valeur de chance de pluie de Graulhet inférieure à 70%
      - type: is_value
        condition: device
        device_id: a44b3b42fed7e481d557d0cd2d640e50
        entity_id: sensor.graulhet_cloud_cover
        domain: sensor
        alias: Valeur de couverture nuageuse au dessus de 50%
        below: 100
        enabled: false
      - condition: time
        weekday:
          - mon
          - tue
          - wed
          - thu
          - fri
          - sat
          - sun
        alias: Selon le planning
        enabled: false
    alias: Si ces conditions météorologiques sont remplies  (d'après Méteo France)
    enabled: false
action:
  - service: automation.turn_off
    data:
      stop_actions: true
    target:
      entity_id: automation.irrigation_arret_pompe_01_electrovanne_01
    alias:>-
      Désactiver l'automatisation 02 (extinction en cas de détéction d'eau par
      le capteur d'humidité)
  - service: opensprinkler.run
    data:
      entity_id: binary_sensor.electrovanne_ndeg1_station_running
      run_seconds: 48600
    alias: Ouvrir l'électrovanne N°01
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 secondes, sans risquer de faire forcer la pompe
  - type: turn_on
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
    alias: Rafraîchir durant une minute les plants
  - type: turn_off
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - service: opensprinkler.stop
    data:
      entity_id: binary_sensor.electrovanne_ndeg1_station_running
    alias: Fermer L'électrovanne N°01
  - service: automation.turn_on
    data: {}
    target:
      entity_id: automation.irrigation_arret_pompe_01_electrovanne_01
    alias:>-
      Réactiver  l'automatisation 02  (extinction en cas de détéction d'eau par
      le capteur d'humidité)
mode: restart

Cette automatisation est utilisée afin d'irriguer au goutte à gouttes les parcelles du jardin à 2H00 du matin à condition qu'aucune pluie n'ait été détectée jusqu'à ce que le capteur de pluie soit sec (prend en compte la quantité tombée du coup), l'électrovanne est raccordé à un sélecteur mécanique Gardena 6 voies, qui change automatiquement de voie à chaque arrêt d'arrivée d'eau selon les interrupteurs mécaniques sélectionnés dessus, afin que chaque ligne ait suffisamment de pression sans dépendre de multiples électrovannes. Il suffit donc d'arrêter puis démarrer de nouveau la pompe pour qu'il passe de la première à la seconde voie, puis revienne à la seconde le lendmain et ainsi de suite.

Et voici le code YAML qu'il est possible d'éditer pour l'ensemble des actions, ou chacune d'entre elles :

alias:>-
  05 - Irrigations jardins N°1 & 3 de nuit (1/4H chacun) à 2H00 - Pompe 02 -
  Electrovanne 02
description: Arrosage des parties 1 et 2 des jardins au goutte à goutte la nuit
trigger:
  - platform: time
    at: "02:00:00"
    alias: À
condition:
  - type: is_off
    condition: device
    device_id: a44b3b42fed7e481d557d0cd2d640e50
    entity_id: binary_sensor.opensprinkler_sensor_2_active
    domain: binary_sensor
    alias: Lorsque le capteur de pluie ne détecte aucune pluie en cours
    enabled: true
action:
  - service: opensprinkler.run
    data:
      entity_id: binary_sensor.electrovanne_ndeg2_station_running
      run_seconds: 48600
    alias: Ouvrir l'électrovanne N°01
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 secondes, sans risquer de faire forcer la pompe
  - type: turn_on
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
    alias: Attendre 30 min (arrosage)
  - type: turn_off
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
    alias: Attendre 1 minute pour le switcheur mécanique
  - type: turn_on
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 30
      seconds: 0
      milliseconds: 0
    alias: Attendre 30 minute (arrosage)
  - type: turn_off
    device_id: 25468fd9dfb3b9ba4d832935a888f9cc
    entity_id: switch.prise_connectee_tasmota_p2_2
    domain: switch
  - delay:
      hours: 0
      minutes: 0
      seconds: 3
      milliseconds: 0
    alias: Attendre 3 seconde après extinction de la pompe
  - service: opensprinkler.stop
    data:
      entity_id: binary_sensor.electrovanne_ndeg2_station_running
    alias: Fermer L'électrovanne N°2
mode: restart

Il est possible d'ajouter des informations accessibles rapidement d'un coup d'oeil au tableau de bord, ainsi que des interrupteurs, voici quelques exemples basiques :

Et un onglet météo :

Première carte :

Code éditable avec l'éditeur de code :

type: entities
entities:
 - automation.automation_6
 - automation.irrigation_activation_pompe_01_electrovanne_01
 - automation.irrigation_arret_pompe_01_electrovanne_01
 - automation.rafraichir_les_plants
title: Programmes

Deuxième carte pour la prise connectée/pompe :

Code éditable avec l'éditeur de code :

type: entities
entities:
 - entity: switch.prise_connectee_tasmota_p2_2
 name: Allumage prise (direct Tasmota)
 icon: mdi:toggle-switch-variant
 - entity: sensor.prise_connectee_tasmota_p2_energy_power_2
 name: Puissance utiliée (temps réel)
 - entity: sensor.prise_connectee_tasmota_p2_energy_today_2
 name: Énergie consommée (aujourd'hui)
 - entity: sensor.prise_connectee_tasmota_p2_energy_yesterday_2
 name: Énergie consommée (hier)
 - entity: sensor.prise_connectee_tasmota_p2_energy_total_2
 name: Énergie consommée totale
 - entity: sensor.prise_connectee_tasmota_p2_energy_totalstarttime_2
 name: Démarrage mesure de l'énergie
 - entity: sensor.prise_connectee_tasmota_p2_ip_2
title: Pompe N°2 (Tasmota P2)
state_color: true

Les informations de base concernant les informations fournies par OpenSprinkler via l'OsPi et ce qui y est connecté. Le niveau de l'eau est toujours faussé ici, il est possible de le supprimer, de même que tout autre paramètre jugé inutile :

Code éditable avec l'éditeur de code :

type: entities
entities:
 - entity: switch.opensprinkler_enabled
 name: Activation d'OpenSprinkler
 - entity: sensor.opensprinkler_last_run
 name: Dernier démarrage
 - entity: binary_sensor.opensprinkler_sensor_1_active
 name: Capteur d'humidité
 - entity: binary_sensor.opensprinkler_sensor_2_active
 name: Capteur de pluie
 - entity: binary_sensor.opensprinkler_rain_delay_active
 name: Status du délais pour pluie
 - entity: sensor.opensprinkler_flow_rate
 name: Débit de l'eau
 - entity: sensor.opensprinkler_rain_delay_stop_time
 name: Temps d'arrêt du délais de pluie
 - entity: sensor.opensprinkler_water_level
 name: Niveau de l'eau
 - entity: update.opensprinkler_card_update
 name: Logiciel/firmware OpenSprinkler
 - entity: update.opensprinkler_integration_for_home_assistant_update
 name: Intégration Home Assistant
state_color: true

Quelques informations de base sur le routeur connecté à Home Assistant :


Code éditable avec l'éditeur de code :

type: entities
entities:
 - entity: binary_sensor.b715s_23c_mobile_connection
 - entity: sensor.b715s_23c_current_download_rate
 - entity: sensor.b715s_23c_current_upload_rate
 - entity: sensor.b715s_23c_total_connected_duration
title: Pépinière

Carte Météo France fournie par l'entité :

Code éditable avec l'éditeur de code :

show_current: true

show_forecast: true

type: weather-forecast

entity: weather.graulhet

theme: midnight

Autre configuration avec davantage d'informations :

Code éditable avec l'éditeur de code :

type: grid
square: false
columns: 1
cards:
  - type: entities
    entities:
      - sensor.81_weather_alert
      - sensor.graulhet_cloud_cover
      - sensor.graulhet_daily_precipitation
      - sensor.graulhet_freeze_chance
      - sensor.graulhet_next_rain
      - sensor.graulhet_rain_chance
      - sensor.graulhet_snow_chance
      - sensor.graulhet_uv
    title: Météo-France forecast for city Graulhet - Midi-Pyrénées (81) - FR
  - type: weather-forecast
    entity: weather.graulhet
    show_forecast: false

Deux applications Open Source libres et gratuites sont disponibles à cet effet via plusieurs plateformes :

Via le playstore :

Home Assistant pour Android (Playstore)
Open Sprinkler pour Android (Playstore)
Depuis Fdroid :

Home Assistant pour Android (Fdroid)

Pour les environnement Apple :

Open Sprinkler (iOS)
Open Sprinkler (MacOS X)
Home Assistant (iOS)

Depuis l'Amazon Appstore et pour les appareils Amazon (Fire stick…) :

Open Sprinkler
Home Assistant

Vous aurez également besoin des applications Tailscale et Zerotier pour accéder au programmateur modulaire depuis n'importe où, tant que lui a accès à Internet, et vous aussi :

Tailscale : Android / iOS | Iphone
Zerotier : Android / iOS | Iphone

Tailscale sur smartphone/tablette :

Un exemple de ce à quoi ressemblera l'interface une fois authentifié avec le compte utilisé jusque là.

Home Assistant est désormais pleinement accessible de partout depuis un smartphone du moment que Tailscale ou Zerotier selon votre choix, est activé. À noter qu'il est possible de paramétrer plusieurs URL et de glisser de l'une à l'autre avec trois doigts, permettant de multiplier les moyens de connexions et accès à plusieurs Raspberry Pi ou autre serveurs avec Home Assistant installé :

OpenSprinkler sur smartphone/tablette :

De la même façon, l'on se connecte ainsi, il est également possible de multiplier les URL de connexion :


Vous pouvez soutenir/partager mon travail, mes recherches, et contribuer au projet de pépinière écologique PEPINATURE via cette cagnotte Litchee participative :-)

Visiter du blog : https://blog.pepinature.com


Entrer votre commentaire. La syntaxe wiki est autorisée:
Si vous ne pouvez pas lire les caractères sur l'image, téléchargez ce fichier .wav pour l'écouter.
 
  • Dernière modification : il y a 5 mois
  • de tikilou