Module websocket Neu

Dieses Modul erlaubt es SmartHomeNG über das Websocket Protokoll zu kommunizieren. Auf dem Websocket Protokoll setzt z.B. das Nutzdaten Protokoll für die Kommunikation mit der smartVISU auf.

Es wird sowohl das unverschlüsselte (ws://) Protokoll unterstützt, als auch die verschlüsselte Variante (wss://). Beide Varianten können parallel genutzt werden.

Bemerkung

Browser nutzen bei http-Verbindungen ws:// und bei https-Verbindungen automatisch wss:// Allerdings muss dabei beachtet werden, dass die SmartVisu keine unabhängige Konfiguration der Ports für ws:// und wss:// unterstützt. Das bedeutet, dass man entweder auf allen Clients http/ws ODER https/wss nutzen. Eine Alternative ist eine Client-Spezifische Konfiguration (cookie) in der Smartvisu.

Anforderungen

Dieses Modul läuft unter SmartHomeNG v1.8 und neuer und benötigt Python in der Version 3.6 oder neuer.

Konfiguration

Datei ../etc/module.yaml

../etc/module.yaml
# etc/module.yaml
websocket:
    module_name: websocket
    # enabled: True
    # ip: ''
    # port: 2424
    # tls_port: 2425
    # use_tls: False
    # tls_cert: myprivate.pem
    # tls_key: myprivate.key

Bemerkung

Das Zertifikat muss ohne Passphrase erstellt werden (bei der Frage nach der Passphrase einfach Enter drücken). Zudem muss der „Common Name“ mit dem Hostname der später verwendet wird (z.B. meinServer.fritz.box, oder meinServer, oder 192.178.178.2) über einstimmen. Das Zertifikat und der Key können mit diesem Kommando erzeugt werden: openssl req -newkey rsa:2048 -nodes -keyout shng.key -x509 -days 365 -out shng.cer

Bemerkung

Die Konfigurationsparameter des websocket Modules die in dieser Datei konfiguriert werden, können auch über das graphische Administrations-Interface geändert werden.

Parameter

Bemerkung

enabled

Websocket Unterstützung aktivieren (True) oder deaktivieren (False) - Standardwert ist True

ip

IP Adresse auf der das websocket Modul aktiv sein soll - muss normalerweise nicht angegeben werden

port

Optional: Der Port auf welchem SmartHomeNG unverschlüsselte Websocket Kommunikation erwartet Standard Port ist 2424 .

tls_port

Optional: Der Port auf welchem SmartHomeNG verschlüsselte Websocket Kommunikation erwartet Standard Port ist 2425 .

use_tls

Optional: Muss auf True gesetzt werden, um verschüsselte Kommunikation zu aktivieren. Für die verschlüsselte Kommunikation müssen die Zertifikats- und Schlüssel-Datei konfiguriert sein.

tls_cert

Optional: Name der Zertifikatsdatei mit der Endung ‚.cer‘ oder ‚.pem‘. Die Datei muss im Verzeichnis ../etc liegen. Dieser Parameter muss konfiguriert sein, damit eine verschlüsselte Kommunikation möglich ist.

tls_key

Optional: Name der Datei mit dem privaten Schlüssel und der Endung ‚.key‘. Die Datei muss im Verzeichnis ../etc liegen. Dieser Parameter muss konfiguriert sein, damit eine verschlüsselte Kommunikation möglich ist.