Home Assistantのオートメーションの構造とtemplate、state,entity_idの確認方法

2017年12月25日Home AssistantHome Assistant,スマートホーム,オートメーション

 

Home assistantのオートメーションは、「trigger」「condition」「action」で構成されている。それぞれについてここで解説を加えておきたい。

trigger

オートメーションを発動させる条件。例えば、「10分ごと」「何らかの動作が行われたとき」などで設定をする。

condition

オートメーションを実行する条件。
例えば、「暖房の温度が23度以上」「時間が22時以降」など、オートメーションを実行する条件を記載する。

action

オートメーション実行時のアクション。
triggerが発動し、conditionを満たしている場合にこちらが実行される。

以下、Automationによく出てくる用語を解説していく。

entity_id

デバイスのIDのこと。switchのなかにhotという形で構成しているデバイスは、「switch.hot」となる。

templete

TempleteはしばしばConditionに登場する。
これは、例えば数字の計算などをHome Assistantがデフォルトで所持しているテンプレートを用いて実施するために必要となる。

公式サイトの以下に解説があるのだが、正直分かりづらい。

動作の確認は、Home assistantの左下、リモコンマークの「Services」というところから行うことが出来る。

state

これは、デバイスの状況を確認&操作するためのもの。
下記公式ページにそれなりの解説がある。

実際に使うときは、試行錯誤することがよさそう…。

entity_id、template、stateを用いた実例

いくつかのスクリプトを実例として、これらを使用した例をご覧頂きたい。
簡単に解説しておくと、「customize.yaml」では各デバイスにニックネームを付与していて、「groups.yaml」ではそれらをグループ化(例えば「リビング」という固まりに入れ込む)、automationではこれらを利用して自動的に動作するスクリプトを組むことが出来る。

実例1. 暖房のオンオフ

実例2. 加湿器のオンオフ

※Home Assistant特集はこちらから。

Posted by webnetforce