Phicomm(斐訊) DC1 智能拖板 接入 Home Assistant
前言: |
受限於IOS
平台,zDC1
只有Andorid
版的APP
,大神zip_zhang雖然不會考慮做免費版本的IOS
APP
。
但可以透過Phicomm(斐訊) DC1
智能拖板接入到Home Assistant
系統後,IOS
平台的用戶就可以使用Home Assistant
APP
控制zDC1
智能拖板或者在何時何地只需透過瀏覽器就可以控制智能設備。
實現條件: |
- Home Assistant系統
- MQTT服務
目錄內容: |
操作步驟: |
安裝Home Assistant系統 |
我主要是透過PVE
安裝,簡單、方便、快捷。
安裝MQTT服務及配置 |
MQTT - 維基百科,自由的百科全書 (wikipedia.org)我個人顯淺現解是,
MQTT
是一種協議,作為一個代理人角色 協調 「智能裝置」和 「Home Assistant」系統 之間溝通(橋樑)。
安裝MQTT服務
PVE
安裝官方鏡像系統,已經內置了Supervisor
引擎(軟件市場),可以很方便哋透過Add-on
(附加元件)方式安裝MQTT
。
在「附加元件商店」,選取「Mosquitto broker」
圖示是已經完成安裝及執行中。
建立MQTT登入帳號
使用者名稱: mqtt-user (自定義)
要啟用「允許人員登入」
輸入两次使用者密碼以完成建立新的用戶。
首次需要透過ZControl APP 接入MQTT服務
確認已經完成前期設定
- Phicomm(斐訊) DC1 智能拖板 - 已經匹配WIFI網絡
- 手提電話已安裝 ZControl Andorid APP
選項 | 備註 |
---|---|
MQTT地址 | Home Assistant的IP地址+端口(預設: 1883) |
MQTT登錄用戶名 | Home Assistant系統立的帳號(mqtt-user) |
MQTT登錄密碼 | Home Assistant系統的帳號密碼(homeassistant) |
- 點擊右上角雲圖標將
MQTT
配置同步到zDC1
- 手動重啟
zDC1
才能使新配置生效(讓設備在線)
現在就可以透過MQTT
控制DC1
智能拖板。
到這一步,只需要在路由器內設定端口轉發(Port Forwarding
), 可以在外網何時何地透過ZControl Andorid APP訪問及控制DC1
智能拖板。
安裝SAMBA共享配置Home Assistant文件 |
安裝SAMBA共享服務
「設定」> 「附加元件」
在「附加元件商店」,選取「Samba share」
圖示是已經安裝完成及執行中。
在Samba
「設定」內 配置Samba
的使用者名稱(Username
)及密碼(Password
) > 「儲存」。
再次重啟Samba
服務,使之生效。
Home Assistant 配置文件
原作者: Home Assistant配置文件
便於理解,將配置文件分割成3部份
.
├── configuration.yaml
└── custom_components
└── dc1
├── customize.yaml
├── sensor.yaml
└── switch.yaml
2 directories, 4 files
文件名稱 | 功能 |
---|---|
configuration.yaml | 主配置文件 |
customize.yaml | 負責按鈕的命名 |
sensor.yaml | 負責檢測電壓、功率 |
switch.yaml | 負責實體按鈕開關 |
透過Samba
服務開啟config
目錄
\\homeassistant.local\config
在主配置文件configuration.yaml
添加以下內容
switch: !include custom_components/dc1/switch.yaml
sensor: !include custom_components/dc1/sensor.yaml
homeassistant:
customize: !include custom_components/dc1/customize.yaml
time_zone: Asia/Hong_Kong
在config
目錄內建立遞歸子目錄 > custom_components
> dc1
在dc1
子目錄內分別建立3個文件
customize.yaml
switch.zDC1_plug0_2c3ae8480f3e:
friendly_name: DC1總開關
switch.zDC1_plug1_2c3ae8480f3e:
friendly_name: DC1插槽1
switch.zDC1_plug2_2c3ae8480f3e:
friendly_name: DC1插槽2
switch.zDC1_plug3_2c3ae8480f3e:
friendly_name: DC1插槽3
sensor.zdc1_power_2c3ae8480f3e:
friendly_name: DC1功率
sensor.zdc1_current_2c3ae8480f3e:
friendly_name: DC1電流
sensor.zdc1_voltage_2c3ae8480f3e:
friendly_name: DC1電壓%
sensor.yaml
- platform: mqtt
name: 'zdc1_power_MACMAC'
unique_id: zdc1_power_MACMAC
state_topic: 'device/zdc1/MACMAC/sensor'
unit_of_measurement: 'W'
icon: 'mdi:gauge'
value_template: ' value_json.power }}'
- platform'
- platform: mqtt
name: 'zdc1_voltage_MACMAC'
unique_id: zdc1_voltage_MACMAC
state_topic: 'device/zdc1/MACMAC/sensor'
unit_of_measurement: 'V'
icon: 'mdi:gauge'
value_template: ' value_json.voltage}}'
switch.yaml
- platform'
payload_off: '{"mac":"MACMAC","plug_0":{"on":0}}'
value_template: ' value_json.plug_0.on }}'
state_on'
payload_off: '{"mac":"MACMAC","plug_1":{"on":0}}'
value_template: ' value_json.plug_1.on }}'
state_on'
payload_off: '{"mac":"MACMAC","plug_2":{"on":0}}'
value_template: ' value_json.plug_2.on }}'
state_on'
payload_off: '{"mac":"MACMAC","plug_3":{"on":0}}'
value_template: '{{ value_json.plug_3.on }}'
state_on: '1'
state_off: '0'
# availability_topic: "device/zdc1/MACMAC/availability"
# payload_available: 1
# payload_not_available: 0
請替換以上代碼的MACMAC為zDC1
設備的mac
地址小寫(可以在ZControl APP
或者 路由器的DHCP
列表查看)
引用原作者:注意事項:如果接入多個
zDC1
,請保證customize.yaml配置文件的name
字段唯一性.(其他配置文件替換MACMAC
已經實現此唯一性)。
「檢查設定內容」沒有問題後可以「重啟」Home Assistant
。
重新啟動Home Assistant
後,「總覽」 > 「開啟主面板選單」 > 「編輯主面板」
「新增面板」 > 「實體」
最後「完成」。現在可以透過Home Assistant
APP
或者網頁版面控制zDC1
智能拖板了!
轉用MySQL(MariaDB)數據庫儲存 (可選) |
Home Assistant
默認使用SQLite
,當數據日積月累時到一定體積時,打開歷史頁面的響應會非常緩慢且容易假死現象,為求更快響應速度,建議更換數據庫為MariaDB
。可以使用附加元件可以很方便地安裝
MariaDB
,用作Home Assistant
的資料庫後端。
安裝MariaDB數據庫
「設定」> 「附加元件」
在「附加元件商店」,選取「MariaDB」
圖示是已經安裝完成及執行中。
在MariaDB
「設定」內 配置MariaDB
的使用者名稱(Username
)及密碼(Password
) > 「儲存」。
選項 | 註釋 |
---|---|
Logins: | MariaDB的 帳號 和 密碼 |
Rights: | MariaDB的 數據庫(Database)名稱 和 權限所屬 |
再次重啟MariaDB
服務,使之生效。
配置Home Assistant 文件更換資料庫後端
透過Samba
服務開啟config
目錄
\\homeassistant.local\config
在主配置文件configuration.yaml
添加以下內容
mysql://user(使用者):password(密碼)@SERVER_IP(伺服器地址)/DB_NAME(數據庫名稱)?charset=utf8(數據庫格式)
# MariaDB will be used by the recorder and history components within Home Assistant.
recorder:
purge_keep_days: 5
db_url: mysql://homeassistant:homeassistant@core-mariadb/homeassistant?charset=utf8mb4
選項 | 註釋 |
---|---|
purge_keep_days: | 保留歷史的時間為5天 |
db_url: | 轉用MariaDB 資料庫為後端 |
檢查配置內容沒有問題後可以「重啟」Home Assistant
,使之失效。
結語: |
到這Phicomm(斐訊) DC1
智能拖板的分享也告一段了! 真的人家出豉油我出雞,為了可以善用「肥神」遺產也是夠折騰人的。雖然是這樣,也是學習到好多新的東西。也算是最低成本的興趣吧! 謝謝某遺產,謝謝大神分享。
相關連結: |
- Phicomm(斐訊) DC1 智能拖板 - 固件燒錄 - King Zone (kingtam.win)
- Proxmox VE 7 安裝Home Assistant虛擬機系統 - King Zone (kingtam.win)
- 使用 NGINX 反向代理 Home Assistant - King Zone (kingtam.win)
參考資料: |