Monitoring Your Washing Machine Status with Home Assistant Automations

by Pete
Published: Updated: 16 minutes read

Effortlessly keeping tabs on your washing machine’s status and cycles can be achieved through Home Assistant automations. In this comprehensive guide, we will walk you through the creation of a clever automation that will notify you once your laundry cycle is finished, ensuring you never again forget to unload your washer.

Understanding the Automation Concept

Home automation has transformed the way we interact with our living spaces, making our homes smarter, more efficient, and tailored to our preferences. At the heart of this transformation lies the concept of automations. In the context of Home Assistant, automations are powerful tools that allow us to create sequences of actions that are triggered by specific events or conditions. This capability empowers us to orchestrate a wide range of tasks and routines, enhancing convenience and adding a touch of magic to our daily lives.

What Are Automations?

An automation is essentially a set of instructions that tell your smart home system what to do when certain conditions are met. These conditions can include triggers such as changes in sensor readings, specific times, or even manual inputs. When a trigger event occurs, the automation is activated, and a series of actions are executed in response. This can involve turning on lights, adjusting thermostat settings, sending notifications, and much more.

The Components of an Automation

Automations consist of three key components:

  1. Trigger: The trigger is what initiates the automation. It’s the event or condition that prompts the automation to start. Triggers can range from simple events like pressing a button to more complex events like changes in sensor states or time-based patterns.
  2. Conditions: Conditions are optional criteria that must be met for the automation to proceed with its actions. They provide an extra layer of control, ensuring that the automation only runs under specific circumstances.
  3. Actions: Actions are the series of tasks that are carried out once the trigger event occurs and conditions (if any) are met. These tasks can include turning devices on/off, sending notifications, adjusting settings, or running scripts.

Why Use Automations?

Automations bring the promise of efficiency, convenience, and personalization to our smart homes. They allow us to eliminate repetitive tasks, respond to changes in our environment, and create tailored experiences. Imagine arriving home to lights that automatically turn on, your favorite music playing, and your thermostat set to the perfect temperature. With automations, this level of comfort and convenience becomes a reality.

The Role of Home Assistant

Home Assistant is a versatile platform that empowers users to create, customize, and manage automations with ease. Whether you’re a beginner or an advanced user, Home Assistant’s user-friendly interface and extensive documentation make the process of setting up automations accessible to all.

In the upcoming sections of this guide, we’ll delve deeper into the world of Home Assistant automations. We’ll walk you through creating practical automations, exploring advanced techniques, and showcasing real-life examples that demonstrate the power of automation in making our homes smarter and more responsive to our needs.

The end result

Continue reading to discover how you can leverage the “Washing Machine Status” automation to streamline your laundry routine and experience the benefits of home automation firsthand.

Prerequisites

Before you begin setting up the “Washing Machine Status” automation using Home Assistant, make sure you have the following prerequisites in place:

  1. Home Assistant Installation: Ensure that you have Home Assistant installed and configured on your chosen platform. Familiarize yourself with Home Assistant’s basic concepts and components.
  2. Washing Machine Power Sensor: You’ll need a compatible power sensor that can monitor your washing machine’s power consumption. In your case, the sensor.pc191ha01_power sensor is used to detect changes in power usage when the washing machine is running or idle. I’m using an Arlec PC191HA that can be found at Bunnings Warehouse.
  3. Input Text Entity for Status: Prepare an input text entity to store and display the washing machine’s status. In your automation, the input_text.washing_machine_status entity is used to indicate whether the washing machine is “Running,” “Finished,” or “Off.”
  4. Counter Entity for Tracking: Set up a counter entity to track the number of washing cycles and cycle durations. Your automation uses the counter.washing_counter entity to keep a count of completed washing cycles.
  5. Mobile App or Notification Method: Configure a method to receive notifications about the washing machine’s status. Your automation sends notifications via the notify.mobile_app_petes_iphone service, so ensure your mobile app and notifications are set up.
  6. YAML Configuration Proficiency: Be comfortable working with YAML configuration files in Home Assistant. This knowledge is essential for defining and customizing the automation’s logic and behavior.
  7. Optional: Automation Entity for Timer: If you choose to create a separate automation to track cycle duration, ensure you have a working automation entity or the skills to create one.

By having these prerequisites fulfilled, you’ll be well-equipped to proceed with creating the “Washing Machine Status” automation. The upcoming sections will guide you through each step, helping you configure triggers, conditions, and actions using Home Assistant’s configuration. Let’s move forward and get your smart laundry automation up and running!

Steps

1
Creating the “Washing Machine Status” Automation

Now that you have the prerequisites in place, it’s time to roll up your sleeves and start creating the “Washing Machine Status” automation using Home Assistant. This automation will keep you informed about your washing machine’s progress and notify you when a cycle is complete. Let’s walk through the process step by step:

Step 1: Accessing the Configuration Files

  1. Log in to your Home Assistant instance.
  2. Navigate to the “Configuration” menu, usually represented by a gear icon.

Step 2: Creating the Automation

  1. Click on “Automations” to access the automation configuration.
  2. Click the “Add Automation” button to create a new automation.

Step 3: Defining the Trigger

In the automation editor, you’ll define the trigger that initiates the automation. Based on your provided automation code, you can set the trigger to occur whenever the power consumption sensor changes or at a specific time interval.

Step 4: Setting Up the Actions

Now, it’s time to define the actions that the automation will perform when triggered. These actions will update the washing machine’s status, send notifications, reset counters, and more.

Step 5: Configuring Conditions (Optional)

If you want to add conditions to your automation, such as checking if the washing machine’s power consumption is above a certain threshold, you can do so in this step.

Step 6: Saving and Activating the Automation

After setting up the trigger, actions, and conditions, review your automation settings to ensure accuracy. Once you’re satisfied, save the automation.

Step 7: Testing the Automation

After saving the automation, it’s time to test it in action. You can manually trigger the automation to ensure that the actions are executed as expected. This is also a good opportunity to fine-tune any settings if needed.

Here is my code:

alias: Washing Machine Status
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.pc191ha01_power
  - platform: time_pattern
    seconds: /15
condition: []
action:
  - parallel:
      - choose:
          - conditions:
              - condition: state
                entity_id: input_text.washing_machine_status
                state: Finished
                for:
                  hours: 0
                  minutes: 5
                  seconds: 30
            sequence:
              - service: input_text.set_value
                data:
                  value: "Off"
                target:
                  entity_id: input_text.washing_machine_status
              - service: counter.reset
                data: {}
                target:
                  entity_id: counter.washing_machine_timer
          - conditions:
              - condition: and
                conditions:
                  - condition: state
                    entity_id: sensor.pc191ha01_power
                    state: "0.0"
                    for:
                      hours: 0
                      minutes: 0
                      seconds: 45
                  - condition: state
                    entity_id: input_text.washing_machine_status
                    state: Running
            sequence:
              - service: input_text.set_value
                data:
                  value: Finished
                target:
                  entity_id: input_text.washing_machine_status
              - service: automation.turn_off
                data: {}
                target:
                  entity_id: automation.washing_machine_timer
              - service: counter.increment
                data: {}
                target:
                  entity_id: counter.washing_counter
              - service: notify.mobile_app_petes_iphone
                data:
                  message: Washing cycle has finished.
      - if:
          - condition: numeric_state
            entity_id: sensor.pc191ha01_power
            above: 0.1
        then:
          - service: input_text.set_value
            data:
              value: Running
            target:
              entity_id: input_text.washing_machine_status
          - service: automation.turn_on
            data: {}
            target:
              entity_id: automation.washing_machine_timer
mode: single

2
Monitoring Washing Cycle Progress

One of the key features of the “Washing Machine Status” automation is its ability to monitor the progress of your washing cycle. This is achieved through the use of triggers, conditions, and actions that work in harmony to provide accurate updates on your washing machine’s state. Let’s dive into how this automation component works:

Triggers: In your automation, triggers are events that prompt the automation to start executing its defined actions. You’ve set up triggers that are based on changes in the power consumption sensor or a specific time pattern. These triggers ensure that the automation responds promptly to changes in your washing machine’s state.

  • Parallel Sequences: The automation’s actions are organized into parallel sequences that run simultaneously. This design allows the automation to handle different scenarios simultaneously based on conditions.
  • Sequence 1: Cycle Completion The first sequence of actions is triggered when the washing machine status changes to “Finished” and remains in that state for a specific duration (in your case, 5 minutes and 30 seconds). This sequence accomplishes the following tasks:
    • Sets the input_text.washing_machine_status to “Off” to indicate that the washing machine is not in use.
    • Resets the counter.washing_machine_timer to track the time duration of the washing cycle.
  • Sequence 2: Cycle Running The second sequence is triggered when the washing machine status changes to “Running” and the power consumption is above a certain threshold for a specified time (45 seconds in your case). This sequence performs the following actions:
    • Sets the input_text.washing_machine_status to “Finished” to indicate that the washing cycle is complete.
    • Turns off the automation.washing_machine_timer automation, if it exists. This suggests that another automation might be tracking the cycle duration separately.
    • Increments the counter.washing_counter to keep count of completed washing cycles.
    • Sends a notification to your mobile device using the notify.mobile_app_petes_iphone service, informing you that the washing cycle has finished.
  • Understanding the Logic: The parallel sequences allow the automation to effectively monitor the washing machine’s status and respond accordingly. Whether the cycle completes or is still running, the automation ensures that you’re informed about its progress in real-time.
  • Fine-Tuning and Customization: You have the flexibility to fine-tune and customize the conditions, time thresholds, and actions to match your preferences. For instance, you can adjust the time intervals or add additional conditions based on your washing machine’s behavior.

By effectively monitoring the washing machine’s cycle progress, this automation provides you with accurate and timely updates, saving you from the guesswork of checking whether your laundry is ready. In the next section of this guide, we’ll explore how the automation sends notifications to keep you informed, even when you’re away from home. Keep reading to unlock the full potential of your smart laundry automation!

3
Sending Notifications

Another powerful feature of the “Washing Machine Status” automation is its ability to keep you informed through notifications. With notifications, you can receive updates about your washing machine’s status even when you’re away from home. Here’s how the notification component works:

  • Sending Notifications: In the automation, notifications are sent using the notify.mobile_app_petes_iphone service. This allows you to receive a notification on your mobile device whenever the washing cycle is complete. Notifications keep you informed in real-time, ensuring that you can take prompt action as needed.
  • Customizing Notifications: The notification message can be customized to suit your preferences. You can modify the content of the notification to include details about the cycle completion, such as the number of cycles completed or the estimated time when the cycle finished.

4
Resetting Counters

Efficient tracking of washing cycles and cycle durations is made possible through the use of counters. Counters help you keep a record of completed cycles and maintain accurate statistics. Here’s how the counter component works:

  • Counter Usage: The counter.washing_counter entity is used to increment the count of completed washing cycles. It provides an easy and convenient way to keep track of how many cycles you’ve run through your washing machine.
  • Resetting Counters: You have the ability to reset counters whenever you choose. This can be useful for starting a new tracking period or maintaining accurate records over time. You can reset the counter using the Home Assistant interface or by automating the reset process.
  • Customization and Expansion
  • The “Washing Machine Status” automation serves as a foundation for enhancing your smart laundry routine, but its capabilities don’t stop there. Here are some ways you can customize and expand upon the automation:
  • Add Voice Notifications: Integrate your automation with voice assistants like Amazon Alexa or Google Assistant to receive verbal notifications about cycle completion.
  • Integrate with Energy Monitoring: Combine your washing machine automation with energy monitoring devices to track energy consumption during cycles and identify energy-efficient usage patterns.
  • Advanced Notifications: Enhance your notifications by including additional information, such as the estimated remaining time for the cycle.

Conclusion: Simplify Your Laundry Routine with Automation

Incorporating the “Washing Machine Status” automation into your smart home setup brings a new level of convenience and efficiency to your laundry routine. By accurately monitoring cycle progress, sending notifications, and tracking statistics, you’ll always be in the know about your washing machine’s status.

With Home Assistant’s versatile automation capabilities, you can transform everyday tasks into seamless and smart experiences. The “Washing Machine Status” automation is just one example of how automation enhances our lives, making our homes more intuitive and responsive to our needs.