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

LG Dishwasher: Cycle Finished

Sends a Home Assistant push notification the moment your LG dishwasher finishes its cycle, so clean dishes get unloaded while they are still warm and dry instead of sitting overnight. Add a speaker and it announces the finished cycle out loud. Built around the LG ThinQ integration.

A dishwasher that finishes while you are busy elsewhere often gets forgotten, and dishes left sitting overnight come out damp and smelling of stale water. Your LG dishwasher reports its progress as the Current status sensor, which changes to Done when the cycle completes. This recipe watches for that and sends a push notification, so you unload promptly while everything is still warm and drying.

How it works

During install, Selora AI generates a Home Assistant automation from the dishwasher’s status sensor. When the status changes to complete, it sends a push notification that the cycle has finished. There are no timers or guesses: the notification fires on the dishwasher’s own “done” signal.

Announcing on a speaker

A push notification is easy to miss if your phone is on silent or in another room. During install you can optionally pick one or more speakers, and the same alert is announced out loud over text to speech in addition to the notification, so “the dishwasher has finished” reaches the kitchen. Leave the speaker selection empty and the recipe stays notification-only. To add or change speakers later, reinstall the recipe and adjust the selection.

Picking the right sensor

The Current status sensor exists on several LG appliances (dishwasher, washer, dryer, and more). If you have more than one LG appliance in Home Assistant, the install wizard may list a status sensor for each, pick the dishwasher’s.

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.

# Dishwasher Cycle Finished — notify when the LG dishwasher's wash cycle
# completes, so it gets unloaded promptly.
#
# The LG ThinQ integration exposes a "Current status" sensor
# (ThinQProperty.CURRENT_STATE) whose raw state becomes a completion key
# (complete / done / end / running_end, all shown as "Done"/"Finished") when
# a cycle finishes; which key depends on the model. The recipe resolves that
# sensor (scoped to lg_thinq, matched by name) and notifies on the
# transition to any of those completion states.
# An optional ``announce_speakers`` role also speaks the alert over TTS.
#
# Note: the current-status sensor exists on several LG appliance types, so
# on a multi-appliance home the wizard may list more than one — the
# homeowner picks the dishwasher's.
slug: dishwasher-cycle-finished
version: 1.0.0
title: "LG Dishwasher: Cycle Finished"
tagline: Get a push notification the moment your LG dishwasher finishes, so clean dishes get unloaded instead of sitting overnight.
description: >-
  Sends a Home Assistant push notification when the LG dishwasher's wash
  cycle finishes, so you unload it while the dishes are still warm and dry
  rather than discovering it the next morning. Add one or more speakers and
  it also announces the finished cycle out loud. Reads the dishwasher's own
  status from the LG ThinQ integration.
author: Selora AI
released: "2026-07-09"
min_integration_version: "0.12.0"
tags: [kitchen, dishwasher, lg-thinq, notifications]
roles:
  # "Current status" run-state sensor. Scoped to lg_thinq and matched on
  # name. Single-select, required. The current-status sensor is shared
  # across LG appliance types, so the homeowner picks the dishwasher's when
  # more than one is offered.
  - id: status_sensor
    title: Dishwasher status sensor
    kind: sensor
    integration: lg_thinq
    match: "current[ _]st"
    min_count: 1
    max_count: 1
    selection: required
    description: >-
      The dishwasher's "Current status" sensor from the LG ThinQ
      integration. If you have more than one LG appliance, pick the
      dishwasher's.
  # Announcement speakers — optional. When the homeowner picks at least one
  # media player, the recipe also speaks "the dishwasher is done" over TTS
  # in addition to the push notification. Leave empty for notification-only.
  - id: announce_speakers
    title: Announcement speakers
    kind: media_player
    min_count: 0
    selection: required
    description: >-
      Optional. Speakers that announce the finished cycle out loud over TTS
      in addition to the push notification. Leave empty to be notified on
      your phone only.
inputs:
  # TTS engine entity for the optional spoken announcement. Auto-resolved by
  # the ``tts_engine`` resolver from the home's configured tts.* entities
  # (picking whichever TTS engine the home has configured) — the wizard
  # never shows this field. ``tts.speak`` works without a paid Home
  # Assistant Cloud subscription. The resolver returns an empty string when
  # the home has no TTS engine; the template then skips the announcement and
  # stays notification-only. The default below is only used by the offline
  # recipe-validation gate, which has no resolver to run; at install the
  # resolver always overwrites it.
  - id: tts_engine
    type: string
    label: Text-to-Speech engine
    description: >-
      Speech engine entity used for the spoken announcement. Resolved
      automatically from the Text-to-Speech engines configured in Home
      Assistant.
    resolver: tts_engine
    default: "tts.piper"
package_files:
  - package/automations/cycle_finished.yaml.j2
{# Dishwasher Cycle Finished — notify when the "Current status" sensor
   reaches a completion state (displayed as "Done"/"Finished"). HA stores the
   raw enum key as the state, and different LG models emit different
   completion keys (complete / done / end / running_end), so the trigger
   lists them all rather than matching the translated label. ``not_from``
   drops the unavailable/unknown -> completion transition the integration
   emits when it reconnects with a stale finished state, so a reconnect
   after a restart never fires a phantom cycle-finished alert. When the
   homeowner picked speakers, the same alert is announced over TTS.

   mode: single — one completion per cycle. Templates stay on single quoted
   lines so trim_blocks can't swallow following YAML. #}
automation:
  - id: selora_recipe_{{ slug | replace('-', '_') }}_cycle_finished
    alias: "LG Dishwasher Cycle Finished — ready to unload"
    description: >-
      When the dishwasher's status changes to complete, send a push
      notification and, if speakers are configured, announce it.
    mode: single
    trigger:
      - platform: state
        entity_id: {{ roles.status_sensor[0] }}
        not_from:
          - "unknown"
          - "unavailable"
        to:
          - "complete"
          - "done"
          - "end"
          - "running_end"
    action:
      # 1. Push notification to every device registered with HA.
      - service: notify.notify
        data:
          title: "Dishwasher finished"
          message: "The dishwasher has finished its cycle. Unload it while the dishes are still warm and dry."
{% if roles.announce_speakers and inputs.tts_engine %}
      # 2. Optional spoken announcement on the configured speakers, via the
      #    auto-resolved TTS engine. tts.speak works without a Home Assistant
      #    Cloud subscription; the speakers go in media_player_entity_id.
      - service: tts.speak
        target:
          entity_id: {{ inputs.tts_engine }}
        data:
          media_player_entity_id:
{% for player in roles.announce_speakers %}
            - {{ player }}
{% endfor %}
          message: "The dishwasher has finished. It's ready to unload."
{% endif %}

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 the LG dishwasher’s Current status sensor reaches complete (Done).
  • Optionally announces the finished cycle over TTS on one or more speakers; leave the speaker selection empty to stay notification-only.
  • Fires on the dishwasher’s own completion signal, no timers or estimates.
  • Built around the LG ThinQ integration.

Type to search across cities, counties, and installers

↑↓ navigate open
⌘K search