Switchbot温度計の値をZabbixで眺めたいとおもったら、SwitchbotAPIがお手軽すぎた。
本ページはアフィリエイトプログラムによる収益を得ています。
APIあるとらくちん
サクッとググると先駆者さんがいたのでそれを見つつ。
Philips Hue モーションセンサーに隠された温度計と、SwitchBot APIからのSwitchBot温湿度計のデータをZabbixに入れる – Qiita
https://qiita.com/yo1t/items/e58adc328878ae0ca7ac
SwitchbotAPIドキュメント
GitHub – OpenWonderLabs/SwitchBotAPI: SwitchBot API Documents
リクエスト上限
Request limit
The amount of API calls per day is limited to 10000 times. Going over that limit will return “Unauthorized.”
APIをたたくためのキーを取得する
アプリバージョン を 10連打
開発者向けオプションがこんにちわするので開くと
トークンが取得できる。
トークンを取得して どこかに保管。
API
Host Domain
https://api.switch-bot.com
デバイスIDを調べる
curl -H "Authorization:さっき取得したトークン" -X GET "https://api.switch-bot.com/v1.0/devices" | jq
必要なMeterのdeviceIdをメモっておく。
curl -H “Authorization:トークン” -X GET “https://api.switch-bot.com/v1.0/devices/デバイスID/status” | jq
欲しい温度計の値が帰ってきてるかを眺める。
先駆者さんのを眺めつつ zabbixのコンフィグにUserparameterを追加。
/etc/zabbix/zabbix_agentd.conf
#user Switchbot
UserParameter=switchbot.api[*],curl -H “トークン” -X GET -s “https://api.switch-bot.com/v1.0/devices/$2/status” | jq ‘.body.$1’
ZabbixAgentを再起動して
適当なホストにアイテムを追加。
温度 【switchbot.api[temperature,デバイスID]】
湿度 【switchbot.api[humidity,デバイスID]】
データ型を
湿度は 整数でいいものの
室温は 浮動小数に
あとはよしなにグラフを作成。