
「お父さん、なんか音がスカスカなんだけど」
リビングから息子の声がしました。息子は重低音が大好きで、ドンドンと体で音を感じるのが楽しみなのです。ところが、DENON のリモコンでアンプを入れ、iPhone から AirPlay で好きな曲を流したのに、聞こえてくるのは軽くて薄い音でした。

原因はすぐ分かりました。サブウーファーの電源が入っていなかったのです。
このウーファーは、「シアターON」のボタン(Home Assistant のスクリプト)を押したときだけ電源が入る作りでした。作った私は、そのボタンから入れるのが当たり前になっていて、気づきませんでした。
「いつものボタン」を知っている人しか、いい音で聴けない。これでは家族のための仕組みとは言えません。
結論から言うと、アンプの電源が入ったらサブウーファーも入り、アンプが待機に戻ったらサブウーファーも切れる仕組みは、Home Assistant(ホームアシスタント)とスマートプラグだけで作れます。
アンプの「電源の状態」そのものを見張るので、リモコンでも、本体のボタンでも、スマホの AirPlay でも、アンプの電源が変われば、ウーファーが追いかける作りです。
私の環境(DENON AVR-4311 と TP-Link Tapo P105)で、実際にアンプの電源を入れて・切って測ると、次のとおりでした。
| できごと | ウーファーが動くまで |
|---|---|
| アンプの電源を入れる | 0.5秒でオン |
| アンプを待機に戻す | 10.5秒でオフ(10秒の待ちを入れてあります) |
この記事では、設定の中身と、つまずいた3つのコツを書きます。
サブウーファーの電源連動で困ったのは、どんなとき?
ウーファーの電源が、スクリプトの中にしか書いてなかった
サブウーファーは、低音だけを出す専用のスピーカーです。電源は別になっているので、アンプを入れても、ウーファーは自動では入りません。
私は Home Assistant で、ボタン1つで複数の機器を順番に動かす手順書(スクリプトといいます)を作っていました。「シアターON」を押すと、テレビ・アンプ・スクリーンが動く、というものです。ウーファーの電源(スマートプラグ)も、その手順の1つとして書いてありました。
ところが、スクリプトを通さずにDENON のリモコンや AirPlay でアンプを入れると、ウーファーは入らず、低音が出ません。息子の「スカスカ」は、これでした。スクリプトを増やすたびに、ウーファーの手順も足さなければなりません。

そこで、Home Assistant に聞いてみました。「そもそも、アンプの電源が入ったら自動でウーファーの電源がオンになり、アンプの電源オフと連動してオフにできないの?」
答えは、できるでした。
電源連動のやり方は、大きく3つあります
| 方法 | 仕組み | 向いている人 |
|---|---|---|
| アンプの TRIGGER OUT 端子 | アンプの電源に合わせて 12V の信号を出し、つないだ機器の電源を連動させる(機種による。ウーファー側も対応が必要) | 対応する機種の組み合わせを持っている人 |
| 連動OAタップ | 親機(アンプ)の電気の流れを見て、子機(ウーファー)のコンセントを入り切りするタップ | 買って挿すだけで済ませたい人 |
| Home Assistant +スマートプラグ | アンプの電源の状態をネットワークで見張り、ウーファーのスマートプラグを入り切りする | すでに Home Assistant とスマートプラグがある人。失敗したときの通知などを足したい人 |
ケーブル1本やタップ1個で済むなら、そちらのほうがずっと簡単です。私は Home Assistant で家じゅうの機器を動かしていて、アンプもネットワークでつながっていたので、3つ目を選びました。
Home Assistantでサブウーファーを連動させる仕組みは?
全体の流れ

- Home Assistant は、家じゅうの機器をつないで、条件に合わせて動かせる無料のソフトです。「家の司令塔」のようなものです。
- 「〇〇になったら△△する」という自動のルールを、オートメーションといいます。今回はこれを1つだけ作りました。
- スマートプラグは、コンセントに挿すと、スマホやパソコンから電気を入り切りできるアダプターです。
用意したもの
| 項目 | 内容 |
|---|---|
| アンプ | DENON AVR-4311(LAN でつないであり、Home Assistant の統合「Denon AVR Network Receivers」で見える) |
| ウーファーの電源 | TP-Link Tapo P105(スマートプラグ)。サブウーファー本体の電源につないだ |
| Home Assistant | 2026.9.3(Docker 版) |
オートメーションの中身
実際に動いている設定を、少しだけ簡単にして載せます。media_player.denon_avr_4311 と switch.woofer は、私の環境の名前です。自分の機器の名前に置き換えてください。
alias: アンプ連動ウーファー
mode: restart
triggers:
# アンプが「待機」から変わったら(オン)
- trigger: state
entity_id: media_player.denon_avr_4311
from: "off"
not_to: [unavailable, unknown]
id: "on"
# アンプが「待機」になって10秒たったら(オフ)
- trigger: state
entity_id: media_player.denon_avr_4311
to: "off"
not_from: [unavailable, unknown]
for: { seconds: 10 }
id: "off"
actions:
# プラグが「利用不可」なら、戻るのを最大2分待つ
- wait_template: "{{ not is_state('switch.woofer', 'unavailable') }}"
timeout: "00:02:00"
continue_on_timeout: true
# それでも戻らなければ、スマホに通知して終わる
- if:
- condition: state
entity_id: switch.woofer
state: unavailable
then:
- action: notify.mobile_app_あなたのスマホ
data:
title: ウーファーを操作できませんでした
message: ウーファーのプラグが Home Assistant につながっていません
- stop: プラグが HA につながっていない
# オンのきっかけならウーファーをオン、オフならオフ
- choose:
- conditions: [{ condition: trigger, id: "on" }]
sequence:
- action: switch.turn_on
target: { entity_id: switch.woofer }
- conditions: [{ condition: trigger, id: "off" }]
sequence:
- action: switch.turn_off
target: { entity_id: switch.woofer }
つまずいたのは、どんな所? 3つのコツ
コツ1: 「オンになったら」ではなく「待機から変わったら」にする
最初は「アンプが on になったらウーファーをオン」と書けばよいと思っていました。ところが、Home Assistant の履歴を見ると、アンプの状態は、電源が入っている間も、on ↔ playing(再生中)↔ idle(待機中)と変わります。
「on になったら」と書くと、曲を再生するたびにウーファーを入れ直す指示が出てしまいます。
そこで、アンプの電源が切れている状態(Home Assistant では off と表示されます。DENON の「待機」のことです)から変わったときだけ動くように書きました。

コツ2: 切るのは「待機が10秒続いたら」にする
オフのほうは、アンプが待機になってから10秒続いたらウーファーを切るようにしました。一瞬の状態の揺れで、音楽の途中にウーファーが切れるのを避けたかったからです(これは私の狙いで、揺れが実際に起きたことは確認していません)。
さらに mode: restart にしてあるので、10秒待っている途中でアンプがまたオンになれば、オフの指示は取り消されます。

コツ3: プラグが「利用不可」になっても、黙って失敗しないようにする
いちばん怖かったのは、スマートプラグが Home Assistant から見えなくなることでした。履歴を調べると、私のウーファーのプラグは、2026年9月30日の7時8分〜11時59分に、約1分の「利用不可」を8回繰り返していました。
しかも、「利用不可」のあいだに「オンにして」と指示しても、エラーは出ず、何も起きません。黙って失敗するわけです。家族は「ウーファーが入らない」としか分からず、困ってしまいます。
そこで、プラグが戻るのを最大2分待ち、それでも戻らなければスマホに通知して終わる作りにしました。

ちゃんと動く? 実測の結果
夜は音を出さずに試した
夜に本物のアンプを入れると音が出てしまうので、最初は Home Assistant の画面の上でアンプの状態だけを書き換えて試しました。本物のアンプには触っていません。
履歴の抜粋です(日本時間、2026年10月5日)。
22:08:14.409 アンプ on ← 試験で書き込んだ状態(待機→オン)
22:08:14.472 アンプ off ← 63ミリ秒後に、本物の状態へ上書きされた
22:08:14.917 ウーファー on ← 0.5秒でオン
22:08:24.979 ウーファー off ← アンプのオフから10.5秒でオフ
22:08:35.448 アンプ unavailable ← 「利用不可」を経由
22:08:36.453 アンプ on ← このオンではウーファーは動かない(想定どおり)
3つとも想定どおりでした。
- 待機からオンで、ウーファーがオンになる
- オフの10秒後に、ウーファーがオフになる
- 「利用不可」を経由したオンでは、動かない
ひとつ、想定外のことがありました。書き込んだ「オン」が、63ミリ秒後に本物のアンプの状態(待機)で上書きされたのです。状態を書き換える試験は、本物のアンプがすぐ書き戻す前提で、時間を読む必要があります。今回は、この上書きを含めた時間の流れで、動作を確かめられました。
本物のアンプでも確かめた
その後、本物のアンプの電源を入れて・切って確かめました。履歴は次のとおりです(日本時間、2026年10月5日)。
22:15:18.483 アンプ on
22:15:18.987 ウーファー on ← 0.5秒でオン
22:15:31.502 アンプ off
22:15:42.012 ウーファー off ← 10.5秒でオフ(10秒待ち+動作0.5秒)
試験と同じ時間で、ウーファーが追いかけました。
スクリプトからウーファーの手順を外した
最後に、シアターやミュージックの5つのスクリプトから、ウーファーの電源の手順だけを外しました。二重に動かすと、どちらが入り切りしたのか分からなくなるからです。外す前に設定を控え、外したあとで読み戻して、消えたのがウーファーの手順1つだけであることを確かめました。
これで、アンプの電源がどう変わっても、ウーファーは1か所のルールだけで動きます。
注意点(うまくいかない場合)
- Home Assistant が再起動したときや、通信が途切れたとき(「利用不可」)は動きません。アンプがオンのまま Home Assistant が再起動しても、ウーファーは、そのときの状態のままです。
- スマートプラグを交換すると、名前(エンティティID)が変わります。オートメーションの中の名前も直してください。
- ここで確かめたのは、私の DENON AVR-4311 と TP-Link Tapo P105 の組み合わせです。他のアンプでは、状態の名前や動きが違うかもしれません。
まとめ
- アンプの電源の状態を Home Assistant で見張り、サブウーファーのスマートプラグを連動させれば、入れる方法を問わず、ウーファーが自動で入り切りする
- 実測は、オンが 0.5秒、オフが 10.5秒(10秒待ち)
- コツは3つ。① 「オンになったら」ではなく「待機から変わったら」にする ② 切るのは10秒続いたらにする ③ プラグの「利用不可」で黙って失敗しないよう、待って、通知する
- 先にスクリプトからウーファーの手順を外して、1か所のルールにそろえる
いまは、息子がリモコンでアンプを入れて iPhone から曲を流せば、何も操作しなくても、ドンドンと体に響く低音が出ます。息子は、仕組みが変わったことに気づいていないかもしれません。
何も言われないのが、この仕組みのいちばんの成功です。家族が「どうやって入れたか」を気にせず、いつもの低音が出る。小さなことですが、毎日使うものほど効きます。皆さんは、サブウーファーの電源をどうしていますか?
この記事を書いた人
自宅サーバー歴は、Windows ホームサーバーの頃から約20年です。
※この記事は、私の体験や記録をもとに、AI(Claude)に下書きを手伝ってもらって作成しています。設定や数字などの事実は、私が確認しています。アイキャッチ画像と冒頭の挿絵は AI(Google Gemini)で作成し、本文の図は AI(Claude)が描いています。
