Websocket Kommunikation

Die Kommunikation zwischen SmartHomeNG und der smartVISU wird auf Seite von SmartHomeNG durch das Modul websocket gesteuert. Auf Seite der smartVISU wird die Kommunikation über den Treiber io_smarthome.py.js abgewickelt. Dieser Treiber is in Javascript geschrieben und ermöglicht die Kommunikation des Browsers der die Visu anzeigt mit dem Websocket Plugin von SmartHomeNG.

Wichtig

Die Kommunikation findet zwischen dem Browser und SmartHomeNG statt, NICHT zwischen dem Webserver und SmartHomeNG. Der Webserver liefert nur den statischen Kontent der Visu aus.

Das Modul websocket muss in ../etc/module.yaml konfiguriert werden.

Ausschnitt aus ../etc/module.yaml
websocket:
    module_name: websocket
#    ip: 0.0.0.0
#    port: 2424
#    tls_port: 2425
#    use_tls: True
#    tls_cert: shng.cer
#    tls_key: shng.key
#    sv_enabled: True
#    sv_acl: ro
#    sv_querydef: False

Parameter

Beschreibung

module_name

Referenziert das gewählte Modul (hier websocket).

ip

Muss normalerweise nicht angegeben werden. Hiermit wird für Computer mit mehreren ip Adressen festgelegt, auf welcher Adresse das Modul hört. Wenn ip nicht angegeben ist, hört das Plugin auf allen ip Adressen des Computers.

port

Muss normalerweise nicht angegeben werden. Hiermit wird festgelegt auf welchem Port das Modul hört (ws://). Wenn der Parameter nicht angegeben wird, hört das Modul auf Port 2424.

tls_port

Muss normalerweise nicht angegeben werden. Hiermit wird festgelegt auf welchem Port das Modul für verschlüsselte Kommunikation (wss://) hört. Wenn der Parameter nicht angegeben wird, hört das Modul auf Port 2425.

use_tls

Muss normalerweise nicht angegeben werden. Wenn use_tls auf True gesetzt wird, wird die verschlüsselte Kommunikation über tls_port aktiviert. Dazu müssen im Verzeichnis ../etc gültige Zertifikatdateien shng.cer und shng.key abgelegt werden.

tls_cert

Muss normalerweise nicht angegeben werden. Hiermit wird der Name der Zertifikat- Datei festgelegt. Wird kein Name angegeben, wird shng.cer verwendet.

tls_key

Muss normalerweise nicht angegeben werden. Hiermit wird der Name der Datei mit dem privaten Schlüssel festgelegt. Wird kein Name angegeben, wird shng.key verwendet.

sv_enabled

Muss normalerweise nicht angegeben werden. Hiermit wird festgelegt, ob das Nutzdaten Protokoll für die smartVISU aktiviert ist. Standardmäßig ist das smartVISU Nutzdaten-Protokoll aktiviert.

sv_acl

Mit dem Parameter Accesscontrol list kann eine generelle Voreinstellung für den Zugriff der smartVISU auf Items vorgenommen werden. Wenn im Item kein Attribut acl: gesetzt ist, wird die Einstellung dieses Parameters genutzt. Mögliche Werte sind deny, ro (Read Only) und rw (Read/Write). Wird dieser Parameter nicht angegeben, wird als Standardeinstellung ro verwendet.

sv_querydef

Dieser Parameter ist für eine zukündftige Erweiterung der smartVISU gedacht und muss aktuell nicht angegeben werden. Wird der Parameter auf True gesetzt, ermöglicht dies die Abfrage der definierten Items (mit einem Teil ihrer Attribute) und die Abfrage der definierten Logiken.