SwitchBotのスマートロックを、指紋認証つきのキーパッドと一緒に購入しました。

ちゃんと設置できるか不安はあったものの、特に迷うことなく取り付けることができました。ハブとAPI連携できるという情報も聞いていたので、ついでにハブの方も購入。

IFTTT連携も簡単にできそうだということで、設置後にさっそく検証してみました。IFTTTの「IF」にSwitchBotを選択すると、ロック関連の項目が2個見つかります。

英語、日本語という違いだけでおそらくどちらを選んでもOKです。デバイスに関しては自分のロックのデバイスを選択します(自分の場合「ロックFA」)。

どのようなときにトリガーするか、というところで「ロック状態」が選択できます。選択できる状態は以下4つ:

  • 施錠済み
  • 解錠済み
  • ドアが開けられた
  • ドアが閉められた

今回は解錠のときのAPI連携をしてみました。IFTTTの「THAT」の部分にはとりあえずSlackを設定してみます。

例えばMessageのところに埋め込むこのとできる情報は CreatedAtContentでした。 Content には何が入るのでしょうね?

SwitchBot のアプリの方を覗いてみると、履歴のところで以下のように「どの認証方法で解錠されたか」がわかるようになっています。

「これは期待できる!」と思ってさっそく検証してみたところ

残念ながら {{Content}} には何も値が入っておらず undefined でした。。。

下記ドキュメントを参照しても、そのような情報は現時点では渡って来ることは無さそうですね。

github.com

{
    "eventType": "changeReport",
    "eventVersion": "1",
    "context": {
        "deviceType": "WoLock",
        "deviceMac": DEVICE_MAC_ADDR,
        "lockState": "LOCKED",
        "timeOfSample": 123456789
    }
}

「どの認証方法で解錠されたか」の情報があれば、例えば子どもたちに登録した指紋でフィルタリングしてSlackに通知するようにできそうですね。 例えば留守にしないといけない状況で子どもが先に家に帰ってきたときなど、通知が飛んできてくれたら少し安心できそうです。

今後に期待したいですね。

ということでスマートロックを購入したのでAPI連携の検証をしてみた話でした。