switchbot gem v0.7.0 をリリースした
2022/10/28
SwitchBot API 用の Gem、switchbot v0.7.0 をリリースした
このリリースで、SwitchBot API v1.1 を使うようになった
https://rubygems.org/gems/switchbot
変更点
認証方法の変更
SwitchBot API v1.1 では認証方法が変わり、トークンに加えてシークレットも必要になった
シークレットはトークンと同じく SwitchBot のアプリから取得できる
client = Switchbot::Client.new('YOUR_TOKEN', 'YOUR_SECRET')
SwitchBot ロックに対応
認証方式が変わってセキュリティが強化されたので、API 経由でロックの解錠・施錠ができるようになった
client = Switchbot::Client.new('YOUR_TOKEN', 'YOUR_SECRET')
client.lock('C271111EC0AB').unlock
#=>
#{:status_code=>100,
# :body=>
# {:items=>
# [{:device_id=>"C271111EC0AB",
# :code=>100,
# :status=>
# {:door_state=>"closed",
# :is_slave=>false,
# :door_state_source=>"master",
# :is_slave_online=>false,
# :battery=>95,
# :pause_auto_lock=>false,
# :lock_state=>"unlocked",
# :last_action_source=>"autoLock",
# :is_calibrate=>true,
# :power=>"on",
# :is_group=>false,
# :door_opened_overtime_warning=>false,
# :unlocked_overtime_warning=>false},
# :message=>"success!"}]},
# :message=>"success"}
client.lock('C271111EC0AB').lock
#=>
#{:status_code=>100,
# :body=>
# {:items=>
# [{:device_id=>"C271111EC0AB",
# :code=>100,
# :status=>
# {:door_state=>"closed",
# :is_slave=>false,
# :door_state_source=>"master",
# :is_slave_online=>false,
# :battery=>95,
# :pause_auto_lock=>false,
# :lock_state=>"locked",
# :last_action_source=>"command",
# :is_calibrate=>true,
# :power=>"on",
# :is_group=>false,
# :door_opened_overtime_warning=>false,
# :unlocked_overtime_warning=>false},
# :message=>"success!"}]},
# :message=>"success"}