1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

昭和なドアベルをMatterデバイスにしてAlexa定型アクションへ

Last updated at Posted at 2024-10-29

Matterデバイスを作るハードウェア編

以下の記事でMatterのコンタクトセンサーとしてAlexaに接続するソフトウェアは完成しました。
TasmotaでMatterデバイスを作ってAlexa定型アクションへ

次は、こんな昭和なドアベルに組み込むハードウェアを作ります。
image.png

ドアベル調査と基板実装

ドアベルはナショナルEB-63K、電源は乾電池4本直列。スイッチの配線ネジ端子2-3間の電圧は実測+5.5V程度。M5Atomの電源は5VでUSBアダプタから給電するので、ドアベルの電源もそこから取るようにします。
https://www2.panasonic.biz/jp/densetsu/ha/signal/chime/guidance/

image.png

なので回路はこんな感じ。
(玄関スイッチからの5V入力をフォトリレー(TLP228G)を介してGPIO22(内部プルダウンに設定)への3.3V入力にしてやるだけ)
Tasmota-DoorBell-Sch.PNG
実装は単2乾電池2本のスペースに収まるように長細くするなどしておきます
image.png
image.png
乾電池を外したスペースに基板を収め、ドアベルの+ー端子へはんだ付けします。M5Atomへの入力となる配線はネジ端子3に接続
image.png
玄関スイッチからの配線も元のネジ端子2-3に接続し、ACアダプタを挿して完成
IMG_7749.jpg

反応しないことがあるので対策

完成したのですが、玄関スイッチをちょっと長めに押さないとAlexaのコンタクトセンサーが反応しないことがあります。
訪問者がスイッチを押す長さは通常0.2、0.3秒程度のところ、1秒近く押さないと取りこぼすことがあるのですが、これは、「コンタクトセンサー」の用途から言ってまあそうだろうなと。(そんなスピードで反応する必要が無い。むしろ困る)
image.png
対策は、1.5秒ほどオフを遅延させるオフディレータイマーを入れることですね。ハードウェア追加 or ファームウェアの変更で可能ですが面倒。
少し調べるとファームウェア変更せずともTasmota内で動くスクリプトでオフディレータイマーが実現できそうです。

オフディレータイマー実装

Matterのコンタクトセンサーのエンドポイント設定としてswitch2(GPIO22)を直接見ていたところを、vContactとして設定しなおし、vContactを1.5秒接続を続けるようスクリプト制御すればOK。

まず、 TasmotaでMatterデバイスを作ってAlexa定型アクションへ でやったように、M5AtomをPCにUSBで接続し、Tasmota WebInstallerを起動してVISIT DEVICEでM5Atom内のWebサーバに入ります。
【Tasmota WebInstaller】 https://tasmota.github.io/install/

configuration->configure matter
Add to ConfigurationでvContact(Type = vContact)エンドポイントを追加。bellとでも名前を付けておきます。
以前設定したContactは炎マークで削除します
image.png
こんな状態になればOK
image.png
Configuration->Main Menuと戻って、Main Menuから、Tools -> Consoleでコマンド実行できるコンソール画面を開きます。
image.png
Enter command入力欄に以下のコマンド(5行)を入力
コマンドの意味が知りたい場合は→ https://tasmota.github.io/docs/Commands/

switchmode2 1
setoption83 1
rule1 on switch2#state==1 do backlog mtrupdate {"name":"bell", "contact":1};delay 15; mtrupdate {"name":"bell", "contact":0} endon
rule1 1
rule1 5

ここでもう一度Alexaへ登録しなおせば完了
Alexaへの参加

玄関スイッチを押すとドアベルの鳴動とともにAlexaに通知されます。

参考:その時のコンソールログ

17:47:43.420 RUL: SWITCH2#STATE==1 performs 'backlog mtrupdate {"name":"bell", "contact":1};delay 15; mtrupdate {"name":"bell", "contact":0}'
17:47:43.438 RSL: RESULT = {"MtrUpdate":"Done"}
17:47:43.639 RSL: RESULT = {"Delay":15}
17:47:43.747 RSL: RESULT = {"POWER":"OFF"}
17:47:43.748 RSL: POWER = OFF
17:47:45.157 RSL: RESULT = {"MtrUpdate":"Done"}

ということで、Alexaに通知されたコンタクトセンサーをトリガーにして、お好みの定型アクションを作りましょう。

スクリプト書けるTasmotaおすすめ【Tasmota】 = https://tasmota.github.io/docs/
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?