Hausautomation mit ioBroker

Published on July 22, 2016

Hausautomation mit ioBroker

    Wenn nun fast täglich neue Hardwarekomponenten für die Steuerung von Glühbirnen, Klimaanlagen und anderen Haushaltsgeräten auftauchen, ist die Frage der Verbindung dieses ganzen Reichtums in ein Netzwerk sehr akut.
    Aber die Welt schläft zum Glück nicht und befasst sich fleißig mit diesem Problem. Es gibt kostenlose Lösungen von anständiger Qualität und bezahlt (keine Tatsache, dass gute Qualität).
    Wie die Welt kann ich auch nicht schlafen, und ich mag die ganze Welt seit vielen Jahren in Folge und die letzten drei Jahre, besonders hart, mit der Integration aller Arten von Geräten in ein intelligentes Zuhause.

    In diesem Artikel möchte ich die Automatisierung des Hauses hervorheben und erläutern, wie mit Hilfe des Open Source-Projekts (und nicht nur) mein gemütliches Zuhause beleuchtet wird. Oh ja, ich habe fast vergessen zu sagen, dass die gesamte Automatisierung mit JavaScript geschieht!

    Für alle Liebhaber von JS bitte unter die Katze


    Zunächst ein wenig trockene Theorie und Demagogie zum Thema Smart Home.
    Jeder versteht diesen Begriff als etwas anderes. Jemand macht das Licht im Bad mit einem Bewegungssensor an und hält das Haus für schlau, aber für jemanden ist das Haus von IronMan (JARVIS) nicht schlau genug, weil dieses Haus schließlich in Stücke gerissen wurde, was nicht der Fall war sich vor einigen Leuten auf Hubschraubern schützen können .
    Aber Spaß beiseite - alle diese Leute haben recht. Allein der "Verstand" zu Hause ist anders, wie der IQ beim Menschen. Es gibt kleine "Kinder", die eine Glühbirne einschalten können, aber es gibt Absolventen der Universität, "Akademiker", die das Licht nicht nur einschalten, sondern auch ausschalten können.

    Im Haus können Sie verschiedene Bereiche der Automatisierung isolieren:
    - Meistens ist es Licht
    - dann Heizung
    - MONITORING Umwelt: 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
    - Meldung

    Liste Sie können fortfahren, aber ich möchte mich auf die am häufigsten verwendeten Richtungen konzentrieren. Für jeden Automatisierungsbereich gibt es ein eigenes Gerätesystem mit jeweils eigenen Protokollen, Anwendungen und Steuerungsmethoden. Derzeit gibt es keineein Hersteller, der Geräte in allen Bereichen der Automatisierung bereitstellen kann. Es gibt jedoch einige, die besonders weit fortgeschritten sind: Samsung, Google, Apple.
    Gleichzeitig erfindet jeder Hersteller notwendigerweise sein eigenes Fahrrad mit Interaktionsprotokollen, und niemand möchte dem anderen nachgeben. Obwohl das Interaktionsprotokoll von Google Weave am durchdachtesten scheint.

    Es gibt auch Versuche, ein Protokoll unabhängig vom Hersteller zu erstellen. In dieser Richtung hat sich IBM am weitesten von MQTT entfernt. Leider gibt es keinen standardisierten Kanal, um Beschreibungen zu Geräten wie Maßeinheiten, Standort / Raum, Funktionsgruppe (Jalousien oder Lichter) und andere Metainformationen zu erhalten.

    Und was meine ich mit Smart Home oder wie wurde es oben gesagt, welcher Automatisierungsgrad passt zu mir?
    Ich experimentierte viel und kam zu dem Schluss, dass all diese Steuerelemente vom Telefon, der Sprachsteuerung oder der Temperaturdarstellung nur Spielzeug sind.

    Dieses Smart Home sollte unsichtbar sein. Es sollte nur auffallen, wenn das Smart Home nicht mehr funktioniert.

    Ein Smart Home sollte die Menschen durch Sensoren überwachen und den Lebensraum für sie anpassen (nein, diese Informationen sollten natürlich nicht an Google gesendet werden). Um die Temperatur zu regulieren und somit Wärme beim Heizen zu sparen; schalten Sie ein, wenn eine Person den Raum betritt, die Hintergrundbeleuchtung, ohne sie zu blenden oder die Jalousien an den Fenstern zu verdecken, wenn das Fernsehgerät eingeschaltet ist und das Fenster das Bild blendet. Skripte - eine unendliche Zahl. Insbesondere intelligente Häuser sollten selbst die Abläufe und Abhängigkeiten von Ereignissen erkennen und neue Regeln für die Automatisierung vorschlagen.

    Ich weiß was ich sage. Ich legte ein Tablet in der Nähe der Haustür auf, realisierte die Sprachsteuerung und baute alle möglichen und unmöglichen Grafiken auf, und ich kann die Wohnungstür mit dem Telefon öffnen. Dies ist jedoch alles, um den Gästen einmal zu zeigen, was mein intelligentes Haus ist, und als Antwort darauf "Wow" zu hören . Meine Familie und ich benutzen es fast nie.

    Nein, es ist natürlich wichtig, sich manchmal den Status der Sensoren im Haus am Telefon anzusehen, während Sie im Mittelmeer schwimmen, oder eine Benachrichtigung mit einem Foto zu erhalten, dass jemand in das Haus gekommen ist, obwohl er nicht die Tür zum Postboten öffnen und diese verfolgen sollte das halbe Haus hätte er nicht mitgenommen. Und am Ende ist es nicht das letzte Argument, von Freunden das gleiche „Wow“ zu hören. :) Das sollte alles sein, zumindest um zu verstehen, dass es eigentlich nicht so wichtig ist :)

    Es ist am besten, die Wohnung zu automatisieren, in der der Junggeselle lebt, der jeden Tag zur gleichen Zeit zur Arbeit geht und eine konstante Anzahl von Feiertagen und Wochenenden hat (Russland fällt leider nicht unter dieses Kriterium. Einige Neujahrsferien im Mai sind es wert :)).

    Dann kommt eine kinderlose junge Familie mit einer gemäßigten Liebe zur Technologie. Es ist wichtig, dass jeder von ihnen vom Mobiltelefon getrennt ist.

    Der schwierigste Fall ist eine Familie mit Kindern (je größer, desto schwieriger). Kinder können einfach nicht automatisiert werden. „Nun, und dieser Vater, ich habe das Telefon vergessen. 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 lassen Sie uns zurückkommen, wie Sie alles zu Hause erledigen und Ihren Lebensraum komfortabler gestalten können.

    Was ist ioBroker?
    Es ist eine Integrationsplattform für das Internet der Dinge und dient als zentraler Server für:
    • intelligentes Zuhause
    • Gebäudeautomation
    • betreutes Wohnen

    * Ich bin übrigens dankbar für die Übersetzung des letzten Begriffs.

    ioBroker ist ein System, mit dem alle Salatprotokolle und -geräte untereinander verbunden werden können.

    Einige Baufirmen entschieden sich für den Bau von Smart Housing in Hamburg. Sie sammelten alle möglichen Geräte in einer Wohnung und boten an, für diesen Zoo acht Telefonanwendungen (übrigens nur Apple) zu verwalten. Hier sollte ich wohl schreiben: Sie können sich vorstellen, acht Bewerbungen, Karl!
    Mit ioBroker wäre das nicht nötig.

    ioBroker ist sehr modular aufgebaut. Jedes Modul wird in einem separaten Prozess ausgeführt. Wenn es herunterfällt, wird es einfach neu gestartet und das gesamte System funktioniert weiter.

    Der Unterschied zwischen ioBroker und anderen Automatisierungssystemen besteht im Webvisualisierungsmodul im Browser - vis. Die Hälfte der Zeit, die für die Entwicklung des gesamten ioBroker benötigt wurde, wurde für seine Entwicklung aufgewendet.



    Ein weiterer Vorteil von ioBroker ist die große Anzahl verfügbarer npm-Pakete - 286.000.

    * Informationen von http://www.modulecounts.com/ .

    Natürlich ist die Qualität der Verpackungen nicht immer auf dem neuesten Stand, aber in der Regel gibt es für das gleiche Problem mehrere unterschiedliche Verpackungen, und die Quantität entwickelt sich in diesem Fall in Qualität. Sie müssen nur das gewünschte Paket auswählen. Die Verbindung neuer Protokolle ist daher nur eine Frage der Technik.
    So habe ich die Verbindung OPC UA, Sonos, MQTT, Telegramm, Pushover, Homematic, Z-Wave, Simatic und eine Vielzahl anderer Systeme implementiert.

    Dabei wird großer Wert auf die Möglichkeit der komfortablen Konfiguration und Konfiguration gelegt, was im Gegensatz zu FHEM und beispielsweise OpenHAB, wo Einstellungen über Konfigurationsdateien vorgenommen werden, den größten Teil der Zeit beansprucht.

    Open Source-Alternativen.

    - OpenHAB ist eine beliebte Java-Automatisierungsplattform. Im Moment gibt es bis zu 160 Treiber oder Module.

    - FHEM ist ein gewöhnliches Perl-Automatisierungssystem mit einer großen Anzahl von Treibern - 340. Das lässt nur die Konfiguration des Systems zu wünschen übrig, und das Fehlen eines standardisierten Metamodells erschwert die Erweiterung des Systems.

    - MajorDomo ist eine recht ausgereifte PHP-Automatisierungsplattform. Hier finden Sie viele Artikel zu diesem System zu Geektimes .

    - Domoticz - ein in C / C ++ geschriebenes System mit einer sehr anständigen grafischen Benutzeroberfläche. Aber aufgrund der Tatsache, dass C / C ++ schwer zu schreiben ist, dann mit einer begrenzten Anzahl von Treibern / Modulen.

    Im Allgemeinen kann eine Menge interessanter Automatisierungssysteme zu Hause gefunden werden hier . Grundsätzlich erfolgt die Trennung der Systeme nach Programmiersprachen (Java, C / C ++, Python, Javascript, PHP, ...) und nach Hardware (Vera, Raspberry PI, Synology, Mediola, ...). Sie alle verdienen das Recht zu existieren, obwohl einige mehr und einige weniger sein können.

    Momentan ist das technische Wissen der Anwender, die das Automatisierungssystem implementieren, recht hoch, und sie verlieren nicht die Worte: Linux, Console, apt-get. Aber als die Frage im Forum auftauchte: „Ich habe das System installiert, aber ich kann den Home-Ordner nicht in den ioBroker-Ordner ändern. Hilfe! Es war eine Glocke, die die Nicht-Informatik einholte und dass einfache Computerbenutzer das System verwenden konnten.

    Alle Konfigurationsoberflächen wurden mit Ausnahme von deutschen Treibern in drei Sprachen übersetzt. Warum sollte ein russischsprachiger Benutzer einen Fahrer haben, der Daten zu Benzinpreisen in Deutschland liefert, oder Warnungen des deutschen Wetterdienstes bei schlechtem Wetter?
    Auch für den russischsprachigen Markt gab es keine Fahrer, beispielsweise den Starline-Fahrzeugalarmtreiber.

    Die Dokumentation ist auch so viel wie möglich in 3 Sprachen verfasst, aber es bleibt noch viel zu tun. Obwohl es im letzten Monat viele gute Beschreibungen gegeben hat.

    JavaScript wird zum Schreiben der Schnittstelle, des Dienstes und der Skripts verwendet. Eine der weit verbreiteten und beliebten Programmiersprachen. Jetzt gewinnt Python an Popularität, aber Sie können keine grafische Shell für einen Browser auf Python schreiben. (Ja, ich weiß über die Existenz von py2js Bescheid , habe aber bisher noch nichts Wertvolles gesehen)

    .
    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, irgendetwas zu schreiben. Nun kann ich sagen, dass hinter jeder Open Source eine (manchmal in großen Projekten gibt es eine Gruppe von Leuten) und dass nur ein Prozent der Benutzer aus der Community aktiv ist. Allein bei großen Projekten beträgt die Anzahl der Nutzer Millionen und ein Prozent einer Million Zehntausend Menschen. Aber die kleineren 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, wird größer.

    Möglichkeiten
    Ich kann sagen, dass die Möglichkeiten endlos sind. Multiplizieren Sie die Anzahl der npm-Pakete mit der Menge an Eisen, und Sie erhalten eine Million Möglichkeiten, um die Glühbirne einzuschalten:
    - über Telegramm
    - per Voice-
    Rest-API
    - Web-Visualisierung
    - Android-Anwendung
    - Schnittstelle für Telefone und Tablets (Mobilgeräte)
    - 340 Treiber von FHEM
    - MQTT

    Ja, und das Projekt entwickelt sich gerade und wächst in 3 Sprachen.

    Für Interessenten - Google zu helfen. Und von nun an möchte ich nicht beschreiben, wie das Universum funktioniert, sondern wie die Kommunikation zwischen dem Modbus-Gerät und dem Kernkraftwerk erfolgt.