Heimautomation mit ioBroker
Wenn nun fast täglich neue Steuerelemente für Glühbirnen, Klimaanlagen und andere Haushaltsgegenstände auftauchen, ist die Frage, all diesen Reichtum in einem Netzwerk zusammenzufassen, sehr akut.Aber die Welt schläft glücklicherweise nicht und beschäftigt sich fleißig mit diesem Problem. Es gibt sowohl kostenlose Lösungen von anständiger Qualität als auch bezahlte (nicht die Tatsache, dass gute Qualität).Wie die Welt kann ich auch nicht schlafen, und ich bin wie die ganze Welt seit vielen Jahren hintereinander und habe in den letzten drei Jahren besonders hart daran gearbeitet, alle Arten von Geräten in ein Smart Home zu integrieren.In diesem Artikel möchte ich die Heimautomation und die Verwendung Ihres Open Source-Projekts zur Beleuchtung (und nicht nur) Ihres komfortablen Zuhauses behandeln. Oh ja, ich hätte fast vergessen zu sagen, dass die gesamte Automatisierung in JavaScript erfolgt!
Für alle JS-Liebhaber bitte ich um einen SchnittFür den Anfang ein wenig trockene Theorie und Demagogie zum Thema Smart Home.Jeder versteht diesen Begriff als etwas anderes. Jemand macht das Licht im Badezimmer mit einem Bewegungssensor an und hält das Haus für schon schlau, aber für jemanden ist das Haus von IronMan (JARVIS) nicht schlau genug, weil dieses Haus endgültig auseinandergerissen wurde, was bedeutet, dass es nicht so ist Ich könnte mich vor einigen Leuten mit Hubschraubern schützen .Aber Witze beiseite - all diese Leute haben Recht. Es ist nur so, dass das Niveau der „Intelligenz“ zu Hause auch anders ist, wie der IQ bei Menschen. Es gibt kleine „Kinder“, die wissen, wie man die Glühbirne einschaltet, und es gibt „Akademiker“, die die Universität abgeschlossen haben und das Licht nicht nur einschalten, sondern auch ausschalten können :)Im Haus können verschiedene Bereiche der Automatisierung unterschieden werden:- Meistens ist es Licht- dann Heizung- Umweltüberwachung: Innen- und Außentemperatur, Luftfeuchtigkeit- Sicherheit- Medien (TV, Musik)- Rollenfensterläden, Fenster, Türen, Dächer- Lüftungs- und Klimaanlage- steuert den Rest der Haushaltsgeräte- Protokollierung und Grafiken- MeldungListe Sie können fortfahren, aber ich möchte auf die am häufigsten verwendeten Richtungen eingehen. Jedes Automatisierungsfeld verfügt über ein eigenes Gerätesystem mit jeweils eigenen Protokollen, Anwendungen und Steuerungsmethoden. Es gibt derzeit keineEin Hersteller, der Geräte in allen Bereichen der Automatisierung bereitstellen kann. Aber es gibt einige, die besonders weit gekommen sind: Samsung, Google, Apple.Gleichzeitig erfindet jeder Hersteller sein eigenes Fahrrad mit Interaktionsprotokollen, und niemand möchte dem anderen nachgeben. Obwohl das Interaktionsprotokoll von Google Weave am meisten durchdacht scheint.Es gibt auch Versuche, ein vom Hersteller unabhängiges Protokoll zu erstellen. In dieser Richtung ist IBM mit MQTT am weitesten fortgeschritten. Leider gibt es keinen standardisierten Kanal zum Empfangen von Beschreibungen zu Geräten wie Einheiten, Standort / Raum, Funktionsgruppe (Jalousien oder Lichter) und anderen Metainformationen.Und was meine ich mit einem Smart Home oder, wie oben erwähnt, welcher Automatisierungsgrad passt zu mir?Ich habe viel experimentiert und bin zu dem Schluss gekommen, dass all diese Steuerelemente vom Telefon, der Sprachsteuerung oder der Temperaturgrafik nur Spielzeug sind.Ein echtes Smart Home sollte unauffällig sein. Es sollte nur dann auffallen, wenn das Smart Home nicht mehr funktioniert.Ein Smart Home sollte Menschen über Sensoren überwachen und die Umgebung für sie anpassen (nein, diese Informationen sollten natürlich nicht an Google gesendet werden). Passen Sie die Temperatur an und sparen Sie dabei Wärme beim Heizen. Schalten Sie ein, wenn eine Person den Raum betritt, die Hintergrundbeleuchtung, ohne sie zu blenden oder die Jalousien an den Fenstern abzudecken, wenn der Fernseher eingeschaltet ist und das Fenster das Bild blendet. Die Szenarien sind endlos. Besonders intelligente Haushalte sollten selbst die Abläufe und Abhängigkeiten von Ereignissen erkennen und neue Automatisierungsregeln anbieten.Ich weiß was ich sage. Ich habe ein Tablet in der Nähe der Haustür aufgehängt und die Sprachsteuerung implementiert und alle möglichen und unmöglichen Zeitpläne erstellt. Ich kann die Wohnungstür mit einem Telefon öffnen, aber dies ist alles, um meinen Gästen einmal zu zeigen, welche Art von Smart Home ich hören und "Wow" sagen werde. . Meine Familie und ich benutzen es fast nie.Nein, das ist natürlich wichtig. Sehen Sie sich manchmal den Zustand der Sensoren im Haus telefonisch an, während Sie im Mittelmeer segeln, oder erhalten Sie eine Benachrichtigung mit einem Foto, dass jemand das Haus betreten hat, obwohl er es nicht sollte. Öffnen Sie die Tür zum Postboten und sehen Sie, was er würde kein halbes Haus mit ihm ertragen. Und am Ende ist es auch nicht das letzte Argument, von Ihren Freunden dasselbe „Wow“ zu hören. :) All dies sollte sein, wenn auch nur um zu verstehen, dass dies eigentlich nicht so wichtig ist :)Automatisierung ist am besten für eine Wohnung geeignet, in der ein technikbegeisterter Junggeselle lebt, jeden Tag zur gleichen Zeit arbeitet und eine konstante Anzahl von Feiertagen und Wochenenden hat (Russland fällt leider nicht unter dieses Kriterium. Was Neujahrsferien im Mai kosten :)).Dann kommt eine kinderlose junge Familie mit einer moderaten Liebe zur Technologie. Es ist wichtig, dass sich nicht jeder von ihnen von einem Handy trennt.Der schwierigste Fall ist eine Familie mit Kindern (je größer desto schwieriger). Kinder können einfach nicht automatisiert werden. „Also, was für ein Vater, dass ich (a) das Telefon vergessen habe. Ich brauche ihn nicht im Hof. " Alle Skripte zum Erkennen von Personen im Raum und die darauf basierenden Regeln zum Einschalten des Alarms sind nutzlos. (Mein Fall)Aber kehren wir trotzdem zu dem zurück, wie wir das alles zu Hause machen und unseren Wohnraum komfortabler gestalten können.Was ist ioBroker?Es ist eine Integrationsplattform für das Internet der Dinge und dient als zentraler Server für:- Smart Home
- Gebäudeautomation
- betreutes Wohnen
* Ich werde übrigens für die Übersetzung des letzten Semesters dankbar sein.ioBroker ist ein System, das den gesamten Salat von Protokollen und Geräten miteinander verbinden kann.Einige Baufirmen beschlossen, in Hamburg intelligente Wohnungen zu bauen, sammelten alle möglichen Geräte in einer Wohnung und boten acht Telefonanwendungen (übrigens nur Apfel) an, um diesen ganzen Zoo zu verwalten. Hier muss ich wahrscheinlich schreiben: Sie können sich acht Bewerbungen vorstellen, Carl!Mit ioBroker wäre dies nicht notwendig.ioBroker ist sehr modular aufgebaut. Jedes Modul wird in einem separaten Prozess ausgeführt. Wenn es abstürzt, wird es einfach neu gestartet und das gesamte System funktioniert weiter.Der Unterschied zwischen ioBroker und anderen Automatisierungssystemen ist das Webvisualisierungsmodul im Browser - vis. Die Hälfte der für die Entwicklung des gesamten ioBroker erforderlichen Zeit wurde für dessen Entwicklung aufgewendet.
Der Vorteil von ioBroker liegt auch in der großen Anzahl verfügbarer npm-Pakete - 286000.
* Informationen von http://www.modulecounts.com/ .Natürlich steht die Qualität der Verpackungen nicht immer im Vordergrund, aber in der Regel gibt es für dasselbe Problem mehrere unterschiedliche Verpackungen, und die Quantität entwickelt sich in diesem Fall zur Qualität. Sie müssen nur das richtige Paket auswählen. Die Verbindung neuer Protokolle ist daher nur eine Frage der Technologie.Auf diese Weise implementierte ich die Verbindung von OPC UA, Sonos, MQTT, Telegramm, Pushover, Homematik, Z-Wave, Simatic und vielen weiteren Systemen.
Im Gegensatz zu FHEM und beispielsweise OpenHAB, wo Einstellungen über Konfigurationsdateien vorgenommen werden, wird großer Wert auf die bequeme Konfiguration und Konfiguration gelegt. Dies verschlingt den Löwenanteil der Zeit.Open Source Alternativen.
- OpenHAB ist eine beliebte Java-Automatisierungsplattform. Derzeit gibt es bis zu 160 Treiber oder Module.
- FHEM ist ein weit verbreitetes Automatisierungssystem in Perl in Deutschland mit einer großen Anzahl von Treibern - 340. Das System-Setup ist jedoch schlecht und das Fehlen eines standardisierten Metamodells erschwert die Erweiterung des Systems.
- MajorDomo ist eine ziemlich ausgereifte Automatisierungsplattform in PHP. Viele Artikel zu diesem System finden Sie hier bei geektimes .
- Domoticz - ein in C / C ++ geschriebenes System mit einer sehr anständigen grafischen Oberfläche. Aufgrund der Tatsache, dass es schwierig ist, C / C ++ schnell zu schreiben, dann mit einem begrenzten Satz von Treibern / Modulen.Generell finden Sie hier viele interessante Hausautomationssysteme . Grundsätzlich werden Systeme durch Programmiersprachen (Java, C / C ++, Python, Javascript, PHP, ...) und Hardware (Vera, Raspberry PI, Synology, Mediola, ...) getrennt. Sie alle verdienen das Existenzrecht, obwohl einige mehr und andere weniger sein können.Im Moment ist das technische Wissen der Leute, die das Automatisierungssystem implementieren, ziemlich hoch und sie werden nicht ohnmächtig von den Worten: Linux, Konsole, apt-get. Als jedoch im Forum die Frage auftauchte: "Ich habe das System installiert, kann den Basisordner jedoch nicht in den ioBroker-Ordner ändern." Hilfe! " Es war eine Glocke, dass die Informatik aufholte und einfache Computerbenutzer das System nutzen konnten.Alle Einstellungsoberflächen sind mit Ausnahme der deutschspezifischen Treiber in 3 Sprachen übersetzt. Warum braucht ein russischsprachiger Benutzer einen Fahrer, der Daten zu den Benzinpreisen in Deutschland oder Wetterwarnungen des deutschen Wetterdienstes liefert?Auch Fahrer für einen rein russischsprachigen Markt wie einen Starline-Autoalarmfahrer blieben ohne Übersetzung.Die Dokumentation wird nach bestem Wissen und Gewissen in drei Sprachen verfasst, es gibt jedoch noch viel Arbeit. Obwohl es im letzten Monat viele gute Beschreibungen gegeben hat.JavaScript wird zum Schreiben der Schnittstelle, des Dienstes und der Skripte verwendet. Eine der weit verbreiteten und beliebten Programmiersprachen. Jetzt wird Python immer beliebter, aber Sie können keine grafische Shell für einen Browser auf Python schreiben. (Ja, ich weiß über die Existenz von py2js Bescheid , aber ich habe noch nichts Wertvolles gesehen.)Ein wenig über Open Source-Projekte.Als Person, die an einem Open Source-Projekt teilnimmt, kann ich sagen: Früher dachte ich, dass Open Source-Projekte von Tausenden von Menschen aus der ganzen Welt geschrieben werden und dass es für sie einfach ist, etwas zu schreiben. Jetzt kann ich sagen, dass hinter jeder Open Source eine steht (manchmal in besonders großen Projekten - eine Gruppe von Menschen) und dass nur ein Prozent der Benutzer aus der Community aktiv sind. Es ist nur so, dass große Projekte Millionen von Benutzern haben und ein Prozent einer Million zehntausend Menschen sind. Aber kleinere Projekte haben Dutzende oder Einheiten von Einzelpersonen. Ich kann auch sagen, dass ein interessierter Benutzer mehr als zehn uninteressierte Programmierer ausführen kann, und es ist wichtig, einfach viele Benutzer zu gewinnen, und die Wahrscheinlichkeit, dass eine Person einen signifikanten Beitrag leisten kann, steigt.Die MöglichkeitenIch kann sagen, dass die Möglichkeiten ... endlos sind. Multiplizieren Sie die Anzahl der npm-Pakete mit der Eisenmenge und Sie erhalten eine Million Möglichkeiten, die Glühbirne einzuschalten:- per Telegramm- per Voice-Rest-API- Webvisualisierung- Android-Anwendung- Schnittstelle für Telefone und Tablets (mobil)- 340 Treiber von FHEM- MQTTJa, und das Projekt entwickelt sich aktiv und wächst in 3 Sprachen.Für Interessierte - Google hilft. Und von nun an werde ich versuchen zu beschreiben, wie das Universum nicht funktioniert, sondern wie die Kommunikation zwischen dem Modbus-Gerät und dem Kernkraftwerk stattfindet. Source: https://habr.com/ru/post/de394961/
All Articles