現在、別荘の設備の遠隔監視システムを作ろうとしています。
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を取得してみます。

フローはこのようになります。
Injectノードは起動するだけ。

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

http requestノードはこのとおり。
ペイロードは”リクエストボディとして送信”を選びます。
実行
実行すると、deviceIDを含めたレスポンスが返ってきます。
まとめ
まずはSwitchBotのAPIをNode-REDから叩く方法を確認しました。
個別のデバイスの操作は公式のドキュメントにかかれているので、別途確認します。
GitHub – OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents