家庭内 Slack とかやってる人は結構いますね。羨しいなと思ってましたが、うちの妻は英語と技術的なことがさっぱりわからないので Slack ですら敷居が高く、インストールしたり説明 (チャンネルの概念とか、それがどういうノリで機能するかとか……) するのもめんどうなので家庭内チャットボットみたいなのは全くやる気がしなかったわけですね。Slack って英語だったけ?と思うかもしれませんね。普通気にもとめないでしょうが英語なんです。ウェブ系IT企業のノリって一般的じゃないんですよ、知っていましたか。

それはともかく、最近 IFTTT の通知先に LINE が増えたり、LINE への通知の API ができたりしたので、家庭内チャットでワンチャンアルデと思ってちょっと頑張って試すことにしました。

つくった IFTTT レシピ

エリアを抜けたらグループへ通知

帰宅しはじめを自動的に伝えるようにというやつです。

出勤時にエリア近くに入ったときにも通知されることがあってやや難があります。あとなんかちゃんと通知されないこともある。まぁでもこれぐらい曖昧なぐらいが位置トラッキングではちょうどいいのではないか……

どちらかというと、定時になっても会社にいるとき30分ごとに通知とかのほうがいいかもなあ。IFTTT ではできなそう。

Dropbox の共有ディレクトリに写真が追加されたら通知

子供の写真を Dropbox で共有してるけど、今まで特に通知する方法がありませんでした。自動的にプッシュされるようになって便利になりました。追加されると LINE に写真もちゃんと表示されたので、基本的に Dropbox 見なくても良いぐらいです。

共有カレンダーに予定が追加されたら通知

これも特に今まで通知する方法がなくて、口頭で伝えるなりこまめにカレンダーをチェックする必要がありましたが、プッシュできるようになりました。良い。

IFTTT 以外の通知

Gmail をパースする系

  • Amazon.co.jp 配達中 通知
  • 佐川配達通知
  • ヤマト配達通知

これらは VPS に置いた gmailnotify.pl (そのうち公開しますが未公開) という自作スクリプトを cron でキックすることで、LINE Notify 経由で通知するようにしたもの。Gmail に OAuth + IMAP でアクセスして、必要なメールを検索してパースしています。

アマゾン通知はいいんですが、妻へのプレゼントをアマゾンで買えなくなるという罠があります。

アマゾンに登録している住所とヤマトに登録している住所が微妙に違うせいか、アマゾンからの荷物に対してはヤマトの配達通知がこない状態なので、通知が重複することはありません。

キーワード反応

LINE Notify と IFTTT だけでも簡単な割にはまあまあ便利ですが、LINE Notify だと誰かの発言をひろって反応するみたいなのは不可能なので、そこらへんだけ Messaging API でやってみることにしました。いちばんチャットボットって感じのトコです。

全体のアーキテクチャ

VPS で Webhook を受けていますが、実際には家庭内サーバ (Raspberry Pi) で応答を生成したいので、以下のように若干ややこしいことをしています。

  • VPS 上のサーバは WebSocket で待ち受けている
  • 家庭内にある Raspberry Pi から VPS 上の WebSocket で繋ぎにいく
  • VPS 上のサーバは LINE から Webhook を受けとったら接続済みの WebSocket にイベントをそのまま送る
  • 家庭内にある Raspberry Pi がイベントを処理し、リプライを送るように WebSocket 経由で通信する。

なぜこんなことをしているかというと

  • 経路を暗号化したい (websocket のサーバも h2o の裏にいて、https / wss での通信になっています)
  • DDNS とかを使いたくない

からです。WebSocket は接続時のヘッダで認証をかけています。

なお特定グループの発言にだけ応答するようになっています。

エアコンのオン/オフ

IrKit を設置しているので、それのAPIを呼びます。

IrKit に関してはウェブサービス経由でもAPIを呼べるので、VPS 経由から直接叩けますが、うちでは上記のように家庭内の Raspberry Pi でメッセージを処理するようにしてあるので、直接呼んでます。

なんとなくテンプレートメッセージでやってみました。ボタンをタップした結果自分の発言として再度発言できる (発言内容が再度 Webhook に通知される) のでチャットボット的には実装が楽です。

自宅の室温

「室温」で自宅の現在の室温をかえします。Raspberry Pi に I2C 接続の温度センサーをつけてます。

単体では実用性ないけど、センサー類は増やしていきたい。エアコンのオンオフするときの目安として使えるかなという意図です。

喋らせる

Raspberry Pi に OpenJTalk を入れて喋るようにしてあるので、これを LINE 経由で呼べるようにしてあります。自宅にいると案外 LINE を見てないことが多いのと、通知がきても無視しがちなので、より強めの通知をかけるという用途です。

まぁ使わない気がします。 意外と面白がって使ってます。。。

その他やりたいこと

おくすり手帳連携

今のところおくすり手帳がデジタル化されてないので難しい。家族の服薬状況とかいちいち把握するのは面倒くさいけど、万が一のときは把握してないと困るので、さくっとBOTから教えてもらえるようにしたい。

災害連携

なんらかの災害情報と連携して、災害時の連絡手段・集合場所を自動的にプッシュさせたい。普段からプッシュしておけば万が一 LINE もろとも使えなくても刷り込みで覚えられないかという感じ。Yahoo からくるメールをトリガにするかとかで考えている。

電気料金の通知

1日のはじまりに前日の電力消費量および概算料金を LINE Notify 経由で通知。節約意識高める用。でもあんま意味ない気もするので保留。

スマートメータから値を読み出したいんだけど、設置場所まで電波が届かないので難儀してる。

クレカ使用通知

インフラ料金系は即座に通知してもよさそう。全部通知するとDMMでエロ動画買ったのが自動でバレるみたいになって辛いのでなにかしらのフィルタが必要。パーサーはあるんだけど、まだやってない。

感想

技術系のノリがわからない人向けだと、技術的にはおもしろいけど微妙な機能つけてもウザがられるだけで辛いので特にプッシュ通知に関しては実用的なことしかできない。

テンプレートメッセージが思ったより面白いので、もうちょっとなんかしたい。

  1. トップ
  2. tech
  3. IFTTT の通知チャンネルに LINE が増えたので家庭内BOTを作った

なぜか温泉に入ってた。

そしたら星野源がでてきた。やたらハキハキ喋って、なぜか上半身ムキムキの星野源がでてきた。

なんか辛いなあ。とにかく辛い…… なんでだろうなあ。わからん。

未だに初代の EOS M 使ってて、ちょっと買い替えたいなぁと思ったけど、EOS M5 が思ったよりだいぶ高価だった (10万円超)。

まだ発売前なのでなんのもいえない。7万円ぐらいだったらぎりぎり買ってもいいかなあという感じがする……


それにしても全体的にカメラ高いよなあ。5D Mark IV がボディのみで37万超。初代 5D はフルサイズ入門機みたいな感じだったけど、今は 1Dよりも取り回ししやすくて安いプロ用機材みたいな位置付けになっている。

アマチュア向けフルサイズ機だと 6D って感じだけど、しばらくアップデートされてない。6D は今13万ぐらい。5D Mark II と比べると 6D は特に魅力がない。

5d mark II、14万ぐらいで買ったんだっけ?と思ってメールを見返してみたら21万ぐらいで買ってた。よう買ったな昔のおれ…… 十分楽しんでるのでこれで特別に高いとは思わないけど、さすがに25万以上はカメラボディに金出せないなというぐらいの金銭感覚 (レンズ買ったほうが楽しいから)。

今日じゃなくて日曜にやったやつ。

保育園用のふとんカバーが1年半ぐらい経ってだいぶ痛んできた。とはいえまだもちろん使えるレベルではあるが、もともとちょっと小さくて不便だったのもあって作り直すことに。

今回はちゃんと大きな模造紙から型紙を起こした。どんなに単純な形でも「同じ形を切りとる」なら型紙を起こしたほうが再現性が高く、まずミスをしなくなる。こういう単純な形状かつ大きいものは裁断が一番難しくなおかつできあがりを最大限支配すると感じるので大事に思った。縫うときに布の端を参照するので、真っ直ぐ縫うためには真っ直ぐ裁断できていなければならない。

とはいえ型紙作っても布をまっすぐ裁断するのは難しい。

まぁまた2年ぐらい作らなそうなので、あらゆるノウハウは忘れるんだけど、型紙を作っておけば「あれは大きかった/小さかった」という場合に型紙に反映して作りなおせる。知識を覚えるのではなくて、多少めんどうでも知恵を残すというのが大事なのだ。

トーヨー 電動ミシン レッド JY-1R - 東洋精器工業

東洋精器工業

5.0 / 5.0

↑ このミシン、直近でモデルチェンジしてうけるけど、新しいモデルでも「JITSUYOU ICHIBAN」で書いてあって感動モノだと思った。デザイン微妙に変えてるのに、そこは変えないんだ!って思った。すごい

オルファ(OLFA) セーフティロータリカッター ゴム L型 156B - オルファ(OLFA)

オルファ(OLFA)

5.0 / 5.0

裁断のときに断ちバサミは使ってなくて、ローリングカッターとA2のカッターマットを使ってる。道具で最大限楽をする主義。

備考

前回は、

  • 全部ブロード
  • 表:柄付きオックス + 裏:無地オックス

としたが、ブロードがかなり微妙だったので反省して

  • 表:無地オックス + 裏:無地シーチング
  • 表:柄付きオックス + 裏:無地シーチング

にしてみた。シーチングが思ったより薄くて微妙だけど使ってみてどうかはわからない。

なぜ2枚とも同じ柄にしないのかというと面白くないからです。