照明スイッチコスモワイド21用SwitchBotマウンターの自作

余っていたSwitchBotで玄関(ポーチ)の照明を制御して、日没頃に点灯、夜明け頃(ないし就寝頃)に消灯ということをしようと思ったんですが、スイッチの形状的に上手く固定できませんでした。

ウチの玄関照明のスイッチはPanasonicのド定番商品コスモワイド21シリーズのラウンド型三連タイプです。フレーム(化粧パネル)が湾曲しておりSwitchBotを貼り付けられる平面がないのです。

当然ここに目を付けた方はいて、オリジナルのマウンターを販売している業者(個人?)がいます。

こういう壁とフレームの間に挟み込むタイプと、

外枠として取り付けるタイプが売られています。

ちなみにコスモワイド21は、というか世のコンセントプレートのほとんどは、こんな構成になっています。SmartBASEはおそらくプレート枠のネジを緩めて壁とプレート枠で挟み込んで固定するんじゃないかと思います。SwitchFrameは化粧プレートをしたままの状態で上から囲むようにとりつけるだけなので取付は簡単そう。

自分の記憶ではSmartBASEの方が早くからあったような気がします。

でまぁ素直にこれを買っても良かったんですが、せっかく3Dプリンターもあるしモデリングの練習も兼ねて自作してみようと。

最初はSmartBASEのようにプレートの裏側に挟み込むタイプを設計しました。その方がSwitchBotがボタンを押し込む反力で外れてしまうことが防ぎやすいかなと。しかしプレート枠の裏に固定プレートを差し込んで高さが上がってしまうせいか、SwitchBotがボタンを押しきれずに一定の確率で押し込みに失敗していました。ボタンの上に薄い板を張り付けて厚みを増してみたんですがダメ。

しばらく忙しくて放置していたんですが、家族からクレームが来たので、まぁ諦めて既製品を買うか~とAmazonで検索したところいつのまにかSwitchFrameを発見。こちらは上からはめ込むだけで工具不要で取付けできる点と、SwitchBotが貼り付けではなくボックスに仕込む形にして反力での浮き上がりを防止している点。なるほどこれは上手くいくかも知れない。

ただちょっとお値段が高いのと、今回必要なのは三連スイッチの一番上のみ。SwithFrameのようなボックス形状だと空き箱が2つ残ってしまい不恰好になってしまいます。ボックスが上と下だけのバリエーションもありますが、上だけ、というのが無い。

ほんならやっぱり自作するしかない~、ということでほぼイチから再設計。固定方法はSwitchFrame形式で外枠はめ込み方式にして高さを浮かせないよう配慮。SwitchBot固定はSmartBASE式というか、両面テープで貼り付けるだけ。いわばハイブリッド型にしてみました。そして三連のうち一番上のボタンに1つのSwitchBotをつけるだけのシンプル設計に。

出来上がったモデルはこんな感じ。

白で造形して実際に取り付けてみた状態。余っていたSwitchBotはブランド立ち上げのクラウドファンディングで入手した白黒セットの黒の方でちょっと合ってない…そういう意味ではSwitchFrameのような箱型だと色の違いを隠せて良かったかも。

ちなみに白はこちらで使っています。

上からみるとこんな感じで、コスモワイド21の湾曲した化粧パネルに沿う形状でモデリングしています。

結果として今回はバッチリ動作しました。外枠式は反力で浮いてきてしまうのではと懸念がありましたが、いい感じにぴったりキツキツにはめ込む形になっているので、現時点では外れる気配はありません。ネジも両面テープも使わないので賃貸フレンドリーです(SwitchBotの固定は両面テープです)。

SwitchBotで上手く押せないので、いっそSesame Bot 2に買い換えようかとも思っていましたが、なんとかモノにできて良かったです。

■運用体制

まずSwitchBot本体はこれ。クラウドファンディング当時「SwitchBot」といえばこれしかなかった。本当に急成長したものですね。いい加減、さらに小型化した新モデルとか出ないのかな。

これをWi-Fi経由で広域操作するにはハブと呼ばれるアダプタが必要です。いわゆるネットワーク機器のスイッチングハブとは別もの。

こちらはいくつかモデルがあって、今買うならこれがオススメかな。エアコンや照明などを赤外線リモコン信号を模倣して操作する機能もある。またこのハブ2は温度計機能もあるので、ペットや高齢者のいる家庭で室温モニタリングにも使えます。照度センサーもあるので、「部屋が暗くなったら」みたいな条件による自動制御もできます。

温度計、照度センサーのない廉価モデル(ハブミニ)をこれから買うならMatter対応版が良いでしょう。Matterは業界標準の新規格で、iPhone/iPadの「ホーム」アプリから直接操作ができたりします。見た目も値段も同じでMatter対応前のモデルもあるので間違えないように買いましょう。

いずれかの「ハブ」にSwithBotがBluetoothで接続し、ハブからWi-Fiでインターネットに接続することで、家の外からでもSwitchBotを制御できます。またタイマーや色々な条件による自動制御もできます。我が家ではこれで時刻指定でオン/オフしています。日の出/日の入りを選んで通年で自動化することもできますし、帰宅に合わせて点灯みたいなことも可能です。

また玄関の置き配ラックで荷さばき作業をする時に、いちいち家の中に入って壁スイッチを操作しなくていいように、「リモートボタン」も外に設置しています。

こんな感じでルミナスラックに取り付けてあるので、必要と思った時にその場から点灯/消灯できます。誰でも操作できちゃいますが、まぁ照明が点くだけですしw。むしろ宅配業者さんには必要なら使ってほしいです。

こちら3Dプリンターでルミナスラック専用ホルダーを作っています。

まぁ、今回のアップデートでスケジュールON/OFFが完璧に動作するようになれば、手動操作は一切しなくて良くなるかもですが。

■まとめ

以前どこかSNSだか5ちゃんねるだかで、玄関LED照明を点けっぱなしにするよりSwitchBot運用コストの方が割高、みたいな話も読みましたがソースが定かではありません。やはり不要な時間帯は消しておいた方が精神衛生上も良いですし、防犯的にも動きがあった方が在宅アピールになって良いでしょう。

今回のアップデートで玄関ライトがしっかりSwitchBot制御できるようになってまたひとつIoT住宅化が進んで達成感あります。年内にタスクが1つ消化できて良かったです。

富士通ゼネラルエアコンのWi-Fiアダプタが突然無償交換です言われたけど、部屋に人を入れたくないのでDIYで交換しました

我が家には現在2台の富士通ゼネラルのエアコン、ノクリアが稼働しています。厳密には1台はほぼ使って無くてコンセントも抜かれた状態ですが、、

どちらにも別売りのWi-Fiアダプタ、APS-12Bをつけてスマホアプリ制御できるようにしていました。以前3台あった頃、これも3個買って自分で取り付けたんですよね。1台はエアコンを処分する時に一緒に回収に出してしまいました。

さて、それがある日、アプリを立ち上げるとこんなお知らせが。

アプリリニューアルにあわせてアダプタ自体も交換が必要になります。無償で工事に行くから希望日を教えてね、と。イヤイヤイヤ、、向こう都合だから無償なのはまぁ良いとして、引っ越し直後以外で他人を家に上げるのはハードル高杉。2台ともエアコンの真下にラックがあって精密機器が山積みです。1時間かそこらの工事のために片付けるとか面倒くさい。さりとてそのまま作業してもらうのも申し訳ないし危なっかしい。

APS-12BもDIY取り付けなので、交換も自分でできるはず、と思ったものの申込み時に相談してみようとするも、自由記入欄の類は一切なく、、仕方なく一旦申し込んで下請け工事の人との日程相談になった時に「工事やったことにしてモノだけ置いていってくれませんか?」と頼んでみるかーと。

(スマホアプリのお知らせから飛ぶ申込みフォームとは別にお問い合わせフォームもありました。)

で、最初に電話がかかって来た時に出られず、後でSMSで希望日を教えてねというメッセージが来ました。そこで「自分で取り付けできるので、配送または玄関に置いてっていただくことはできませんか?」と返信してみたのが10月上旬。そこからずーっと返信がなく、更にもう一度申込みフォームから申請してみるなどしてましたが、12月下旬になってようやく配達のみでOKという返信が来ました。想定外だったので社内調整してくれてたんでしょうか。最終的に下請け工事屋さんではなく富士通ゼネラルのサービス部門ぽい人の名刺いりて自宅まで直接紙袋に2台入れて届けに来てくれたようです。

こちらが届いた後継アダプタのOP-J03A(のパッケージ)です。間が空きすぎて2台あることが忘れられてないか不安でしたが、しっかり2台入ってました。

■早速取り付けていく!

我が家のモデルはAS-X22FとAS-C22Fです。それぞれに旧アダプタがついているので、そのコネクタを抜いて呼び線として紐かなにかをつけて反対側から引っ張って抜けば、元の経路に引き戻すのはゼロからより楽なんじゃないかな?という目論み。

ただ最後に取り付けたのは数年前なので手順はほとんど忘れており、改めて公式ドキュメントを参照しながら行っていきます。

下記のURLに型式を入力/選択し、出てきたドキュメントタイプ欄で「アダプタ取付説明書」を選べば、図解/写真入りの詳細な手順書PDFが閲覧できます。
https://www.fujitsu-general.com/jp/support/downloads/search/index.html

基本的にはそれを見ながらやるのが良いと思いますが、一応取れた範囲の写真を載せておきます。

あくまで自己責任で作業してください。

初級編 AS-C22F-W

必ずコンセントを抜いて作業をしてください。

フロントパネルとフィルターを外した後、底面のネジ隠しフタをマイナスドライバーなどでこじって外し、中のネジを3本外します。

次にガワをまるっと外します。赤丸のネジ4つを外します。一番右のを外すとグレーのカバーが外れるので先にとっておきます。次に矢印部分がツメではまっているのを下は左右、上は上に引っ張る感じで外すとまるごと外れます。

1つのガワパーツでまるっとここまで裸になるのはさすが廉価モデルという感じ。コスト節約のための工夫なんでしょう。

次に右側の金属カバーを外します。正面から見て赤丸の二箇所のネジを外し、パネルを手前に少し引くと奥のツメが外れて右にパカっと開きます。

これでメインボードが露出しました。赤丸がコネクタ、赤線がケーブルです。これを新アダプタに入れ替えていきます。経路は「アダプタ取付説明書」に細かく指定されているので従っておきます。そうしないと思わぬところでケーブルを噛んで断線とかしてしまう可能性があるのできっちり指定経路(このケーブルの裏を通すとかタイラップで留めるとか)通りに引き回します。

ケーブルを噛まないように注意して金属パネルを戻します。赤丸の二箇所にツメがあるのでそこをしっかりとはめ込んだ上で矢印の向きに押し込みます。奥のツメがしっかりはまってないとパネルが右にパカパカ開いてしまいます。奥までしっかり固定できてて開かないことを確認してください。

パネルやフィルターを戻して、最後にアダプタを固定。付属ネジは使わず両面テープで固定しました。

本体右側面にアダプタを付けた場合ケーブルがかなり余ります。自分は下側のルーバーの奥のスペース(最初に外したパネルの上)にタイラップでまとめて隠しました。

上級編 AS-X22F-W

こちらは自動フィルター掃除機能付きなので構造が複雑です。

今回もコンセントを抜き、フィルターを外します。フロントパネルは跳ね上げて置くだけでOK。

下部パネルのネジ隠しフタを取り、ネジを3つ外します。

赤丸の7本のネジを取り、内部パネルをとります。ここはむしろC22Fよりも素直に手前に引っ張って抜ける感じ。

パネルをとり、手前のプラパネルを手前にパカーンと開いて降ろすと、奥に金属カバーが出てきます。赤線でなぞっているのがアダプタのケーブルです。電源の赤白黒のVVFケーブルと一緒にコード留めで固定されています。

金属カバーが左右の赤丸の辺りのツメで固定されています。左側のツメを軽く開くと外れます。

金属カバーを外すと基板が露出。赤丸がコネクタです。

コネクタのアップ。「NET」と書いてあります。

VVFケーブル(赤白黒が入った灰色の太いケーブル)と一緒にこの部品で固定されているので、赤丸のネジを外し、右側を引き抜いてケーブルをフリーにします。

公式手順ではVVFケーブルの1,2,3も外して一緒に背面へ抜くよう指示されていますが、エアコンが壁についている状態だとたぶんあまり意味がないので、そちらはつないだまま作業しました。

旧アダプタのケーブルを後ろに引き抜いた後、改めて新アダプタを引き戻す為、呼び線となるビニール紐もコネクタに結んでビニールテープでグルグル巻きしておきます。コネクタに負荷がかからない、かつ途中で紐だけスッポ抜けないよう結び方を気をつけてください。

コネクタが幅広で、VVFケーブルを残したまま引き抜くのは結構狭くて大変でした。気持ち左に寄せるようにして抜くと良かった気がします。

後ろ側に引っ張るところがこんな感じ。一度パネルの外に出ているケーブルを中に引き戻し、前後にある程度自由に動くようにしておきます。前後に動かしながらどちらに寄せると緩くなるか確認します。ウチの場合は正面からみて左寄りにするとよく動く感じでした。コネクタを引きちぎらない程度に力を入れて抜き出します。ここでどうしても抜けないようなら公式説明書通りVVFケーブルごと外さないとダメかも知れません。冒険はしない方が無難でしょう。

ちなみにウチの場合は写真のように右サイドパネルの穴から外に出ていましたが、新配線は中を通して、より綺麗に経路を変えました。

どうにかコネクタ部まで後ろ側に抜けた状態。ここでテープを外して紐を新ケーブルに結び直します。なお、アダプタ側の根元は抜けないので、事前に最終経路をしっかり確認し、外装パネルなどの穴を先に通してから紐に結ばないと、せっかく通ったあとでやり直すことになります。

新ケーブルを結び直したらまたフロント側から紐を引っ張ってケーブルを通していきます。

フロント側にケーブルが通ったら後は元通りに基板上のコネクタに差し込み、経路を指定通りにまとめ、各種パネル類を戻していきます。

■Wi-Fi設定とアプリ移行

エアコンの電源を入れ、Wi-Fiアダプタ上の3つのボタンのうち、一番上を3秒、続いて真ん中を3秒押すとWPS設定待ち受け状態になります(真ん中のランプが点滅)。ここでWi-Fiルーターのハードボタンまたは設定画面からWPS登録受け付け状態にすると自動的にWi-Fi設定が完了します。富士通ゼネラルのWi-FiアダプターはWPSでのみ設定で、自分でSSIDとパスワードを入力して設定することはできません。昔このエアコンを買った頃はWPSがないYAMAHAのアクセスポイントを使っていた詰んだのですが、BUFFALOで普通にWPSが使えるので楽でした。真ん中のランプが点灯になればWi-Fi接続完了です。

次に「どこでもエアコン」に代わる新アプリの「ノクリアアプリ」をスマホにインストールし追加手続きをします。まずノクリアアプリを起動するとログインを促されるのですが、どうも今まで「どこでもエアコン」で使っていたID/PWではダメで新規登録するしかありませんでした。「パスワードをお忘れの場合」からメールアドレスを入れても一向にメールが来ません。公式サイトをみてもアカウント作り直しについて触れてるところはナサゲだったんですが、ChatGPTさんはなぜか「別だから作り直せ」と教えてくれました。

しょうがないので同じID、PWで新しくアカウントを作成し続行。エアコンを追加するフローに入ると、改めて上ボタンを3秒押せ、真ん中を3秒押してWPS登録しろ、と言ってきますが、たぶんここは本当にやり直さなくても「次へ」「次へ」で進んでいけばOKです。エアコンもスマホも同じWi-Fiにぶら下がっていれば、アプリがエアコンを発見してくれます(少し待たされました)。なぜか初期ウィザード中は部屋名が選択式で一旦「その他」を選んで、後から設定画面で書き直す必要がありました。

新しい「ノクリアアプリ」はGoogleのマテリアルデザインっぽいモダンな外観になりましたが、できることはさほど変わらない様です。機種自体が古いからかも知れません。相変わらず逐一確認ダイアログが出て1手煩わしいのも同じ。

確認ダイアログ

手間がかかった割にユーザメリットは特にないかなーという感じです。

■まとめ

2台合計で2時間くらいかかった気がしますが、というか最初にお知らせをみて即申し込んでから2ヶ月もかかりましたが、ようやく新環境にすることができました。どういう事情があったのかわかりませんが、ハードごと変更なんて面倒くさいことをしてくれたものです。その割にアプリでできることは大してかわりなくちょっと残念。

最初は工事の人を部屋に入れるくらいならもうWi-Fi操作は諦めて、Nature Remoで赤外線経由の操作だけにしちゃおうかとも考えましたが、なんとか現状維持はできてホッとしています。

まぁ普通の人はそこまで人を部屋に上げることに忌避感はないでしょうし、普通に申し込んでサクっと終わらせてることでしょうけども。

ちなみに古いアダプタは特に回収の指示もないし処分していいのか一応SMSで聞いてみているんですが、今のところ返事がありません。しばらくは保管しておくかな…

余談: ネジ隠しフタを無くしたので3Dプリンターで作成しました。

C22Fの作業をしている時に、うっかり底面パネルのネジを隠すフタを落として紛失してしまいました。

仕方ないのでノギスで測って3Dプリンターで複製。微妙な左右の突起の加減を再現しきれずまだ調整中ですが、なんとかなるでしょう。

同じ様に紛失した方がいたらご相談ください。

配信中を家族に知らせるランプを作る~OBS Studio、IFTTT、SwitchBot連携

世の中、テレワークが増えて、会議中に家族が部屋に入ってこないように知らせるいわゆるON AIRライトが欲しいとずっと思っていました。しかも廊下まで行って手動でON/OFFする必要があると面倒だし絶対忘れまる。実際には会議終わってるのにライトは点きっぱなし、とかいうことに絶対なる。

自分はZoomとかTeams、Meetとクライアントによって色々使うので、汎用的に使用中を検知する方法はまだ思いついてないんですが、とりあえず家族がたまにやるOBS Studioを使った配信ならいけそうな方法を見つけました。(別記事にまとめました)

自分はライブ配信はしないですが、収録には使うので、同様に録画開始/停止をトリガにすれば、「収録中入室禁止」のランプにはなりそうですね。ただ自室の廊下付近に電源を取れる場所がないので、それは別途解決せねばなりません。

ということで、今回は家族の配信部屋前に設置する「配信中」ランプを作ってみます。

座組としては、

  • SwitchBotのLEDテープで光るランプを作る
  • IFTTTのWebHooks(所定のURLにアクセスしてトリガ)からSwitchBot製品を制御
  • OBS StudioのLUAスクリプト配信開始/終了時に上記WebHookのURLを叩く

という流れ。これで完全自動になりますが、場合によっては家族が使っているStream Deckから手動でON/OFFできるようにすることも考えます(IFTTTを経由してもいいし、直接SwitchBotのAPIを叩くとレスポンス上がりそう)。

■ランプの製作

家族はちいかわ(のモモンガ)が好きなので、こちらのランプを魔改造することにします。

バッテリー充電式なので外部の電源入力のON/OFFでは直接点灯制御はできなそう。最悪分解してバッテリー線を切断とかしたらいけるかなくらいで特攻。案の定、充電とは別で電源スイッチを押さないと点灯しません。さらに色が電球色と昼白色か昼光色の色温度の高い色の2色切り替え式で、最初は必ず電球色になります。モモンガの毛色としては違和感ありまくりなので解釈不一致のクレームになってしまいます。これは改造無理なんじゃ…とバラしてみるとこんなランプユニットが出てきました。

カバーの接着も固く、想像にこのユニットを使うのは放棄。上部のモモンガ型のシリコンカバーだけを流用することにします。

発光体としてSwitchBotのLEDテープを使うことにしました。電球タイプでは入ったとしても発熱がスゴそうなので。

IFTTT連携ができればいいのでもっと安いものもありますが、我が家ではSwitchBotを元々使っており、新たにアプリを入れなくてもいいというのでこれにしました。

テープ状のLEDを巻き付けるコアパーツを3Dプリンターで作ります。なんとなく体型に沿うようにしたら結局電球みたいなフォルムに、、まぁ大きさが違うんですが。

ボディのシリコンカバーを固定する底の円盤部分を元のランプユニットのサイズで正確に設計。これでシリコンカバーがカポっとはまります。いかにも配信中であるというプレートも手でもってるように取り付けてみました。実際には3つのパーツで別々に造形しています。プレートは半透明PETG素材で光が透けるようにしてみたんですが、透明度が低いのイマイチでした。

LEDテープを巻き付けた写真を撮るのを忘れてたんですが、このパネルの下に伸びるステーが非常に折れやすく2回折れては補強を増して造形したりして、もう分解したくないので割愛。

■SwitchBot設定

LEDテープはRGBで色も明るさも自由にできますが、当面はON/OFFでいいので、SwitchBotのスマホアプリで解釈一致な毛色を再現してお気に入りに入れておきます。普段はIFTTT経由でON/OFFだけすれば色や明るさは固定されます。

必要があればIFTTTから色や明るさ指定もできるはずなので、録画中は赤とか動作を変えることもできるはず。

■IFTTT設定

配信開始(点灯)と配信終了(消灯)のそれぞれのアプレットを作ります。IF(トリガ)がWebHooksで、THENがSwitchBot制御です。

動作確認も兼ねてスマホアプリへの通知も挟んでいます。

WebHooksの中身はこんだけ。配信開始用アプレットではイベント名を「stream_started」、終了用は「stream_stopped」とします。

SwitchBot側は「LED Strip Light On/Off」モジュールを使います。

WebHooksとして使うURLは、ユーザーアカウントを示すキーと、そのユーザが作った中でどの動作を叩くかを示すイベント名を含みます。そのうちイベント名は上記で指定したものになります。キーはユーザ毎に固定なので、「My Services」→「WebHooks」の画面にいって調べます。

この画面にあるURLの/use/の後の文字列がキーになります。

これを使って、

みたいな形式がトリガ用のURLとなります。これをブラウザなどで開くとアプレットが実行されるわけです。これをstream_startedとstream_stoppedで2つ作っておきます。

■OBS Studio設定

で、OBS Studioの配信開始や終了時に上記URLを(ウインドウを開かず裏でひっそり)開けばいいわけですが、そこら辺は汎用的な情報なので別記事として切り出しました。

■完成!

これが完成したライトです。RGBテープライトなので色味を調整でき、いい感じの白さを出せてると思います(原作知らんからイメージですが)。さすがに耳の中までは光が届いてない感じ。

プレートはX1-Carbonで始めて多色造形したんですが内部サポートが黒になってしまい格子模様がでちゃってます。どうも外枠を黒にすると吊られて内部構造も黒になってしまうぽいので、別パーツにして組み合わせるとかしないとかも。

右の半球のが元から入っていたライトユニット

ライトの熱でシリコンカバーが焦げたり燃えたりしないか不安でしたが、輝度設定としては15%くらいで充分綺麗に光るし、一晩点けたままにしても平気でした。万一参考になさる時は自己責任でお願いします。

別にちいかわでなく、電源供給で(スイッチ無しで)ON/OFFできるランプならもっと簡単にできると思います。

この場合は、こういうスマートコンセント型のデバイスでON/OFFすればいいでしょう。

電源だけは必要にせよ、PCからの線が届かない位置でも、なんなら地球の裏側でも配信の状態を知ることができるので、ニーズがある人の参考になれば幸いです。

OBS Studioの配信にあわせてIFTTTのWebHooksを叩く

詳細は別記事で書く予定ですが、OBS Studioで配信を開始/終了するたびに宅内の照明などを操作したかったので、OBSのLUAスクリプトで実現しました。そのまんまのサンプルがありそうで見付からなかったので、なんとか各方面のマニュアルやブログを参考に実装しました。

WebHookからの家電操作にはSwitchbotとIFTTTを使います。今回はLEDテープライトを用意しました。

別に電球でもエアコンでもカーテンでも理屈は同じです。またIFTTTに対応していればSwitchbot製品でなくてもいけると思います。家電製品操作だけでなくメールやSNS投稿をしたり、Googleドキュメントに記録をしたりとか。IFTTTは何年か前に無料プランで使えることが絞られてあまり名前が挙がることがなくなりましたが、無料プランでも2つのアプレットが作れるので、今回の用途(オンとオフ)だけなら使えるんじゃないかと思います。

  • 手順1. SwitcBotまたは他のIFTTT対応製品を設定
  • 手順2. IFTTTに登録し、SwitchBot(等)サービスと連携
  • 手順3. IFTTTでWebHooksサービスを登録し、個人毎のKeyを取得(あとでOBSにコピペします)
  • 手順4. 開始時アプレットとして、IFにWebHooksを選び、イベント名を「stream_started」とし、THENに好きな動作を設定
  • 手順5. 終了時アプレットとして、IFにWebHooksを選び、イベント名を「stream_stopped」とし、THENに好きな動作を設定

までは別途済ませてあるとします。

■スクリプトの準備

GitHubリポジトリからluaスクリプトをダウンロードするか、以下のコードを「IFTTT_when_stream_star.lua」という名前で適当なフォルダに保存します。

OBS Studioで「ツール」→「スクリプト」を開き、「+」ボタンから保存した.luaスクリプトを選択します。Key欄にIFTTTのWebHooks設定で取得したKeyをコピペします。

・WebHooksキーの取得

設定済みの場合、こちらのページを開いて、URLの赤線の部分があなたのKeyです(/は含まない)。

基本これだけです。最初の確認段階では「スクリプトログ」ボタンを押してログウインドウを開いておきます。そうすると配信開始/終了時に「配信を開始しました。」「配信を終了しました。」などとメッセージが出てスクリプトが反応していることを確認できます。

WebHookを開くのにテキストブラウザのcurlというプログラムを裏で呼び出しています。これはWindows 10 Version 1803以降はプレインストールになってるので特に何もしなくても大丈夫はなず。macOSでもここ最近ものでしたら入っているはずです。

カスタマイズしたい人への参考情報

今回はOBSの動作のフックとして

  • OBS_FRONTEND_EVENT_STREAMING_STARTED(開始)
  • OBS_FRONTEND_EVENT_STREAMING_STOPPED(終了)

を使って、32行目以降のところで処理を記述しています。もしこれ以外のイベントをトリガーにした場合は、APIマニュアルを参照して希望のイベントがあるか調べてみると良いでしょう。

SwitchBotで給湯器操作大作戦(3Dプリンターネタ)

SwitchBotといえば今でこそ様々な操作/計測IoTデバイスをリリースしているメーカーですが、最初は文字通りスイッチを押すための超小型モジュールが出発点でした。自分はその(たぶん)第一号となるSwitchBotをクラウドファンディングで購入するも、ほぼ死蔵していました。もともとはお風呂の給湯スイッチを遠隔で操作できたら、出先で「もうすぐ帰宅するのですぐお風呂入りたい」「寒いからこたつから出ないでお風呂沸かしたい」みたいなニーズを満たしてくれるんじゃないかと思って出資したんですが、リターンが届く前に引っ越してしまい、ニーズ自体が消滅してしまった感じ。そこから更に数年、またまた引っ越してリモコン位置が(浴室内と)キッチンの奥になってしまい押しに行くのがちと面倒になったり、更に先日からジム通いを始めて、「帰ってすぐお風呂」ニーズも高まったので、頑張ってSwitchBot本体を発掘して取り付けることにしました。もともと他の家電を操作するのでハブ2は設置済みだったので、今回は既存のSwitchBotネットワークにスイッチを追加した形です。

それはそうと、スイッチユニットは登場からもうすぐ10年ですがちっともモデルチェンジしないですね。ある意味スゴいことですが、そろそろ薄型化したモデルとか出ないんでしょうか。

貼り付けるだけだと思うじゃん?

我が家のノーリツ製の給湯リモコンはフタ付きです。普通にSwitchBotを貼り付けたらこんなギャグみたいなことに…

フタの上のボタンはフタの下のボタンを押すためのカバーに過ぎないので、反力でフタが押されてパカっと開いてしまいます。これを防ぐにはSwitchBot自体をフタではなくベースの外枠の部分に固定すれば良いのですが、今度はそれだとフタの開閉ができなくなり、使用頻度が低いとはいえフタの中のボタンを使用できなくなってしまいます。

3Dプリンターで治具を自作

ということで本題。3Dプリンターで専用の固定具をDIYすることを決意。要求仕様としては、

  • SwitchBot本体をフタに固定しない
  • 必要な時はフタをあけて中のボタンにアクセスできる
  • 手作業で「ふろ自動」ボタンを押すのを邪魔しない

などに留意して設計しました。

出来上がったのがこちら。

一見クワガタのようなよくわからない形状になりました。底面は給湯リモコンの周囲の状態(モールなど)にあわせて凹凸を設けています。最終的には右側の大きな面を両面テープで固定する想定です。

SwitchBotを取り付けるとこんな感じに。これも両面テープ。PLA素材その接着力には不安がありますが、できればSwitchBotを後々綺麗に剥がしたいこともありそうなので、一旦それで様子見。

ポイントは上下に分離合体する点。横から2本のレールにスライドして入れる形です。つまりフタを開いて操作した時は、SwitchBotの乗っかった上部モジュールを右にスライドして抜いてしまうというワケです。普段のボタン押しに必要な押し込み方向の力や重力方向の力には耐え、右にはスっと抜けるというのが理想。

これを固すぎず緩すぎずの加減が難しかったです。FDM方式の3Dプリンターは樹脂フィラメントを溶かしてぶちゅっと積み上げていくので、どうしても設計寸法よりわずかに膨らみがち。3Dモデリングツールでピッタリの凹凸をデザインしてもだいたい入りません。上側の凸レールを少しずつ小さくしたり、入りやすくするよう先端を丸めたりと地味に試行錯誤が必要でした。他にもクワガタの顎にあたる左右の突起が薄くてパキっと割れてしまいやすいので造形方向を上と下で違えてみたりもしました。あと上モジュールはインフィル(充填)率も上げて強度を出しています。

3Dプリンターは3Dモデリングで形を作るまではちょっと慣れればできちゃうんですが、そこから強度を出すために出力工程での試行錯誤が大変ですね。要はモデリングソフトから出力したSTLファイルをCuraなどのスライサーソフトにもっていってからのパラメーターを練る段です(もちろんモデルに戻って形状をいじったりもしますが)。3Dモデリングの本は世の中にたくさんありますが、そうした強度設計みたいなことを手軽に学べる書籍がなかなか出会えないでいます。工学部の教科書みたいなレベルの専門的な技術書はあるんでしょうが、ホビーで3Dプリンターやる時の指南本とかあれば是非教えていただきたく。

ともあれ、ついに取り付けた完成体がこちら!

SwitchBotの真ん中から生える押し込み用のアームは、「ふろ自動」ボタンの右寄りに当たる形ですが、一応反応しています。また指で押すにもそこまで邪魔ではないと思います。

そして上部モジュールを抜き去ればこのようにフタも開きます。

やや面倒ですが、基本的に時刻合わせか予約の時にしか使わず、ここに済んで3年目ですがほぼ触ったことがないので許容できる手間かなと。スライドレールの固さも固すぎず、かつ勝手に動きはしない(多分)くらいの絶妙なところを実現できたと思います。もしかするとだんだん削れて緩んでいくかもですが、まぁその時はその時。

あと距離はありますが右下にはガスコンロがあるので、もしかするとPLAだと溶けるとか変形するとかはあるかも。もしそうなったらPETGとか他の素材で作り直すことになるかも知れません。