Sympapaのスマートホーム日記

スマートなんとかはスマートじゃない方法でつくられている

Home Assistant: ESP32+MH-Z19CでCO2モニター構築(1) [構築編]

Sympapaです。

ホームオートメーションにどっぷりハマっているものの、個人的には自動化や遠隔操作のトリガーとして使うものならともかくモニターするだけのIoTにはあまり興味がないのですが、最近、家を建てる検討をしている中で換気システムのことを調べていたら、なんだか二酸化炭素濃度をモニターすることは大事そうな気がしてきました。
二酸化炭素濃度の健康への影響に関しては色々な見解があるようでそんなシビアなもんではなさそうですが「3000ppmくらいで倦怠感、頭痛、耳鳴り、息苦しさ等が出て来る」「1,000ppm以下が目標」ということのようです。
労働安全衛生法の事務所衛生基準規則では、二酸化炭素濃度は5,000ppm以下としなければならず、換気装置がある場合は1,000ppm以下としなければならないとされています。
ざっくり「5,000ppm以下が最低限守るべきラインで、1,000ppm以下になるように努力したい」ってことのようです。


今の我が家は24時間換気システムなんてものが義務付けられる前に建てられたものなので換気は成り行きです。
気密も低そうなので換気が不十分でもそこまで二酸化炭素濃度は上がらんのちゃうとは思いますが、現状どのくらいの二酸化炭素濃度なのかは気になりますし、新しい家では気密も高くなるからちゃんとモニターしたいと感じたので二酸化炭素濃度計を導入することにしました。


コロナ禍により「換気しろ」という世の中の流れから二酸化炭素濃度計は需要が増大したようで、Amazonで検索するとディスプレイ付きの二酸化炭素濃度計がたくさん販売されています。
そういうやつを買ってもいいんですが外部出力の無い安いものでも4500円くらいはしますし、せっかくなのでHome Assistantと連携したいところです。


ググった結果、電子工作界隈(?)ではMH-Z19というCO2センサーが有名そうで精度も高そうです。
そんなわけで今回は、マイコンボード:ESP32+CO2センサー:MH-Z19CでESP Homeアドオンを使いHome Assistantと連携できる二酸化炭素濃度モニターを導入したというお話です。

■購入した二酸化炭素センサー

秋月電子でMH-Z19Cを2個購入しました。1個2480円ですが送料500円がかかったので実質1個2730円です。
akizukidenshi.com

Aliexpressでの相場は1個2000円~2500円というところでそっちのが若干安上がりですが、ニセモノが結構出回っているようなのと、セラーの発送地域によっては上海ロックダウンによる物流混乱の影響を受けそうなので国内ショップでの購入にしました。

■ESP32とMH-Z19Cの配線

Home AssisantはRaspberry PI 4B上で動かしているので、そのGPIOにMH-Z19Cを接続すれば余計なハードを追加しなくて済みますが、Home AssistantはRaspberry PI GPIOのサポートを2022年6月に削除するとしています。Home AssistantにはDockerなどいくつかのインストール方法があり、その方法やRaspberry PI 側の環境によってはGPIOの制御が不安定であることなどが理由のようです。
Home Assistant的にはセンサーを接続したいならESP Homeを使っとけってことのようです。
github.com


まぁHome Assisantを動かしているRaspberry PIは有線LAN接続で位置が固定なのでESP32にMH-Z19Cを接続してWi-FI通信した方がCO2濃度測定箇所の自由度が高いですし、ESP Homeを使えばMH-Z19そのもののセットアップが用意されているので簡単に使えます。

esphome.io


そんなワケでCO2センサー:MH-Z19Cの接続にはマイコンボード:ESP32を使うことにします。
今回使用するESP32は秋月電子で購入したESP32-DevKitC-32E ESP32-WROOM-32E開発ボードです。1個1230円ですが送料がかかるので、2個同時に買ったとして1個1480円です。
ESP32とMH-Z19の接続は電源の線2本とUART通信用の線2本を繋ぐだけで抵抗なども不要ですので、試す時にもブレッドボードすら要らない簡単仕様です。
しかしUARTが何なのかは私にはわかりません(笑) まぁシリアル通信ってことのようです。
ESP32には3つのUARTポートがあり、デフォルトのピンは以下のようになっているようです。

UARTポート: RX/TX
UART0: GPIO3/GPIO1
UART1: GPIO9/GPIO10
UART2: GPIO16/GPIO17


上のESP Homeの設定例ではGPIO1/GPIO3をUART通信に使用することになっていますが、UART0はUSBでのシリアル通信用に割り当てられているし、UART1のGPIO9/GPIO10は内部フラッシュ用に割り当てされていて使用するには別のピンへの割り当てが必要みたいです。
ややこしいので、今回はUART2: GPIO16/17を使用します。
ここここここらへんのページが参考になりました。


ということでメス-メスのジャンパケーブルで以下のように接続します。

ESP32側-MH-Z19側
5V-Vin
GND-GND
GPIO16(UART2 Rx)-Tx
GPIO17(UART2 Tx)-Rx



■ESP Homeのセットアップ

Home AssistantのESP Homeアドオンを使います。ESP Homeアドオンを導入するとHome Assistantから簡単にESP32を制御できます。
ESP Homeアドオンの導入方法についてはこちらの記事で書いています。
sympapa.hatenablog.com


ESP Homeの設定(.yaml)は以下のように設定しました。

uart:
  rx_pin: GPIO16
  tx_pin: GPIO17
  baud_rate: 9600

sensor:
  - platform: mhz19
    co2:
      name: "MH-Z19 CO2 Value"
    temperature:
      name: "MH-Z19 Temperature"
    update_interval: 60s
    automatic_baseline_calibration: false

■使ってみる

とりあえず使ってみると、"sensor.mh_z19_co2_value"と"sensor.mh_z19_temperature"というエンティティが出来ています。


私の部屋で一晩試してみると、睡眠中は最大2500ppmくらいまで上昇していました。
ヤバいレベルではありませんが換気の無い部屋というものはこういうもんなんでしょうか。
でも出入りのある日中だと大体1000ppm以内をキープしているようです。機密の低い住宅とはこういうもんなんでしょうか(汗)


今回はハンダ付け無しでジャンパケーブル接続のまま100均のピルケースに収めました。ジャンパケーブルの分高さが必要ですがちょうどいい大きさのピルケースが無かったのでかなり余裕のサイズになってしまいましたが(笑)


もう一対作って私の部屋とリビングに設置しました。
リビングの二酸化炭素濃度はキッチンとリビングに設置してある家のダッシュボード用タブレットに表示し、アイコンの色が1000ppm未満で青、1600ppm未満で緑、5000ppm未満でオレンジ、5000ppm以上で赤に変わるようにしてみました。

■まとめ

というわけで、ESP32+MH-Z19CでESP Homeアドオンを使いHome Assistantと連携できる二酸化炭素濃度計を導入してみました。
この二酸化炭素濃度をトリガーにして換気扇の回転数を変えたりできると面白そうですけど、さすがにそれは無理かなぁ。。。
それでは。

Home Assistant: 電気錠付玄関ドアの制御(3) ~ESP32とJEM-A端子の接続回路を考える~

Sympapaです。
家を建てる計画中ですが最近は電子錠(スマートロック)を装備した玄関ドアが結構普及しているようです。
それらの電子錠には一般的にHA端子(JEM-A端子)が付いていて、そこにIP/JEM-A変換アダプタを取り付けるとEchonet Liteに対応させることが出来ます。
住設メーカー的には「Echonet Lite経由で各社HEMSに接続してIoT化してくださいね。」ってことのようですね。


私はHome Assistantから電気錠を制御したいと思っていますが、IP/JEM-A変換アダプタだけでも数万円するみたいですし、そもそもEchonet Lite経由で電気錠をハックしている例がググっても見つかりません。
これまで調べた結果、HA端子(JEM-A端子)は2値で制御、モニタする単純な仕組みのため、HA端子(JEM-A端子)を直接ハックした方が簡単そうで、その事例はググればある程度の数がヒットすることが判りました
そしてHome Assistantと連携するのであれば、Home AssistantのESP Homeアドオンを使いESP32のGPIOから制御、モニタするのが簡単だろうという結論に至りました。
今回は、ESP32とHA端子(JEM-A端子)を接続する回路について調べ、まだ玄関ドアの実機はありませんがESP32側の半分の回路を作って実験してみたというおはなしです。

■HA端子(JEM-A端子)とESP32の接続に関する調査

おさらいですが、こちらのページの図を引用させていただくと、HA端子(JEM-A端子)はコントロール用の線が2本とモニタ用の線が2本の計4本、そして2値という簡単仕様で、コントローラとはフォトカプラを介して接続しなさいということになっています。

mtrx.jp


更に調べていたところ、HA端子(JEM-A端子)とテレコントローラを接続するIFU(インターフェースユニット)というのが販売されていることがわかりました。
PanasonicのWTF47214WKがそのひとつで、その基本回路構成は下図のようになっているそうです。
フォトカプラと抵抗とダイオードで構成されているだけのようですがネット通販での勢価格は4,000円~5,000円します。こりゃ自作しないとですね(汗


フォトカプラーの仕様が書かれていないので抵抗の大きさなどは考えなくてはいけませんが、基本はこれと同じ回路を作っていくことに決めました。

■HA端子(JEM-A端子)の仕様調査

さてしかし、抵抗の大きさを決めようにもHA端子(JEM-A端子)側の仕様は規格が有償であるせいかネットで調べても明確な答えが見つかりません。
LIXILの電気錠コントローラの取説には以下のように書かれていて、LIXILの電気錠コントローラの場合はM1-M2間が「15V/6mA」であることはわかりました。
他メーカーや他の機器であってもM1-M2間の電圧は似たようなもんでしょう。
問題はC1-C2間が「0.2~0.3秒の無電圧a接点入力しろ」ってことですが、C1-C2間の実際の電圧がわかりません。

●モニタ信号
・施錠時 M1端子がHigh(M1-M2端子間に15V/6mA)
・解錠時 M1端子がLow(M1-M2端子間に0V)
●制御信号
・C1-C2端子間に0.2~0.3秒の無電圧a接点入力(短絡)
で電気錠が反転動作
※反転動作とは施錠中は解錠、解錠中は施錠する動きのことです。


実際にHA端子(JEM-A端子)をハックしている事例をみると、こちらではフォトカプラにTLP785を使ってC1-フォトカプラ間の抵抗は75Ωが使用されていますが、こちらではフォトカプラにTLP521を使ってC1-フォトカプラ間の抵抗は1000Ωが使われています。
TLP785とTLP521は細かい仕様の差はあれど推奨動作条件は同じなのに75Ωでも1000Ωでも動作しているってことなので、「まぁ大体でいいんだな」ということにしときます(笑)

■フォトカプラ入力側の抵抗選定

まずフォトカプラですが、ド田舎のマルツでも売っていたTLP785を2個買ってきました。
toshiba.semicon-storage.com
合わせてダイオード:1N4148やら抵抗を色々買って来ましたが400円でお釣りが来ました。

フォトカプラ入力側の抵抗の大きさの求め方はこちらのページに書かれていました。


フォトカプラーの入力電流(IF)は?
(1)入力側電源電圧 (Vcc)、(2)電流制限抵抗 (RIN)、(3)LEDの順方向電圧 (VF) によって決定されます。
仕様例から、順方向電圧 (VF)、入力電流 (IF)を決定し、電流制限抵抗を決定します。
RIN = (VCC-VF)/IF = (5V-1.3V)/10mA = 370 Ω


TLP785のTLP785のデータシートにはVF=最大1.3Vと書かれています。

従ってフォトカプラへの入力側抵抗は以下のように算出できます。たぶん。
【ESP32からの制御側】
ESP32のGPIO出力は3.3V/20mA or 40mAのようです。
元から推奨電源電圧Vcc:5V~24Vより低いので「抵抗入れると動かんのちゃう?」とも思いましたが、抵抗を求める計算式からすると抵抗が必要そうです。抵抗で10mAに規制する前提だと下記のようになります。
RIN = (VCC-VF)/IF = (3.3V-1.3V)/10mA = 200 Ω となりますが安全をみて300Ωとしておきましょう。

【HA端子(JEM-A端子)からのモニタ出力側】
LIXILの電子錠コントローラはM1-M2端子間は15V/6mAのようです。
仮にIF=5mAにするとしてVF=1.1Vくらいです。
RIN = (VCC-VF)/IF = (15V-1.1V)/5mA = 2780 Ω となるようですが、果たして1.1V/5mAで動くのか??

■フォトカプラ出力側の抵抗選定

フォトカプラからの出力側の抵抗算出は私にはかなり難解です。
こちらのページでは、まずIFとCTR(変換効率)から、フォトトランジスター出力電流を計算しろってことになってます。
CTR(変換効率)は、入力側の電流に対する出力側の電流ってことのようですが、電気的に絶縁されているのになんでそんなものが存在するのか私にはチンプンカンプンです。


TLP785のCTR(変換効率)は200%くらいでそのバラツキはGBランクで100~600%みたいです。
このカーブから IC=20 mA(@IF=10 mA、VCE=5V、Ta=25℃) となります。



次に上のICの値から抵抗RLを計算しろってことになってます。


出力トランジスターのIC-VCE特性からRLを決定します。信号伝送として使用するには、負荷側に接続するデバイスの“L”レベ ルを十分に満足する必要があります。ここでは、VCE=0.3 Vを目標値とします。 IF=10 mA の時、RL=1 kΩ ではVCE=0.9 V 程度となり不十分です。RL=2 kΩ ではVCE= 0.2 V程度になっており、目標値を達成していますのでRL=2 kΩ を選定します。実設計では負荷側のインピーダンスも考慮する必要があります。


うーん、要するにフォトカプラは入力側がオフでも出力側は結構お漏らししてるってことですか?(汗)

まぁESP32の場合は電圧が3.3Vなので、1kΩの抵抗を入れれば電流が3.3mAになります。
この時点でコレクタ-エミッタ電圧は0.2Vを下回って来るので1kΩもあれば問題なさそうですね。合ってますか?(笑)

HA端子(JEM-A端子)の方はC1-C2間の電圧が不明なので、こっちは実機で調べるしかなさそうです。

■そんなワケで実験してみる

とりあえず回路全体はこんな感じでいいんじゃないかと思います。


今回はHA端子(JEM-A端子)側の実機が無くESP32側からフォトカプラまでの間しか実験できないので、左側が制御、右側がモニタという感じで作ることにしました。


そんでHome AssistantにはESP Homeアドオンがあります。それを使うと私のような初心者も拍子抜けするほど簡単にESP32を動かすことが出来ます。
ESP HomeアドオンのESP32の設定(.yaml)は以下のようにしました。
上半分は制御側を想定したものでGPIO32から出力します。HA端子(JEM-A端子)のC1-C2トリガーは200ms~300msで受け付けるようなので250msの出力としています。下半分はモニター側を想定したものです。

switch:
  - platform: gpio
    pin: 32
    id: relay
    name: "entrance_lock_toggle"
    icon: "mdi:gate"
    on_turn_on:
    - delay: 250ms
    - switch.turn_off: relay

binary_sensor:
  - platform: gpio
    pin:
      number: 33
      mode: INPUT_PULLUP
      inverted: true
    name: 'entrance_lock_status'

Home Assistantの方で"entrance_lock_toggle"をオンにするとGPIO32の出力が0.25秒間オンになってその後オフになります。
それをGPIO33が入力することで”binary_sensor.entrance_lock_status”もオフから0.25秒間オンになりその後オフになります。

■まとめ

大体これでHA端子(JEM-A端子)をハックして玄関ドアの電子錠を制御/モニタする目途は付いたと思います。
残る課題はHA端子(JEM-A端子)のモニター(M1-M2端子)の仕様が判らない点ですね。
考えてみると一応HA端子(JEM-A端子)はエアコンにも付いているので気合いさえあれば電圧くらいは調べられるはずですがエアコンは高いところにあるし面倒いなぁ。まぁ気が向けばやってみますか。
Home AssistantのESP Homeアドオンを使ったESP32の制御が私のようなド素人にも簡単お手軽だったので、他にも色々やってみたいと思います。

それでは。

Home Assistant: 電気錠付玄関ドアの制御(2) ~ESP HomeアドオンでESP32を試す~

Sympapaです。

家を建てる計画中ですが、YKK APとかLIXILの電気錠(スマートキー)付きドアをHome Assistantから制御したいと考えています。
Home Assistantと電気錠のインターフェースとして、もともとは日本の住設で使われているプロトコルである"Echonet Lite"を使おうと考えていました。
しかし、電気錠を”Echonet Lite”に対応させるには、電気錠のコントローラに付いているHA端子(JEM-A端子)にIP変換アダプタを繋いで変換をしなくてはならず、このアダプタが高価です。ってか、それ以前に"Echonet Lite"で電気錠をハックしているという実例がググっても見つからず、はたして初心者の私に出来るのかすらわかりません(汗


色々調べたところ電気錠のHA端子(JEM-A端子)は単純な2値でロックの制御とステータスの取得をしており、Raspberry PI ZeroとかESP32といった小さいマイコンを使って電気錠をハックしている例がいくつか見つかりました。
なので私もこの方法で電気錠の制御することにしたというのが前回の記事でのお話でした。


しかしマイコンという類のものはHome Assistantを使うために初めてRaspberry PI 4Bを買ったくらいのもんですし、GPIO(入出力端子)を使った電気工作とかはやったことがありません。
調べた結果、Home AssistantのESP HOMEアドオンを使うと簡単にESP32と連携できそうなので、ESP32を購入しESP HOMEアドオンを試してみることにしたというのが今回のお話になります。

■購入したESP32

ESP32はWi-FiBluetoothも使えUSB電源で駆動する小さいマイコンボードです。
1個1000円以下の安価なジェネリックボードがたくさんあるみたいですが、ジェネリック品はコンデンサを付けないと書き込みがうまくいかないという情報も多く、右も左もわからない私はEspressif純正のESP-WROOM-32D開発ボード ESP32-DevKitC-32Dを購入することにしました。
AmazonでLEDと抵抗がおまけで付いたものを2,420円で購入しました。ジェネリック品が2つや3つ買えそうな価格ですが、まぁ初めての購入ですしESP32を気に入ったら次はジェネリック品を買うって感じでいいかなと。
(でも後で調べたら純正ボードでも秋月電子で1300円くらいで買えますね。)

ちなみに他に一緒に購入したのは、オスオス,オスメス,メスメスが揃ったジャンパケーブルのセット500円くらい、タクトスイッチ150円くらい、ブレッドボード500円くらい、です。

■Home Assistant ESP HOMEアドオンの導入

ESP HOMEが何なのか良くわかっていませんが、公式ページによると「シンプルでありながら強力な構成ファイルによってESP8266 / ESP32を制御し、ホームオートメーションシステムを介してそれらをリモートで制御するシステムです。」だそうです。
esphome.io
Pythonで動くみたいですが、Home Assistantクラウドを運営している"NabuCasa"が開発しているだけあってHome Assistant用のアドオンが存在します。簡単にHome Assistant上からESP32を制御できるみたいなので今回はこのアドオンをインストールします。
esphome.io


1) 設定>アドオン>+アドオンストアと進みます。
2) 右上の3ドットボタン>リポジトリと進み、https://github.com/esphome/home-assistant-addonを追加します。
3) "ESP"で検索して"ESP Home"が見つかったらインストールしてアドオンを起動します。

5) Home Assistantが動いているRaspberry PIにESP32をUSB接続します。Wi-Fiの設定をしていないので最初はUSB接続しなくてはいけません。
4) WEB UIを開き、"+ NEW DEVICE"を押します。
6) 任意の名前(ESP32の個体を識別するための名前)、Wi-FiSSIDとパスワードを入力して"Next"を押します。今回は名前を"esp32-1"としました。
7)デバイスリストの中からデバイス(今回はESP32)を選んで"Next"を押します。
8)Configuration created!と表示されたら、更にInstallを押します。
9)接続方法を聞かれるので、"plug into the computer running ESPHome Dashboard"を選びます。

10)ESP32を接続しているUSBポートを選択します。”CP2102N”がESP32のUSBインターフェースです。
11)コンパイルと書き込みが始まります。数分かかるので待ちます。書き込み完了を明示的にお知らせしてくれませんが[api.connection:827]: Home Assistant xxxxx: Connected successfullyと表示されたら完了です。Connection closedと表示された場合はWi-Fiが接続されていませんが、たぶんESP32を再起動すればWi-Fiに接続されます。次回以降はWi-Fi経由でも書き込みが可能です。
12)設定>インテグレーション>+インテグレーションを追加 と進んで"ESP"で検索し"ESP Home"を選びます。ESP32のIPアドレスを入力し送信を押すとESP32がHome Assistantのデバイスとして登録されます。
これでESP Homeの導入とESP32の登録は完了しました。

Wi-Fiなどの基本設定だけが書かれた設定ファイル"/config/esphome/esp32-1.yaml"が出来上がっていて中身は以下のようなものです。
Wi-Fiの設定は"/config/esphome/secrets.yaml"の中に書かれています。

esphome:
  name: esp32-1

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "xxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-1 Fallback Hotspot"
    password: "xxxxxxx"

captive_portal:

■GPIO出力を試す

HA端子(JEM-A端子)とコントローラ(今回の場合ESP32)の間はフォトカプラを介して繋ぐということになっています。
下図はHA端子(JEM-A端子)とテレコントローラを繋ぐインターフェースユニット(=単にフォトカプラと抵抗やらを組み合わせたもの)の回路図ですが、TC1-TC2に電圧をかけることで電気錠の解施錠(トグル)が出来、TM1-TM2が短絡していることを何らかの方法で検出すれば「施錠」していることを知ることができるようです。


ということでまずは電気錠の制御の方を想定してESP32から出力する方法を試してみます。
電気工作の世界ではLEDを点灯、点滅させるLチカってやつが最初の第一歩らしいので私もLEDを点灯させてみます。
回路は(というほどのものではないけど)下図のような感じ。

ESP HomeのWeb UIを開くと登録したESP32が表示され、EDITを押すと設定のyaml編集画面に入ります。
とりあえずここに書かれていた"output"と"switch"を組み合わせた例のyamlを追加します。"Generic Output"という名前のスイッチで、GPIO32への出力をオンオフするというものです。
esphome.io

output:
  - platform: gpio
    pin: 32
    id: 'generic_out'
switch:
  - platform: output
    name: 'Generic Output'
    output: 'generic_out'


SAVEを押してINSTALLを押しESP32に書き込みします。接続方法は"Wirelessly"を選べばOKです。
Home Assistantのエンティティリストを確認すると”switch.generic_output”というswitchエンティティが出来上がっています。


このスイッチをオンにすると。。。

成功!LEDが光りました!
これを使いフォトカプラを介してHA端子(JEM-A端子)のC1とC2を短絡させれば、電気錠を解施錠できるはずです。

■GPIO入力を試す

次は電気錠をモニターすることを想定して、ESP32で入力する方法を試してみます。
電気錠がロックされている間はフォトカプラに印加されているので、上の回路図のTM1とTM2は短絡します。
これをESP32で検出するためこちらのページに載っていたESP HomeのGPIO Binary Sensorの例を試してみます。
内部プルアップ抵抗も有効にしています。
esphome.io

binary_sensor:
  - platform: gpio
    pin:
      number: 33
      mode:
        input: true
        pullup: true
    name: 'test_input'


Home Assistantに”binary_sensor.test_input"というバイナリセンサーエンティティが出来ました。


GPIO33とGNDの間に入れたタクトスイッチを押すと”binary_sensor.test_input"はオフになり、開放すると”binary_sensor.test_input"はオンになります。


オンとオフが逆のように感じますが、これはプルアップ回路を使っているからだそうです。プルダウンも試してみたのですが何故かうまくいきません(汗
まぁそこはこだわらなくても目的は果たせているし、"inverted: true"を追記すればプルアップのまま表示上のオンとオフを入れ替えることが出来るので深く考えないことにします(笑)
プルダウンとプルアップについても調べたのですが、そこも本題と関係ないので割愛します。

■まとめ

今回はHome AssistantのESP Homeアドオンを導入しESP32のGPIO出力と入力を試すという電子工作チックなことを試してみましたが、ESP Homeアドオンは初心者の私でもなんとかなりそうなすばらしい親切設計でした。

ESP32もいいですね!これでボタン電池で数カ月以上駆動したりしたら完全に無線でセンサーとか作れるのに・・・さすがに無理か。。。
実際にHA端子(JEM-A端子)と接続するにはフォトカプラー周りの回路を作らなくてはいけませんが、まぁここらへんは家を建ててからですかね。

それでは。つづく

Home Assistant: 電気錠付玄関ドアの制御(1) ~JEM-A端子を調べる~

Sympapaです。
家を建てる計画があるのですが、YKK APとかLIXILとかの玄関ドアの電気錠をEchonet Lite経由でHome Assistantから動かしたいという野望(?)があります。
前の記事では玄関ドアのEchonet Lite対応などについて色々調べました。
sympapa.hatenablog.com


しかし玄関ドアの電気錠をEchonet Lite経由でハックしたという情報はググってもさっぱり見つかりません。さすがにHome Assistant縛りはマイナー過ぎるとしても、Raspberry PIやらでハックしてるよ的な情報は少しくらいあってもいいはず。

ですがググってるうちに電気錠のHA端子(JEM-A端子)をハックした例がいくつか見つかりました。
玄関ドアの電気錠をEchonet Liteに対応させるには電気錠コントローラのHA端子(JEM-A端子)にIP/JEM-A変換アダプターなるものを取り付ける必要があるのですが、わざわざEchonet Liteに対応させなくても、そもそものHA端子(JEM-A端子)の仕組みが凄く単純でハックしやすいようです。
HA端子(JEM-A端子)をハックするのに比べてEchonet Liteを使ってハックするのは効率悪すぎなので誰もやってないってことなのかも。


まぁプログラミングも電子工作もチンプンカンプンな私ですが、それでも1mmくらい出来る気がしてきたので今回はそんなハナシです。

■HA端子(JEM-A端子)の仕組み

HA端子(JEM-A端子)の規格は「JEM 1427 : HA端子(JEM-A)」で規定されていて「この規格は,ホームオートメーションシステムに,制御及びモニタされる作動の状態が2値で表現できる端末機器を接続する際,制御信号及びモニタ信号の伝送に用いるHA端子について規定している。」だそうです。
規格の中身は有償なので見ていません(笑)
www.jema-net.or.jp


「2値で表現できる端末機器を接続する際」と書かれており、逆に言えば2値で表現できるものしか制御したりモニタすることが出来ない単純な仕組みだということですよね。電気錠は「施錠」or「解錠」の2値で表現できるのでなので、これが使われているし使えるということでしょう。


こちらのページによると、HA端子(JEM-A端子)はものすごく単純なようです。
図を引用させていただくとコントロール用の線が2本とモニタ用の線が2本の計4本、そして2値、たったのこれだけみたいです。

mtrx.jp


そして「端末機器とコントローラー間の信号の伝送はフォトカプラを通して行う。フォトカプラはコントローラー側に配置する。」と書かれています。
ということは、コントロール用のC1(高),C2(低)を所定の時間短絡させることで電気錠をトグルで解施錠する命令を送ることが出来、モニタ用のM1(高),M2(低)に電圧が来れば電気錠が「施錠」されていることを知ることが出来るってことですよね。


モニタ信号の電圧電流が不明ですがLIXILの電気錠コントローラの取説より引用させていただくと15V/6mAだそうです。
●モニタ信号
・施錠時 M1端子がHigh(M1-M2端子間に15V/6mA)
・解錠時 M1端子がLow(M1-M2端子間に0V)
●制御信号
・C1-C2端子間に0.2~0.3秒の無電圧a接点入力(短絡)
で電気錠が反転動作
※反転動作とは施錠中は解錠、解錠中は施錠する動きのことです。


YKK APの方の電圧電流の仕様は見つけられませんでしたが、そう大きくは違わないんでしょうし、どのメーカーの玄関ドアになるにせよ現物で実測することになるので事前情報としてはこれで十分かな。

■さて

しかしこれってモニタするだけなら、フォトカプラーとドア開閉センサーを組み合わせればド素人の私でも、あっという間に無線でHome Assistantに接続できるシステムが作れるほど単純です(汗)
前に作ったこれの応用でリレーを換えるだけです。
sympapa.hatenablog.com


制御の方は「0.2~0.3秒の無電圧a接点入力」ということなので、こちらはプログラミングが出来ない私にはハードル高めです(汗)
ESP32とかちっこいラズパイなどWi-FIに繋がるマイコンを壁の中に仕込んで制御すればいいんだと思いますが出来るかな?
「0.2~0.3秒の無電圧a接点入力」の方はフォトカプラーやリレーを挟む前提なら、LEDを点滅させるみたいな例はググればいくらでも出てくるのでなんとかなりそうです。
問題はHome Assistantとのやり取りですね。ESP32を使えばHome AssistantのESP Homeインテグレーションを使って簡単に出来るのかなぁ。それともMQTTでやりとりするようにしたらいいんかなぁ。
さっぱりチンプンカンプンです。
でも、定価ウン万円もする電気錠をEchonet Liteに対応させる変換アダプターを買わなくて良いことがわかったので頑張ります(笑)


それでは。
これは絶対に「つづく」ですね(笑)

家を建てる計画: 電気錠(スマートロック)付玄関ドアを調査する

Sympapaです。

家を建てる計画中ですが何を重視するかが定まらず迷走中です(汗

そんな中で色々とモデルルームや建売や新築の内覧をしてきましたが、玄関ドアの電気錠はかなり一般化していてほとんどの家に電気錠付玄関ドアが採用されています。
私が現在住んでいる家も後付けスマートロック"Qrio Lock"で玄関の鍵をスマート化しているので、新しい家でも電気錠付ドアを採用したいしIoT化したいところです。
まぁ後付けの方が出来ることが多いし安価なんですけどダブルロックを2つ制御することを考えると内臓電気錠に分があります。
見た目もすっきりのがいいですよね。

そんなワケで今回は、電気錠付玄関ドアを調査したハナシです。

■最初に

私が電気錠付玄関ドアに求めることは以下の3つです。

  • リモコン等を取り出さずにボタンひとつで解錠できること。可能であればボタンすら押さなくていいハンズフリー解錠が欲しい。
  • オートロック機能があること。
  • Echonet Liteに対応していること。


色々と家を見学した結果、玄関ドアはYKK APLIXILを採用している家がほとんどだと思います。
そんなワケでこの2社の玄関ドアについて「帰宅時の解錠方法」「オートロックを含む機能」「メーカー独自のIoTシステム」「Echonet Lite対応」という4つの視点で調査しています。
※Echonet Liteは日本の住設のネットワークプロトコルです。
ざっくりとした概要は下記のとおりで、2社とも欲しい機能は網羅していそうです。

  • 2社とも帰宅時にリモコンを持った状態でドアのボタンを押すと解錠できる仕様が標準的。
  • LIXILは電気錠の仕様により、YKK APは顔認証オプションを付ければハンズフリー解錠もできる。
  • 2社ともオートロックや解錠してドアを開けなかった場合の再施錠など基本的な機能は揃っている。
  • 両者とも電池仕様と100V仕様があるが、IoTやEchonet Liteに対応させるには100Vが必須となる。
  • YKK APのIoTシステム"Mimotto"はドアや窓に特化したものでサブスク。LIXILのIoTシステム"Life Assist 2"はEchonet Lite対応の他社製品も含めた住設を統合できる。
  • 2社ともEchonet Liteにはアダプターを付ければ対応する。特定のパナソニックアイホンのスマートビデオインターホンを繋げばアダプター無しでEchonet Liteに接続可能。


それにしてもEchonet Liteを介してメーカー製のコントローラ以外のシステム(ラズパイとか)から電気錠を制御している例はググっても見つけられません。
試したところEchonet Lite家電シミュレータの電気錠ならHome Assistantから制御できているのですが、実際にはセキュリティ認証があったりして一筋縄ではいかないのでしょうか?それともEchonet Lite自体が流行っていないだけかも(笑)

YKK AP

YKK APの玄関ドアは「プロント」「ヴェナート D30」「イノベストD50」「イノベストD70」の4グレードがラインナップされていて、全て電気錠に対応しています。
www.ykkap.co.jp

YKK APはドアに関わらず電気錠とスマート化の対応は共通のようです。大別すると「ポケットキー」仕様と「ピタッとキー」仕様の2仕様があり、それぞれに顔認証システムなどのオプションを取り付けることが可能なようです。
www.ykkap.co.jp


◆帰宅時の解錠方法

「ポケットキー」仕様は「ピタットキー」仕様より上位で、「ポケットキー」仕様には「ピタットキー」仕様の解錠方法を含んでいます。

  • ポケットキー:リモコンをカバンやポケットにしまっておいてもドアのボタンを押せば解錠できます。
  • ピタットキー:タグキーみたいなのをドアにタッチすれば解錠できます。NFCタグみたいなシールのオプションもあります。
  • 顔認証(オプション):顔認証システムオプションを取り付けると顔認証によるハンズフリー解錠ができます。認証の時間はどんなもんかな?
  • スマホアプリ:Bluetooth接続により専用アプリ"スマートコントロールキー"上で操作すれば解施錠できます。


ハンズフリーで解錠できるのは顔認証システム導入時のみとなりますが、ハンズフリーじゃなくても、ポケットキーを持っていればドアのボタンを押すと解錠できるのでこれで十分な気がします。
ポケットキー仕様の場合、標準でリモコンキー×2個、タグキー×3個が付属しているそうです。
ちなみにポケットキー用のリモコン(非常用収納鍵なし)を追加で買うと27,500円もします(汗)

◆帰宅時の解錠以外の機能(各仕様共通)

  • 専用アプリでドアの設定やキーの管理ができる
  • オートロック機能(オンオフ可能)
  • タイマー施錠機能(25秒、50秒に設定可能)
  • リモコンのスリープ機能:リモコンが静止しているとスリープしドア外側のボタンで解錠できなくなる。
  • 置き忘れ防止機能:玄関付近にリモコンが放置されていることを警告する機能。

我が家では現在は玄関の下駄箱に鍵を保管しているのですが、電気錠付ドアを採用するとドア外側のボタンで解錠できてしまうので保管場所を玄関から距離のある場所に変えなくてはいけませんね。
でも一応、リモコンのスリープ機能によってリモコンを静置している間は無効化されるようになっているようです。

◆独自のIoT対応

YKK AP独自のIoTシステムとして"Mimotto(ミモット)"があります。
webcatalog.ykkap.co.jp

専用のインターフェースユニットを導入しサブスク契約することで、同社の玄関ドアの電気錠、窓のクレセント錠、勝手口の鍵をIoT化できます。(窓と勝手口はオプションのセンサー要)


出来ることは以下のとおりでドアと窓に特化したものです。

  • アプリで解施錠状態を確認。
  • 玄関ドアの解錠通知。
  • GPSにより家から一定距離離れたところで解錠されていると通知。

調べてもこのサービスで「玄関ドアを遠隔で解施錠できる」と書かれていないのですが通知するだけ???
そしてAlexaには対応していますがGoogle Homeには対応していません。


Mimotto用インターフェースユニットの定価は52800円。サブスクは500円/月です。
窓のクレセントセンサーでさえ24,200円もします。
更に玄関ドアの操作盤付ユニットがMimotto対応のYS-KAG B7でなくてはいけません。標準の操作盤付ユニットYS-KAG B3(HAコネクタ、増設操作盤コネクタ)の定価が15,000円であるのに対しMimotto対応のYS-KAG B7は定価が42,000円で差額27,000円です。
半額で見積もっても”Mimotto”を導入するにはイニシャルで40,000円上乗せ、更に500円/月のサブスク、そして同社のドアと窓にのみ対応というなかなかコスパの低いシステムとなっています。

◆Echonet Lite対応

当然ながらEchonet Liteに対応しています。
www.ykkap.co.jp


操作盤付ユニットYS-KAG B3(HAコネクタ、増設操作盤コネクタ)あるいはその上位機種であるYS-KAG B4,YS-KAG B7と、IP/JEM-A変換アダプター又は特定のパナソニックアイホンのスマートビデオインターホンの導入が必要です。
YS-KAG B3の定価が15,000円、パナソニックのIP/JEM-A変換アダプターHF-JA2-Wが定価¥35,200。

LIXIL

LIXILは電気錠のラインナップが4種類あります。「FamiLock」「システムキー」「タッチキー」「カザスプラス」です。
なんだか4つもあってややこしそうですが、大別すると「FamiLock」と「それ以外」に分かれ、玄関ドアのラインナップの内「玄関ドアDA」は「FamiLock」に対応し、「それ以外」のジエスタ2などは「システムキー,タッチキー,カザスプラスの3仕様から選択」できます。「それ以外」の3仕様の中のグレードはシステムキー>タッチキー>カザスプラスという順となっており上位仕様には下位仕様の解錠方法が含まれています。
www.lixil.co.jp

◆FamiLockの帰宅時解錠方法

  • リモコンキー(オプション):リモコンをカバンやポケットにしまっておいてもドアのボタンを押せば解錠できます。
  • カードキー:カードキーをドアにタッチすれば解錠できます。キーホルダー型タグのオプションもあります。楽天Edyカードも登録できるそうです。
  • スマホをタッチ:おサイフケータイを登録しタッチすることで解錠できます。
  • スマホによる認証:専用アプリ"My Entrance"を入れたスマホを持っているだけでドアのボタンを押すと解錠できます。

ちなみにFamiLock用のリモコンキーは14,300円です。


スマホさえポケットに入れておけばボタンを押すと解錠できるという素晴らしい機能がありますが専用アプリ"My Entrance"の評価が低すぎます。低評価の理由は大半が「接続せず解錠できない時がある」というものなのでたぶん使いモンにならんのでしょう。

◆システムキー,タッチキー,カザスプラスの帰宅時解錠方法

上でも書きましたが3仕様の中のグレードはシステムキー>タッチキー>カザスプラスという順で上位仕様には下位仕様の解錠方法が含まれています。

  • システムキー:システムキーリモコンが玄関ドアに近づくとハンズフリーで解錠されます
  • タッチキー:タッチキーをカバンやポケットにしまっておいてもドアのボタンを押せば解錠できます。
  • カザスプラス:カードキーをドアにタッチすれば解錠できます。キーホルダー型タグのオプションもあります。楽天Edyカードも登録できるそうです。
  • スマホをタッチ:おサイフケータイを登録しタッチすることで解錠できます。
  • 暗唱番号[システムキーのみ]:システムキー仕様のみ「シークレットキー」という暗唱番号キーボードのオプションがあります。

システムキーによる「ハンズフリー」解錠はなかなか魅力的です。価格差次第では導入したいところですね。
システムキーの場合、キー付リモコンタイプを選ぶと標準で3個のリモコンが付くそうです。
ちなみにシステムキーとタッチキー用のリモコンはオプション購入すると定価9,900円です。


◆帰宅時の解錠以外の機能(全仕様共通)

  • オートロック機能(オンオフ可能)
  • タイマー施錠機能(30秒)
  • リモコンのオートスリープ機能:リモコンが静止しているとスリープしドア外側のボタンで解錠できなくなる。

リモコンの登録がアプリで出来ないんだろうか?調査不足かもしれませんが。ちょっと不便な気がします。

◆独自のIoT対応

LIXIL独自のIoTシステムとしてLife Assist 2があります。
LIXILYKK APと違って住設の総合メーカーなので、Life Assist 2は様々な機器を統合し制御できるシステムとなっています。Life Assist 2から玄関ドアの解施錠も可能です。
AlexaとGoogle Homeにも対応。
玄関ドアとLife Assist2の接続はEchonet Liteを使用するようでIP/JEM-A変換アダプター又は特定のパナソニックアイホンのスマートビデオインターホンの取り付けが必要です。パナソニックのIP/JEM-A変換アダプターHF-JA2-Wが定価¥35,200。
Life Assist2を使用するにはホームデバイスという定価55,000円のハードを購入する必要がありますがサービス使用料はかかりません。
parts.lixil.co.jp

◆Echonet Lite対応

そもそも上で書いたLife Assist 2への接続もEchonet Liteなので当然Echonet Lite対応です。
Echonet Liteに対応させるには100V仕様でかつ、IP/JEM-A変換アダプター又は特定のパナソニックアイホンのスマートビデオインターホンの導入が必要です。パナソニックのIP/JEM-A変換アダプターHF-JA2-Wが定価¥35,200。

■まとめ

基本的にはYKK APLIXILともにどの玄関ドアを選んでも電気錠の仕様やオプションで「帰宅時にリモコン等を取り出さなくてもボタンだけで解錠できる」「オートロック機能がある」「Echonet Liteに対応できる」という3つの要求を満足できそうです。
YKK APの方はアプリでリモコンの登録などの管理が出来る点、LIXILはシステムキーを選べばハンズフリー解錠出来るのがグッドポイントでしょうか。
IoT化の方はIP/JEM-A変換アダプターを付ければいずれもEchonet Liteに対応させられるので、一般的には各社のHEMSコントローラを使用してIoT化した方が良さそうですね。
YKK APLIXILどちらを選んでも問題なさそうなのでドアとしての本来の性能とデザインと価格で選べばよいと思いましたが、IoT化という観点ではLIXILの方が情報が多い気がします。あとはYKK APはオプションが高い印象。。。


私はHome AssistantからEchonet Liteを介して制御できるようにしたいと思っています。
エアコンであれば実際にこんな方法あんな方法でHome AssistantからEchonet Liteを介して制御出来ていますし、シミュレータの電気錠も制御できています。
でもリアル電気錠をEchonet Liteを介してハックしている例はググっても見つけられないので、実際はセキュリティ的に接続に認証が必要だったりするのかな。
まぁEchonet Liteで電気錠を制御するのが無理だったとしても電気回路的にさほど難しくはないようで、ちっこいラズパイのGPIOと玄関ドアのコントローラを繋いでなんとかしている人もいるので、まぁなんとかなるんでしょう(笑)

それでは。

スマートホーム: Yeelight シーリングライト YLXD024 レビュー

Sympapaです。
家を建てる計画があるのですが、リビングの照明をイマドキっぽくダウンライトにするか、ひと昔前に主流だった丸いシーリングライトをメインの照明にするかで悩んでいます。
ダウンライトは見た目がスッキリしてオシャレに見えますが、スポット的にしか照らさないので数が多くなり天井が穴だらけになるのが悩んでいる理由のひとつめ。
そしてダウンライトをたくさんつけたとしても壁を照らさないので暗く感じるし、寝っ転がって天井を見ると眩しいしで果たしてリビングの照明としてどうなのかと思っているのが悩んでいる理由のふたつめです。


そして、ダウンライト、シーリングライトいずれを選ぶにしても「照度」と「色温度」が調整出来てHome Assistantから制御出来るものにしたいと考えています。
ダウンライトのことはまた別の機会に書くとして、シーリングライトの場合は赤外線リモコンが付属しているものであれば、Neture RemoなどのスマートIRリモコンを介してHome Assistantから操作することが出来ます。しかしHome Asssistantからシーリングライト側のステータスは取得出来ません。
そんなワケで今回はWi-Fi接続し「照度」と「色温度」の調整やステータス取得がアプリやGoogle HomeやAlexaから出来て、更にHome Assistantにも対応可能なスマートシーリングライト”Yeelight YLXD024"を購入したのでレビューしたいと思います。
家を建てる前なのに購入するのはアレかなと思いましたが、新しい家でリビングの照明としては使わなかったとしても他の部屋に使えますし、照明を決める上では先に買った方が良いと思い購入しました。

■Yeelight YLXD024の仕様

Yeelightは中国のスマート照明メーカーでXiaomi系の企業です。中国のスマート家電メーカーとしては珍しく(代理店を通じてですが)日本で正規販売しています。
今回購入したシーリングライトAmazonでも売っているYLXD024です。
japan.yeelight.com

8畳用で10,000円くらい。Yeelightのスマート電球はかなりコスパが高いのに対し、スマートシーリングライトアイリスオーヤマ製とか+Style製と似たような価格となっていますが、アイリスオーヤマ色温度が固定だし+Styleも色温度の範囲が狭く実質色温度が調整出来ないので、そういう意味ではYeelightが若干コスパが良いかもしれません。あとYeelightはローカルAPIが使えるのがメリットです。
モデル名をググっても日本語以外のサイトではヒットしないので日本専用モデルである可能性が高いと思われます。


【製品仕様】
型番:YLXD024 (8畳タイプ)
専用アプリ:Yeelight
外形寸法:約hφ480× 90mm(スポンジ含まず)
重量:約1.3kg
消費電力:40W
全光束(lm):4700lm
発光効率:115.0lm/W
色温度:3000-6500K
平均演色評価数(Ra):80以上
付属品:アダプター×1/リモコン(コイン電池入り)×1
ご使用に際して:※ご利用にはWi-Fi無線LAN)環境が必要です。 2.4Ghz帯(IEEE 802.11 b/g/n)対応

■本体

「通常モード」と「除夜灯モード」があります。
たくさんのLEDが丸く配置されたタイプですがカバーを付けると割と均一に光ります。


見た目は丸みが抑えられていて少しエッジがあるので購入前も「ちょっとは野暮ったさは少ないかな?」と思ったのですが、まぁ下から見ると普通のシーリングライトです。


-通常モード
照度は無段階、色温度は5段階(最低3000K, 最大6500K)で調整できます。
最大の明るさにすれば8畳の部屋に使用するには十分すぎる明るさです。
ただYeelightの電球もそうですが、色温度が最低(3000K)の時の色味が赤っぽくてあまり綺麗じゃありません。
それより気になるのは最低照度にしてもがっつり暗くならない点です。除夜灯モードではかなり暗くなりますが通常モードの最低照度と除夜灯モードの間にはかなりのギャップがあるので、通常モードでもっと暗くできるようにして欲しかったところです。


-除夜灯モード
除夜灯モードは暖色でかなり暗く光ります。全体が暗く光りお月様みたいな雰囲気で良きです。
除夜灯モードも除夜灯といえる暗さの範囲で照度の調整が出来ますが色温度は変えられません。

■リモコン

厚さ10mm程度、長さ125mm程度のリモコンが付属しています。
すっきりしたデザインはいいんですが、個体の問題なのか表面のマット感にムラがあってチープ感が増しています。でも写真にムラが写らなかった。(汗)


リモコンでは照度が4段階、色温度が4段階の調整となります。最初は「明るさは無段階調整じゃないのか」と思いましたが、操作性を考えるとリモコンはこれくらいが良いと思いました。明るさはリニアな変化ではなく1%, 10%, 40%, 100%のステップで変化するのも痒いところに手が届く感があって良きです。

リモコンの通信はBluetoothなんですが、ペアリングは本体の主電源を入れた直後にリモコンの「除夜灯」と「30分」のボタンを同時に長押しするという方法です。壁スイッチの無い和室なんかの照明として使うとペアリングする作業はなかなか難しい鬼仕様です(笑)
アプリからもペアリングモードに入れるようにして欲しいなぁ。

■アプリ

アプリについては過去のYeelightの電球のレビューにチラっと書いたので割愛します。
時刻を指定した点灯とかシーン作成とかシーケンスを組むとか思いつくことは大抵出来ると思います。
ただ、照度や色温度の設定を点灯させずに裏で変えることが出来ないので、手動(あるいは人感センサー等により外部から自動)でオンにした時の明るさや色温度を時間帯によって自動で変えることが出来ません。それをやろうとすると指定の時刻に一旦自動で点灯して照度と色温度を変えてすぐにオフにするシーケンスを組むことになり、指定の時刻に一旦点灯してしまいます。まぁPhilips Hueのアプリでも同じですが。
Home Assistantであれば、点灯する時に時刻をチェックしてそれを条件に照度や色温度を変えることが出来ます。

Google Home対応

Yeelightのアカウントを連携すればGoogle Homeから操作できます。
今のところ使用できることを確認できた音声操作は以下のとおりです。

  • 電気を つけて/消して
  • 電気を 明るくして/暗くして(50%くらい未満では15%単位、50%くらい以上では30%単位?)
  • 電気の明るさを〇%にして
  • 電気を 白熱灯(電球色)/クールホワイト (白色)/昼白色/アイボリー/昼光色にして

アプリやNest HUB上ではクールホワイト/昼白色/ウォームホワイト/アイボリー/白熱灯/キャンドルライトの6色が表示されますが、この内、ウォームホワイトとキャンドルライトの2色には非対応のようです。画面からの操作では非対応のウォームホワイトとキャンドルライトを選ぶといずれも白熱灯になりますが音声操作の場合は「対応していません」と言われます。
一方、音声操作の場合、アプリやNest HUB上では表示されない「昼光色」が使えます。なので音声操作だと5色を呼び出せることになります。
また今のところ除夜灯にする音声コマンドは見つかっていません。これは欲しい気がしますね。

■Home Assistantで使う

YeelightはローカルAPIが使用でき、ローカルでHome Assistantから制御出来ます。
Home Assistant自体に標準でYeelightインテグレーションが用意されていますが、今回購入したYLXD024は色温度が3000K-6500Kの範囲なのに対してHome Assistant標準のYeelightインテグレーションでサポートしている全てのシーリングライト色温度は最低2700Kなので、色温度を調整するスライダーを色温度最低付近にすると3000Kを下回ってしまいエラーが発生しました。

自力で設定が必要になりましたがHome Assistant標準のYeelightインテグレーションの中身を弄るのは困難なので、Yeelightのカスタムインテグレーション(というか標準インテグレーションのがベースみたいですが)をインストールして設定を弄ることにしました。
github.com


1)HACSのインストール
SSHアドオンを起動してHACSダウンロードスクリプトを実行するだけです。たぶんインストール後に再起動が必要だと思います。

wget -O - https://get.hacs.xyz | bash -

2)HACSを起動して"Integlations"を開きます。

3)右上の3ドットボタンを押し、"Custom repositories"を押して
https://github.com/ykmn/hacs-yeelight_v2を追加します。

4)HACSのメイン画面に戻り、右下の"Explore & Download repositories"を押し"Yeelight"で検索します。

5)"Yeelight_v2”が見つかったら選択して、"Download this repositories with hacs"を押します。

6)ダウンロードが終わったら指示に従ってサーバを再起動します。

7)設定→インテグレーションと進み、右下の”インテグレーションを追加"を押して"yeelight_v2"を検索し"yeelight_v2"を選びます。

8)YLXD024のIPアドレスを指定してセットアップを進めます。モデルはとりあえず適当に”Ceiling4"とかを選んでおきます。

9)このままでは、Home Assistant上のスライダーで色温度を最低付近にするとエラーが出ます。
デフォルトで登録されているシーリングライトは全て最低の色温度が2700Kであるのに対しYLXD024の最低は3000Kであるため、3000Kを下回った時にエラーが出るようです。
ファイルエディタで"/config/custom_components/yeelight_v2/python_yeelight/yeelight/main.py"を開きます。
各モデルの設定が記述されているので、新しいモデルとして以下の記述を追加するか、どうせ使わないモデルの照度範囲を編集するかします。私は"ceiling24"というモデルとして追加しました。

   "ceiling24": {
        "color_temp": {
            "min": 3000,
            "max": 6500
        },
        "night_light": True,
        "background_light": False

7)再び設定→インテグレーションと進み、YLXD024を設定済みのyeelight_v2を開いて"設定"を押します。

8)モデル名を6)で設定したものに変更して”送信"を押します。

これでスライダーを一番右(最低色温度)にしてもエラーが発生しないようになりました。


エンティティは3つで「通常モード」と「除夜灯モード」は別々のlightエンティティとして扱われます。


「通常モード」と「除夜灯モード」をバラバラに操作するのはスマートじゃないので、Home Assistantのダッシュボードでは「通常モード」と「除夜灯モード」のカードが自動で切り替わるようにしてみました。


あとはHome AssistantのlightエンティティとGoogle Homeとの連携ですね。
使える音声コマンドは上で書いたYeelightのアカウントをGoogle Homeと連携させた場合と変わらないようです。
「除夜灯モード」もGoogle Homeから照明として扱われるので「通常モード」と「除夜灯モード」の両方の場所を同じ部屋に設定すると「電気をつけて」で両方オンにしようとするためおかしなことになります。
なので「除夜灯モード」のlightエンティティはGoogle Homeへ公開せず「除夜灯モード」をオンオフするswitchを作成し、このswitchをGoogle Homeと連携させることにしました。
「通常モード」のlightエンティティと「除夜灯モード」をオンオフするSwitchエンティティをGoogle Home上で同じ部屋へ置き、「除夜灯モード」をオンオフするSwitchエンティティに「ナイトライト」という名前を付けました。(何故か「除夜灯」という名前を付けて「除夜灯をつけて」というと、「夜間モードをオンにするには夜間モードをオンにしてって言えと言われてしまいました。)
これで「電気をつけて」で通常モードでオンになり、「ナイトライトをつけて」で除夜灯モードとなり、「電気を消して」でいずれのモードからも消灯します。

■まとめ

Yeelight シーリングライト YLXD024のレビューとHome Assistantでの設定について書いてみました。
通常モードで最低照度にした場合にそこまで暗くならない点が気になりますが、基本的な機能や性能には満足しています。
Home Assistantでも通常モードと夜間モードの切り替えに多少工夫が必要ですが、満足のいく連携が出来ます。
見た目がもっと洗練されていれば新しい家のリビングのメイン照明にしたいところですが、ちょっと野暮ったいかなぁ。

それでは。

家を建てる計画: イマドキの新築は照明スマート化のハードルが高い!?

Sympapaです。
家を建てようかと思い始めて3ヶ月くらいが経ちました。その間、20軒くらいのモデルハウスや建売住宅の見学、新築の内見に行きました。
家自体は耐震、断熱、気密といった性能は昔と比べて著しく向上しているのだろうしデザインも素敵になっていますが、ガジェオタ的には、記録媒体がカセットテープからCDを経てHDDも経て半導体となり挙句の果てにクラウドになってしまったオーディオシステムなんかと比べると、家の進化は小さいように思えてしまいます。まぁ目に見えない部分だからそう思うだけで技術は進化しているのでしょうけど。
一方で、電気で動く住設はIoT化や自動化が進んでいて未来を感じます。
中には「それIoT化する必要ある?」ってものもありますが、玄関ドアの電気錠、自動洗浄トイレ、自動で沸かせて自動洗浄できるお風呂は欲しいしHome Assistantから制御できるようにしたいなぁ。。。
一条工務店の水冷PCみたいな床暖(笑)にはめっちゃ未来を感じました(笑)


一方で最近の家はスマート化するのが厄介だなぁと思ったことがありました。
それは照明です。
今時の家の照明は廊下やトイレはもちろんLDKもダウンライトが主流で、LDKにシーリングライトが使われていた家は20軒ほど見た中で安めの建売1軒だけでした。ダウンライトは見た目がスッキリしていてオシャレに見えるので主流なんでしょうね。
しかしダウンライトは照らせる範囲が狭いのでLDKには10個以上のダウンライトが付いているのが当たり前。更に付いていたダウンライトはどれもLED一体型でした。

一方、ダウンライトではない玄関外のポーチ照明や階段照明などブラケット型の照明もLED一体型が主流のようです。
この時点でPhilips Hueなどのスマート電球は使えないかもと思い、今時の家は照明のスマート化はハードルが高いと感じました。

■照明をどうスマート化したいのか?

現在住んでいる家では、玄関のポーチ灯、玄関、廊下、階段、トイレの照明を、Home Assistant+人感センサー+スマート電球で自動化しています。少なくとも通過する通路の部分とトイレは自動化したいんですよね。
この中でトイレ以外については照明がLED一体型であっても住設メーカーの人感センサー付器具を設置することで実現はできそうです。照明とセンサーが一体型のものもあればスイッチに人感センサーが付いたこんなのとかもありますがAmazon価格で7,000円くらいと結構お高いのが問題ですねぇ。

トイレに関しては「ウ〇チをしている最中にじっとしてても消えない」ようにしたいんですが単純な人感センサーによるオンオフでは実現できないので、なんとかHome Assistantで制御したいところです。


そして、現在の我が家のLDKの照明はリモコン付きシーリングライトです。こちらはNature Remoを使ってGoogle Homeでの音声操作やHome Assistantのダッシュボードからの操作を可能にしています。
新しい家のLDKの照明は「照度」と「色温度」も調整できるものにしたく、更にHome Assistantのダッシュボードから「照度」や「色温度」を制御できるようにしたいところです。

■ダウンライトの課題

ダウンライトには色々な課題があります。
まずPanasonicなどの住設メーカー品のLED一体型ダウンライトで「照度」「色温度」が調整できるものを設置し更にスマート化させようとしたらとてつもなく高価で、かつ「照度」や「色温度」の制御までHome Assistantに対応させられる可能性は低いです。(Echonet Liteで出来るのかもしれませんが)


最初は「電球ソケットタイプのダウンライトにして、Philips Hueなどのスマート電球を付けたらいいよね」と思っていました。しかし調べたところ、そもそもLED一体型が主流なので電球ソケットタイプの灯具の選択肢は少なそうです。

そして天井の上に断熱材がある場合は熱が籠るので、断熱材施工対応の器具を設置する必要があるようです。しかし断熱材施工対応の電球ソケットタイプの器具は調べても見つかりません。仮にあったとしても、そこへ取り付ける電球も断熱材施工対応でなければならず、それに対応していると明記されたスマート電球は調べた限り無さそうです。
天井断熱ではなく屋根断熱であれば断熱材問題はクリア出来そうですが、それを基準にハウスメーカー工務店を選ぶのはアレですしね。。。


じゃあ天井断熱の家を選んだ場合、断熱材のある2階はスマート電球の使用を諦めるとして「断熱材の無い1階なら電球ソケットタイプのダウンライト付けられるよね?」と思ったわけですが、そもそもダウンライトは天井に穴を空けるので気密性が損なわれやすく、天井とダウンライトの間にパッキンを設けて隙間対策をした「高気密型」のダウンライトというものが存在するそうです。
そもそも1階の天井なら気密を考えなくても良い気がしますが、隙間があるとダウンライトの熱で上昇気流が発生しそれに引っ張られて1階の空気が天井裏に流れるので冷暖房の効率が下がったり、天井裏が暖かくなってカビなどが発生しやすいとか埃が溜まるとか、ダウンライトの周囲が汚れてくるといったハナシも。。。
調べるにつれダウンライトって見た目以外はデメリット多いのかな?と思えてきました。
そもそも「光」という観点でスポット的にしか照らさないダウンライトはリビングには向いていないような気もします。
あ、スマート化からハナシが逸れてますね(笑)
シーリングライトなら気密問題とか熱問題は考えなくていいし「照度」「色温度」が調整できてHome Assistantから制御できる灯具もあります。
japan.yeelight.com

ですが、やっぱり今時の家をたくさん見てきた目で見るとシーリングライトは見た目が野暮ったいと思ってしまいます。悩む~。

■ダウンライト以外の課題

玄関、トイレからLDKまでダウンライトが主流なわけですが、今時の家でも玄関先や階段の照明なんかは壁に取り付けるタイプの灯具が使われていることが多いです。

オシャレなデザインのものがたくさんラインナップされていますが、こちらもまたLED一体型が主流で電球ソケット式のものは選択肢が少なすぎる状況です。まぁLED一体型だと小型化や薄型化出来るしデザインの自由度が高くなるので仕方ないですけどね。
さすがにこの状況だと階段や玄関先の灯具はLED一体型のものを選び、スイッチをスマート化するか人感センサー化した方が良さそうです。
しかし住設メーカーのスマートスイッチはスイッチが高価なだけじゃなくて高価なアダプタも導入しなければいけません。
例えばPanasonicのADVANCEシリーズ リンクプラスのニュートラル線不要2回路タイプのスイッチはAmazonでの価格が約18,000円。更にこのスイッチが使用する電波は特定小電力(920MHz)でその無線アダプタが必要で約25,000円。
玄関先と階段の照明のスイッチだけをこれにするとしても60,000円超えです、震えます(汗)
でも無線アダプタはEchonet Lite対応なのでHome Assistantからのオンオフはなんとかできそうですね。
www2.panasonic.biz


中華のスマートスイッチにすればスイッチひとつ3,000円くらいで済みますが、ハウスメーカー工務店さんが持ち込み機器を許容してくれてもコレを付けて欲しいとは頼めないので、後から電気工事士の資格を持った知人に交換して貰わなくてはいけません。まぁそこはいいとしても中華製のスイッチを壁の中に入れるのは何となく怖いですね(汗)
sympapa.hatenablog.com


■そんなわけで

今時の家は照明のスマート化のハードルが高いねというお話でした。
高いお金を払ってPanasonicのスマートスイッチを入れればEchonet Lite経由でHome Assistantからオンオフは出来るはずなので一番話は早そうですが、それでも「照度」「色温度」の調整をHome Assistantから実行するのは無理そうかな。


まぁそんなワケですが、まずは家をどこのメーカー,工務店で家を建てるのかを決めないとですね。
これがまた、どこのメーカーや工務店もそれぞれ良いところ、悪いところがあってめっちゃ悩んでいます。
本末転倒な気がしますが、最後はスマートホーム化に理解を示してくれるところを選ぶって方法もアリっちゃアリのような気がしてきました(笑)

それでは。