Этот проект закрывает свои двери. С появлением https://github.com/cgarwood/homeassistant-zwave_mqtt с использованием https://github.com/OpenZWave/qt-openzwave, также известного как ozwdaemon
я не могу желать большего (скажем, они украли, моя идея если кто-то спрашивает?). В духе открытого исходного кода мне лучше инвестировать в эти проекты, а не изобретать велосипед. Это была короткая, но увлекательная поездка...
скоро будет архив
Текущий статус:
Серверная часть Z-Wave/REST API: бета-версия
Интерфейс браузера: альфа
предоставление вашей сети Z-Wave альфа-клиента MQTT, но пока не для ежедневного использования
mqtt
(внутри HA) и его обнаружение позволяют выполнить полную настройку с помощью графического интерфейса. начать где-нибудь, например, cd /tmp
git clone [email protected]:daringer/zwave-core.git
убедитесь, что у вас установлен Python > 3.x
установите venv с помощью pip: python -m pip install venv
создайте новую виртуальную среду и активируйте ее:
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/
Найдите (и определите) вашу установку openzwave (вариант), см. openzwave. Что касается меня, я предпочитаю общесистемную установку open-zwave через мой pacman-ager. Для меня это: /etc/openzwave
проверьте, доступно ли для записи последовательное устройство вашего контроллера (что-то вроде /dev/ttyACM0
)
просто запустите:
cd /tmp/zwave-core
python zwave_core/start.py
Теперь, чтобы запустить сеть, просто убедитесь, что 4 поля ввода в левом верхнем углу верны. Устройство контроллера /dev/ttyACM0
, каталог базы данных openzwave /etc/openzwave
, user-dir — это наш текущий рабочий каталог, куда мы скопировали файлы openzwave в целях безопасности: .
.
После этого нажмите «ВКЛ» в верхнем левом углу и подождите, наблюдая, как журнал событий заполняется задачами, которые выполняет контроллер...
ZWave-core должен, как следует из названия, быть основным компонентом для взаимодействия с устройствами Z-Wave и сетью. Обеспечение прозрачного и точного интерфейса протокола Z-Wave, не скрывающего никаких деталей. Используя REST API, эта прозрачность обеспечивается независимым от платформы и легко доступным способом.
Динамический, веб-интерфейс и реактивный интерфейс предоставляет браузеру доступ к этому REST API, служа прозрачным окном в мир Z-Wave. Чтобы передать высокую динамику сети Z-Wave, необходимо использовать push-уведомления на основе веб-сокетов, позволяющие стороне-получателю не пропустить никакой информации внутри сети с минимально возможной задержкой.
В отличие от этого простого, «голого» подхода, основной отличительной особенностью будет уровень MQTT, который вводит уровень абстракции между любой системой домашней автоматизации и сетью Z-Wave, чтобы разделить то, что не принадлежит друг другу: физическое и функциональное. слои. В то время как первый развертывается автономно, без предварительного знания окружающей среды, несмотря на саму сеть Z-Wave, второй имеет свободу вообще не заботиться о физическом уровне и сосредоточиться на функциональных задачах, ориентированных на конечного пользователя. Проще говоря, zwave-core обеспечивает мост Z-Wave к IP, обеспечивая простоту управления Z-Wave и устраняя разрыв между Wi-Fi и диапазоном ISM.
URL-адрес | Методы | Описание |
---|---|---|
/сеть | ПОЛУЧАТЬ | ... |
/сеть/действия | ПОЛУЧАТЬ | |
/сеть/действие/действие | ПОЧТА | |
/net/ctrl/действия | ПОЛУЧАТЬ | |
/net/ctrl/действие/действие | ПОЧТА | |
/сеть/оптс | ПОЛУЧИТЬ, УДАЛИТЬ, ИСПРАВИТЬ, ОТПРАВИТЬ | |
/сеть/сигналы | ПОЛУЧАТЬ | |
/узлы | ПОЛУЧАТЬ | |
/узел/int:node_id | ПОЛУЧИТЬ, ИСПРАВИТЬ | |
/node/int:node_id/value/int:value_id | ПОЛУЧИТЬ, ОТПРАВИТЬ | |
/узел/действия | ПОЛУЧАТЬ | |
/узел/int:node_id/действие/действие | ПОЧТА | |
/ток | ПОЛУЧАТЬ |
127.0.0.1:5000/интерфейс...
Существует несколько способов доступа к узлам и объектам zwave.
zwave/raw/<node_id>/#
предоставит вам обширный список всех сетевых устройств, включая настройки, доступные только для чтения, ...homeassistant/<component type (eg, sensor)>/<node_id>/state#'
будет заполнен автоматически