こんにちは。
以前の記事にも書きましたが、我が家で契約しているプロバイダは自宅サーバの設置を認めていませんでした。
当時サポートに問い合わせて言質も得ていました。
しかしこの度、制限付きながら晴れて設置OKという運びになりました。
プロバイダの説明ではなんでもコロナ禍でリモートワークが増えてどーのこーの・・・。
いまさらコロナを理由に解禁するのも解せませんが、そもそもそれと自宅サーバがどういう関係があるのいまいち分かりません。
でもまあ結果オーライ。
これによってスマートホーム構築でやりたくても出来なかったことが一気に進むことになりました。
スマートホーム構築を始めたのが約3年前、ようやく夢が叶います。ドリカム。
■Beebotte
BeebotteというMQTTブローカについて何回か記事にしてきました。
我が家のスマートホームの要であるNode-REDに外部からリクエストするための超苦肉の策として使っていました。
私にとってかなり重要な位置付けのサービスなのに、そこそこ不安定で出来れば使うのやめたかったんですよね。
今にして思えば、公開できないゆえに外部から何も受け付けられないはずのNode-REDが、ことMQTTだけは受信できていた理屈を理解できていません。
HTTPリクエストとレスポンスのように、最初に接続を確立した時点のルートを保持し続けてたんでしょうかね?
ネット上の情報を丸々パクって構築していたので理解が及んでいませんでした。
Beeboteは、例えばSesameスマートロックの解錠/施錠イベントをNode-REDに到達させ最終的には照明などの家電操作までを自動化するフローの、迂回路として使っていました。
IFTTTのSesameトリガ(解錠) → WebhookでBeebotteにPublish依頼 → Node-REDのMQTTノードで受信
その他にもさまざまなイベントをNode-REDに到達させるためにBeebotteに頼りっぱなしだったわけです。
サーバ公開が可能となったことで、Node-REDが外部から直接リクエストを受け付けらるようになります。
上記の例で言えば、SesameAPIがIFTTTもBeebotteも経由することなくNode-REDのエンドポイントに直接リクエストできます。
もうBeebotte要らない!
■IFTTT
既に上記にも書きましたが、Sesameのイベントを拾う手段はIFTTTしかありませんでした。
これもNode-REDが直接拾えるようになったので、わざわざ経由させる必要がなくなります。
もうIFTTTも要らない!
(うそ、IFTTTはいろいろ便利なのでこれからも使います。Proプランも契約してるしね)
■それでも道は険し
こうして外部サービスの依存度が下がってハッピーなのですが、その代わり今度はセキュリティがばがばのNode-REDを保護してやらなくてはいけません。
ぶっちゃけセキュリティ設定についてはまだお勉強中で、がばがばのまま外部公開されてる極めてリスキーな状態。
まあ悪意ある第三者がNode-REDに侵入できたところで、私が家電操作に少し手間取るだけですけど。
■まとめと共有
今回の作業をNotionにまとめて近日公開予定です。
プロバイダや利用サービスの限られたかなりニッチの狭い内容になりますが、ビンゴで当てはまる方の参考になれば幸いです。
2022/05/20追記:
書きました。
書きました。
.