이 프로젝트는 문을 닫고 있습니다. https://github.com/OpenZWave/qt-openzwave(일명 ozwdaemon
사용하는 https://github.com/cgarwood/homeassistant-zwave_mqtt의 출현으로 인해 더 이상 바랄 것이 없습니다(그들이 내 아이디어를 훔쳤다고 가정해 보겠습니다). 누군가 묻는다면?). 좋은 오픈 소스 방식으로 나는 바퀴를 다시 발명하는 대신 이러한 프로젝트에 투자하는 것이 더 나을 것입니다. 짧았지만 즐거웠던 라이딩이었습니다...
곧 아카이브가 될 것입니다
현재 상태:
Z-Wave 백엔드 / REST API: 베타
브라우저 프런트엔드: 알파
아직 일상적인 사용은 아니지만 Z-Wave 네트워크를 MQTT 클라이언트 알파 로 노출
mqtt
활성화 및 검색을 통해 전체 GUI 기반 구성이 가능합니다. 어딘가에서 시작하세요(예: cd /tmp
git clone [email protected]:daringer/zwave-core.git
Python > 3.x가 설치되어 있는지 확인하세요.
pip를 사용하여 venv 설치: 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를 참조하세요. 저는 pacman-ager를 통해 open-zwave를 설치하는 것보다 시스템 전체를 선호합니다. 그래서 저에게는 다음이 있습니다: /etc/openzwave
컨트롤러 직렬 장치( /dev/ttyACM0
등)가 쓰기 가능한지 확인하세요.
간단히 실행하세요:
cd /tmp/zwave-core
python zwave_core/start.py
이제 네트워크를 시작하려면 왼쪽 상단에 있는 4개의 입력 필드가 올바른지 확인하세요. 컨트롤러 장치 /dev/ttyACM0
, openzwave 데이터베이스 디렉토리 /etc/openzwave
, user-dir은 현재 작업 디렉토리이며 안전을 위해 openzwave 파일을 복사한 위치입니다: .
.
완료되면 왼쪽 상단 모서리에 있는 "ON"을 클릭하고 컨트롤러가 실행 중인 작업으로 채워지는 이벤트 로그를 보면서 기다립니다.
ZWave 코어는 이름에서 알 수 있듯이 Z-Wave 장치 및 네트워크와의 상호 작용을 위한 핵심 구성 요소가 되어야 합니다. Z-Wave 프로토콜에 매우 투명하고 정확한 인터페이스를 제공하고 세부 사항을 숨기지 않습니다. REST API를 사용하면 이러한 투명성이 플랫폼 독립적이고 쉽게 액세스할 수 있는 방식으로 제공됩니다.
동적 웹 기반 반응형 인터페이스는 이 REST API를 브라우저에 노출하여 Z-Wave 세계에 대한 명확한 창 역할을 합니다. Z-Wave 네트워크의 높은 역동성을 전송하기 위해서는 수신 측이 가능한 가장 짧은 대기 시간으로 네트워크 내의 모든 정보를 놓치지 않도록 허용하는 웹소켓 기반 푸시가 필수입니다.
이러한 단순한 베어 메탈 접근 방식과 달리 주요 특징은 MQTT 계층이 될 것입니다. MQTT 계층은 함께 속하지 않는 것(물리적 및 기능적)을 분리하기 위해 홈 자동화 시스템과 Z-Wave 네트워크 사이에 추상화 계층을 도입합니다. 레이어. 전자는 Z-Wave 네트워크 자체에도 불구하고 주변 환경에 대한 사전 지식 없이 독립적으로 배포 가능한 반면, 후자는 물리적 계층에 전혀 신경 쓰지 않고 기능적, 최종 사용자 중심 과제에 집중할 수 있는 자유가 있습니다. 간단히 말해서 zwave-core는 Z-Wave-IP 브리지를 제공하여 WiFi와 ISM 대역 사이의 격차를 해소하는 Z-Wave 관리를 단순화합니다.
URL | 행동 양식 | 설명 |
---|---|---|
/그물 | 얻다 | ... |
/net/액션 | 얻다 | |
/net/액션/액션 | 우편 | |
/net/ctrl/액션 | 얻다 | |
/net/ctrl/액션/액션 | 우편 | |
/net/opts | 받기, 삭제, 패치, 게시 | |
/net/신호 | 얻다 | |
/노드 | 얻다 | |
/노드/int:노드_id | 다운로드, 패치 | |
/node/int:node_id/value/int:value_id | 받기, 게시하기 | |
/노드/작업 | 얻다 | |
/node/int:node_id/action/action | 우편 | |
/toc | 얻다 |
127.0.0.1:5000/프런트엔드 ...
zwave 노드와 엔터티에 액세스하는 방법에는 여러 가지가 있습니다.
zwave/raw/<node_id>/#
구성, 읽기 전용 등을 포함하여 모든 LAN 장치에 대한 광범위한 목록을 제공합니다.homeassistant/<component type (eg, sensor)>/<node_id>/state#'
이 자동으로 채워집니다.