13. Home Assistant接入到Google Assistant

本系列教程主要實現通過Raspberry Pi3 + Hass.io + Macbook配合其它智能硬體實現對智能家居的控制,旨在分享搭建智能家居過程中的經驗和樂趣。

上篇我們介紹了Amazon Echo之通過Emulated Hue Bridge控制設備。Home Assistant在Google Assistant的使用。

  • 要使用Google Assistant,必須使用主機名和SSL證書從外部訪問您的Home Assistant配置。如果你還沒有配置,參考安裝Duck DNS這篇文章最後幾條有關https的介紹。
  • 由於國內無法使用Google服務,請準備好梯子,如果無法滿足這兩個條件就無法使用Google Assistant。

1. 下載gactions CLI稍後使用。您可以在任何地方和任何機器上下載並運行此程序。只要記住以後放置的位置,不要忘記chmod +x gactions在Mac或Linux上運行它。

2. 創建一個名為project.json的文件。和gactions在同一個文件夾下面的,並將[YOUR HOME ASSISTANT URL]的內容替換為用於訪問Home Assistant的URL(你的https域名)。注意:這必須是HTTPS URL才能工作。

{n "actions": [{n "name": "actions.devices",n "deviceControl": {n },n "fulfillment": {n "conversationName": "automation"n }n }],n "conversations": {n "automation":n {n "name": "automation",n "url": "https://[YOUR HOME ASSISTANT URL]/api/google_assistant"n }n }n}n

3. 開發者控制台中創建一個新項目,點擊Add/ import project。

4. 在Actions SDK框中轉到Build。

5. 在之前創建project.json和下載gactions的目錄下,複製命令並執行。用project.json更換PACKAGE_NAME,home-assistant-d20bd為你的Project ID。

./gactions update --action_package PACKAGE_NAME --project home-assistant-d20bdn

它應該輸出一個URL並在瀏覽器它:https://console.actions.google.com/project/home-assistant-d20bd/overview。如果沒有輸出類似這樣一個url而是另外一中url,複製url並在瀏覽器打開,它會返回一串字母,複製並填入命令行,就會輸出如上的URL了。

6. 填寫APP Information(隨便填寫)和Account linking的內容並保存。

Account linking里:

  • Grant type: Implicit
  • Client ID:client_id上面的Home Assistant配置
  • Authorization URL : https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth。如果你已經設置了api_password:這個密碼的URL https://[YOUR HOME ASSISTANT URL]/api/google_assistant/auth?api_password=[YOUR API PASSWORD])
  • Configure your client:填寫你的Email地址和名稱。
  • Testing instructions:輸入任何內容。

7. 配置configuration.yaml。如果您尚未將組件配置添加到configuration.yaml並重新啟動Home Assistant,那麼您將無法繼續操作。

google_assistant:n project_id: home-assistant-33d25n client_id: SD4aNo7uopKg1bNN5Sb8YAABBXFzilWfyY4Kf0q3YDdKyYywLLNReZ6TlfyRiAFkFGBi5pUvhX9Urf9V3an access_token: eZC4JvKUFfd5vE1tMCDEF7FR4qTkSGS5JkJ9uyN8fIdkTrgzt4nG50XrdcGhAGu2D5mpS1Gsgz90vzqen agent_user_id: myemail@gmail.comn api_key: AIzaSsB-FcgE73IzplDrgHr9PO7onLpKJ51Oaq8n exposed_domains:n - switchn - lightn - groupn entity_config:n light.gateway_light_7811dcb30098:n name: Custom Namen aliases:n - bright lightsn - entry lightsn type: lightn

配置變數

  • project_id(必需):來自Google Developer控制台的項目ID(如下所示words-2ab12)
  • client_id(必需 ):將用於隱式OAuth的長整型隨機安全字元串(不包含空格或特殊字元),可以在這個網站生成,最長長度設為80。
  • access_token(必填):另一個不同的長隨機安全字元串(示例aBcDeFgHiJkLmNoP),可以在這個網站生成,最長長度設為80。
  • agent_user_id(可選):標識用戶的字元串,例如電子郵件地址。如果未提供,組件將生成一個。
  • api_key(可選):從Google控制台為項目生成的API密鑰,允許您更新設備,而不必取消鏈接和重新連接帳戶(請參閱下面的設置)。如果沒有提供,則request_sync服務不公開。
  • expose_by_default(可選):默認情況下,在所有支持的域中公開設備。默認值:true
  • exposed_domains(可選):要顯示給Google智能助理的實體域列表。
  • entity_config(可選):Google Assistant的實體特定配置。

8. 打開Google Assistant並選擇Settings。

9. 點擊Home Control。

10. 點擊?。

11. 點擊[test] my test app。

12. 如果你配置成功就會顯示你所有Home Assistant裡面的設備。

13. 現在你可以用Google Assistant控制它們了。

14. 點擊設備列表裡面的設備還可以設置設備的名稱和房間,因為Home Assistant不支持中文,所以要將設備名和房間改成英文。

Home Assistant的功能就介紹到這裡了。到此為止,我們已經可以通過Ios的HomeBridgeAndroid的Google AssistantAmazon的Echo三種語音功能來控制我們的Home Assistant設備了。


推薦閱讀:

趕在 iPhone8 之前,這位「垃圾車教授」設計了一套「iPhone 公寓」
數碼產品「碎片化」問題日趨嚴重
阿里鄢志傑博士:「達摩院」要做下一代顛覆性的人機交互
米家?小米智能家庭體驗館引爆GMIC2016 新國貨備受關注
Hayo 能施加「魔法 」,將你周圍的任何物體和空間變身虛擬遙控器

TAG:智能家居 | 谷歌Google | 树莓派RaspberryPi |