Este projeto está fechando suas portas. Com o advento de https://github.com/cgarwood/homeassistant-zwave_mqtt usando https://github.com/OpenZWave/qt-openzwave, também conhecido como ozwdaemon
não há muito mais que eu possa desejar (digamos que eles roubaram, minha ideia se alguém está perguntando?). No bom estilo de código aberto, é melhor investir nesses projetos em vez de reinventar a roda. Foi um passeio curto, mas divertido...
será um arquivo em breve
O estado atual:
Back-end Z-Wave / API REST: beta
Front-end do navegador: alfa
expondo sua rede Z-Wave como cliente MQTT alfa, não para uso diário, ainda
mqtt
(dentro do HA) e sua descoberta permite configuração completa baseada em GUI comece em algum lugar, por exemplo, cd /tmp
git clone [email protected]:daringer/zwave-core.git
certifique-se de ter python> 3.x instalado
instale venv usando pip: python -m pip install venv
crie um novo ambiente virtual e ative-o:
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/
localize (e determine) sua instalação do openzwave (sabor), veja em openzwave. Para mim, prefiro todo o sistema, pois tenho o open-zwave instalado através do meu pacman-ager. Então para mim é: /etc/openzwave
verifique se o dispositivo serial do seu controlador (algo como /dev/ttyACM0
) é gravável
simplesmente execute:
cd /tmp/zwave-core
python zwave_core/start.py
Agora, para iniciar a rede, certifique-se de que os 4 campos de entrada no canto superior esquerdo estão corretos. Dispositivo controlador /dev/ttyACM0
, diretório de banco de dados openzwave /etc/openzwave
, user-dir é nosso diretório de trabalho atual, para onde copiamos os arquivos openzwave por segurança: .
.
Uma vez feito isso, clique em "ON" no canto superior esquerdo e espere enquanto observa o log de eventos sendo preenchido pelas tarefas que o controlador está executando...
O núcleo ZWave deve --- como o nome sugere --- ser o componente principal para a interação com os dispositivos Z-Wave e a rede. Fornece uma interface altamente transparente e precisa no protocolo Z-Wave e não esconde nenhum detalhe. Usando uma API REST, essa transparência é entregue de forma independente da plataforma e de fácil acesso.
Uma interface dinâmica, baseada na web e reativa expõe esta API REST ao navegador, servindo como uma janela clara para o mundo Z-Wave. Para transportar a alta dinâmica da rede Z-Wave, o push baseado em websocket é essencial, permitindo que o lado receptor não perca nenhuma informação dentro da rede com a menor latência possível.
Em contraste com esta abordagem simples e bare-metal, a principal característica distintiva será a camada MQTT, que introduz uma camada de abstração entre qualquer sistema de automação residencial e a rede Z-Wave, a fim de separar o que não pertence um ao outro: físico e funcional camadas. Enquanto o primeiro pode ser implantado de forma independente, sem conhecimento prévio do ambiente, apesar da própria rede Z-Wave, o último tem a liberdade de não se preocupar com a camada física e se concentrar nos desafios funcionais focados no usuário final. Portanto, em palavras simples, o zwave-core fornece uma ponte Z-Wave para IP, permitindo simplicidade no gerenciamento do Z-Wave, preenchendo a lacuna entre o WiFi e a banda ISM.
URL | Métodos | Descrição |
---|---|---|
/líquido | PEGAR | ... |
/rede/ações | PEGAR | |
/rede/ação/ação | PUBLICAR | |
/net/ctrl/ações | PEGAR | |
/net/ctrl/action/action | PUBLICAR | |
/net/opções | OBTER, EXCLUIR, PATCH, POSTAR | |
/rede/sinais | PEGAR | |
/nós | PEGAR | |
/node/int:node_id | OBTER, REPARAR | |
/node/int:node_id/value/int:value_id | OBTER, POSTAR | |
/nó/ações | PEGAR | |
/node/int:node_id/action/action | PUBLICAR | |
/toc | PEGAR |
127.0.0.1:5000/frontend...
Existem várias maneiras de acessar os nós e entidades zwave.
zwave/raw/<node_id>/#
fornecerá uma lista extensa sobre todos os dispositivos lan, incluindo configurações, somente leitura, ...homeassistant/<component type (eg, sensor)>/<node_id>/state#'
será preenchido automaticamente