該項目即將關閉。隨著使用 https://github.com/OpenZWave/qt-openzwave 又名ozwdaemon
的https://github.com/cgarwood/homeassistant-zwave_mqtt 的出現,我已經沒有更多的希望了(假設他們偷了我的想法)如果有人問?以良好的開源方式,我會更好地投資這些項目,而不是重新發明輪子。這是一趟短暫但有趣的旅程...
很快就會成為檔案館
目前狀態:
Z-Wave 後端/REST API:測試版
瀏覽器前端: alpha
將您的 Z-Wave 網路公開為 MQTT 用戶端alpha,但尚不適合日常使用
mqtt
(在 HA 內)及其發現,允許基於 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-core 應該是與 Z-Wave 裝置和網路互動的核心元件。為 Z-Wave 協定提供高度透明且準確的接口,並且不隱藏任何細節。使用 REST API,這種透明度以獨立於平台、易於存取的方式提供。
動態、基於 Web 的反應式介面將此 REST API 公開給瀏覽器,作為了解 Z-Wave 世界的清晰視窗。為了傳輸 Z-Wave 網路的高動態性,基於 Websocket 的推送是必須的,允許接收方以盡可能最小的延遲不會錯過網路內的任何資訊。
與這種簡單的裸機方法相比,主要的顯著特徵是 MQTT 層,它在任何家庭自動化系統和 Z-Wave 網路之間引入了一個抽象層,以便分離不屬於一起的部分:物理和功能層。前者可以獨立部署,儘管 Z-Wave 網路本身無需事先了解周圍環境,但後者可以自由地完全不關心實體層,而專注於以最終用戶為中心的功能性挑戰。因此,簡單來說,zwave-core 提供了一個 Z-Wave 到 IP 的橋接器,使 Z-Wave 管理變得簡單,從而彌合了 WiFi 和 ISM 頻段之間的差距。
網址 | 方法 | 描述 |
---|---|---|
/網 | 得到 | …… |
/網路/行動 | 得到 | |
/網路/動作/動作 | 郵政 | |
/net/ctrl/動作 | 得到 | |
/net/ctrl/動作/動作 | 郵政 | |
/網路/選擇 | 取得、刪除、修補、發布 | |
/網路/訊號 | 得到 | |
/節點 | 得到 | |
/節點/int:node_id | 獲取、修補 | |
/節點/int:node_id/值/int:value_id | 獲取、發布 | |
/節點/動作 | 得到 | |
/節點/int:node_id/操作/操作 | 郵政 | |
/目錄 | 得到 |
127.0.0.1:5000/前端...
有多種方法可以存取 zwave 節點和實體。
zwave/raw/<node_id>/#
將為您提供有關所有 LAN 設備的詳細列表,包括配置、唯讀、...homeassistant/<component type (eg, sensor)>/<node_id>/state#'
將自動填充