現在、別荘の設備の遠隔監視システムを作ろうとしています。
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.jpg Node RED 2021 09 09 13 30 42](https://digital-light.jp/wp-content/uploads/2021/09/Node-RED-2021-09-09-13-30-42.jpg)
フローはこのようになります。
Injectノードは起動するだけ。
![Node-RED 2021-09-09 13-31-45.jpg Node RED 2021 09 09 13 31 45](https://digital-light.jp/wp-content/uploads/2021/09/Node-RED-2021-09-09-13-31-45.jpg)
functionノードには、msg.headers[‘content-type’] とmsg.headers[‘Authorization’]を設定。
![Node-RED 2021-09-09 13-32-46.jpg Node RED 2021 09 09 13 32 46](https://digital-light.jp/wp-content/uploads/2021/09/Node-RED-2021-09-09-13-32-46.jpg)
http requestノードはこのとおり。
ペイロードは”リクエストボディとして送信”を選びます。
実行
実行すると、deviceIDを含めたレスポンスが返ってきます。
まとめ
まずはSwitchBotのAPIをNode-REDから叩く方法を確認しました。
個別のデバイスの操作は公式のドキュメントにかかれているので、別途確認します。
GitHub – OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents