惟家 / 智美 Zemismart KS811 開關低成本刷機教學
手把手教你將惟家 /智美 ks-811 智能開關更新為 esphome 版本
惟家 / 智美 Zemismart KS811 開關低成本刷機教學
前言
使用 Home Assistant 來打造自已的智能家居也好一陣子了
因為前陣子剛搬新家的關係,所以一開始規劃就把所有電燈開關的中性線都拉好
當時在市面上能夠選擇 台灣規格的智能開關選擇並不多,看了看覺得惟家的 Tasmota 版本開關滿適合的,外觀也很美觀
因此家裡全數電燈開關都使用此版本開關, 參考下圖:
問題
使用約 2 年的過程中發現了一個問題就是,萬一不小心久按開關的話,可能會出現以下狀況:
開關自已不斷的切換 On / Off ,重新設定 Wifi 後依舊,且此時已經無法再連接上裝置,只要一上電,他就自已 On / Off 切換個不停,
且無法再進行重新設定,在這情況下只能重寫韌體來改變他的行為了!
但什麼情況下會久按按鈕呢?
1
2
3
4
5
6
1. 當你開關安裝在牆上時,人不小心靠著開關
2. 當你開關安裝在桌上時,雜物靠到開關 (如果你有開關在書桌,化粧台或是床頭櫃的話 就容易有機率發生)
3. 如果你跟我一樣倒楣的話 = =
總之,使用的2年內我遇到約 3 次這樣的狀況,不知道大家有沒有遇過一樣的問題?
原本想請教賣家如何自已處理,但賣家只願意讓我寄回去由他們幫我處理
但若無法自行處理, 每次要寄回給賣家,這一來一往就是好幾天沒有開關可以使用 = =
於是決定自行研究一下刷機的方式,個人對這些電子設備像是 FTDI Basic / 杜邦線 / 麵包板 可以說是大外行
沒什麼使用經驗,但實作過程發現整個刷機過程滿容易的,在此也分享給大家
如果你有以下需求,那這篇文章希望能對你有些幫助
1
2
3
4
5
6
7
1. 想要嘗試刷機
2. 有跟我一樣的困擾
3. 想將手邊 KS811(惟家/智美)開關原廠韌體、Tasmota版本更新為 Espome 版本,享受它易設定,反應快的優點
4. 單純想要無痛升級為 Esphome 韌體
刷 EspHome 版本的韌體
我購買的是惟家的 Tasmota 版本,此開關看起來是使用 智美 Zemismart 的 KS-811 再刷 Tasmota 版本韌體修改而成
(開關使用的是 ESP8266 chipset ),實際是不是這樣不得而知,但硬體看起來都是相同的
而不管你是在那邊購買的開關,只要是 KS811 且是 ESP8266 晶片的話都可以刷機,如果在淘寶上購買再自行刷機的話,CP 值高上不少
需要的設備
1. FTDI Basic USBT to TTL UART FT232RL 晶片 (USB 轉序列埠) NT.140
購買: https://www.pcstore.com.tw/shop123/M79212801.htm
(不一定要購買此型號,你也可以用 FT232RL / USB to ttl / FTDI Basic 等關鍵字自行到網拍搜尋)
- 驅動程式下載: https://ftdichip.com/drivers/vcp-drivers/
- 下載點: CDM v2.12.36.4 WHQL Certified.zip
根據賣家的說明:
1
2
3
FTDI公司提供VCP(虛擬串列埠)和D2XX兩種驅動程序,使用D2XX驅動程序能獲得更好的數據傳輸性能,
而 VCP (虛擬串列埠) 在 PC上應用具有良好的使用者體驗。
2. 杜邦線 公<>公 / 公<>母 1元一條,共使用 6條 NT.6
其中2條 公<>公 , 4條 公<>母)
3. 麵包板 (Optional) 為了方便接線,買了一個迷你麵包板 NT.20
KS-811 刷機教學
1. 打開智能開關背蓋
轉開 KS-811 背面的 4 個螺絲,使用 **FTDI Basic程序下載器**刷機。
(啟動時而將 IO0 接地以進入刷機的模式,另外有網友提醒,需使用 3.3V 而非 5V 的電源 )
拆開後長的像這樣,上面是繼電器和整流器,我們主要要刷韌體的是下面帶有 ESP8266 和開關的控制板的這一片,所以上面那一片可以先放在一邊不管他
2. 連接 KS-811 與 FTDI Basic
連接的方式不難,確也有小眉角,請先參考完整連接後的圖片
a. 先看 FTDI Basic 的部份,我的接法如下:
1
2
3
4
5
6
7
綠色線: GND 接地
紅色線: 5V 電源
黃色線: TX 傳送
橘色線: RX 接收
b. 再來看到中間連接到麵包板的部份
(1) 我把 FTDI Basic 上的接地線,先接到麵包板(橫向的5個孔是相通的)
(2) 從麵包板再拉2條線出來,目的是要把這2條接到 KS-811 的接地 與 IO0 接口 (接 IO0 是為了要進入刷機的模式)
c. 再來看 KS-811 的接法 (前面說到的眉角就在這裡)
這邊需要特別留意的是 黃色/橘色線,也就是 TX / RX 的部份
若你仔細觀察的話會發現,我把 FTDI Basic 上的
黃色線: TX 傳送 ⇒ 連接到 KS-811 上的 RX 接口
橘色線: RX 接收 ⇒ 連接到 KS-811 上的 TX 接口
(一開始我一樣把黃色接 TX, 橘色接 RX , 在刷機的過程卡關了一會無法成功,
突然意識到在另一端 應該要反過來接才對,這相當合理)
到這邊為止接線的部份已經差不多了!
3. 開啟 Home Assistant 的 EspHome 進行設定
- 點擊右下方的 + New Device
b. 輸入裝置名稱後,是下 Next
c. 這裡先 SKIP
d. Device Type 選擇 ESP 8266
e. 這裡一樣先 SKIP
f. 建立好後,我們可以看到多了一個 Test 的裝置,按下 EDIT 編輯
g. 這邊看到預設的程式碼,全選後,以下方的程式碼來覆蓋 (2開的範例)
2 開開關的 Esphome code 範例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
esphome:
name: esphome-2way
platform: ESP8266
board: esp01_1m
wifi:
ssid: "YourSSID"
password: "YourPassword"
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
# for pinout/schematic
# https://community.home-assistant.io/t/zemismart-ks-811-working-with-esphome/
binary_sensor:
- platform: gpio
pin:
number: GPIO16
mode: INPUT
inverted: True
name: "Top"
on_press:
- switch.toggle: load1
- platform: gpio
pin:
number: GPIO5
mode: INPUT
inverted: True
name: "Bottom"
on_press:
- switch.toggle: load2
switch:
- platform: gpio
name: "Benson Esphome Top"
pin: GPIO13
id: load1
- platform: gpio
name: "Benson Esphome Bottom"
pin: GPIO12
id: load2
status_led:
pin:
number: GPIO2
inverted: yes
sensor:
- platform: wifi_signal
name: "Benson Esphome WiFi signal"
update_interval: 60s
- platform: uptime
name: "Benson Esphome uptime"
text_sensor:
- platform: version
name: "Benson Esphome ESPHome version"
以上範例是最基礎的設定,若是需要更多詳細的調整,可以參考 ESPhome 官網的說明
h. 然後按下 Save → Install → Manual Download ,系統會開始編譯並下載編譯後的 bin 檔案
4. 把 FTDI Basic 的 USB 連接線接上電腦(這邊就沒什麼難度不上圖了 我懶的拍 XD) ,就可以開始刷機了
刷機的軟體:
Esphome Flasher 下載 (我自已是用這個): https://github.com/esphome/esphome-flasher/releases
Tasmota pyFlasher 下載: https://bit.ly/3a2PbHz
a. FTDI Basic 接上電腦後 觀察裝置管理員的 COM Port 是多少
b. 開啟 Esphome Flasher ,選擇正確的 COM 埠,以及剛剛下載的 bin 檔案
按下 Flash ESP 開始刷機
沒有意外的話,刷機就完成了
5. 上電測試
最後把 KS-811 裝回去,並接上中性線、電源線後上電
沒意外的話 Home Assistant 會偵測到新設備,按下設定、選擇區域後,就大公告成了
心得
EspHome 版本整體反應要比 Tasmota 再透過 MQTT 來的迅速,設定上也容易許多
自行刷機升級的門檻也不高,總花費更只需要 200塊內即可搞定!
本次刷機前後研究不到 3個小時,若有謬誤還請不吝賜教
若是您手邊也有相同的設備,或者跟我有相同的困擾,又或是想要 DIY 改造 KS-811 韌體的話,希望此篇文章能夠幫助到你!
其它參考資源
Zemismart KS-811 working with ESPHome!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Pinouts:
Inputs
i have all 3 switches now, and these were the pinouts i found
1 way GPIO0
2 way GPIO16 top, GPIO5 bottom
3 way GPIO16 top, GPIO5 middle, GPIO4 bottom
Outputs
Status LED GPIO2
Load 1 GPIO13
Load 2 GPIO12
Load 3 GPIO14
COMO FLASHEAR O INTERRUPTOR ZEMISMART
Zemismart KS-811 3 Gang Switch GPIO
Comments powered by Disqus.