Ce projet ferme ses portes. Avec l'avènement de https://github.com/cgarwood/homeassistant-zwave_mqtt utilisant https://github.com/OpenZWave/qt-openzwave alias ozwdaemon
je ne pourrais pas souhaiter grand-chose de plus (disons qu'ils ont volé, mon idée si quelqu'un demande ?). Dans le bon sens de l'open source, je ferais mieux d'investir dans ces projets au lieu de réinventer la roue. Ce fut une balade courte mais amusante...
être bientôt une archive
L'état actuel :
Backend Z-Wave / API REST : version bêta
Frontend du navigateur : alpha
exposer votre réseau Z-Wave en tant que client MQTT alpha, pas encore pour une utilisation quotidienne
mqtt
(au sein de HA) et sa découverte permettent une configuration entièrement basée sur l'interface graphique. commencer quelque part, par exemple, cd /tmp
git clone [email protected]:daringer/zwave-core.git
assurez-vous que Python > 3.x est installé
installez venv en utilisant pip : python -m pip install venv
créez un nouvel environnement virtuel et activez-le :
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/
localisez (et déterminez) votre installation openzwave (saveur), voir sur openzwave. Pour moi, je préfère l'ensemble du système en installant open-zwave via mon pacman-ager. Donc pour moi c'est : /etc/openzwave
vérifiez si le périphérique série de votre contrôleur (quelque chose comme /dev/ttyACM0
) est accessible en écriture
exécutez simplement :
cd /tmp/zwave-core
python zwave_core/start.py
Maintenant, pour démarrer le réseau, assurez-vous simplement que les 4 champs de saisie en haut à gauche sont corrects. Périphérique contrôleur /dev/ttyACM0
, répertoire de la base de données openzwave /etc/openzwave
, répertoire utilisateur est notre répertoire de travail actuel, dans lequel nous avons copié les fichiers openzwave pour des raisons de sécurité : .
.
Une fois terminé, cliquez sur "ON" dans le coin supérieur gauche et attendez en regardant le journal des événements se remplir par les tâches que le contrôleur exécute...
ZWave-core doit --- comme son nom l'indique --- être le composant principal pour l'interaction avec les appareils Z-Wave et le réseau. Fournir une interface hautement transparente et précise dans le protocole Z-Wave et ne cacher aucun détail. Grâce à une API REST, cette transparence est fournie de manière indépendante de la plate-forme et facilement accessible.
Une interface dynamique, basée sur le Web et réactive expose cette API REST au navigateur, servant de fenêtre claire sur le monde Z-Wave. Afin de transporter la dynamique élevée du réseau Z-Wave, le push basé sur Websocket est indispensable, permettant au côté récepteur de ne manquer aucune information au sein du réseau avec la plus petite latence possible.
Contrairement à cette approche simple et nue, la principale caractéristique distinctive sera la couche MQTT, qui introduit une couche d'abstraction entre tout système domotique et le réseau Z-Wave afin de séparer ce qui ne va pas ensemble : physique et fonctionnel. couches. Alors que le premier peut être déployé de manière autonome, sans connaissance préalable de l'environnement malgré le réseau Z-Wave lui-même, le second a la liberté de ne pas se soucier du tout de la couche physique et de se concentrer sur les défis fonctionnels axés sur l'utilisateur final. Ainsi, en termes simples, zwave-core fournit un pont Z-Wave vers IP permettant une gestion simplifiée de Z-Wave, comblant le fossé entre le WiFi et la bande ISM.
URL | Méthodes | Description |
---|---|---|
/filet | OBTENIR | ... |
/net/actions | OBTENIR | |
/net/action/action | POSTE | |
/net/ctrl/actions | OBTENIR | |
/net/ctrl/action/action | POSTE | |
/net/opts | OBTENIR, SUPPRIMER, CORRIGER, POSTER | |
/net/signaux | OBTENIR | |
/nœuds | OBTENIR | |
/node/int:node_id | OBTENIR, CORRIGER | |
/node/int:node_id/value/int:value_id | OBTENIR, POSTER | |
/nœud/actions | OBTENIR | |
/node/int:node_id/action/action | POSTE | |
/toc | OBTENIR |
127.0.0.1:5000/interface...
Il existe plusieurs façons d'accéder aux nœuds et entités zwave.
zwave/raw/<node_id>/#
vous fournira une liste complète de tous les périphériques LAN, y compris les configurations, en lecture seule, ...homeassistant/<component type (eg, sensor)>/<node_id>/state#'
sera renseigné automatiquement