Macrodroid を使います。
IFTTT を使わないやり方です。
当初はスクリプトで curl で叩こうとしましたが、最新バージョンの Macrodroid で叩いてもエラーになります。
termux から curl
で叩くと SwitchBot の電源がオフになりますから、スクリプト自体は間違っていません(デバイスID とトークンはモザイクをかけています)。
実行結果はステータスコード:100 で「成功」となっている |
turnOff 部分を turnOn とすると SwitchBot の電源がオンになります。
スクリプトに curl で叩くやり方は、Android 機種(バージョン?)によりうまくいく機種と、そうでない機種があるそうです。
手持ち機種は全滅でしたから、MacroDroid も怪しいかも知れません。
いずれにせよ curl で叩くやり方は諦め、直接に HTTP POST で対応します。
事前に SwitchBot のデバイスID とトークンを得ておきますが他人には漏らさないようにしてください。
▶ デバイスID の取得
デバイスID は SwitchBot アプリから次の手段で得ます。
① ホームから Switch Plug Mini をタッチ
② 右上の歯車タッチし「デバイス情報」をタッチ
③ BLE MAC アドレス(AA:BB:CC:DD:EE:FFという形式)の
: を全て削除して繋げたものがデバイスID です
AABBCCDDEEFF をメモしておきます
▶ トークンの取得
① SwitchBot アプリのホーム画面の「プロフィール」をタッチします
② [設定]⇨[基本データ]と進み「アプリバージョン」を連打します
「開発者向けオプション」が出てきます
③「開発者向けオプション」をタッチすると、トークン情報が出ます
右のコピーマークをタッチしてコピーしておきます(トークンのコピー)
▶ Macrdroid の設定
完成形は次です。
充電が 90%(80% でも 100% でも自由に決められます)に達したら SwitchBot の電源を切断し「充電が完了した」というダイヤログを、通知音を鳴らして表示します。
モザイク部分はデバイスID です |
以下のように設定します。
① トリガーの設定
[バッテリー/電源]の中の[バッテリー残量の変化]をタッチします
[オプション]は[指定残量への増加/減少時]を選択して[OK]します
[バッテリー残量トリガー]は[〜まで増加]を選択し、スライダーで任意の数値まで
ずらします
(例えば 80% とか 90% など)
[OK]をタッチしてトリガー設定は完了です
② アクションの設定
[Web 操作]の中の[HTTPリクエスト]を選びます
(1)[設定]タブの[リクエストメソッド]を[POST]にします
[URL を入力]欄に[https://api.switch-bot.com/v1.0/devices/<デバイスID>/commands]を入力します
その他の設定項目は次のようにします
・[完了するまで待機]をチェック
・[タイムアウト]は 30 を設定(秒)
・[HTTPレスポンスを保存しない]をチェック
これら以外は設定不要です
(2)[クエリーパラメーター]タブに移り[パラメーター名]に[Content-Type: application/json; charset=utf8]を設定
[値]には 1 を設定し[OK]します
(3)[コンテントボディ]タブに移り[コンテントタイプ(MIMEタイプ)]は[application/json]を選びます
[コンテントボディ]に[{"command": "turnOff", "parameter": "default", "commandType": "command"}]を入力し[ヘッダーパラメーター]タブに移ります
(4)[パラメータ名]に[Authorization]を入力し、
[値]に[Bearer <トークン>]を入力・コピーしておいたトークンをペーストします
(5)[右上の✓マーク]をタッチして反映させます
(6)[待機1秒]の設定
[アクション]を ➕️ して
[マクロ]⇨[次のアクション実行前に待機]をタッチし[1秒]を設定
(7)[ダイヤログを表示]の設定
[アクション]を ➕️ して
[通知]⇨[ダイヤログを表示]をタッチします
[タイトル]に[充電]を、[ダイヤログのテキストを入力]に
[が完了した]を設定し[OK]で反映
以上です。
アクションをテストして SwitchBot がオフになり、通知音が鳴り、次のようなダイヤログが表示されるのを確認してください。
SwitchBot がオフにならないときは HTTP POST の内容を間違っていますので、確認ください。
Android 向けは UMIDIGI S5 Pro および、TECLAST M40 AIr タブレットで動作させており、90% 充電で自動的に充電オフしています。
メインスマホの OPPO Reno11 A は充電 80% で自動停止する機能(いわゆる「いたわり充電」)がありますので、ここで紹介したやり方は不要です。
0 件のコメント:
コメントを投稿