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

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

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

補足

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

問題

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

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

検討

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

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

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

結果

めちゃくちゃ強力な磁石で、しっかり固定できています。
今のところ安定して使えていて、とても良いです。
(ただ、これセキュリティ的な懸念はないのだろうかというのは少し気掛かりです)

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

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

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

参考

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

html2slimをついでに作った

Serverless Frameworkが有償化されるのでrailsに置き換えてみた - rochefort's blog
先日、html2slim を作り替えたという話をしたのですが、同じような実装なのでついでに slimに置換するHTML2SLIM を作ってみました。

ドメインは分けてnginxでそれぞれ受け付けて、1つのRails Application にproxyするようにしています。

CSS周りが便利で新鮮でした

最近のcssはnestもできるし、変数も扱えるしで、scss/sass なくても十分使える印象です。 今回ベースカラーを変数を使って変更するようにしてみました。

やり方

Rails

Railsでbodyタグにカラーコードを埋め込むようにします。

<body style="--theme-color: #d47c00">

css

cssの方は、varを使って取り出すことができ、その値を変数としてセットすることができます。

/* bodyのstyle属性からtheme-colorを取得し、custom propertyにセット */
body {
  --base-color: var(--theme-color);
}

利用する側は、普通に変数として扱えます。

.header {
  background-color: var(--base-color);

ついでに

ベースカラーからちょっと色味を変えたいというような時も color-mix を使うことで実現できます。

  &:hover {
    color: color-mix(in srgb, var(--base-color) 30%, black);
  }

まとめると

cssではbase-color変数を使った共通の定義だけしておいて、 あとはサーバーサイドでどの色を使うかというのをするだけで cssの設定を増やすことなく、複数パターンの出し分けができてしまいます。 めちゃ便利。