コンテンツにスキップ

Home Assistant LED制御入門:WLED、MQTT、自動化

WLEDコントローラーを構築し、ストリップをはんだ付けし、Web UIでセグメントを調整しました。本当の魔法は、LEDがスマートホームに参加したときに始まります — 日没時に調光し、外出中にドアが開くと赤く点滅し、概日リズムに従います。Home AssistantはWLEDをスタンドアロンコントローラーから完全に統合されたスマート照明システムに変えます。

Home Assistant統合を示すWLEDウェブインターフェース

なぜHome Assistant + WLEDなのか?

Home Assistantは主要なオープンソーススマートホームプラットフォームです — クラウド依存なし、すべてローカルで動作します。WLEDは最も人気のあるオープンソースLEDファームウェアであり、その開発者はHome Assistantコミュニティと緊密に協力してシームレスな統合を実現しています。

この組み合わせで得られるもの:

  • 音声制御 — Alexa、Google Home、HomeKitが初期状態で動作
  • スケジュール — 日没、日の出、または任意の時間にプリセットをトリガー
  • 自動化 — モーション起動ライト、ドアアラート、起床ルーチン
  • シーン — 複数のWLEDコントローラー間で照明ムードを保存および呼び出し
  • クラウド依存ゼロ — すべてLAN上で動作、インターネット不要

すべてのWLED機能 — セグメント、プリセット、明るさ、色、エフェクト、速度、強度 — がネイティブHome Assistantエンティティとして公開されます。ブリッジもHACSもYAMLの調整も不要です。

WLED統合のインストール

ネイティブWLED統合はHome Assistant 2023.5+に同梱されています。

  1. 設定 → デバイスとサービス → 統合を追加 に移動
  2. WLED を検索 — mDNS経由でネットワーク上のWLEDインスタンスを自動検出
  3. クリックして追加 — 統合が自動的に接続

手動設定は不要です。統合はHTTP経由ですべてを読み取ります:IP、ポート、LED数、セグメント定義。各WLEDセグメントは別個のlightエンティティになります:

light.wled_living_room
light.wled_living_room_segment_1  # TVバックライト
light.wled_living_room_segment_2  # 棚アクセント

複数のWLEDコントローラーはそれぞれ独自のデバイスとして表示され、セグメントごとのライトとコントローラー全体に電源を供給するデバイスレベルのスイッチがあります。

MQTTのセットアップ(オプションだが強力)

ネイティブHTTP統合は状態変更をポーリングします。MQTTを追加すると、インスタントプッシュ更新にアップグレードされます — コントローラーで物理ボタンが押されると、Home Assistantが即座にそれを認識します。

ワンクリックMosquittoセットアップ: Mosquittoブローカーアドオンをインストール(設定 → アドオン → アドオンストア)、起動し、デバイスとサービスでMQTT統合を設定します。

WLEDでMQTTを有効化: 設定 → 同期インターフェース → MQTTを有効にし、ブローカーIPとポート(1883)を入力し、一意のデバイストピック(例:wled/livingroom)を設定します。

すべての状態変更がリアルタイムで公開されるようになりました。本当の利点:他のデバイスがHome AssistantなしでWLEDを制御できます — ESPHomeモーションセンサーがwled/livingroom/seg/0/colに公開して色を直接変更できます。MQTTはまた、WLEDプリセットselect.wled_living_room_presetのような選択可能エンティティとして公開します。

便利な自動化

LEDを装飾から真に便利なものに変える5つの自動化。

夕暮れ時点灯。 sun.sunエンティティを使用して日没時にWLEDをトリガー — 時間スケジュールは不要:

alias: "LEDs On at Sunset"
trigger:
  platform: sun
  event: sunset
  offset: "-00:15:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_living_room
    data:
      brightness_pct: 40
      color_temp: 400
mode: single

モーション起動。 モーションが発生したらLEDを80%に5分間明るく:

alias: "Hallway LEDs on Motion"
trigger:
  platform: state
  entity_id: binary_sensor.hallway_motion
  to: "on"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_hallway
    data:
      brightness_pct: 80
      rgb_color: [255, 220, 180]
  - delay: "00:05:00"
  - service: light.turn_off
    target:
      entity_id: light.wled_hallway

ドアアラート。 外出警戒中に玄関ドアが開くとLEDを赤く点滅:

alias: "Door Alert LEDs"
trigger:
  platform: state
  entity_id: binary_sensor.front_door
  to: "on"
condition:
  condition: state
  entity_id: alarm_control_panel.home_alarm
  state: armed_away
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_living_room
    data:
      rgb_color: [255, 0, 0]
      effect: "Blink"
      brightness_pct: 100

起床ライト。 15分かけて徐々に明るく — どんな電話アラームよりも優しい:

alias: "Wake Up Light"
trigger:
  platform: time
  at: "06:30:00"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_bedroom
    data:
      brightness_pct: 1
      kelvin: 2700
  - service: light.turn_on
    target:
      entity_id: light.wled_bedroom
    data:
      brightness_pct: 80
      transition: 900
mode: single

TVタイム。 メディアの再生が始まったらLEDを10%に調光:

alias: "TV Time Dimming"
trigger:
  platform: state
  entity_id: media_player.living_room_tv
  to: "playing"
action:
  - service: light.turn_on
    target:
      entity_id: light.wled_living_room
    data:
      brightness_pct: 10
      rgb_color: [255, 100, 50]

シーンの作成

WLEDプリセットは自動的にHome Assistantでシーンライクなエンティティとして公開されます。WLED UIでプリセットを保存すると、すぐにHome Assistantに表示されます。

  • ムービーナイト — 暖色白10%、TV背面のバックライト
  • パーティー — フル輝度、カラーサイクル、速度200
  • 読書 — 暖色白(2700K)50%

ダッシュボード、ドアのそばのNFCタグからトリガーするか、照明を消し、ドアをロックし、警報をセットするおやすみルーチンに含めることができます。

音声制御

Home AssistantはWLEDをAlexaGoogle Home、およびApple HomeKitにクラウドブリッジまたはローカル統合を通じて公開します。

  • “Alexa, set living room LEDs to blue”
  • “Hey Google, dim the kitchen strip to 20%”

追加のWLED設定は不要です。個々のセグメントを別々のライトとして公開するか、コントローラー全体を1つとして公開します。完全にローカルな音声制御には、ESP32-S3音声サテライトを使用したAssistパイプラインを使用してください — クラウドは関与しません。

天文スケジュール

sunエンティティは日没時の単純なオン/オフを超えています。sun.sun属性を使用して、夜の時間帯に基づいて異なるプリセットをトリガーします:

  • 市民薄明(太陽が地平線下6°) — 暖色白40%
  • 夜間(太陽が12°+下) — 夜間視力のために薄暗い赤10%
  • 天文薄明 — 日の出前に朝の色に遷移

Adaptive Lightingは一日を通して色温度を調整します — 正午に寒色5000K、深夜に暖色2200K。WLEDエンティティに対してこれを有効にすると、太陽の自然な曲線を自動的に追跡します。

バラエティのために、毎晩異なるカラープリセットを選択する毎日のランダム化スクリプトを追加してください。LEDが二晩続けて同じに見えることはありません — 恒久的な設置を新鮮に保つ小さなタッチです。