Phicomm(斐訊) DC1 智能拖板 接入 Home Assistant

| 前言: |
受限於IOS平台,zDC1只有Andorid版的APP,大神zip_zhang雖然不會考慮做免費版本的IOSAPP。
但可以透過Phicomm(斐訊) DC1智能拖板接入到Home Assistant系統後,IOS平台的用戶就可以使用Home AssistantAPP控制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)
| 參考資料: |