Domoticz + NAS

最近在找尋一套完整度較高的 IoT Service, 功能需要有:
1. Dashboard
2. 簡易的控制畫面
3. 歷史紀錄(天, 月, 年)
4. 可以整合 MQTT
5. Open Source
6. 在 NAS 上直接使用
7. 重要的是直接使用 docker 安裝,然後無痛直接使用它.

之前認為, Node-Red + 內建的 dashboard 功能已經夠完整, 可惜的是 Node-Red 內建的 dashboard 太吃資源, 一旦開啟歷史紀錄, 等於根本無法使用…XD

Freeboard 雖然簡單方便, 直接可以整合 Node-Red, 但多樣性不夠.

Domoticz 算是最近找到, 符合以上需求的 IoT Service.

Domoticz 相關 resources:
http://domoticz.com/wiki/Domoticz_Wiki_Manual
Docker: https://hub.docker.com/r/sdesbure/domoticz/

接下來開始來設定 Domoticz service

啟用 Domoticz service:

如果想要把資料存放在特定位置, 記得指向到該存放的位置:
-v /share/XXXXXX/domoticz:/config

成功啟動後, 可以透過網頁存取, http://your-ip:8181. 畫面是目前已經有設定好的感測器資料. 目前感測器的資料都是透過 MQTT + Virtual Sensor 來達成.

Domoticz 目前支援的裝置種類非常的多樣, 除了可以透過外接 USB 裝置的方式, 將 ZigBee, Z-wave, Wifi, BLE…, 透過各種不同的通訊方式將資料傳進 Domoticz 並管理.

整合 MQTT 是我會使用 Domoticz 真正的原因, 這樣一來我原先透過 MQTT 交換的感測裝置, 就可以透過 Node-Red 的方式重新導向到 Domoticz, 不用太多複雜的設定就可以完成, 資料處理部份可以使用 Node-Red 把所需要的資料分析整合起來.

目前整合的感測器有:

  1. 氣象站 (如何建立 Virtual Weather Device)
  2. 魚缸溫度, PH, EC, TDS
  3. 室內環境

接下來將透過 Domoticz 來建立 MQTT Hardware (Setup -> Hardware -> 選擇 type, 並找到 “MQTT Client Gateway with LAN interface” -> 設定相關資訊)

再安裝, Type: Dummy (Does nothing, use for virtual switches only), 用來建立虛擬裝置.

透過剛剛建立的 Dummy hardware 可以按下 “Create Virtual Sensors” 建立所需要的虛擬裝置,並與 MQTT Topic 整合起來.

建立成功的 Virtual Sensors, 可以從 device list 中找到. 記下欄位中的 Idx.

接下來要透過 Node-Red 把相關的資料透過 MQTT 傳至 Domoticz, Domoticz 將收到的 MQTT 資料透過 Idx 分別紀錄到對應的 device.

透過 Node-Red 將 Particle Cloud PH sensor device 資料透過 API 取得感測器資料, 再傳送到 topic: domoticz/in, 這個 topic 是給 Domoticz 使用, Domoticz 會監聽此 topic 一旦收到相對應的 JSON format 就會進行處理, 再分類給相關的 device.

傳送的 JSON format:

idx: 剛剛建立的 VS 裝置
nvalue: 0
svalue: PH sensor value

Domoticz 支援的裝置很多, 如果需要更多裝置的 JSON format, 可以參考官方的 Domoticz API/JSON URL’s wiki 網站.

Domoticz 的應用真的很多元, 蠻多功能都還在摸索, 有機會再分享了.

發表迴響