nonyblog.

日常

SwitchBot で Press mode でも ON / OFF を明示的に行う、あるいは IFTTT の有料版が便利という話

SwitchBot はスイッチを物理的に押すことができる IoT ガジェットで、これによって赤外線に対応していない物理スイッチを IoT に対応させることができる。

SwitchBot の動作には Press Mode と Switch Mode の2種類がある。前者は ON / OFF のステートを持たず、押し込む動作をすると所定の位置にバーが戻る。後者はステートがあって、ONの場合は押し込んだまま、OFFの場合は離したままになるようにバーが固定される。

この 2 つは押したいスイッチの種類によって使い分けることになる。

新しめのスイッチでよくある パナソニックのワイド21 だと押したら戻ってくるタイプなので Press Mode を、 パナソニックのフルカラー のようなスイッチだと押したらそのままのタイプなので Switch Mode を使う。

Press mode でも ON / OFF したい!

ここで、Google Assistant 等から Press Mode なスイッチに接続されている換気扇を SwitchBot で消すことを考える。Switch Mode であれば "OFF" と命じれば OFF になるので解決なのだけど、 Press Mode では "切り替え" しか行えないため、換気扇が元々オフになっていたら、換気が始まってしまい部屋が極寒になってしまう危険性がある。

明示的な OFF を行いたいが、SwitchBot 自体はステートを持っていないので簡単には実現できない。どうするか?

IFTTT pro を使おう

IFTTT pro を使うと Google Spreadsheet に ON / OFF のステートを置いた Applet をサクッと作ることができる。これを使って実現していく。

f:id:nonylene:20210420225722p:plain
Query, Filter, More actions!

IFTTT pro の最大の魅力はアプレット数制限の撤廃である(自分もそれ目的で加入した)が、それ以外にもクエリ、フィルタ、複数アクションといった魅力的な機能がある。

f:id:nonylene:20210420225910p:plain

まずはクエリ。クエリでは、様々なサービスから情報を取得してフィルタに渡す(Trigger とは独立して動く)。今回は、Google Spreadsheet の特定のセルを取得する。これによって、現在のスイッチのステート(ON -> 1 / OFF -> 0)を取得できる。

f:id:nonylene:20210420230108p:plain

次にフィルタ。フィルタではクエリで取得した情報から後続のアクションを実行するかどうかを決定する(JavaScript で!!)。これを使って、先程取得したセルの値に応じて後続のアクションをスキップするかどうかを決定する。こうして、既に換気扇がオフになっている(0)場合は Switchbot は動かないようにできる。

f:id:nonylene:20210420230613p:plain

そして、Switchbot のアクションを設定し、その後ステートを更新するためにセルを OFF (0) に更新するアクションも追加する。

f:id:nonylene:20210420230806p:plain

こうして、Google Spreadsheet をステートとした IFTTT の Applet が完成し、換気扇の状態に関わらず OFF にできるようになった。

もっと細かいことをしたいのであれば、WebHook と組み合わせることもできる。WebHook でリクエストを送り、指定したフォーマットで値を返せば query として用いることができるらしい(未確認)。

みんなも IFTTT pro、使おう!

FAQ

  • 手でスイッチ押したらどうなるの?

    ステートがずれます!!絶対禁止です!!やってしまった場合は Spreadsheet のステートを更新してください!!

Just Shapes & Beats

Just Shapes & Beats というゲームを買ってストーリークリアした。

store.steampowered.com

弾幕?避けゲーム。曲が良さそうなので買った。

感想

良いところ

  • 音楽

    音楽に惹かれて買ったけど、期待を大きく超えていた。全体を通してクオリティがとても高い。メニュー画面など、ステージ以外のサウンドもかっこよくてノリノリでゲームできる。EDM 好きならぜひやってほしい。

  • デザイン

    UI もステージもスタイリッシュなデザインでかっこいい。リズムにもよく合っている。反面、ステージのキャラクターやギミックはかわいくてほのぼのするのも良かった。

イマイチだったところ

  • 難易度

    チュートリアルが初回にしては難しくてビビりなから始めたのだけど、そこから難しくなることはあまりなく、弾幕ゲー全然やらない自分でもサクッとクリアできた。難しいステージと簡単なステージがバラバラに並んでいる印象。もうちょっと手応えほしかった(一番難しいステージぐらいがちょうど良い)。

  • ボリューム

    サクッとクリアできたのでボリュームも少なく見えた(2,3時間でクリア)。全部曲違うし多くのコンポーザーが書いてるので仕方ないとはいえ*1、ゲームとして見ると2kはちょっと高いかな~。2k 出すならサントラもついてきてほしい。

ゲームは楽しく期待したサウンドも良かったけど、難易度がやや物足りなかった。ストーリーはサクッとクリアしてスコアを極めるゲームなのかも。

チャレンジモードはまだまだあるので時々やっていこうかな。 EDM 好きな人におすすめ。

*1:後で気づいたけど描き下ろしじゃなくて2014~15あたりにリリースされたのっぽい

SSH が途切れないようにする

SSH のコネクションがプチプチ切れるような環境で困っていたのだけど、 tmux を立ち上げていたら途切れないことに気づいた。

どうやら、tmux で右下に時刻が表示されており、それが毎分更新されているから接続がキープされてるらしい。

これを tmux 以外でもできるといいな、と思って調べると ServerAliveInterval というオプションで定期的にメッセージを送れるみたいだった。

Host *
  ServerAliveInterval 60
  ServerAliveCountMax 3

これで SSH のコネクションが非常に安定するようになった。

Windows の UI フォントを BIZ UDPゴシックにしてみる

ふと Windows のフォント一覧を見ていたら "BIZ UDPゴシック" というのが新しくインストールされていた。どうやら一年前ぐらいのアップデートで入ったらしい。

forest.watch.impress.co.jp

Chrome でこのフォントに設定したら見やすくて良かったので、 Windows の UI フォントにも設定しようとした話。

Windows でフォントを設定する

Windows でフォントを設定するには、「Meiryo UIも大っきらい!!」を使うと便利。

www.vector.co.jp

これを使って Segoe UI から Biz UDP ゴシックに設定すると英字がありえんダサくなった。 Segoe UI かっこいいね…。

よく考えたら、Segoe UI に設定している時の Fallback フォントが Meiryo UI になっているのを変更すれば良いのでは。

Fallback フォントを設定する

Fallback フォントは Windows 界では Fontlink というらしく、その設定は Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink にある。

ここの Segoe UI の値を変えてみる。

元々はこうなっていた。

TAHOMA.TTF,Tahoma
MEIRYO.TTC,Meiryo UI,128,96
MEIRYO.TTC,Meiryo UI
MSGOTHIC.TTC,MS UI Gothic
MSJH.TTC,Microsoft JhengHei UI,128,96
MSJH.TTC,Microsoft JhengHei UI
MSYH.TTC,Microsoft YaHei UI,128,96
MSYH.TTC,Microsoft YaHei UI
MALGUN.TTF,Malgun Gothic,128,96
MALGUN.TTF,Malgun Gothic
MINGLIU.TTC,PMingLiU
SIMSUN.TTC,SimSun
GULIM.TTC,Gulim
YUGOTHM.TTC,Yu Gothic UI,128,96
YUGOTHM.TTC,Yu Gothic UI
SEGUISYM.TTF,Segoe UI Symbol

ここの TAHOMA と MEIRYO の間に、 Biz UDPゴシックを入れる。

TAHOMA.TTF,Tahoma
BIZ-UDGOTHICR.TTC,BIZ UDPGothic,128,128
BIZ-UDGOTHICR.TTC,BIZ UDPGothic
MEIRYO.TTC,Meiryo UI,128,96
...

フォント名の後ろの値はフォントの拡大率を示すものらしい。何度か試して良い感じの値に設定した。

変更後 ログオフ / ログオン すると、 Segoe UI の Fallback フォントがちゃんと Biz UDPゴシックになっていた。

しかし...

読みづらい!

Windows の UI のフォントサイズは 9pt と小さく *1、その環境で Biz UDP ゴシックを表示するとボヤっとしてしまう。

f:id:nonylene:20200523145140p:plain

対して、 Meiryo UI は小さくても見分けやすいように作られている。これが UI フォントってやつか。

f:id:nonylene:20200523145212p:plain

可読性のためにフォントを大きくするぐらいなら Meiryo UI でいいな、となって戻した。 Meiryo UI 最高 *2!!

ブラウザはフォントサイズが 16pt あり十分見分けられるので、これからも BIZ UDPゴシックを使っていこうと思う。

*1:大きくすることもできるけど情報量減るし

*2:少なくとも Yu Gothic UI よりは好き

伊吹山に行った

去年の夏ぐらいに行った話。

車でどっか行きたいね〜って話を友人としていて、じゃあ伊吹山行って琵琶湖一周するか!となった。

まあ3時間ぐらいあれば一周できるし伊吹山行っても余裕じゃない?と雑な皮算用をしていた。

滋賀へ

まずは久御山イオンで朝飯を買って食べる。 こういう時じゃないと久御山イオン行けないので寄れてよかった。

内部の間取りにジャスコ感あっていい感じだった。

f:id:nonylene:20200419194434j:plain

宇治川経由で滋賀へ行くことに。宇治川きれいだな〜

f:id:nonylene:20200419194548j:plain

宇治は通過しました。宇治行ったこと無いのでまたちゃんと見に行きたい *1

f:id:nonylene:20200419194616j:plain

途中に吊橋があったので寄った。特に何もなかった。

f:id:nonylene:20200419194808j:plain

ダムがあるのを眺めながら…

f:id:nonylene:20200419194842j:plain

滋賀県へ。この時点で 12 時40分とかになっていて、おっ時間やばいな?という雰囲気に。

f:id:nonylene:20200419194916j:plain

結局米原まで高速使いました…。

米原で合流する人を40分ぐらい待たせて(すまん!)伊吹山へ。

伊吹山

伊吹山にはドライブウェイがあるらしいので行ってみた。

ぐんぐん山を登って山上駐車場へ *2

f:id:nonylene:20200419195222j:plain

駐車場からさらに登り…

f:id:nonylene:20200419200832j:plain

頂上に到着。

f:id:nonylene:20200419195257j:plain

f:id:nonylene:20200419195356j:plain

けっこういい見晴らし。琵琶湖も岐阜方面も見えてすごい。

f:id:nonylene:20200419195337j:plain

車で9合目まで行けて、そこからちょっと登れば山頂なので最高便利だった。通行料金高いけど…。

帰る

降りた頃には夕日が沈みつつあったので、琵琶湖一周はせず素直に帰ることにした。

琵琶湖東岸を下っていく。

f:id:nonylene:20200419195700j:plain

ピエリではなく橋を渡った直後の道の駅で一旦休憩。

f:id:nonylene:20200419202353j:plain

そして途中峠を通って京都へ。

f:id:nonylene:20200419195735j:plain

こういう試行は初めてで、予定が色々狂った雑旅行だったけど楽しかった。

山に登るのは良い。周辺の様々な場所に行くたびに伊吹山を探してしまうし、あそこ登ったんだよな〜 *3 ってしみじみするようになった。

*1:いろいろ落ち着いたら、ってやつ

*2:適当に運転してたら、後部座席の人が休憩するまでつらそうだったので気をつけようと思いました

*3:9割車で