この記事は SEN Product Blog アドベントカレンダー 2025 の14日目の記事です。
こんにちは!千株式会社のベーシスト兼エンジニアの稲ベースです。
はじめに
この記事でわかる・できること
- HomeAssistantで洗濯乾燥機のステータスを取得する
- HomeAssistantでAlexaなどのスマートスピーカーを喋らせる
- 個人的なHomeAssistant環境の構成
この記事の対象者
- 乾燥機を放置して服がシワクチャになりがちな人
- パートナーや家族のポイントを稼ぎたいエンジニア
- スマートホーム、IoTに興味がある方
動作環境・使用するツールなど
-
TrueNAS
- サーバであればなんでも可
- vmやコンテナ環境(k3s)が使えるので採用
- https://www.truenas.com/
-
HomeAssistant
- 他の環境でもできるとは思うがHomeAssistant OS推奨
- https://www.home-assistant.io/
-
MosquittoBroker
- HomeAssistant ⇔ echonetlite2mqtt の通信で必要になります
- https://mosquitto.org/
-
echonetlite2mqtt
- ECHONET Lite 対応家電(今回は洗濯乾燥機)を自動でスキャンし、MQTT トピックとして配信してくれる
- https://github.com/banban525/echonetlite2mqtt
-
Alexa Media Player
- Alexaを色々操作できる
- https://github.com/alandtse/alexa_media_player
簡単な構成図
乾燥機の悩み
洗濯物を放り込んだら自動で乾燥してくれる乾燥機
とても便利ですが、運転完了後に放置してしまうと服がシワクチャになってしまう欠点があります。
今回は、そんな悩みを IoT の力でなんとかしようとする試みです。
具体的には、乾燥が完了したら Alexa でアナウンスを流したり、
スマホにプッシュ通知を出したりしてすぐ回収できるようにする仕組みです。
HomeAssistantの導入
HomeAssistant は、さまざまなデバイスやサービスを統合し、自動化を柔軟に構築できる非常に便利なプラットフォームです。今回は以下の2つの役割で活躍します。
-
MQTT を通じて乾燥機(ECHONET Lite)から状態を取得
-
完了を検知したら Alexa に喋らせる自動化を実行
HomeAssistantのセットアップ
この記事では HomeAssistant OS を前提としていますが、Container や Core 版でも同様の設定は可能です。
https://www.home-assistant.io/installation/alternative/
Mosquitto brokerの導入
Add-on Store から「Mosquitto broker」をインストール

基本的にはそのままで大丈夫ですが、
後述する echonetlite2mqtt がアクセスするためのアカウントは作成しておきましょう。
MQTT 統合の有効化
「設定」→「デバイスとサービス」→「統合を追加」で MQTT を検索

これでHomeAssistant が自動的に broker を検出してくれるはず
echonetlite2mqtt の導入
このイメージを使用します。
https://github.com/banban525/echonetlite2mqtt
まずコンフィグファイルを作成します
{
"port": 1883,
"username": "hoge",
"password": "xxxxxxx"
}
TrueNASのAppsからCustom Appを作成
イメージを指定
環境変数を指定

HomeAssistantのIPを指定
※別でコンテナなどを立てた場合はそのIP

乾燥機のIPが分かる場合は指定してあげるとすぐに配信してくれます。
ファイルマウント
webUI設定
Alexa Media Playerの導入
ここで書くと長くなってしまうので割愛
https://github.com/alandtse/alexa_media_player/wiki/Configuration
HomeAssistantが乾燥機の情報を拾えるようにする
mqtt:
sensor:
- name: "洗濯機残り時間"
unique_id: 1
state_topic: "echonetlite2mqtt/elapi/v2/devices/fe0000050000000000_hogehoge/properties/washingDryingTimeRemaining"
- name: "洗濯機ステータス"
unique_id: 2
state_topic: "echonetlite2mqtt/elapi/v2/devices/fe0000050000000000_hogehoge/properties/currentStage"
これでHomeAssistantから乾燥機の情報が取得できます。
このままだと更新が不定期なので自分はオートメーションを使い定期的に情報を更新するようにしています。
alias: Echonetlite2mqtt_auto_reload
description: ""
triggers:
- seconds: /15
trigger: time_pattern
conditions: []
actions:
- data:
topic: >-
echonetlite2mqtt/elapi/v2/devices/fe0000050000000000_hogehoge/properties/washingDryingTimeRemaining/request
action: mqtt.publish
Alexaに洗濯物を回収しろと叫ばせる
alias: 乾燥機通知
description: ""
triggers:
- trigger: state
entity_id:
- sensor.hogehoge
from: "00:01"
to: "00:00"
conditions: []
actions:
- action: notify.alexa_media_hogehoge
metadata: {}
data:
message: 乾燥が終了しました、早く取りにきて
mode: single
スマホにプッシュ通知を飛ばす
alias: 乾燥機通知
description: ""
triggers:
- trigger: state
entity_id:
- sensor.hogehoge
from: "00:01"
to: "00:00"
conditions: []
actions:
- action: notify.mobile_app_hogehoge
metadata: {}
data:
message: 乾燥が終了しました、早く取りにきて
mode: single
ECHONET Lite対応の洗濯機なんてねぇよって方向け
消費電力が計測できる電源タップを使えば似たようなことができると思います。

参考資料
おわりに
明日の SEN Advent Calendar 2025 を飾るのは、
いま最も注目を集める新星──ぶりお君の記事です。
その瞬間、あなたは新たな伝説の幕開けを目撃することになります。
どうぞご期待ください。









