Dieses Projekt schließt seine Türen. Mit dem Aufkommen von https://github.com/cgarwood/homeassistant-zwave_mqtt unter Verwendung von https://github.com/OpenZWave/qt-openzwave, auch bekannt als ozwdaemon
kann ich mir nicht mehr viel mehr wünschen (sagen wir, sie haben meine Idee gestohlen). falls jemand fragt ?). In guter Open-Source-Manier investiere ich besser in diese Projekte, anstatt das Rad neu zu erfinden. Es war eine kurze, aber unterhaltsame Fahrt...
bald ein Archiv sein
Der aktuelle Stand:
Z-Wave-Backend / REST-API: Beta
Browser-Frontend: Alpha
Offenlegung Ihres Z-Wave-Netzwerks als MQTT-Client- Alpha, noch nicht für den täglichen Gebrauch
mqtt
(innerhalb von HA) und dessen Erkennung ermöglicht eine vollständige GUI-basierte Konfiguration Beginnen Sie irgendwo, z. B. cd /tmp
git clone [email protected]:daringer/zwave-core.git
Stellen Sie sicher, dass Python > 3.x installiert ist
Installieren Sie venv mit pip: python -m pip install venv
Erstellen Sie eine neue virtuelle Umgebung und aktivieren Sie sie:
python -m venv /tmp/zwave_core_venv
source /tmp/zwave_core_venv/bin/activate
cd /tmp/zwave-core
python -m pip install -r requirements.txt
# for example for home-assistant
cd ~ /.homeassistant
cp zwcfg_0xf5b17667.xml pyozw.sqlite zwscene.xml options.xml /tmp/zwave-core/
Suchen (und bestimmen) Sie Ihre Openzwave-Installation (Variante), siehe unter openzwave. Für mich bevorzuge ich das systemweite System, da ich open-zwave über meinen Pacman-Ager installiert habe. Bei mir ist es also: /etc/openzwave
Überprüfen Sie, ob das serielle Gerät Ihres Controllers (etwa /dev/ttyACM0
) beschreibbar ist
einfach ausführen:
cd /tmp/zwave-core
python zwave_core/start.py
Um nun das Netzwerk zu starten, stellen Sie einfach sicher, dass die 4 Eingabefelder oben links korrekt sind. Controller-Gerät /dev/ttyACM0
, Openzwave-Datenbankverzeichnis /etc/openzwave
, Benutzerverzeichnis ist unser aktuelles Arbeitsverzeichnis, wohin wir aus Sicherheitsgründen die Openzwave-Dateien kopiert haben: .
.
Sobald Sie fertig sind, klicken Sie oben links auf „EIN“ und warten Sie, während das Ereignisprotokoll mit den Aufgaben gefüllt wird, die der Controller ausführt ...
ZWave-Core soll – wie der Name schon sagt – die Kernkomponente für die Interaktion mit Z-Wave-Geräten und dem Netzwerk sein. Bietet eine hochtransparente und genaue Schnittstelle zum Z-Wave-Protokoll und verbirgt keine Details. Mithilfe einer REST-API wird diese Transparenz auf plattformunabhängige und leicht zugängliche Weise bereitgestellt.
Eine dynamische, webbasierte und reaktive Schnittstelle stellt diese REST-API dem Browser zur Verfügung und dient als klares Fenster in die Z-Wave-Welt. Um die hohe Dynamik des Z-Wave-Netzwerks zu transportieren, ist Websocket-basierter Push ein Muss, damit der Empfängerseite mit möglichst geringer Latenz keine Informationen innerhalb des Netzwerks entgehen.
Im Gegensatz zu diesem einfachen Bare-Metal-Ansatz wird das Hauptunterscheidungsmerkmal die MQTT-Schicht sein, die eine Abstraktionsschicht zwischen jedem Hausautomationssystem und dem Z-Wave-Netzwerk einführt, um zu trennen, was nicht zusammengehört: physisch und funktional Schichten. Während Ersteres trotz des Z-Wave-Netzwerks eigenständig und ohne vorherige Kenntnis der Umgebung eingesetzt werden kann, hat Letzteres die Freiheit, sich überhaupt nicht um die physische Ebene zu kümmern und sich auf die funktionalen, endbenutzerorientierten Herausforderungen zu konzentrieren. Vereinfacht ausgedrückt bietet zwave-core eine Z-Wave-zu-IP-Brücke, die eine einfache Z-Wave-Verwaltung ermöglicht und die Lücke zwischen WLAN und dem ISM-Band schließt.
URL | Methoden | Beschreibung |
---|---|---|
/netto | ERHALTEN | ... |
/net/actions | ERHALTEN | |
/net/action/action | POST | |
/net/ctrl/actions | ERHALTEN | |
/net/ctrl/action/action | POST | |
/net/opts | ERHALTEN, LÖSCHEN, PATCH, POST | |
/net/signale | ERHALTEN | |
/Knoten | ERHALTEN | |
/node/int:node_id | GET, PATCH | |
/node/int:node_id/value/int:value_id | GET, POST | |
/node/actions | ERHALTEN | |
/node/int:node_id/action/action | POST | |
/toc | ERHALTEN |
127.0.0.1:5000/Frontend ...
Es gibt verschiedene Möglichkeiten, auf die Zwave-Knoten und -Entitäten zuzugreifen.
zwave/raw/<node_id>/#
stellt Ihnen eine umfangreiche Liste aller LAN-Geräte zur Verfügung, einschließlich Konfigurationen, schreibgeschützt, ...homeassistant/<component type (eg, sensor)>/<node_id>/state#'
wird automatisch ausgefüllt