はじめに
ただ、PCで作業しているときに「エアコン切りたいな」と思ったら、スマホを探して、アプリを開いて、読み込みを待つ。
たったそれだけなんですが、地味に面倒じゃないですか?
ので、作りました。
AirLit という名前です。Windows 向け、Tauri v2 + React + TypeScript 製です。
ここで公開中です!
インストーラはこちら。3.3MBで、管理者権限は要りません。
使うには Nature Remo のアクセストークンが必要です。home.nature.global で発行できます。
できること
家電をまとめて操作する
エアコン・照明・テレビ・赤外線家電・スマートメーターに対応しています。
カードから電源と温度をその場で変えられます。右のパネルで選んだ家電を詳しく操作できます。
エアコン
運転モード・風量・風向は、その機種が対応している選択肢だけが出ます。API が返す対応範囲を読んで組み立てているので、使えないモードは並びません。
右の「現在の環境」は Remo 本体のセンサーの実測値です。
テレビ・照明のリモコン
こちらも、その家電が実際に持っているボタンだけを並べます。電源・音量・チャンネル・十字キーと自動で分類されます。
シーン
複数の家電への操作をワンタッチでまとめて実行できます。
「帰宅したら照明オンとエアコン冷房25℃」みたいなやつです。家電ごとに別々のコマンドを組み合わせられます。
オートメーション
時刻(毎日/平日/週末)をきっかけに自動で操作します。
予約
オートメーションの単発版です。 家電と操作を選んで「30分後」を押すだけ。
「1時間後にエアコン切る」みたいな使い方をよくしています。時刻指定もできます。
ミニコントローラー
個人的に一番使っている機能です。
ウィンドウを最小化すると、最前面に小さいパネルが残ります。
作業中に照明を落としたいだけのとき、わざわざメインウィンドウを開かなくて済みます。
履歴
このアプリから行った操作の記録です。
ダークテーマ
システム設定への追従/ライト/ダークを選べます。
そのほか
- トレイ常駐 — 閉じてもトレイに残す設定があります
- 自動起動 — Windows のサインイン時に起動できます
- 自動アップデート — 設定から更新を確認できます。署名を検証してからインストールします
技術的なところ
構成はこんな感じです。
src/ React + TypeScript(画面)
src-tauri/ Rust シェル(トレイ、ミニウィンドウ、単一インスタンス)
Tauri を選んだのは、Electron だとインストーラが100MB超になるからです。Tauri は OS 内蔵の WebView を使うので 3.3MB に収まりました。
一番気を使ったのは レート制限です。Nature Remo Cloud API は 5分あたり30リクエストなので、温度の「+」を10回押したら予算の1/3が消えます。
なので、
- リクエストは直列化して最低350ms空ける
- エアコンの書き込みは700msのデバウンス(連打しても手を止めてから1回だけ送信)
- ポーリングはウィンドウが見えているときだけ
- メインとミニ、どちらか片方しかポーリングしない
という作りにしました。残量はヘッダーに常時表示しています。
正直に書いておく
- コード署名証明書を付けていません。 初回起動時に SmartScreen の警告が出ます。「詳細情報」→「実行」で進めてください
- 家電の登録・削除はできません。 Cloud API に無いので、Nature Remo アプリでやってください
- 赤外線の家電は状態が取れません。 表示されるのは「送った操作の記録」だけです
- Windows のみです。 Tauri なので他OSも原理的には動くはずですがMacもってないので確認していません
- 非公式です。 Nature 株式会社とは一切関係ありません
おわりに
「エアコンを切るのにスマホを探すのが面倒」だけの動機で作り始めましたが、
割と個人的にも使い勝手のいいものができたかなって思います!
同じことを面倒だと思っている方は、よかったら使ってみてください。
Issue や PR もお待ちしています。













