どうもこんにちは、ねじわさです。
さてはて、オタク IT 知識が豊富の方々はやってる方も多いとは思いますが自室のスマートホーム化をやってみました。単純にロマンがあるのとリモコンを無くしやすいからです。
ところで何を持ってスマートホームと言うんですかね。もし全部 HomeKit とかで管理できるようにならないとスマートホームとは呼べないのなら今回のはもどきです。
次を条件としました。
また、今回制御できるようにした物です。
ちなみに今回かかった費用は ¥ 8,133 でした。高校生のお小遣いで揃えられますがお小遣いが月始めにして蒸発しました。ヤバいですね ☆
みんな大好き Nature Remo ですね。リモコンで使用できる電化製品の制御ができ、アプリ、音声アシスタントの他に公式で API を公開しています。
Nature Remo には無印と mini の二種類があり違いとしては大きさのほかに「湿度、照度、人感センサー」があるかないかどうかの違いだそうですが、
正直いらなそうだなという気がして(今考えると API で湿度とかも分かると面白かったかもしれない)mini を選びました。単純に予算オーバーでもありましたが...
Nature Remo を選んだきっかけとしては単に有名で知っていたというのもあるのですが、私の尊敬するうえちーさんが使っていた ので選びました。
あとうえちーさんが Nature Remo の node ライブラリを作っていたので API 使用も簡単にできました: https://github.com/uetchy/nature-remo
これはリモコンで使用できない単純な物に使用します。機器自体はいじらずコンセントにさして主電源を管理するやつですね。
まあ tp-link はちょっとよくわかんない会社ですが普通に tp-link のネットワークカード使ってるのでましかなあと...
こちらは公式では API は公開されていませんが、有志の node ライブラリがありました: https://github.com/plasticrake/tplink-smarthome-api, https://github.com/adumont/tplink-cloud-api
ローカルで通信するものとクラウドで通信するものがありましたが、ネットワークの異なるサーバーで動かすため今回はクラウド通信でいきます。
HS105 の注意する点として、プラグが極性付きなので延長タップに入らない可能性があります。
壁のコンセントに直接繋ぐか、極性の穴が空いている延長コードを買わないとだめそうです。私は サンワサプライの 10cm 延長コード を買いました。
丁度レビューで同じくスマートプラグ用に買った人がいるので良かったです。
前のように RN で適当なアプリ作ろうと思ったのですが、結局バックエンド稼働させてないといけないし RN 開発って何かと面倒(主観)でまあウェブアプリでもいいかなと...
Android なら Web から通知飛ばせるし全然良き。
...ってやろうと思ってたんですがまじでやる気が起きなかったので後述の Discord Bot に全部まとめました...
デスクライトに繋いだスマートプラグをいい感じに制御して自動化させます。今回は Discord の自分のステータスを活用してライトの自動制御をやってみました。
オン/オフの条件としては、
また、前述の Nature Remo のリモコンなどいくつかコマンドも作りました。
今回作った Bot のソースコードはこちらです: https://github.com/nzws/my-smart-home
ただし、結構ハードコードしている部分が多くあくまで自分用にしか使えない設計なのでそこまで使い物になりません
まだデスクライトの自動制御の判定に難がありますが、自分がやりたい事は一通り Discord 上でできるようになりました。やったね
また、これを活用して、IFTTT→Discord の連携をする事で結構色々な事を柔軟にできるようにしました。例えば、IFTTT の Button widget を使用してスマホのホーム画面に制御ボタンを設ける事ができます。
内部的には IFTTT が button widget の発火を検出 →IFTTT の webhook が discord の webhook URL にコマンドを投稿するだけで結構単純です。
「しょうこセンセイ」という漫画がおすすめです、よろしくお願いします。