高木のブログ

switchbot gem v0.7.0 をリリースした

2022/10/28

SwitchBot API 用の Gem、switchbot v0.7.0 をリリースした
このリリースで、SwitchBot API v1.1 を使うようになった

https://rubygems.org/gems/switchbot
ytkg/switchbot - GitHub

変更点

認証方法の変更

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"}

ytkg

Written by ytkg, Twitter, GitHub