1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Switchbotで家の各場所の温度を測ってみた

Last updated at Posted at 2023-08-20

はじめに

以前、会社の機器の使用電力を取るついでに作っていたままだったのですが、家でもAmazonセールを機に SwitchBot 防水温湿度計を導入してみました。思ったより便利だったので家の各所へ温湿度計を置いて比較するものをつくってみました。
使うのは下記のみです。

SwitchBot を使えるようにしておく

  • iPhone, Android どちらでも良いのでアプリでセットアップしておく
    • 防水温湿度計はハブミニ経由でクラウドへデータが上がるようにしておく
  • アプリ上でAPI用のトークンとclient secretを取得する

GASでSwitchBot APIを呼び出す

SwitchBot API v1.1 へ対応したAPI呼び出しをGASで行うコードを公開しておきます
7032/gas_switchbot/class_SwitchBot.gs

スクリプトプロパティの設定

  1. スプレッドシート→拡張機能→Apps Script (またはスタンドアロンスクリプト)で GAS プロジェクトを作成する
  2. 以下のスクリプトプロパティを設定する
プロパティ名 設定する値
clientID トークン
clientSecret トークンと同時に払い出された client secret

SwitchBotクラス使い方

インスタンス生成

const oSwitchBot = new SwitchBot();

SwitchBot クラスのメソッド

  • メソッド名 callApiWithPath
  • 機能 API の呼び出し
callApiWithPath(method,url,payload,header)
  • 引数
引数
method HTTP のメソッドを指定。次のいずれか。 GET PUT POST DELETE
url 呼び出すAPIのURLを指定。例) "https://api.switch-bot.com/v1.1/devices/"
payload POSTPUT 利用時に付与するPayloadを指定。GET の場合は null としておく。
header API 呼び出し時にヘッダへ付加情報を漬けたい場合に指定。殆どの場合は null でOK

呼び出し例

const result = oSwitchBot.callApiWithPath("GET","https://api.switch-bot.com/v1.1/devices/",null,null);

あとはGASで好きな様にAPIを呼んで値を呼び出したり、時間で起動するトリガーを設定して定期的に値を取得するなどすれば温度・湿度の監視が出来ます。

GAS API のリファレンスは OpenWonderLabs/SwitchBotAPI をどうぞ

こんな感じで気温・湿度を拾ってみると良いでしょう。
image.png

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?