スマートロック(SwitchBotロックPro)の取り付けを磁石で行う

今年の初めぐらいから、スマートロック(SwitchBotロックPro) を使っています。
個人的には以下の体験が非常によく、気に入っていました。

  • 鍵を出さなくて良い(カバンの中身を探したりしなくて良い)
  • 指紋で開ける
  • 閉めなくて良い(自動で閉まる。ただし電池が少なくなると自動で閉まらなくなるので要注意)

補足

今住んでる家は、マンションのオートロックですが、当初ここを開けるには鍵が必要で、スマートロックの導入を真面目に考えていなかったのですが、 交通系ICカードでオートロックが開けれる仕様であることが分かり、導入に踏み切りました。

問題

セットアップがドアに3Mの両面テープで貼り付ける仕様で、約6ヶ月使用したところで 少し緩みが見られたので、一度外して両面テープを付け替える作業を実施していました。
これ完全に落ちちゃったらいいのですが、微妙にロックされ続けてサムターンが廻らない状態になると ドアを壊さないと家に入れなくなてしまうという事態になりそうなので、早めに対応しました。
シール剥がしなどを使って、両面テープを綺麗に取り外す作業がめちゃくちゃ面倒でした。

直したものの、またそのうち緩みそうだなと思っていたら、今度は3ヶ月程度で緩みが見えてきました。 付ける位置にもよるのですが、ドアの開閉時に微妙にスマートロックに力が加わるので、 おそらくそこが上手くいってなかったようです。
両面テープで、えいやで貼り付けるので、結構難しいんですよね。

検討

ドアって割と磁石付くので、そういうの売ってないのかしらと調べてみると、、、 公式にありました。
SwitchBot ロックシリーズ用マグネットアクセサリー(5個入り)

が、売り切れ。再販したら購入しようと思います。
 
気を取り直して、ググると結構磁石使って対応している方がいるようで、 KLF 超強力 マグネット という商品が割とよく使われているようでした。

KLF 超強力 マグネット 耐熱220度 N52 ネオジウム磁石 角型/丸形 収納ケース付き (10*2mm(50個)) (10*10*3mm(40個))
Amazonレビューもその用途で購入されてる方だらけでしたので、早速購入。

結果

めちゃくちゃ強力な磁石で、しっかり固定できています。
今のところ安定して使えていて、とても良いです。

Karabinerで設定ファイルにJavaScriptが書けるようになっていた

ここしばらくはMacのKarabiner-ElementsをKeyのRemapツールとして利用しています。
MacのKey mapping変更にはKarabiner-Elementsが便利 - rochefort's blog
具体的には、vim likeなカーソル移動が好みなので ctrl + h/j/k/l を矢印にRemapしてたりします。

このアプリは対象外にしたというような場合、設定ファイルにJSONの定義を追加することで実現できたりするのですが、 似たような設定が冗長だなと思っていました。

久しぶりにこのJSONを変更する必要が出てきたので、どういうふうに書くんだっけとググると、なんとJSONでなくJavaScriptが書けるようになってました。

Add your own complex modifications (using JavaScript) | Karabiner-Elements
※ ただし、現時点では beta版のみ。

ということで早速使ってみます。

beta版自体は、設定画面の「Update」からインストールできます。
インストールすると、いつものアクセシビリティの許可をしてあげればOK。
余談ですが、Trackpadもremap対象になってそうです。

テンプレートコメントにもあるように「EcmaScript 5.1」と結構古い書き方でないとエラーとなるので要注意です。

例:iTerm2以外を対象にする

function main() {
    const keyMappings = [
        { from: "h", to: "left_arrow"},
        { from: "j", to: "down_arrow"},
        { from: "k", to: "up_arrow"},
        { from: "l", to: "right_arrow"},
    ]

    const disableBundleIdentifiers = [
        "^com\\.googlecode\\.iterm2$"
    ]

    var manipulators = keyMappings.map(function(mapping) {
        return {
            "conditions": [
                {
                    "input_sources": [{ "language": "ja" }],
                    "type": "input_source_unless"
                },
                {
                    "type": "frontmost_application_unless",
                    "bundle_identifiers": disableBundleIdentifiers
                }
            ],
            "from": {
                "key_code": mapping.from,
                "modifiers": {
                    "mandatory": ["control"],
                    "optional": ["caps_lock", "command", "option", "shift", "fn"]
                }
            },
            "to": [{ "key_code": mapping.to }],
            "type": "basic"
        }
    })

    return {
        "description": "Vi Mode [left_control + jkhl]",
        "manipulators": manipulators
    }
}

main()

keymapの設定4つ並べるより、大分見やすくなりました。

Advent Calender Rankingサイトを2023年度版に対応

Advent Calender Rankingサイト を2023年度版に対応。

qiitaのadvent calendarをはてブの多い順に見れるサイトを更新しました。
去年の年末にやろうと思って、すっかり忘れていました。

参考

Advent Calendar Rankingサイトを2022年度版に対応 - rochefort's blog