Sympapaのスマートホーム日記

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

新居のスマート化: YKK AP玄関ドア電気錠をHome Assistantでオートロック化する(1)

Sympapaです。

新居の玄関ドアには工務店の標準仕様であるYKK APのヴェナートD30を採用しました。
電気錠はリモコンを持っていれば帰宅時にドアノブに付いたボタンを押すだけで解錠できるリモコンキー仕様です。
Home Assistantと連携したいので100V仕様にしてJEM-A端子が付いている操作盤YS KAG-B3を導入しました。


しかし、電気錠の仕様に関しては私の大きな勘違いがありました。
家を建てることを決めた方なら誰しもそうだと思いますが、ハウスメーカー工務店を決める過程でたくさんのモデルハウス見学や内覧会に行きました。
そこで色々と玄関ドアをみたわけですが、何故か電気錠にはどのメーカーのものでも「屋内側にも解施錠ボタンが付いている」と思い込んだんですね。
そして更にネットでLIXIL玄関ドアの電気錠の仕様をみて何故か「YKK APの玄関ドアにもオートロック機能がある」と思い込んでいました。


しかし我が家に取り付けられた玄関ドアは屋外側には解施錠ボタンがついていましたが屋内側には解施錠ボタンが無く、オートロック機能も帰宅時に機能するものはありましたが外出時に機能するものはありませんでした。初めて気づいた時はボーゼン。。。
もう少し詳しく書くと、帰宅時に外側から解錠する時は「ポケットキーとかリモコンキー(を所持した状態でのドアノブについているボタン操作)でワンタッチ解錠可能」、帰宅時に内側から施錠する時は「上のサムターンを回せば下の鍵も施錠されるしオートロック機能も使える」、外出する時に内側から解錠する時は「サムターン2個を回す必要がある」、外出する時に外側から施錠する時は「ポケットキーとかリモコンキー(を所持した状態でのドアノブについているボタン操作)でワンタッチ施錠が可能だがオートロック機能は無い」という仕様になっていて、外出する時にはサムターンを2個回して解錠しなければならずオートロック機能はないということになります。
どうもYKK APさんは利便性よりも「締め出し(による対応増加や苦情の)防止」を優先していそうな感じです。お堅いですねぇ。
YKK-APの電子錠の仕様に関してはこの記事で書いています。
sympapa.hatenablog.com


前の家では後付けのQrio Lockを設置しオートロック機能を有効にしていたので家族がオートロックに慣れ切っており、新居に住み始めたら施錠し忘れる輩も。。。ちゃんと鍵をしめるようにと注意したところ、「なんとかしてくれ」と逆に指示を受けてしまいました(笑)


そんなワケで、YKK AP玄関ドアをJEM-A端子 - ESP32 - ESP HOME - Home Assistantと繋いでHome Assistantから電気錠を操作できるようにし、更にドアの屋内側に解錠ボタンを追加してオートロック機能を実現しちゃおうってのがこのシリーズになります。
LIXILの玄関ドア選んどけばこんな面倒なことせずに済んだのに~と思いながらもまぁ自分が悪いのだし、せっかくなのでDIYを楽しんでまいりましょう(笑)
今回はHome Assistantと接続するところまでを書いていきます。

■JEM-A端子とESP32の接続

Home Assistantとの連携はしたいので、電気錠とHome Assistantを接続する方法は家を建てようと決めた頃から調べていました。
どのメーカーも公式的には、電気錠をHEMSなどに接続するならIP/JEM-A変換アダプターを使ってEchonet Liteで接続してくれってことになっています。
しかしIP/JEM-A変換アダプターを後付けする人がほとんどいないのかググってもあまり情報が見つかりませんでした。でもIP/JEM-A変換アダプターは何も情報が無い中でお試しで買ってみるにはなかなか高価です。
ググっている中で、JEM-A端子は2値の単純な構成で動くこと、それをArdinoやESP32で操作している人が一定数存在することを知りました。
そうなると、JEM-A端子 - ESP32 - ESP HOME - Home Assistantと接続すれば簡単なんじゃね?ってことで過去に調べて回路の妄想までを記事にしていました。
sympapa.hatenablog.com



事前に調査して妄想した回路は上図のとおりですが、事前調査で不明だったのがC1-C2間の電圧です。M1-M2間も15Vと書いていましたが、あくまでもネットで見つけたLIXIL玄関ドアにおける情報でした。
新居の電気錠操作盤でテスターを使い実測したところ、C1-C2間、M1-M2間ともに約15Vであることが確認できました。
そしてせっかく実測したのに過去記事にグダグダと書いてある計算式が良くわからず、他の人の事例をみると1000Ωでやっている人が多く、C1-C2側もM1-M2側も安全をみて2000Ωで試してみたらちゃんと動いたので「大体でおーけー」ってことにして下図のとおりとしました(笑)


回路はハンダ付けが面倒なので構築してから3ヶ月以上経った今もブレッドボードのままです(汗)
電気錠操作盤が取り付けられているニッチの裏には収納があり、あらかじめ操作盤の裏あたりにケーブルを引き出すプレートを付けておいて貰ったので、ここからケーブルを通し収納の中に置いた回路(ESP32含む)と繋いでいます。


そしてESP32の電源は収納内に設けたコンセントから取っています。
ニッチにはタブレットGoogle Nest HUBなど電源が必要なものを置いているのでここから電源を供給しており、電源タップやアダプター類を収納するボックスを設置しているので、その中に今回の回路ユニットも収めました。

ESP HOMEの設定

ESP HOMEが何なのかというと、公式ページには「シンプルでありながら強力な構成ファイルによってESP8266 / ESP32を制御し、ホームオートメーションシステムを介してそれらをリモートで制御するシステムです。」と書かれています。
ESP8266/ESP32とセンサーなどを組み合わせてホームオートメーション用のデバイスを簡単に構成できます。ホームオートメーション用として大概思いつく組み合わせが網羅されていると思います。たぶん。
esphome.io


Pythonで動くプログラムですが、Home Assistantクラウドを運営している"NabuCasa"が開発しているだけあってHome Assistant用のアドオンが存在するので、私はこれを使っています。
esphome.io


ESP HOMEの使い方はこの記事で書いています。
sympapa.hatenablog.com


さて、今回の電気錠用のESP32の設定も、以前試していたとおりに動きました。HA端子(JEM-A端子)のC1-C2トリガーは200ms~300msで受け付けるようなので250msのモメンタリースイッチとしています。これでバッチリでした。
ESP HOMEの設定は以下のとおりです。

captive_portal:

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

binary_sensor:
  - platform: gpio
    pin:
      number: 33
      mode: INPUT_PULLUP
      inverted: true
    filters:
      - delayed_on: 50ms
    name: 'entrance_lock_status'


設定を終えるとHome Assistantにはスイッチエンティティ"entrance_lock_toggle"とセンサーエンティティ"entrance_lock_status"が現れます。
"entrance_lock_toggle"をオンにすると250msの間ESP32がC1-C2間を短絡させて解施錠が行われ、現在の解施錠状態はM1-M2間の電流をESP32が検出して"entrance_lock_status"に反映されます。施錠=ONになります。
JEM-A端子による解施錠はあくまでもトグルであるため、解施錠状態をチェックした上で"entrance_lock_toggle"をオンにする必要があり、この点には注意が必要です。

■まとめ

これでHome Assistantから玄関ドアの電気錠を操作できるようになりました。
前の家で使っていた後付けのQrio LockもQOLを上げる素晴らしいガジェットでしたが、ドア内蔵の電気錠は動作がカッチリしていて安定感があるし、サーバーを介さないHome Assistantからのローカルでの操作は全くタイムラグを感じないほどレスポンスが良好です。


次回はドアの屋内側にボタンスイッチを取り付けて解錠できるようにし、オートロックの制御をするオートメーションを作成するところを書きたいと思います。
それでは。つづく