Skip to main content
Selora Homes Selora Homes
Recipe · v1.0.0 · Released Jul 9, 2026

LG Washer & Dryer: Fault Alert

Sends a Home Assistant push notification the moment your LG washer or dryer reports a fault, naming the appliance and the error, so a stalled or errored cycle doesn't sit unnoticed. Built around the LG ThinQ integration.

A washer that halts on a drainage fault or a dryer that trips a sensor mid-cycle will happily sit there, done nothing, until someone wanders past hours later and finds a soggy or half-dried load. Your LG appliances already report these faults: the LG ThinQ integration surfaces an Error event that fires the moment something goes wrong. This recipe turns that into a push notification, naming the appliance and the fault, so you can act while it still matters.

How it works

During install, Selora AI generates a Home Assistant automation from the Error event entities you pick. The event only fires on a genuine fault, so when it does, the automation reads the error code and the appliance name and sends a push notification like “Washer reported a fault: drainmotor error.” It ignores the momentary unknown states a reload or connectivity blip produces, so you only hear about real faults.

Covering more than laundry

The Error event is not unique to laundry, most LG ThinQ appliances expose one, including the dishwasher and refrigerator. Because the role is multi-select, you can add those appliances’ error events to the same install and get one consistent fault alert across your LG appliances. Pick just the washer and dryer, or everything, whatever you want watched.

Files Selora AI's pipeline reads to install this recipe. The manifest declares roles, inputs, and integrations; the package files are Jinja-templated YAML applied to Home Assistant.

# Washer & Dryer Fault Alert — notify when an LG washer or dryer reports a
# fault via its Error event.
#
# The LG ThinQ integration exposes an "Error" event entity
# (ThinQPropertyEx.ERROR) that fires only when the appliance reports a real
# fault; the specific code lands in the event's ``event_type`` attribute
# (e.g. drainmotor_error, door_lock_error). The recipe resolves those event
# entities (kind: event, scoped to lg_thinq, matched by name) as a
# multi-select so one install can cover the washer and the dryer, and
# notifies whenever one fires, naming the appliance via device_attr.
#
# The Error event exists on other LG appliances too, so anything you select
# is covered — it isn't limited to laundry.
slug: washer-dryer-fault-alert
version: 1.0.0
title: "LG Washer & Dryer: Fault Alert"
tagline: Get a push notification the moment your LG washer or dryer reports a fault, so a stalled or errored cycle doesn't sit unnoticed.
description: >-
  Watches the Error event your LG washer and dryer expose and sends a Home
  Assistant push notification the moment one reports a fault, naming the
  appliance and the error, so a stalled load or a drainage fault doesn't go
  unnoticed for hours. Select any LG appliances that report errors. Built
  around the LG ThinQ integration.
author: Selora AI
released: "2026-07-09"
min_integration_version: "0.12.0"
tags: [laundry, washer, dryer, lg-thinq, alerts]
roles:
  # Error event entities. kind: event — the LG "Error" entity fires only on
  # a real fault, with the code in its event_type attribute. Multi-select
  # (no max) so one install covers the washer and dryer (and any other LG
  # appliance you pick). Event entities carry no usable device_class, so the
  # role narrows by integration plus an anchored name match: the entity_id
  # ends in ``error`` (LG's "Error" event), which excludes the sibling
  # Notification event and any other event in the home.
  - id: error_events
    title: Appliance error events
    kind: event
    integration: lg_thinq
    match: "error$"
    min_count: 1
    selection: required
    description: >-
      The "Error" event entities from the LG ThinQ integration. Pick your
      washer and dryer (and any other LG appliance you want fault alerts
      for).
package_files:
  - package/automations/fault_alert.yaml.j2
{# Washer & Dryer Fault Alert — notify when any selected LG "Error" event
   entity fires. The event entity's state is the fault's timestamp. A
   freshness condition (event within the last 2 minutes) is what keeps a
   reload or LG reconnect from re-firing a stale fault: on restart the
   entity can restore its last, old timestamp or go unknown -> timestamp,
   which ``not_to`` alone would let through. Only genuinely-recent faults
   notify.

   device_attr names the appliance from the tripped entity, and the fault
   code lives in the event_type attribute (drainmotor_error, door_lock_error
   ...); underscores are swapped for spaces for readability.

   mode: queued so two appliances faulting close together each get their own
   alert. Templates stay on single quoted lines so trim_blocks can't swallow
   following YAML. #}
automation:
  - id: selora_recipe_{{ slug | replace('-', '_') }}_fault_alert
    alias: "LG Washer & Dryer Fault Alert — fault reported"
    description: >-
      When a selected LG appliance reports a fault via its Error event, send
      a push notification naming the appliance and the fault.
    mode: queued
    max: 10
    trigger:
      - platform: state
        entity_id:
{% for e in roles.error_events %}
          - {{ e }}
{% endfor %}
        not_to:
          - unknown
          - unavailable
    condition:
      # Only alert on a genuinely fresh fault. The event state is the fault's
      # timestamp; on a reload/reconnect the entity can restore an old
      # timestamp (or go unknown -> old timestamp), which not_to doesn't
      # catch. Require the event to have happened within the last 2 minutes.
      - condition: template
        value_template: "{% raw %}{{ trigger.to_state is not none and trigger.to_state.state not in ['unknown', 'unavailable'] and (as_timestamp(now()) - as_timestamp(trigger.to_state.state, 0)) < 120 }}{% endraw %}"
    action:
      # Name the appliance from the device, and read the fault code from the
      # event's event_type attribute.
      - variables:
          appliance: "{% raw %}{{ device_attr(trigger.entity_id, 'name_by_user') or device_attr(trigger.entity_id, 'name') | default('Your LG appliance', true) }}{% endraw %}"
          fault: "{% raw %}{{ (trigger.to_state.attributes.event_type | default('an error', true)) | replace('_', ' ') }}{% endraw %}"
      - service: notify.notify
        data:
          title: "{% raw %}{{ appliance }} fault{% endraw %}"
          message: "{% raw %}{{ appliance }} reported a fault: {{ fault }}. Check the appliance.{% endraw %}"

Author-maintained release notes. Each release of the recipe lists what changed.

Changelog

v1.0.0 - 2026-07-09

Initial release.

  • Sends a Home Assistant push notification when a selected LG appliance reports a fault via its Error event, naming the appliance and the error.
  • Multi-select: one install can watch the washer, the dryer, and any other LG appliance that reports errors.
  • Ignores the momentary unknown/unavailable states a reload or connectivity blip produces, so only genuine faults notify.
  • Built around the LG ThinQ integration.

Type to search across cities, counties, and installers

↑↓ navigate open
⌘K search