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がデフォルトで所持しているテンプレートを用いて実施するために必要となる。

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

Templating
Instructions on how to use the templating feature of Home Assistant.

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

state

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

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

entity_id、template、stateを用いた実例

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

実例1. 暖房のオンオフ

【スマートホーム】Raspberry PiとHome Assistantで暖房や冷房など空調を自動制御
例えば、「19度以下になったら自動的に暖房をオンにする」「24度以上になったら自動的に暖房をオフにする」といった機能があったら、どんなに素敵だろうか。とくに朝起きるとき、常に暖房

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

【スマートホーム】スマート加湿器を湿度センサー・スマートコンセント・Kaz VICKS...
記事通りの内容。加湿器は様々な製品が販売されているが、具体的に「湿度を何度まで上げたい」という形で設定出来る製品は(調べた限り)存在しない。また、いわゆる「自動設定」に対応している

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

執筆者紹介

Thir

最新のガジェットを購入してはレビューする、を繰り返しています。このブログでは、ガジェットの紹介のほか、各種サーバーやスマートホームの構築などを提供しています。最近はYouTubeでもレビュー動画やVlogをあげています。(プロフィール