Préface
Année 2019. Dans presque tous les magasins d'électronique, vous pouvez acheter l'un des centaines d'ensembles possibles de maisons intelligentes. Prenez et configurez en "2 clics", connectez-vous aux nuages, recevez des événements push dans l'application / SMS, et en général recevez toutes les informations nécessaires partout dans le monde.Idéal, mais dans mon cas, cela n'a pas fonctionné. Quelques décisions qui sont tombées entre mes mains se sont avérées être un ensemble limité de certaines fonctions, ne couvrant qu'une partie de mes requêtes, et en plus, imposant des restrictions presque insurmontables. Et, comme cela arrive généralement, moins il y a de restrictions, plus vous avez besoin de plonger dans le domaine, de réfléchir indépendamment aux solutions, aux architectures. Par conséquent - la ferme collective nous-mêmes :)
Les tâches
1. recevoir des informations sur la qualité du réseau électrique (surtensions, arrêt complet, etc.).
2. Ayez une surveillance complète de l'onduleur. Mais en fait, avoir ce même UPS basé sur les conséquences de p2.
3. Recevez les informations de température:
- dans la rue
- à la maison
- dans le grenier (quand les ordures et les tomates jetées là gèlent)
4. Surveillez l’état de la consommation d’eau, alertez si la consommation a augmenté (soudainement une fuite, vous ne pouvez pas tout peser avec des capteurs d’humidité).
5. Comprendre quand quelqu'un est à la maison pour automatiser la fermeture / ouverture de l'eau.
6. Lecture du compteur de gaz et alerte lorsque la réserve payée s'épuise.
+ autres capteurs de toutes sortes (humidité, ouverture, pression de l'eau, pression dans le circuit de chauffage, etc.).
L'objectif global est d'avoir une interface commune où vous pouvez regarder tout cela. Recevez des notifications en cas de problème.
Et pour qu'il n'y ait rien pour cela et pour ne pas donner beaucoup d'argent pour cela.
La composition du complexe en ce moment
- Batterie UPS Energy PN-750 + 100 Ah
- Convertisseur USB-> RS232 basé sur PL2303
- Routeur Tp-link tl-wr1043nd +
- Maître de réseau à 1 fil basé sur un thermomètre USB acheté DS18B20 + PL-2303TA
- 1 fil 3 capteurs DS18B20
- Module de compteur d'eau Radioseti DS2423 à 1 fil
Une machine virtuelle avec un serveur Zabbix en dehors du réseau domestique.

Étape 1. Préparation de l'infrastructure
La première étape a été la question de la réorganisation physique: le routeur a été déplacé vers la table de nuit près de la mine d'évent, où UPS devait être installé plus loin. L'antenne du fournisseur Internet Ubiquiti Nanostation Loco M2 PoE a été connectée à la même prise que le routeur, afin de continuer à être alimentée par UPS.
J'avais déjà une installation dédiée de Zabbix sur un serveur distant et une certaine expérience avec cette application, il n'y avait donc aucun problème avec la théorie de l'organisation des alertes et le tableau de bord lui-même.
Le routeur est flashé dans OpenWRT Chaos Calmer, un VPN est configuré sur le réseau où se trouvait le serveur Zabbix.
J'ai immédiatement ajouté les métriques à zabbix, après avoir obtenu le modèle d'élément pour openwrt. Ainsi, j'ai eu l'occasion de surveiller à la fois le système et, par exemple, combien et quelles adresses MAC sont connectées au point. À l'avenir, ce qui aurait dû servir de décision sur l'arrêt de l'eau dans la maison.
Étape 2. Choisir un onduleur
Les critères de sélection étaient:
- la possibilité d'une chaudière à gaz (buderus)
- à partir de 5 heures d'autonomie chaudière + équipement Internet
- présence d'une interface de surveillance
- faible bruit (placement - table de chevet dans la cuisine près de la bouche de ventilation)
- en raison de restrictions sur l'emplacement et le prix - de préférence une conception à batterie unique
Nous examinerons la possibilité de répondre aux critères dans l'ordre.
La capacité de la chaudière à gaz à fonctionner s'explique par le fait que la chaudière nécessite un sinus propre, sinon le moteur de la pompe vibre et s'use. À ce sujet, vous pouvez consulter de nombreux articles sur Google.
L'ordinaire (ordinateur UPS) ne donne pas un tel sinus, ce qui donne une onde sinusoïdale approximative.
Le deuxième facteur important est la présence de «à travers neutre». Tout est un peu plus compliqué ici, mais c'est aussi facilement google, donc je ne m'arrêterai pas. Je ne dirai qu'une chose - sans neutre traversant, le buderus n'a pas fonctionné, ou plutôt il est tombé dans l'erreur, car le capteur d'ionisation n'a pas fonctionné et la chaudière n'a tout simplement pas vu de flamme.
En remplacement d'UPS, il y a eu un changement d'orientation vers les UPS en ligne et interactifs en ligne.
A partir de 5 heures d'autonomie de la chaudière + équipement Internet donne principalement des UPS avec une batterie externe.
En raison de l'emplacement et des restrictions de prix, une conception à batterie unique est souhaitable . La batterie de 100 Ah devait durer plus de 8 heures.
La présence d'une interface de surveillance pour au moins savoir quand le système est passé à la batterie, afin de rentrer chez soi en hiver et de démarrer le générateur. Je n'avais aucune exigence particulière ici (ainsi qu'une expérience de mise en œuvre). Je cherchais tout ce qui vient avec une interface RS232 ou USB.
L'exigence d'un
faible niveau de bruit s'est en fait avérée être une limitation sérieuse et a mis au rebut toute une classe d'équipements - UPS en ligne, car ils fonctionnent tous en mode de ventilation constante du transformateur (le ventilateur ne s'arrête pas).
En appelant le magasin d'énergie, j'ai obtenu le dernier PN-750 avec rs232 de la devanture. Assez bon marché, car il n'y avait pas de fils dans le kit.
Étape 3: Configuration de l'onduleur
Il y a des problèmes de connexion de l'onduleur. J'ai acheté plusieurs convertisseurs USB-> RS232, lisez sur les forums que l'énergie utilise le protocole Megatec standard et vous pouvez au moins travailler avec lui via le logiciel Upsilon2000. Mais peu importe combien j'ai lutté, il y avait un silence complet sur l'interface série. Après une semaine d'épreuves, j'ai décidé de démonter l'onduleur et de voir ce qu'il y avait, cracher sur la garantie. Le problème s'est avéré être banal - la carte RS232 n'était pas connectée à la carte principale de l'onduleur et le connecteur était légèrement cassé. J'ai remplacé le connecteur, je l'ai connecté et à propos d'un miracle, tout a décollé, bien que le firmware ait donné l'étrange nom UPS - SIN800 (il semble maintenant que je comprenne pourquoi l'énergie dans les nouveaux modèles a été coupée par rs232).
Sous OpenWRT, il y avait un P / O standard pour travailler avec UPS: les outils de mise en réseau, qui ont tout ce dont vous avez besoin pour afficher les métriques dans la console.
root@OpenWrt:/
Et le plus intéressant est que sous Zabbix il y a un modèle prêt à l'emploi pour les noix. Vobschem - nous scions dans l'agent zabbix le script shell du kit tempate et nous avons une belle image dans zabbix en dynamique. Les tâches 1 et 2 à ce stade ont été résolues (et l'idée de surveiller la consommation totale d'énergie est apparue à l'avenir).
Étape 4: 1 fil et température
Il y a quelque temps, j'ai acheté un thermomètre USB sur ebay (une carte convertisseur combinée et un capteur).
OpenWRT s'est également avéré être un logiciel approprié, l'utilitaire digitemp_DS9097. Elle a affiché la température d'un seul capteur soudé. Après avoir lu qu'il y a 1 fil, j'ai réalisé que vous pouvez essayer de ne pas vous limiter à un seul capteur et prendre un bus de capteur complet vers le convertisseur USB acheté. Ayant pris plusieurs microcircuits DS18B20 et «barils» sous une paire torsadée dans le magasin, j'ai construit une construction avec le capteur retiré à l'extérieur du baril et connecté en interne avec 3 fils.

Je connais cette conception depuis de nombreuses années, nous l'avons utilisée pour prendre des mesures dans les centres de données, mais je ne connaissais toujours pas 1wire. Lors de la connexion des barils les uns aux autres avec des cordons de brassage standard et le passage de cette ferme au «thermomètre USB», j'ai obtenu les valeurs des 3 capteurs de température.

Reste à les jeter autour des lieux. La longueur totale du pneu était d'environ 30 mètres. Le signal ne disparaît pas. Un tonneau placé dans la rue est rempli d'un pistolet à colle. A vécu l'hiver.
Étape 5: l'eau
J'ai dû changer le compteur d'eau à l'entrée (ce n'était pas une impulsion, sans interrupteur à lames). Grâce à la vie dans une maison de campagne, la plomberie ne pose pas de question. Je l'ai acheté au magasin de plomberie le plus proche et l'ai remplacé. Dans le nouveau compteur, une impulsion se produit tous les 10 litres d'eau. Maintenant, ces impulsions doivent être considérées comme quelque chose.
Pour une raison quelconque, ils ont abandonné un microcircuit de compteur numérique intéressant - DS2423. Mais il s'est avéré que les gars de Volgograd (radioseti) ont un appareil prêt à l'emploi qui, grâce à la batterie intégrée, compte également la valeur du nombre d'impulsions en cas de panne de courant. Cependant, l'appareil lui-même a été adapté à sa propre architecture réseau. Des connecteurs RJ-11 à une alimentation 12V séparée. Dans mon cas, je voulais me limiter à alimenter le bus existant (5V). J'ai dû contourner directement le cerclage "supplémentaire" et souder directement aux conclusions du DS2423. Puis l'appareil a fonctionné, les valeurs de registre sont devenues visibles sur le bus. Il y en a deux, l'appareil implique la connexion à deux compteurs d'eau en même temps - eau chaude et eau chaude. Je n'ai qu'une seule entrée d'eau, donc j'utilise le deuxième registre uniquement pour les tests.

Le résultat final pour la topologie 1wire:
root@OpenWrt:/etc/zabbix
Soit dit en passant, puisqu'un nouveau compteur d'eau a été installé simultanément avec un compteur d'impulsions numérique, nous pouvons tirer des conclusions sur l'écart des lectures / rebonds des contacts. Visuellement, ces écarts sont presque absents (jusqu'à plusieurs centaines de litres à la lecture actuelle de 60 000).
Étape 6: Alerte
En utilisant les informations collectées, il a été possible de faire des alertes utiles:
- température extérieure en sms tous les matins (+ participation des capteurs au projet narodmon)
- Message de transfert de batterie UPS
- Batterie de l'onduleur faible
- message basse / haute tension
- un message sur la chaleur de la table de nuit avec l'équipement
- rapport de basse température dans le grenier (sauvetage de tomates)
- message sur l'adresse mac "alien / new" sur le réseau
- message sur la consommation élevée d'eau (dans un certain délai)
Étape 7: l'avenir
Une jauge numérique a été achetée sur aliexpress avec une sortie rs232 sous forme d'USB. Mais alors qu'il ne s'est pas battu avec lui, il ne répond pas aux paquets. Nous réfléchirons plus loin. J'espère serrer.
Je prévois d'acheter un relais de contrôle du robinet à boisseau sphérique (le robinet lui-même existe déjà) pour le contrôle à distance du robinet et la mise en place éventuelle d'un arrêt automatique de l'eau en l'absence de domicile.
D'une manière ou d'une autre d'intégrer le compteur de gaz numérique gallus dans le circuit pour notifier un dépôt en cours.
Enfin, quelques graphiques:



