手順② HTTPリクエスト・Switchbotコマンドの記述方法
さて、続きましてはHttpの解説です。
まずは動かしたい端末のデバイスIDを
調べる必要があるので
「HTTP リクエスト」タスクで
「HTTP Get」を行います。
先ほどのjavaスクリプトを動かしたことにより
「%SBHeader」という変数が
作成されているはずなので
これをヘッダーとして使用します。
(一度作成したら2~3分間は使い回せる)
で、これを変数「%SwitchBot」に設定し
タスクを走らせます。
さて、これで変数「%SwitchBot」に
デバイスIDが入ったはずなので
Taskerの「変数」で内容を確認、コピーし
メモ帳か何かに張りつけてみます。
成功していれば、SwitchBotに
ログインしてある端末の
デバイスID・名前(Name)・種類(Type)が
列記されているはずです。
で、次はこのデバイスIDをつかって
「HTTP リクエスト」タスクで
「HTTP Post」を行います。
使用するURLは
https://api.switch-bot.com/v1.1/devices/◇◇◇◇◇◇/commands
(この「◇◇◇◇◇◇」に動かしたいデバイスのIDを代入します)
本文(Body)にコマンドを書くことで
switchbotが動きます。
で、肝心のコマンド(本文)の書き方ですが
こちらのサイトからデバイスの種類を確認して
https://github.com/OpenWonderLabs/SwitchBotAPI#send-device-control-commands
それに倣って書くわけです。
たとえば、Switchbotプラグをオンにする
コマンドを書きたい時は、
Plug Mini (JP) の項目を参照し
「{
"command": "turnOn",
"parameter": "default",
"commandType": "command"
}」
と書くわけですね。
({}も含みます)
・・・で、ここで前述したとおり
Hub Miniから外部赤外線リモコンの
コマンドも発行できるわけですが
これがちょっと特殊でして。
というのも、コマンドに
「Hub Miniで名付けたボタンの名前」
を使わなきゃいけないわけですね。
たとえば、加湿器の電源ボタンのコマンドを
Hub Miniでコピーして
これに「On/Off」と名付けたとしましょう。
となると、この「On/Off」を発行するには
次のようなコマンドになるわけです。
「{
"command": "On/Off",
"parameter": "default",
"commandType": "command"
}」
…とまあ、こんな感じで動いてくれます。
ちなみにこの記述、もちろん
Taskerの変数でも記述できるので
ぼくはHTTP Postをこのように組んでます。
─────────────────
A1: HTTP リクエスト / Request
方式: POST
URL: https://api.switch-bot.com/v1.1/devices/◇◇◇◇◇◇/commands
ヘッダー: %SBHeader
本文: {
"command": "%Cmd",
"parameter": "default",
"commandType": "command"
}
タイムアウト (秒): 10
全ての証明書も信頼する: オン
自動でリダイレクトに従う: オン
クッキーを使う: オン
構造を出力 (JSONなど): オン
エラーが発生しても継続:オン
──────────────────
これで%Cmdの値を「turnOn」に設定してやれば
普通に動いてくれます。変数が使えるということは
IF文が使えるわけで、ということは条件式が組めるわけですね。
なんと…なんと素晴らしい…!!
あ、繰り返しになりますが、◇のところはデバイスIDなので
HTTP GETで調べてきてください。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます