Smart Home Software # 2

Guten Tag an alle! Ich setzte die Idee meines alten Beitrags fort und entwickelte ein Programm, das als System zur Steuerung eines Smart Homes verwendet werden kann.


Bild


Um den Leser sofort zu interessieren, werde ich einige der Szenarien für die Verwendung der Software demonstrieren:



Beleuchtung, Klimatisierung,
Multimedia etc. von
Z-Wave- und Modbus- Geräte,
die Fähigkeit, die Liste zu erweitern
kompatible Schreibprotokolle
Plugins .




GPS-Tracker und Geolocation-Trigger.

Erstellung von Arbeitsalgorithmen
Skript mit Zyklen und Bedingungen ;
mit einem Skript in
Freund Gelegenheit zu kombinieren
mehrere Lazurite-Server
durch Remote-Skripte .


SZENARIEN


Mit Lazurite können Sie Trigger und komplexe Skripte mit Bedingungen und Schleifen erstellen, d. H. Der Benutzer kann das Programm mit dem eingebauten Konstruktor für jede seiner Anforderungen „programmieren“.


Jedes Skript hat einen eigenen Schalter in der Benutzeroberfläche - "Kachel". Abhängig von der Art der Skriptdaten sieht der Switch unterschiedlich aus.


Beispiele für Skriptwechsel.


>> Erfahren Sie mehr über Datentypen und Switches.


Darüber hinaus gibt es in Lazurite drei Arten von Skripten: Einzelaktion, komplexes Skript und Remote-Skript.


Fenster zur Auswahl des zu erstellenden Skripttyps.


Einzelaktion


Einzelaktionen sind Szenarien, die keine komplexe Logik erfordern, z. B. das Einschalten des Lichts oder das Ändern des Schallpegels mithilfe der „Kachel“ im Schaltermenü. In einem solchen Szenario ist es nicht möglich, einen Zyklus oder eine Bedingung zu erstellen. In diesem Szenario können Sie nur eine separate Aktion vom Plug-In (siehe unten) an den Switch binden.


Konstruktor mit einer Aktion am Beispiel der Erstellung eines ModbusRTU- Switch.


Schwieriges Szenario


Ein komplexes Szenario ist ein Szenario mit komplexer Logik, in dem es Schleifen und Bedingungen gibt.


>> Details zum Erstellen eines komplexen Skripts.


Während die Luftfeuchtigkeit im Raum höchstens 40% beträgt, stellen Sie die Luftfeuchtigkeit ein.


Ein komplexes Szenario am Beispiel von Z-Wave-Geräten .


Eine schwierige Bedingung mit Gruppen und Vergleichen von Zahlenwerten.


Remote-Skript


Lazurite verfügt über einen integrierten Server, auf dem der WCF-Dienst ausgeführt wird. Auf diese Weise können Clientanwendungen Informationen zu Skripten empfangen und einige Aktionen ausführen. Darüber hinaus kann ein anderer Lazurite-Server eine Verbindung zum Lazurite-Server herstellen und Remote-Server-Skripts verwenden. Um diese Funktionalität nutzen zu können, müssen Sie ein Remote-Skript erstellen.


Durch die Unterstützung von Remote-Skripten können Sie ein Netzwerk von Geräten erstellen, auf denen Lazurite installiert ist. Das heißt, In den Skripten eines Servers können Sie Skripte aufrufen oder Skriptwerte eines anderen Servers abrufen.


In einem großen Haus können Sie beispielsweise ein verteiltes System erstellen, in dem mehrere Knoten mit installiertem Lazurite auf verschiedenen Etagen (Räumen, Gebäuden) stehen, mit denen die Lazurite-Zentraleinheit kommuniziert. Der Administrator konfiguriert das System und entscheidet, wie unabhängig die Slave-Geräte sind, ob sie als einfache Darsteller verwendet werden oder ob eine gewisse Autonomie in sie integriert wird.



TRIGGERS


Auslöser sind bestimmte Aktionen, die ausgelöst werden, wenn besondere Bedingungen eintreten. Sie unterscheiden sich vom Szenario darin, dass sie keinen Datentyp und keine „Kachel“ haben. Der Auslöser zum Auslösen eines Auslösers besteht darin, das ausgewählte Szenario zu ändern, d.h. Wenn wir Aktionen ausführen möchten, wenn sich die Temperatur, die Luftfeuchtigkeit, das Erscheinungsbild des Benutzers zu Hause usw. ändern, müssen wir einen Auslöser für das entsprechende Szenario erstellen. Der Triggerkonstruktor ist eine Kopie des Skriptkonstruktors, mit dem Sie Schleifen, Bedingungen und Aktionen erstellen können.


Auslösen, um einen Bewegungssensor auszulösen.


AKTION


Jede im Skriptkonstruktor hinzugefügte Zeile ist eine „Aktion“. Jedes in Lazurite installierte Plugin fügt den Programmaktionen einige neue Funktionen hinzu. Alle Arbeiten mit Z-Wave, Modbus, Geolocation usw. hergestellt durch diese Funktionalität. Dementsprechend hat jede Aktion wie ein Skript einen eigenen Datentyp .


>> Liste aller Aktionen in Lazurite.


Fenster zum Auswählen einer Aktion im Skriptkonstruktor.


SICHERHEIT


In Lazurite können Sie den Zugriff konfigurieren, um den Wert des Skripts anzuzeigen und zu ändern. Dies kann erforderlich sein, wenn wir einen Benutzer im System für unseren Gast erstellen oder wenn wir nur ein Skript ausblenden möchten, das Zusatzfunktionen ausführt und den Benutzern nicht angezeigt werden soll.


Fenster mit den Einstellungen für die Skriptsicherheit.


Die folgenden Elemente stehen zum Konfigurieren der Sicherheit zur Verfügung:


  • "Für jede Verwendung verweigern";
  • "Verweigern für alle Gruppen außer ..." - ein Verbot der Verwendung des Skripts für Benutzer, die nicht Mitglieder der ausgewählten Gruppen sind;
  • "Verweigern für alle Benutzer außer ..." - ein Verbot der Verwendung des Skripts für alle Benutzer außer den ausgewählten;
  • "Für Gruppen verweigern" - ein Ausführungsverbot für ausgewählte Benutzergruppen;
  • "Run from the network" verweigern - Skripte mit dieser Einschränkung können nicht in Clientanwendungen angezeigt und nicht als "Remote-Skript" verwendet werden.
  • "Schnellstartmenü verweigern" - Das Skript wird nicht im Schnellstartmenü angezeigt.
  • "Für Benutzer verweigern" - ein Ausführungsverbot für ausgewählte Benutzer;
  • "Verwendung von einem anderen Skript / Trigger verweigern" - Das Skript kann nicht in einem anderen Skript oder Trigger ausgeführt werden.

Standardmäßig ist jedes Skript für den Start vom Netzwerk und für das Schnellstartmenü verboten.


BENUTZER UND GRUPPEN


Benutzer bei Lazurite sind ein wesentlicher Bestandteil des Systems. Ohne ein Konto können Benutzer nicht auf die erforderlichen Skripte zugreifen und Geräte im Haus verwalten. Wenn es keine Authentifizierung gäbe, würde sich jede Person mit dem System verbinden und Skripte ausführen, was äußerst unerwünscht ist.


Zur Vereinfachung können Sicherheitseinstellungen von Benutzerskripten gruppiert werden. Sie können beispielsweise eine Gruppe "Gäste" erstellen und verhindern, dass diese Gruppe bestimmte Skripts ausführt.


>> Mehr über Benutzer und Gruppen .


Z-Welle


Z-Wave ist ein drahtloses Kommunikationsprotokoll, das in der Hausautomation verwendet wird. Zur Implementierung des Protokolls werden Miniatur-HF-Module mit geringem Stromverbrauch verwendet. Jetzt gibt es auf dem ZWave-Markt eine ziemlich umfangreiche Liste von Geräten wie ZWave-Lampen, Fassungen, Relaismodulen, Schaltern, Schlössern, Temperatursensoren (Feuchtigkeit, Bewegung, Undichtigkeiten), Temperaturreglern, Klimageräten usw. Multisensoren sind ebenfalls üblich - Geräte, die mehrere Sensoren kombinieren (z. B. Licht-, Anwesenheits-, Temperatursensor, Türsensor usw.), was unter dem Gesichtspunkt der finanziellen Kosten und des Standorts im Raum sehr attraktiv ist.


In Lazurite können Sie mit dem ZWave-Modul alle Standardgerätevorgänge ausführen, z. B. Löschen, Hinzufügen von Geräten und Zurücksetzen des Controllers. Sie können auch mehrere ZWave-Controller verwenden, der Endbenutzer wird den Unterschied nicht erkennen. Sie können beispielsweise Temperaturwerte von einem Sensor ablesen, der an die Steuerung „A“ angeschlossen ist, und die Klimaanlage mit der Steuerung „B“ starten. Es gibt keine Einschränkungen. Alle Aktionen und Überprüfungen werden auf standardmäßige Weise ausgeführt und im Skript-Designer hinzugefügt.


Der Knoten wird im Bild ausgewählt, der Multisensor ist ZW100, dann wird sein Benutzerparameter ausgewählt, mit dem Sie die Temperatur im Raum messen können .


Nachdem ein Skript mit diesem Knoten erstellt wurde, wird eine Kachel mit Temperaturinformationen angezeigt.


>> Mehr über Z-Wave bei Lazurite.


STATISTIKEN


Lazurite verfügt über eine Funktion, mit der Sie die Werte verschiedener Szenarien (z. B. Temperatur im Wohnzimmer, Luftfeuchtigkeit im Raum, UV-Wert, Bewegungserkennung) protokollieren können. Der Benutzer kann die Szenarien auswählen, für die Statistiken erstellt werden müssen, und dann die Diagramme ihrer Dynamik für einen bestimmten Zeitraum anzeigen.


Zeigen Sie Statistiken in Form von Diagrammen an.


Zeigen Sie Statistiken in Form eines Kreisdiagramms an.


>> Mehr zur Statistik.


BENUTZERGEOLOCATION


Lazurite verfügt über die Funktionalität eines GPS-Trackers. Jede Clientanwendung sendet Geodateninformationen an den Lazurite-Server, wo diese Daten verarbeitet, gespeichert und angezeigt werden können. Die im UserGeolocationPlugin- Plugin dargestellten Aktionen arbeiten mit der Geolokalisierung des Benutzers zusammen und ermöglichen es Ihnen, Werte wie die Entfernung des Benutzers zu einem Ort, den Standort des Benutzers an einem bestimmten Ort usw. zu berechnen.


Einige Aktionen erfordern die Anwesenheit nicht nur des Benutzers, sondern auch eines Ortes oder eines "Ortes", der im Programm eingerichtet und konfiguriert werden muss. Ein solcher Ort kann ein Haus, eine Arbeit, eine Stadt oder eine U-Bahnstation sein. Aktionen mit diesem Parameter sind erforderlich, um Aktionen für das Erscheinungsbild oder die Entfernung des Benutzers von diesem "Ort" auszuführen. Ein Ort hat drei Parameter: Mittelkoordinaten, Radius und Name.


Ein Beispiel für die erstellten Orte (zu Hause und am Arbeitsplatz) und die Route des Benutzers zwischen ihnen zum ausgewählten Datum.


Die Position des Benutzers kann über die Lazurite-Anwendung auf dem Smartphone angezeigt werden.


Darüber hinaus können Sie einen Bewegungsverlauf führen, indem Sie der Statistik das entsprechende Skript hinzufügen .


Benutzerbewegungen über einen langen Zeitraum.


>> Mehr zum Plugin.
>> Mehr zur Bewegungsgeschichte.


VERSCHIEDENES


Das Programm kann Skripte zum Austausch von Nachrichten zwischen Benutzern erstellen und Benachrichtigungen vom System über verschiedene Ereignisse erhalten.


Posteingang-Anzeigefenster.


Senden einer Nachricht an einen anderen Benutzer.


Darüber hinaus gibt es verschiedene andere Funktionen, wie Wake-on-Lan , Emulation von Multimedia-Tasten unter Windows , Soundsteuerung unter Windows , Arbeiten mit Windows-Prozessen , Steuerung von Modbus-Geräten usw.


Erfahren Sie hier, wie Sie Plugins erstellen.


Die Weiterentwicklung des Systems wird derzeit wie folgt gesehen:


  • Die Architektur des Programms wird so modernisiert, dass vorgefertigte Engines oder Spracherkennungsdienste als Plug-Ins verwendet werden können.
  • Durch die weitere Zerlegung und Modernisierung der Funktionalität von Plugins und Skripten in der Zukunft können Sie Skripte von einem Tablet oder Smartphone aus erstellen.
  • Es ist geplant, ein Videoüberwachungsmodul zu erstellen, in dem Funktionen für die Aufzeichnung von Videos, die Übertragung des Videostreams an mobile Geräte, die Bewegungserkennung usw. vorhanden sind.

>> WIKI-Projekt
>> Projektwebsite
>> AUF GOOGLE PLAY
>> Neueste Version


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


All Articles