2026年03月15日

【スマートホーム】Node-RED Alexa Home Skill Bridge からの脱却B【ものの10分で解決】

2026/06/25追記:

以前試して上手く行かなかったNode-REDのMatterノードが上手くいきました。

以前はAlexaアプリがデバイスとしてまったく検出してくれなかったのですが、今回はちゃんと検出・認識してくれました。
Node-RED上に仮想的な調光ライトを作成できるので、明るさ0%〜100%という100パターンの値を扱えます。
下記で紹介するWeMoエミュレータノードの欠点である「2値しか扱えない」を克服できるわけです。
※調光ライトだけでなく、スイッチやスマートロック、温湿度センサーなど様々IoTデバイスを仮想化できます。

以前との相違点は以下のとおり。どっちが効いたのかは今となっては検証できません。
  • このMatterノードの最終更新が11か月前。
    以前トライしたのがその前後どちらだったか思い出せません。
    ノード自体のアプデで機能するようになった?

  • 以前トライしたのはAmazon Echo Show5 第1世代でした。今回は第3世代。
    Amazonの公式発表では、Matterコントローラとして両者に違いはないはずです。
    しかしハードウェア的に対応が進んだのかもしれません。
これで Node-RED Alexa Home Skill Bridge を使用したNode-REDフローをローカル環境のみで再現することが可能となりました。
でも、すっかりWeMoエミュレータノードに置き換えてしまったフローをまた編集し直すのはちょっと時間が取れないなあ。
でもそのうちちゃんとまとめてシェアしようと思います。
うーん・・・Matterブリッジは不安定ですなあ・・・。ちょっと私は使うのやめときます。
ちなみにWeMoエミュレータ(MatterではなくWi-Fi接続)のほうはド安定です。




2026/06/14追記:

最近この記事へのアクセスがちょいと多めなので、図解付きの設定手順をNotionで公開してみました。



こんにちは。

前回Alexa Skillを自作する方法という結論に至りました。
それは完全な正攻法ではあるのですが、Amazon Developerアカウントが必要だったり実装もメンテも私のスキルでは及ばない、そもそもそこまでしてやりたくない。

いろいろ調べてみると、Belkin社のWeMoというIoTデバイス(スイッチ、照明)をエミュレートするという方法があるらしいです。
初期HomeAssistantでも採用していた方法で、しかも10年近く実績のある安定した方法なのだとか。
私が Node-RED Alexa Home Skill Bridge を使い始めた当時には既にあったということですね。
もっと早く教えてよ・・・

以下に具体的なステップを踏みながらご紹介します。


■STEP1:Node-REDに野良ノードをインストール

インストールするノードは以下です。
node-red-contrib-wemo-emulator
このノードが仮想的なWeMoデバイスとして振る舞い、Alexaがちゃんと認識してくれるもよう。

ただしON/OFFしか受け付けてくれないので、Node-RED側には工夫が必要です。
Node-RED Alexa Home Skill Bridgeでは仮想デバイスは「照明」1つだけで、照度をパラメータとして処理パターンを分岐していました。
node-red-contrib-wemo-emulatorでは、処理パターンごとに仮想デバイスを定義してあげる必要があります。
Node-REDの窓口は前者は1つ、後者は複数ということなります。
少々Node-REDエディタ上の見栄えが悪くなるかもしれませんが、外部サーバ依存を無くせるメリットに比べれば些細なことです。


■STEP2:ノードの設定

ノード名、Alexa上の表示名、ユニークID、ポート番号を指定します。
node-red-contrib-wemo-emulatorは処理パターンごとに複数ノード作成しますので、それぞれ被らないように設定します。

さらに各ノードでAlexaからON/OFFのそれぞれの指示を受信したときのMessageのTopicとPayloardを任意に設定します。
ノードの設定がすべて完了したらデプロイします。


■STEP3:Alexaにデバイスとして追加

スマホのAlexaアプリからデバイス追加操作を行い、Wi-Fiデバイスとして上記ノードが表現する仮想スイッチ(プラグ)を検出します。


たったこれだけ。
えーー・・・クッソ簡単。

私がNode-RED導入時点で存在していたのに、他の方法(Node-RED Alexa Home Skill Bridge)を先に見つけてしまったせいで、外部サーバ利用のためいつ使えなくなるか分からないという懸念を数年間抱え続け、さらにMatterという新しい規格に気を取られたばかりにその懸念を解決できずにいた問題は、ものの10分ほどで解決してしまいました。

しかもNode-RED Alexa Home Skill BridgeのNode.jsのバージョン18では動作しないという縛りからも解放されます。
Node-REDのバージョン4.x.xはNode.js18のサポートを終了すると宣言していますが、この縛りに引っ張られ私のラズパイ4BのNode-REDは3.x.xからバージョンアップできない状態でした。
node-red-contrib-wemo-emulatorはNode.jsバージョン24でも問題なく動作するので、Node-REDも最新バージョンを使えます。

無知ってほんと怖い。

余談ですが、Amazon Echo Show 5 第3世代がセールで半額以下になっていたので第1世代から買い替えました。
本記事の内容はEcho Show 5の世代に関係なく利用できます。






.
posted by Huwy at 13:34 | Comment(0) | TrackBack(0) | スマートホーム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]
2013/11/12現在、スパムコメント対策のため「コピー」という単語をブロックしています。

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック