[DECO 3] 裝潢筆記 - 用 SIRI 遙控電動窗簾

這次裝潢的時侯,主臥跟客廳都採用了電動窗簾。客廳採用電動窗簾,最主要的原因是怕傢俱、木作久了會變色,所以想說用了電動窗簾,設定 schedule 後,白天就可以自動把窗簾拉上,增加傢俱及木作的耐用度。




但是這款電動窗簾其實並沒有 schedule 的功能,只有一個無線遙控器,因此只好自己來了 XD

原廠附的遙控器質感還不錯,是採用磁吸式跟掛架結合

我使用了 OpenHAB + RM2 Pro +RM Bridge 來完成第一步。

第一步 - 用 RM Bridge 來控制窗簾
http://rm-bridge.fun2code.de/
原本的 RM2 Pro 就可以透過它的 App 就來控制窗簾了,但 App 並沒有提供任何 API 或者 HTTP command 讓我們透過程式去操作,因此我另外用了 RM Bridge 操作 RM2 Pro。
RM Bridge 本身就有提供 learning code 的介面 http://rm-bridge.fun2code.de/rm_manage/code_learning.html,你可以自己定義指令名稱,然後按下原本的遙控器讓他學習即可。下面則是窗簾、投影機及布幕等學習完的指令清單。接下來只要透過 URL 就可以去發射遙控器訊號了。


當然,RM2 Pro 本身也有提供完整的 SDK,所以其實要全部自己來,不透過 RM Bridge 也是可以的。

第二步 - 整合進入 OpenHAB
http://www.openhab.org/
OpenHAB 是我目前最喜歡的 home automation 平台,因為各式各樣的 binding 非常豐富,從常見的 Philips Hue, Sonos, INSTEON,到 DAIKIN 冷氣,SAMSUNG電視,甚至我的音樂撥放器 SqueezeBox 都有。而一般 RD 最喜歡看到的 HTTP,TCP也都一應俱全,而且如果覺得不夠,也可以自己再擴充,真的是夢幻逸品啊 XD

這裡我是使用 HTTP binding 來跟 RM Bridge 整合。OpenHAB 最困難的地方是它的設定檔,官方網頁開宗明義就有說:很難學,但是很值得 XD

首先要把它加到 OpenHAB 的 item 中,以我的環境為例:
/opt/openhab/configurations/items/demo.items

在最後面加入
Switch  Curtain           "Living Room Curtain"                   { http=">[ON:GET:http://192.168.11.5:7474/code/openit] >[OFF:GET:http://192.168.11.5:7474/code/closeit]" }

這樣就多了一個 type 為 Switch 的 Curtain 物件,並在 ON/OFF 時分別會送不同的 URL

接下來要在 sitemaps 中把這個 Curtain 加進去:
/opt/openhab/configurations/sitemaps/homekit.sitemap

sitemap homekit label="Diro HomeKit" {
  Switch item=Curtain label="Curtain"
  Switch item=Screen label="Screen"
  Switch item=Projector label="Projector"
}

接下來啟動 OpenHAB 後,就可以透過瀏覽器看到:

這樣就可以透過 OpenHAB 去設定 schedule 來定時開關窗簾了。

第三步 - 整合 HomeKit bridge
https://github.com/htreu/OpenHAB-HomeKit-Bridge
最後就是要想辦法跟 SIRI 做整合了,只能說 OpenHAB 實在太強大了,貢獻者眾,竟然已經有人寫好了 HomeKit Bridge!!

因此只要正確的啟動,就沒有問題了
npm start -- --name "myopenhab-bridge" --sitemap homekit

如果平常沒有在用 node.js 的,應該會缺很多 package,基本上補一補就沒什麼問題了
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-2
npm install stdio
npm install hap-nodejs
npm install ws


npm install debug
...

接下來最重要的是要安裝 eve  來編輯 HomeKit database。打開 eve 後,就會有設定介面,並且可以找到 myopenhab-bridge 這個裝置,加進去之後,就可以看到下面所有的設備啦(Curtain, Projector, Screen...)

接下來就跟操作一般 HomeKit 的設備一樣了,設定房間、設備名稱等,然後就可以用 SIRI 來控制他們了 :)


示範影片:





Share:

0 comments