2019年9月30日 星期一

Home Assistant 居家助理的系統架構

以下架構圖來自:https://developers.home-assistant.io/docs/en/architecture_index.html

居家控制的架構:




上圖中Home Control的系統架構圖



元件架構圖:

整合第三方元件架構圖



實體架構圖



Hass.io架構圖

2019年9月29日 星期日

經由MQTT來與Home Assistant來溝通

把下面命令,放到configurations.yaml中。

light:
  - platform: mqtt
    name: "bathroom_secondary_light"
    state_topic: "smartthings/Bathroom Secondary Light/switch"
    command_topic: "smartthings/Bathroom Secondary Light/switch"
    payload_on: "on"
    payload_off: "off"
    retain: true

存檔後重新啟動


使用MQTTBOX來進行測試

一種日常工作所設計的描述語言 - YAML

“YAML Ain’t Markup Language”,簡稱YAML,YAML並不是一種標記語言,而是一種數據序列化語言,此語這是針對日常工作,所設計出具有友善介面而且可以與現代編程語言可以很好地一起工作。 YAML有著極大地提高了計算能力,是開放、可互操作且易於理解的工具。 YAML從一開始就被設計為對使用數據的人員有用且友好。 它使用可打印字符Unicode碼,其中一些字符提供結構信息,其餘字符包含數據本身。 YAML通過最大程度地減少結構特徵的數量,並允許數據以自然而有意義的方式展示出來,從而實現了獨特的清潔度。 例如,縮進可以用於結構,冒號用於分隔鍵:值對和破折號用於創建“項目符號”列表。

數據結構雖然有著無數種形式,但是它們都可以用三個基本型別來表示:映射(雜湊/字典),序列(陣列/串列)和純量(字串/數字)。 YAML利用了這些基本型別,並添加了簡單的鍵入系統和別名機制,來形成用於序列化任何本機數據結構的完整語言。 儘管大多數編程語言都可以使用YAML進行數據序列化,但是YAML擅長使用三個基本型別來構建基本的語言。 這些包括新的敏捷語言,例如Perl,Python,PHP,Ruby和Javascript。

YAML的設計目標是:

YAML易於人類閱讀。
YAML數據可在編程語言之間移植。
YAML與敏捷語言的本機數據結構匹配。
YAML具有一致的模型來支持通用工具。
YAML支持一次性處理。
YAML具有表現力和可擴展性。
YAML易於實現和使用。

詳細的介紹請參閱:YAML Ain’t Markup Language (YAML™) Version 1.2

2019年9月22日 星期日

畫點做AR

一個免費的擴增實境軟體,稱為DotAR。
網址:https://assetstore.unity.com/packages/tools/dot-ar-97973

1.按下Import鈕,直接滙入。

2.選擇Project->Assests->Smaple->DotAR_Sample.unity

3.選擇File->Build Settings->Android->Switch Platform

4.選擇Player Settings,把Package name改成com.dot.ar
5.按下Build鏈,將生成的APK檔放到手機上,進行安裝。

6.進行測試

以下是官方的影片

好玩的Python,兩行指令完成居家助理

Home Assistance Website:https://www.home-assistant.io/



Home Assistance Demo:https://demo.home-assistant.io/#/lovelace/0




只要用兩個指令即可完成
pip install homeassistant
hass --open-ui

填上帳號和密碼
選擇下一步

 選擇完成
完成的畫面

手機版的指令:https://www.home-assistant.io/docs/frontend/mobile/
手機版的畫面


後續文章: