【スマートホーム】スマート加湿器を湿度センサー・スマートコンセント・Kaz VICKS 加湿器を用いて作る(HomeKit/Alexa/GoogleAssitant対応)

2018年10月23日Home AssistantHome Assistant, スマートホーム, オートメーション

記事通りの内容。加湿器は様々な製品が販売されているが、具体的に「湿度を何度まで上げたい」という形で設定出来る製品は(調べた限り)存在しない。また、いわゆる「自動設定」に対応している製品は結構値段が高い。ということで、今回はHome Assistantと激安加湿器(それでも割と良い製品)、湿度計(湿度センサー)、そして電源スイッチ(スマートコンセント)を用いて設定した湿度まで湿度を上げ、上がりきったら湿度計を切る……という仕組みを構築する。

用意する加湿器は「Kaz VICKS スチーム式加湿器」

humidifie

「Kaz VIKS スチーム加湿器」は非常に良い製品で、何が良いかというと、雑菌が発生しないスチームタイプの製品でありながら非常に安く(3,500円程度)、電源のオンオフスイッチなんて存在せず、コンセントに電源プラグを差せばオン、抜けばオフ、という超簡単な仕組みになっている点である。つまり、いわゆるスマートコンセントを用いれば、リモートでオンオフの操作ができる。

VICKS スチーム式加湿器 V105 [並行輸入品]

VICKS スチーム式加湿器 V105 [並行輸入品]

4,980円(11/08 23:54時点)
Amazonの情報を掲載しています

塩を少々いれて水を入れ、コンセントを刺したら終わり。非常に簡単だ。ちなみに、Amazonでは上記よりも大きな製品も存在しているので、部屋の大きさに合わせて購入していただきたい。この加湿器は安い割にちゃんと動作してくれるので、かなりオススメ。

スマートコンセントを用意する(今回は、Xiaomi Smart Socketを利用)

スマートコンセントは何でも良いのだが、今回はXiaomi Smart Socketを利用した。設定方法は下記をご覧いただきたい。

【スマートホーム】レビュー: Xiaomi Mi Smart Homeを試す(スマートコンセント+ゲ...
スマートホーム業界は様々な商品・プラットフォームを出して顧客の囲い込みを行っているが、中国の巨人・シャオミ(Xiaomi)も例外ではない。中国現地では、「Xiaomi Mi Sma

以下でHome Assistantに連携するため、下記の設定も行っておこう。

【スマートホーム】Xiaomi mi Smart HomeをHome Assistantと連携させる
先日の記事では、Xiaomi Mi Smart Homeを単独で使用する方法に関してレビューをした。https://webnetforce.net/xiaomi-mi-smar

当然、設定したあとには加湿器をこのスマートコンセントに接続しておくこと。

温度センサー(温度計)を用意する(今回はiRemocon Wifiのセンサーを利用)

温度センサーは何でも良いのだが、今回はiRemocon Wi-Fiのセンサーを利用している。もちろん、Xiaomi Smart Sensorでも構わない。設定方法は下記をご覧頂きたい。

【スマートホーム】Xiaomi Smart Sensor(湿度センサー、温湿度計)をHomebridge+H...
先の記事では「Xiaomi Smart Temperature and Humidity Sensor」を単体で使用する方法を紹介したが、今回はHome Assistantに接続し

Home Assistantのオートメーション機能を用いて加湿器を自動操作する

さて、ここまできたらHome Assistantのオートメーションを利用して加湿器を自動的に操作する設定をする。

まず、上記で用意したスマートコンセント及び温度計をきちんとHome Assistantに連携してあげる。Home Assistantの「<>」ボタンをクリックして、それぞれのデバイスがどのような名前で設定されているのかを確認しておこう。今回は下記のような名前で認識されている。

設定したもの Home Assistantのentity id
スマートソケット(コンセント) switch.plug_158d0001ad6f52
湿度計 sensor.home_humidity

input_numberを用いて理想湿度の設定をする

ここでいう理想湿度とは、「この湿度まで加湿器を運転したい」という温度のこと。Home Assistant上で自由に操作できるように、下記のようにHome Assistantから入力可能なフォームとして設定する。

set_humidity

/config/configuration.yamlを開き、次のように入力する。

input_number:
  desired_humidity:
    name: Desired Humidity
    initial: 70
    max: 90
    min: 60
    step: 1
    icon: mdi:water-percent

これで、「input_number.desired_humidity」という名前で、理想湿度を取得することが出来る。また、理想湿度はHome Assistant上からバーを操作することで設定することが出来る。ここでは、60から90まで設定できるようにしたが、必要に応じて値を変更していただきたい。

オートメーションを利用して湿度計を自動的にオンにする

続いてオートメーションの設定。configuration.yamlで以下のように設定し、/config/automation/presence/以下に配置しているスクリプトを自動的に読み込むようにしておこう。

automation: !include_dir_merge_list automation/presence/

その後、/config/automation/presense/以下に、次のようなファイルを作成する。

- alias: "Start Auto Humidifier"

  trigger:
   - platform: time
     minutes: '/10'
     seconds: 00

  condition:
   - condition: and
     conditions:
        - condition: template
          value_template: '{{ states.sensor.home_humidity.state | float - states.input_number.desired_humidity.state | float < -10 }}'  # Now - Desire < -10
        - condition: state
          entity_id: switch.plug_158d0001ad6f52
          state: 'off'
        - condition: state
          entity_id: device_tracker.iphone
          state: 'home'

  action:
    - service: switch.turn_on
      entity_id: switch.plug_158d0001ad6f52
    - service: notify.ios
      data:
        message: "Starting Auto Humidifier - Hum: {{ states.sensor.home_humidity.state }}"

少々分かりづらいので解説をしていこう。

Trigger

まず、triggerには時間を設定。10分おきにこのスクリプトを動作するようにしている。

Conditions(条件)

Conditions(発動条件)には、以下のふたつを設定している。

  • 現在の湿度(states.sensor.home_humidity.state | float)が、設定した理想湿度(states.input_number.desired_humidity.state | float)よりも10度低い
  • 加湿器(switch.plug_158d0001ad6f52)がオフとなっている
  • デバイストラッカーのiPhone(device_tracker.iphone)が自宅にいる

「10度低い」(-10)としているので、例えば理想湿度を70に設定していたら、60を下回った場合に加湿器が自動的にオンとなる。これよりももっと精緻に動作させたい場合は、5とか1とかもっとシビアな数値を入力して構わない。
なお、デバイストラッカーで自宅にいる場合、という設定は、別途device_trackerを設定する必要があるので、この設定が面倒な方はそのままこの部分を消去してもらえれば大丈夫だ。

発動する内容(実行する内容)

もちろん、実行するのは加湿器(switch.plug_158d0001ad6f52)をオンにすること。同時に、iOSデバイスに対して「Starting Auto Humidifier – Hum: (湿度)」という通知を送付するようにしている。
notify.iosは、iOSデバイスにHome Assistantアプリをインストールすれば自動的に設定出来るはずだが、もし面倒なら設定しないでも大丈夫。

上記の設定ファイルは、「automation.Start_Auto_Humidifier」というentity_idで制御出来る。

加湿器を自動的にオフにする設定をする

上記を実施しただけでは、「理想湿度よりマイナス10度になったときに加湿器をオンにする」だけで、自動的にオフにする設定がない。従って、次のようなスクリプトを書いてオフにするようにする。
下記のスクリプトでは、理想湿度を1度上回ったら自動的にオフにするようにしている。entity_idは、「automation.stop_auto_humidifier」となる。

- alias: "Stop Auto Humidifier"

  trigger:
   - platform: time
     minutes: '/10'
     seconds: 00

  condition:
   - condition: and
     conditions:
       - condition: template
         value_template: '{{ states.sensor.home_humidity.state | float - states.input_number.desired_humidity.state | float > 1 }}'
       - condition: state
         entity_id: switch.plug_158d0001ad6f52
         state: 'on'
       - condition: state
         entity_id: device_tracker.iphone
         state: 'home'


  action:
    - service: switch.turn_off
      entity_id: switch.plug_158d0001ad6f52
    - service: notify.ios
      data:
        message: "Stopping Auto Humidifier - Humidity: {{ states.sensor.home_humidity.state }}"

customize.yamlを使用して分かりやすい名前に変更する

上記のままだと、加湿器の名前は「plug_158d0001ad6f52」、設定する理想湿度は「Desired Humidity」、とちょっと分かりづらい。そこで、customize.yamlを用いて分かりやすい名称に変更してやり、さらにオートメーションがHomeBridge(HomeKit連携)に連携されないようにする。

 automation.start_auto_humidifier:
   friendly_name: "自動加湿"
   homebridge_hidden: true

 automation.stop_auto_humidifier:
   friendly_name: "自動加湿オフ"
   homebridge_hidden: true

 input_number.desired_humidity:
   friendly_name: "設定湿度"
   homebbridge_hidden: true

 sensor.home_humidity:
   friendly_name: "リビングの湿度"
   icon: mdi:water-percent

 switch.plug_158d0001ad6f52:
   friendly_name: "加湿器"

ようは、それぞれのentity_idに対して、friendly_nameというのを付与してあげると、その名前で設定される形になる。
また、必要に応じてgroups.yamlを設定すると、例えば「オートメーション」というのをひとつの固まりとして表示したり、「加湿器」を「リビング」というグループに追加してあげることが出来る。

Home Assistantの画面を確認する

上記が終わったら、Home Assistantを再起動してあげる。そうすると、次のような形で色々と設定したものが出てくるはずだ。

加湿器(スマートソケット)

humidifie

理想湿度のインプット

set_humidity

湿度計(湿度センサー)

hum-senso

オートメーション(加湿器自動オン&自動オフ)

automation-hu

例えば上記の場合、最大湿度は65(表示されていないが、65に設定している)、湿度センサーは72.22%を示しているので、「自動加湿オフ」の条件(1度上回ったらオフにする)の条件を満たしている。10分おきに自動的に実行されるので、次の実行でオフになるはずである。というか、オフになる。先ほど通知を設定していたが、きちんと通知がやってきて自動的にオフになることを確認出来た。

stop-hu

上記では「Temp」と書かれているが、これは私が設定ファイルの記述を間違ったためで、この数値は現在の湿度である(この記事で紹介している記事では修正している)。これで、自動的に加湿のオンオフが出来るようになる。

じつのところ、自動的に加湿をオンオフするために、単純にコンセントに差し込んだらスタートする加湿器を探していた。それも、よく激安加湿器にある超音波式ではなく、雑菌の心配がないスチームタイプのものを。そこで見つかったのがこの「VICKS 加湿器」である。Amazonのレビューでは「電源ボタンがあればいいのに」という記載があったのだが、こういう使い方をするならないほうが良い(スマートコンセントで制御出来るため)。これで、冬の乾燥した時期でも快適な生活を楽しむことが出来る。

執筆者紹介

Thir

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