高木のブログ

SwitchBotのスマート加湿器が止まっていたら起動させるスクリプト

2021/01/27

SwitchBotのスマート加湿器が振動によって安全装置が作動したのか、一定時間連続起動していると止まるのかわからないが、気がついたら止まっていることがある。
ということで、止まっていたら起動させるシェルスクリプトを書いて、Raspberry Piで動かすことにした。

さっそく実際にAPIを使って操作する事例ができた。 (SwitchBotのスマート加湿器をAPIで操作する

完成物

リポジトリ

ytkg/wake_up_smart_humidifier - GitHub

コード

シェルスクリプトはあまり書きなれていないからこれでいいのかわからん。

script.sh
#!/bin/bash

set -eu

SCRIPT_DIR=$(cd $(dirname $0); pwd)

source "${SCRIPT_DIR}/.env"

power=$(
  curl -s https://api.switch-bot.com/v1.0/devices/${SWITCHBOT_DEVICE_ID}/status \
    -H "Authorization: ${SWITCHBOT_API_TOKEN}" \
    | jq .body.power -r
)

if [[ $power = off ]]; then
  curl -s -X POST https://api.switch-bot.com/v1.0/devices/${SWITCHBOT_DEVICE_ID}/commands \
    -H "Authorization: ${SWITCHBOT_API_TOKEN}" \
    -H 'Content-Type: application/json' \
    -d '{"command": "turnOn","parameter": "default","commandType": "command"}' \
    -o /dev/null
fi

使い方

リポジトリのREADMEを参照。


Written by ytkg, Twitter, GitHub

Pixela