Node-RED

SwitchBotのAPIをNode-REDから叩く方法

現在、別荘の設備の遠隔監視システムを作ろうとしています。

KNXやDALIを使うバージョンは制御ボックスを設置したり信号線の配線が必要など、かなりハードルが高いので、Amazonから購入できるようなIP通信系のものから始めていきます。

ということで、SwitchBot(スイッチボット)の製品がAPIを公開していて、かつラインナップも増えているので、これでやっていきます。

SwitchBotのAPIについて

@itouuuuuuuuuさんのQiitaの記事がとてもわかり易いです。

SwitchBotをHub経由でAPIから操作する – Qiita

ここでAPIを叩く方法がわかりました。

Node-REDでやるには?

Node-REDでやるには、http requestノードにパラメータをつける必要があります。

これは、事前にfunctionノードにmsg.headers[‘content-type’] のようにすることでできます。

Node-REDのフロー

deviceIDを取得してみます。

Node RED 2021 09 09 13 30 42

フローはこのようになります。

Injectノードは起動するだけ。

Node RED 2021 09 09 13 31 45

functionノードには、msg.headers[‘content-type’] とmsg.headers[‘Authorization’]を設定。

Node RED 2021 09 09 13 32 46

http requestノードはこのとおり。

ペイロードは”リクエストボディとして送信”を選びます。

実行

実行すると、deviceIDを含めたレスポンスが返ってきます。

まとめ

まずはSwitchBotのAPIをNode-REDから叩く方法を確認しました。

個別のデバイスの操作は公式のドキュメントにかかれているので、別途確認します。

GitHub – OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents

ABOUT ME
中畑 隆拓
スマートライト㈱ 代表取締役。IoTソリューションの開発、スマートホーム&オフィスのコンサルティング、DALI,KNX,EnOceanなどのインテグレーションを行っています。