Amazon 初売り

« SwitchBot API を使う前準備 | トップページ | SwitchBot 温湿度計プラスが発売されます »

2022.02.15

SwitchBot 関連デバイスのリストを API を使って取得する

| |コメント (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": "XXXXXXXXXXXX",
"deviceName": "加湿器",
"deviceType": "Humidifier",
"enableCloudService": true,
"hubDeviceId": "000000000000"
},
{
"deviceId": "XXXXXXXXXXXX",
"deviceName": "デスクトップ横温度",
"deviceType": "Meter",
"enableCloudService": true,
"hubDeviceId": "XXXXXXXXXXXX"
},
{
"deviceId": "XXXXXXXXXXXX",
"deviceName": "カーテン",
"deviceType": "Curtain",
"enableCloudService": true,
"hubDeviceId": "XXXXXXXXXXXX",
"curtainDevicesIds": [
"XXXXXXXXXXXX"
],
"calibrate": true,
"group": false,
"master": true,
"openDirection": "left"
},
{
"deviceId": "XXXXXXXXXXXX",
"deviceName": "玄関温湿度",
"deviceType": "Meter",
"enableCloudService": false,
"hubDeviceId": "000000000000"
},
{
"deviceId": "XXXXXXXXXXXX",
"deviceName": "窓側温湿度",
"deviceType": "Meter",
"enableCloudService": true,
"hubDeviceId": "XXXXXXXXXXXX"
},
{
"deviceId": "XXXXXXXXXXXX",
"deviceName": "Bot 4C",
"deviceType": "Bot",
"enableCloudService": false,
"hubDeviceId": "000000000000"
},
{
"deviceId": "XXXXXXXXXXXX",
"deviceName": "Hub Mini F1",
"deviceType": "Hub Mini",
"enableCloudService": false,
"hubDeviceId": "000000000000"
}
],
"infraredRemoteList": []
},
"message": "success"
}

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

      {
"deviceId": "XXXXXXXXXXXX",
"deviceName": "加湿器",
"deviceType": "Humidifier",
"enableCloudService": true,
"hubDeviceId": "000000000000"
},

deviceNameが「加湿器」と日本語になっているのは、かげさんがそういう名前にしたからです。

初期値のままだと「Humidifier xx」となっているかもしれません。

xxの部分は、英数字2桁になっています。

なぜこうなっているかというと、同じ製品が複数あったときにxxで個体を判断するためです。

xxはランダムに付与されているわけではなく、実はMACアドレスの最後の2桁と同じです。

重複することもあるかもしれませんが、16進数で2桁のため、256種類の区別ができるのでそう重複することはないでしょう。

余談までで時間切れになってしまった…(´・ω・`)

curl や jq を使った加湿器の操作は、別の記事に書きますね。

ここまではOKだ


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

| |コメント (0)

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

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

コメント

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




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

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