Smart Home: Eine neue Dimension des Komforts und das Streben nach Spitzenleistungen. Teil eins

Dieser Artikel ist eine logische Fortsetzung des zuvor angesprochenen Themas der Überwachungssysteme eines Landhauses. Für jemanden, der den vorherigen Artikel nicht gelesen hat, mögen einige Gedanken in diesem Artikel seltsam erscheinen. Ich möchte Sie daran erinnern: Bereits bei der Planung und Auswahl der Grundkomponenten wurde klar, dass die Überwachung der Arbeit der Systeme eines Landhauses nicht enden wird und dass Sie nicht nur die Überwachung, sondern die Grundlage eines intelligenten Hauses benötigen. Nun wollen wir sehen, wie sich die Ereignisse entwickelt haben. Nach wie vor werde ich keine vollständigen Programmlisten oder detaillierten Diagramme geben. Meine Aufgabe ist es, den Gedankengang zu zeigen und möglicherweise eine Diskussion einzuleiten.



Was möchten Sie von einem Smart Home?


Zuerst müssen Sie verstehen, aber was in einem Smart Home eigentlich schlau sein sollte. Hier geht es nicht um kanonische Definitionen, sondern darum, was Ihnen in den Sinn kommt, wenn Sie über so leistungsstarke Tools verfügen, wie im vorherigen Artikel beschrieben: openHAB + Arduino / nFR24L01 +. Ich habe die folgende Liste der primären "Wunschliste" erhalten:

  1. Lernen Sie, die Leistung des Elektrokessels abhängig von der Temperatur im Haus und auf der Straße zu steuern, und noch besser unter Berücksichtigung der Wettervorhersage. Zuvor wurde die Kesselleistung nur durch mechanische Schalter am Kessel selbst eingestellt, und der Betrieb des Kessels war sowohl hinsichtlich der Netzlast als auch hinsichtlich der Energieeinsparungen durch die Sonne nicht optimal ( siehe hier ).
  2. Um manuelle Manipulationen an / aus Pumpen (Wasserversorgung, Warmwasserumwälzung), beheizten Handtuchhaltern, Kühlerthermostaten usw. auszuschließen. bei Ankunft / Abreise. Nun, und natürlich sehen Sie den Status dieser Geräte.
  3. Lernen Sie, das Licht, den Springbrunnen und andere Geräte ein- und auszuschalten, abhängig von der Tages- und Jahreszeit, der Anwesenheit der Eigentümer im Haus und einigen anderen Faktoren. In einer allgemeineren Formulierung - um die Steuerung der Geräte zu algorithmisieren und zu automatisieren, deren Steuerung Routine ist, um das monotone Klicken herkömmlicher Schalter, insbesondere im Dunkeln, auszuschließen. Alles sollte sich automatisch ein- und ausschalten.
  4. Verwenden Sie energiesparende Algorithmen. Zum Beispiel ermöglicht die erste Stufe des Kessels, die über einen längeren Zeitraum eingeschaltet wurde, mehr Energie von der Sonne zu erhalten als 2-3 Stufen, die regelmäßig durch die Temperatur der Rücklaufleitung ein- und ausgeschaltet werden. Das heißt, Durch eine nachdenklichere Belastung können Sie Energie sparen.
  5. Das zu diesem Zeitpunkt geborene Überwachungs- und Kontrollsystem reichte aus, um nur einen Teil dieser Anforderungen umzusetzen. Zum Beispiel ist es bereits möglich, den Kessel schrittweise zu steuern, aber es ist noch nicht klar, durch welche Algorithmen unter Berücksichtigung der Einschränkungen des Stromverbrauchs und unter Berücksichtigung der Prioritäten für die Beheizung eines Hauses und die Aufbereitung von Warmwasser. Darüber hinaus enthielt die erste Version des Systems nicht alle erforderlichen Aktuatoren, zum Beispiel gab es keine Pumpensteuergeräte, nicht alle Lichter im Haus waren automatisiert. Es gab zusätzliche spezifische Anfragen, zum Beispiel "um das Bild hervorzuheben". Darüber hinaus wurde diese Anforderung selbst in "automatisches Ein- und Ausschalten der Hintergrundbeleuchtung des Bildes in Abhängigkeit von Tageszeit, Beleuchtung und anderen Faktoren" umgewandelt.

Insgesamt: Es gibt eine erweiterbare Grundlage, es gibt Ziele. Wir analysieren, welche Daten fehlen. Erstens gibt es nicht genügend elektrische Parameter, zumindest die folgenden: den Stromverbrauch des Hauses, den von der Sonne empfangenen Strom. Zweitens gibt es nicht genug Wettervorhersage. Außerdem gibt es nicht genügend kompakte Aktuatoren. Ich stelle fest, dass die im vorherigen Artikel beschriebenen Terminal-Controller mit Aktuatoren (Relais) alle multifunktional und nicht sehr kompakt waren. Und außerdem hausgemacht. Einige Geräte führen beispielsweise thermostatgesteuerte Köpfe an Heizkörpern selbst aus. Es macht überhaupt keinen Sinn, sie müssen gekauft werden.

Stromparameter empfangen


Wir beginnen also mit den elektrischen Parametern. Das erste, was mir in den Sinn kommt, ist, Stromsensoren basierend auf dem Hall-Effekt zu platzieren. Ein 220-V-Sensor ist bereits vorhanden. Er muss die Spannung an den Panels und Batterien messen. Alles kann auf separaten Sensoren durchgeführt werden. Alle diese Messungen werden jedoch bereits von einem Kraftwerk durchgeführt, das auf dem Xantrex- Wechselrichter und dem MPPT-Controller basiert. Wie wir uns erinnern, werden diese Geräte zu einem proprietären Xanbus-Bus kombiniert, der einen Transport für die Geräteinteraktion über das Modbus-Protokoll darstellt. Und für sie gibt es ein spezielles TCP-Modbus-Gateway Conext ComBox , mit dem Sie Systemparameter in einem lokalen Netzwerk lesen und einstellen können. Das ist genau das, was Sie brauchen! Für openHAB gibt es wiederum einen speziellen verbindlichen TCP-Modbus, der noch verbunden und konfiguriert werden muss. Das Gateway wurde also gekauft, die Dokumentation wurde untersucht, die Bindung an openHAB wurde verbunden und konfiguriert, Elemente werden definiert, die Grundregeln werden geschrieben. Infolgedessen kamen die folgenden Parameter zum Smart Home: Spannung am Netzwerk- und Generatoreingang, Spannung am Wechselrichterausgang, Laststrom, Lastleistung in W und VA, Spannung an Solarmodulen und Batterien, Ströme am Ein- und Ausgang des MPPT-Controllers, Strom die Batterieladung, die von der gegebenen Sonnenenergie empfangene Energie, die dem System zugeführte Menge an gesammelter Sonnenenergie, die an das Netzwerk zurückgegeben wird. Sogar die Temperatur der Batterien wird abgelesen, sobald dies dazu beigetragen hat, eine Überhitzung zu vermeiden.

Beteiligung an der Entwicklung von openHAB
Während des Debuggens wurden Fehler in der Funktion des TCP-Modbus-Gateways festgestellt. Über das Forum ging openHAB unter anderem an den Entwickler. Infolgedessen wurde die Bindung in mehreren Iterationen abgeschlossen und funktioniert seit mehr als zwei Jahren.


TCP-Modbus-Gateway zum Lesen der Parameter von Shneider Electric (Xantrex) -Geräten, die an das Xanbus-Netzwerk angeschlossen sind.

Wettervorhersage erhalten


Weiter. Sie können eine Wettervorhersage auf verschiedene Arten erhalten, z. B. bei einem Anbieter anmelden. Es gibt jedoch einen offensichtlicheren Weg: Prognosedaten direkt von der Wetterseite abzurufen, z. B. yandex.ru/pogoda. Zu diesem Zweck habe ich in C ein Dienstprogramm geschrieben, das mithilfe der Curl- Bibliothek die HTML-Seite in einer Datei speichert. Bei einer HTTP-Anfrage sendet das Dienstprogramm der Site die Koordinaten des Hauses. Die resultierende Datei wird analysiert und mit Dutzenden von Parametern daraus extrahiert: Temperatur, Sonnenauf- und -untergangszeiten, Nachttemperaturvorhersage, Windrichtung und -stärke. Smart-Home-Algorithmen verwenden die Vorhersage der Nachttemperatur und der Sonnenuntergangszeit. Die restlichen Daten werden nur informativ in der Schnittstelle angezeigt. In openHAB werden Daten von demselben Dienstprogramm über die praktische REST-API übertragen, die von openHAB unterstützt wird. Das C-Dienstprogramm selbst wird wiederum alle 4 Stunden mit den regulären Tools von openHAB gestartet. Somit ist alles recht einfach und die Hauptschwierigkeit besteht in der Entwicklung eines Algorithmus zum Parsen einer gespeicherten HTML-Seite. Aber in meinem Artikel geht es nicht darum.

In der Abbildung - der Bildschirm eines intelligenten Hauses mit Wetterdaten, die aus den Koordinaten des Hauses von yandex.ru/pogoda stammen

Automatisieren Sie die routinemäßige Geräteverwaltung


Gerade als ich an einer Wettervorhersage arbeitete, überreichte mir ein Freund WiFi-gesteuerte Relais und ein ganzes elektrisches Verlängerungskabel mit drei Relais und drei Paar USR IOT- Buchsen. Zu diesem Zeitpunkt hatte ich openHAB bereits ein wenig gemeistert und mit einiger Aufregung begann ich, neue Geräte zu entwickeln und sie in das Smart Home zu integrieren. Das Relais wurde zur Steuerung der Bohrlochpumpe definiert, und das Verlängerungskabel befand sich in der Scheune und wurde zur Steuerung der Teichbeleuchtung, des Springbrunnens und des Lichts in der Scheune verwendet. Für USR-Geräte fand IOT im Netzwerk eine Dokumentation, in der das Steuerprotokoll beschrieben wurde. Ich musste jedoch den Netzwerkverkehr mithilfe von Wireshark abhören. Als Ergebnis habe ich gelernt, Steuerbefehle zu generieren und Antworten von Geräten zu analysieren. Um das Relais zu steuern, habe ich ein Programm in C geschrieben, das von einer Regel von openHAB aufgerufen wird, und das Verlängerungskabel direkt über die TCP-Bindung openHAB angeschlossen. Auf dem Foto rechts ein USRIOT-Verlängerungskabel mit WiFi-gesteuerten Steckdosen.

Es bleibt, die Regeln zu schreiben:

  1. Schalten Sie die Bohrlochpumpe ein. Schalten Sie beim Deaktivieren des Hauses die Pumpe ein und beim Aktivieren die Pumpe aus. Es ist einfach, weil der Schutzzustand, den das System in der Phase der "Überwachung" aus dem Alarm abgelesen hat. Und dieser Parameter wird in vielen Regeln weiter verwendet. Zu diesem Zweck wird die Erkennung der Anwesenheit im Haus häufig verwendet, beispielsweise über Bluetooth-Tags, durch Registrieren eines Mobilgeräts in einem lokalen Netzwerk usw. Diese Verfahren sind jedoch nicht sehr stabil und für die Verwendung in ernsthaften Regeln unerwünscht.
  2. Schalten Sie den Brunnen im Teich ein. Früher benutzte ich elektronische Timer, aber sie brannten regelmäßig aus und wussten nichts über die Anwesenheit des Besitzers im Haus. Jetzt hat eine "neue Ära" der Automatisierung begonnen. Der Brunnen schaltet sich ein, wenn das Haus entwaffnet ist, wenn die Temperatur auf der Straße (wir haben in der Überwachungsphase das Messen gelernt) mindestens 5 Grad beträgt (der Brunnen wird im Winter nicht benötigt) und die Zeit 08:00 Uhr ist. Der Brunnen schaltet sich immer um 23:00 Uhr aus. Das heißt, Die Regel ist etwas "asymmetrisch" und sehr praktisch.
  3. Teichbeleuchtung an. Ich muss sagen, dass die Hintergrundbeleuchtung selbst aufgrund des Wunsches erschien, sie automatisch einzuschalten. Die Hintergrundbeleuchtung wird eingeschaltet, wenn das Haus deaktiviert ist, wenn die Beleuchtung auf der Straße niedriger als der in den Einstellungen angegebene Parameter ist und wenn Sie sich auf der Veranda des Haupt- oder Gästehauses bewegen. Das heißt, wird nicht aufleuchten, bevor der Besitzer sie sehen will. Alle Parameter für die Steuerung wurden in der Überwachungsphase angezeigt. Schaltet sich immer um 01:00 Uhr aus.
  4. Das Licht in der Scheune einschalten. Dies ist die lustigste Regel. Das Licht geht an, wenn das Haus entwaffnet ist, wenn der Beleuchtungsgrad unter einem vorgegebenen Schwellenwert liegt, wenn die Lufttemperatur unter 15 Grad liegt und wenn eine Bewegung auf der Veranda festgestellt wird. Es schaltet sich nach 5 Minuten aus, bei wiederholter Bewegung auf der Veranda verlängert sich die Brenndauer um 5 Minuten. Alles wird nur von regulären openHAB-Tools implementiert. Die Frage ist: Warum wird in der Regel die Temperatur verwendet? Ganz einfach: Brennholz für den Kamin wird in der Scheune gelagert. Wenn ich abends bei kaltem Wetter auf die Veranda ging, dann wahrscheinlich hinter das Brennholz :) und es ist besser, wenn das Licht in der Scheune brennt.

Es bleibt zu beachten, dass Geräte in allen Regeln automatisch ein- und ausgeschaltet werden. Gleichzeitig können sie aber manuell über die openHAB-Schnittstelle gesteuert werden. Die beschriebenen USR IOT-Geräte verfügen auch über physische Steuertasten am Gehäuse. Daher ist es wichtig zu lernen, wie der Status von Geräten gelesen wird. Eine Möglichkeit, den Status aller Aktuatoren und Sensoren zu aktualisieren, besteht darin, sie beispielsweise alle 15 Minuten per Timer von openHAB abzufragen. Bei hausgemachten Geräten muss außerdem ein Status gesendet werden, wenn sich der Status der Steuertasten / -schalter ändert.

Gehen wir einen Schritt zurück. Die anfängliche Aufgabe bestand darin, zu lernen, wie man die Heizung flexibel regelt, damit das Haus warm ist, es immer heißes Wasser gibt und man nicht regelmäßig in den Heizraum gehen muss, um den Betrieb des Heizkessels zu regeln. Und in diesem Fall, um die Wahrscheinlichkeit zu minimieren, dass der Kessel infolge der Betätigung des Lastgrenzrelais abschaltet, das in der Schalttafel installiert ist und den Stromverbrauch begrenzt, indem nicht priorisierte Lasten, die sowohl den Kessel als auch den Kessel umfassen, getrennt werden. Gleichzeitig wird in der ersten Stufe die Kesselheizung 5 Minuten lang ausgeschaltet, und wenn dies nicht hilft, wird der Kessel auch 10 Minuten lang ausgeschaltet (zweite Stufe). Ich möchte Sie daran erinnern, dass der Verbrauch zu Hause begrenzt ist und im Haus alles elektrisch ist. Es gibt kein Gas, daher müssen Sie den Verbrauch überwachen. Und es wäre schön, die Energie der Sonne maximal zu nutzen. Hier sind einige der resultierenden Regeln.

Die erste Gruppe. Haus entwaffnet:


  1. Überprüfen Sie alle 20 Minuten die Temperatur im Haus und fügen Sie eine Kesselleistung hinzu, wenn diese unter einem vorgegebenen Wert (22 Grad) liegt. Tun Sie dies jedoch, wenn der Schwellenwert des Laststroms nicht überschritten wird, z. B. bei 25,6 A. Wenn die Temperatur höher als der eingestellte Wert ist, schalten Sie alle 20 Minuten eine Stufe des Kessels aus und lassen Sie nur die erste. Dadurch erhalten wir eine gleichmäßige "Beschleunigung" des Heizungssystems und schützen uns vor dessen vollständiger Abschaltung durch Überlast. Die allgemeine Logik lautet wie folgt: Wenn leistungsstarke Stromverbraucher im Haus arbeiten, z. B. ein Herd, ein Wasserkocher, eine Mikrowelle oder sogar ein Staubsauger, fließt die Energie, die sie verbrauchen, letztendlich in die im Haus verbleibende Wärme und warum nicht den Kessel jagen, um ihn mit voller Leistung einzuschalten? Es ist besser, den Kessel in der ersten Stufe arbeiten zu lassen, aber aufgrund des Lastbegrenzungsrelais 10 Minuten lang nicht auszuschalten.
  2. Wenn die Temperatur des Warmwassers im Kessel unter 35 Grad liegt, schalten Sie die erste Stufe des Kessels und der Heizung ein. Wenn die Wassertemperatur mehr als 35 Grad beträgt und die Lufttemperatur im Haus höher als die eingestellte (23 Grad) ist, schalten Sie die erste Stufe des Kessels aus. Wenn die Wassertemperatur über 37 Grad liegt, schalten Sie die Heizung aus. Darüber hinaus sollten alle Einschlüsse nur gemacht werden, wenn der Laststrom nicht mehr als 25,6 A beträgt. Andernfalls funktioniert das Lastbegrenzungsrelais und für 10 Minuten kann überhaupt nichts eingeschaltet werden. Führen Sie alle Überprüfungen durch, wenn Sie die Messwerte des Warmwassertemperatursensors aktualisieren. Diese Regel gewährleistet die Verfügbarkeit von Warmwasser, eine schnelle Erwärmung bei minimalem Energieverbrauch.
  3. Wenn die Temperatur des Kühlmittels im Solarkreislauf höher ist als die Temperatur des heißen Wassers, die wiederum über 35 Grad liegt, schalten Sie die Heizung des Heizgeräts aus. So ist es möglich, Strom zu sparen und nicht ohne heißes Wasser zu bleiben.
  4. Wenn die Temperatur im Haus höher als die eingestellte (23 Grad) ist und die Temperatur des heißen Wassers mehr als 35 Grad beträgt, schalten Sie den Kessel vollständig aus. Andernfalls wird zu viel Strom verbraucht, und die Automatisierung des Kessels schaltet ihn häufig aufgrund der Temperatur in der Rücklaufleitung aus.
  5. Wenn am Heizelement des Kessels keine Spannung anliegt, obwohl es von einem Smart Home aus eingeschaltet wird, hat die erste Stufe des Lastrelais ausgelöst. Wenn Sie die Leistung des Kessels begrenzen, können Sie dessen Abschaltung vermeiden. Schalten Sie den zweiten und dritten Schritt aus. Dann schalten sie sich bei Bedarf nach anderen Regeln ein. Ebenso prüfen wir die Kesselversorgungsspannung. Wenn es verschwunden ist, hat die zweite Stufe des Lastrelais ausgelöst, wir verlassen nur die erste Stufe des Kessels, wir schalten alles andere aus, einschließlich der Kesselheizung; Sie werden später durch andere Regeln aufgenommen. Dies geschieht, um die Wahrscheinlichkeit eines wiederholten Betriebs des Lastrelais zu verringern und einen maximalen und gleichmäßigen Wärmefluss in das Haus zu gewährleisten.

Die zweite Gruppe. Das Haus ist auf der Hut.


  1. Wenn die Außentemperatur unter minus 8 Grad liegt, schalten Sie die zweite Stufe des Kessels ein. (Der erste schaltet sich seit der Installation des universellen GSM-Controllers automatisch ein, siehe hier unter dem ersten Schnitt ). Wenn die Außentemperatur unter -15 Grad liegt, schalten Sie die dritte Stufe des Kessels ein. Dies gewährleistet einen optimalen Betrieb des Heizungssystems bei gleichzeitiger Aufrechterhaltung einer bestimmten wirtschaftlichen Temperatur im Haus. Wenn die Temperatur auf der Straße steigt, werden die Stufen nacheinander ausgeschaltet. Mit dieser Regel können Sie den Kessel gleichmäßiger und effizienter arbeiten lassen.
  2. Wenn auf der Straße viel Licht ist, schalten Sie den Kessel vorbeugend ein, ohne darauf zu warten, dass die automatische Ausrüstung eine wirtschaftliche Temperatur (8 Grad) beibehält. Stellen Sie den Kessel wieder in den automatischen Modus, wenn die Temperatur den berechneten Wert erreicht. Der berechnete Wert wird nach der empirischen Formel berechnet, die das Minimum der Nachttemperatur am vergangenen Tag und die Vorhersage der Nachttemperatur verwendet. Außerdem kehrt der Kessel in den Automatikmodus zurück, wenn die von der Sonne empfangene elektrische Leistung unter 500 Watt fällt. Dieser Indikator wird über mehrere Durchgänge der Regel geglättet, die jede Minute ausgeführt werden. Infolgedessen können Sie mit der Regel Strom sparen: Durch die Heizung des Hauses arbeitet der Kessel im Dunkeln weniger und verbraucht weniger Energie aus dem Netz.


Ein Screenshot der Entwicklungsumgebung openHAB Designer mit zwei Regeln für Heizung und Warmwasser.

Vorläufige Ergebnisse:


  1. Die gesetzten Ziele werden völlig staubfrei erreicht. Der Löwenanteil der Arbeit war nicht mit Ausrüstung verbunden, sondern mit Programmierung. Und von dieser Programmierung kam das meiste zur Entwicklung und zum Debuggen von Regeln in openHAB.
  2. Bereits in den frühen Phasen der Entwicklung eines Smart Homes war die Wette auf eine „technologieunabhängige“ Lösung gerechtfertigt. Die oben beschriebenen Regeln verwenden Daten, die von hausgemachten Controllern auf Arduino von einem gekauften TCP-Modbus-Gateway empfangen wurden, das aus dem Internet empfangen wurde, d. H. aus völlig heterogenen Quellen. Geräteverwaltung über TCP / IP hinzugefügt. All dies ist sehr harmonisch von openHAB orchestriert. Aber damit wird openHAB natürlich zu einem einzigen Fehlerpunkt. Deshalb ist es richtig, Linux als Betriebssystem unter openHAB zu verwenden. Daher musste ich im Laufe der Zeit von der Verbindung des Servers mit dem LAN über WLAN zu einem normalen Kabel wechseln. Trotz der redundanten Stromversorgung des gesamten Hauses musste ich auch eine einzelne USV liefern. Zusammenfassend musste ich den Xiaomi WiFi-gesteuerten Sockel an die Stromversorgung des Servers anschließen und ihn mit einem separaten WiFi-Netzwerk verbinden. Dies ist das letzte Argument, wenn der Server einfriert.
  3. Die Erkenntnis ist gekommen, dass das Internet der Dinge und Smart Home tatsächlich den Horizont für eine neue Lebensqualität öffnen. Wirklich verbesserter Komfort. In der Tat gibt es eine Ersparnis. Und schließlich zeigt sich Aufregung, die zur Verbindung neuer Geräte und zum Einsatz neuer Integrationstechnologien führt. Was wiederum zu zusätzlichem Komfort führt.

Im nächsten Beitrag werde ich Ihnen erzählen, wozu die Aufregung geführt hat und wie sich das Smart Home entwickelt hat.

Source: https://habr.com/ru/post/de418423/


All Articles