Amazon 初売り

« SwitchBot 温湿度計プラスが発売されます | トップページ | Nature Remo E lite が赤の早い点滅(クラウドに接続できていない)なのに Cloud API が使える(謎) »

2022.02.17

SwitchBot 加湿器の情報(ステータス)を取得するコマンド

| |コメント (0)

 このエントリーをはてなブックマークに追加

どうも、かげさんです(^^)/
あなたがこの記事を読んでいるのは何回目でしょうか?
初めての方、いらっしゃい!
複数回目の方、再訪問ありがとです(・∀・)

SwitchBot 関連デバイスのリストを API を使って取得する」の続きです。

SwitchBot 加湿器など SwitchBot 関連デバイスのリストを取得しました。



SwitchBot 加湿器 卓上 超音波式 Alexa 大容量 3.5L 上から給水 アロマ対応 6-15畳に対応 除菌 フィルター 超静音 空焚き防止 冬乾燥対策 最大48時間連続稼働 スマート家電 スマホ操作可能 単体でEchoデバイス、Google Home、HomePod、IFTTT 、Siriに対応

SwitchBot 関連デバイスのリスト取得

おさらいで SwitchBot API のURLを改めて紹介します。

https://github.com/OpenWonderLabs/SwitchBotAPI/blob/main/README.md

コレを使う際も Nature Remo の API を使う時と同様にアクセストークンが必要になります。

以降の curl コマンドの例で XXXXXX となっているところがアクセストークンだと思ってください。

curl -X GET "https://api.switch-bot.com/v1.0/devices" -H "Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json; charset=utf8" | jq .

かげさんの家の場合、アクセストークンなどをマスクした状態で結果を表示すると、こんな感じになる。

curl -X GET "https://api.switch-bot.com/v1.0/devices" -H "Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json; charset=utf8" | jq .
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1137 100 1137 0 0 1137 0 0:00:01 0:00:01 --:--:-- 1054
{
"statusCode": 100,
"body": {
"deviceList": [
{
"deviceId": "dddddddddddd",
"deviceName": "加湿器",
"deviceType": "Humidifier",
"enableCloudService": true,
"hubDeviceId": "000000000000"
},
{
"deviceId": "dddddddddddd",
"deviceName": "デスクトップ横温度",
"deviceType": "Meter",
"enableCloudService": true,
"hubDeviceId": "XXXXXXXXXXXX"
},
{
"deviceId": "dddddddddddd",
"deviceName": "カーテン",
"deviceType": "Curtain",
"enableCloudService": true,
"hubDeviceId": "XXXXXXXXXXXX",
"curtainDevicesIds": [
"XXXXXXXXXXXX"
],
"calibrate": true,
"group": false,
"master": true,
"openDirection": "left"
},
{
"deviceId": "dddddddddddd",
"deviceName": "玄関温湿度",
"deviceType": "Meter",
"enableCloudService": false,
"hubDeviceId": "000000000000"
},
{
"deviceId": "dddddddddddd",
"deviceName": "窓側温湿度",
"deviceType": "Meter",
"enableCloudService": true,
"hubDeviceId": "XXXXXXXXXXXX"
},
{
"deviceId": "dddddddddddd",
"deviceName": "Bot 4C",
"deviceType": "Bot",
"enableCloudService": false,
"hubDeviceId": "000000000000"
},
{
"deviceId": "dddddddddddd",
"deviceName": "Hub Mini F1",
"deviceType": "Hub Mini",
"enableCloudService": false,
"hubDeviceId": "000000000000"
}
],
"infraredRemoteList": []
},
"message": "success"
}

今回は、SwitchBot 加湿器の操作をしたいので SwitchBot 加湿器の部分( deviceType = Humidifier )に注目します。

      {
"deviceId": "dddddddddddd",
"deviceName": "加湿器",
"deviceType": "Humidifier",
"enableCloudService": true,

"hubDeviceId": "000000000000"
},

deviceId が SwitchBot 製品の「デバイスID」です。

SwitchBot API を使った製品の操作には、この「デバイスID」が必要になります。この例だとddddddddddddの部分ですね。

SwitchBot 加湿器の情報(ステータス)を取得するコマンドだとこんな感じになります。

curl -X GET "https://api.switch-bot.com/v1.0/devices/dddddddddddd/status" -H "Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json" | jq .

情報(ステータス)を取得するコマンドは、コマンド名 = status です。

上のコマンド例のように「 https://api.switch-bot.com/v1.0/devices/デバイスID/コマンド名」 というURLを指定する必要があります。

さて、ここまでの curl コマンドは GET を使っていました

ここからは、SwitchBot デバイスを操作するコマンドのパラメータを指定します。

そして GET の部分が POST になります。

こんな感じです。

curl -X POST "https://api.switch-bot.com/v1.0/devices/dddddddddddd/commands" -H "Authorization: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" -H "Content-Type: application/json" -d "{\"command\": \"turnOff\",\"parameter\": \"default\",\"commandType\": \"command\"}"

Windows の curl ならではの注意点があるのですが、続きは「Windows 版 curl コマンドで JSON を POST する時の注意点」に書きますね。

ここまではOKだ



SwitchBot 加湿器 卓上 超音波式 Alexa 大容量 3.5L 上から給水 アロマ対応 6-15畳に対応 除菌 フィルター 超静音 空焚き防止 冬乾燥対策 最大48時間連続稼働 スマート家電 スマホ操作可能 単体でEchoデバイス、Google Home、HomePod、IFTTT 、Siriに対応

 このエントリーをはてなブックマークに追加

| |コメント (0)

このエントリーへのリンク

このエントリーのリンクを入れるHTML:

コメント

このブログの新着コメントをRSSリーダに登録する為のxml




←名前とメールアドレスは必須です。
URLも記入すれば、URLのみが公開されます。
メールアドレスのみですと、メールアドレスが公開されてしまいますので、御注意ください。

↓コメント本文では、「a href」「b」「i」「br/」「p」「strong」「em」「ul」「ol」「li」「blockquote」「pre」のタグが使えます。絵文字をクリックすると、本文にタグを挿入できます。