Ha Washdata

Home Assistant integration for smart-plug appliance monitoring: detects cycles, matches programs, estimates time remaining. Supports washing machines, dryers, dishwashers and more.

Internet of Things (IoT)PythonAGPL-3.0

Abstract

Ha Washdata is an open-source Internet of Things (IoT) project. Home Assistant integration for smart-plug appliance monitoring: detects cycles, matches programs, estimates time remaining. Supports washing machines, dryers, dishwashers and more. A Home Assistant custom component that monitors appliances via smart sockets, learns their power profiles, and estimates completion time using shape-correlation matching. It is built using Python, NumPy. Key capabilities include: Full-screen management panel - a WashData sidebar entry for live status, cycles, profiles, settings, diagnostics, and logs; Ask your assistant - "Is my washer done?" answered through Home Assistant's voice/text Assist; Pause/Resume, Door and Clean state - pause active cycles (optionally cutting power), add-clothes support via a door sensor, and a "laundry still waiting" reminder. The complete source code is publicly available on GitHub under the GNU Affero General Public License v3.0, making it a useful reference for students building an Internet of Things (IoT) mini project or final-year project.

1. Introduction

A Home Assistant custom component that monitors appliances via smart sockets, learns their power profiles, and estimates completion time using shape-correlation matching.

2. Objective

Home Assistant integration for smart-plug appliance monitoring: detects cycles, matches programs, estimates time remaining. Supports washing machines, dryers, dishwashers and more.

This project demonstrates how Python, NumPy can be applied to a real-world Internet of Things (IoT) problem.

3. Key Features / Modules

  • Full-screen management panel - a WashData sidebar entry for live status, cycles, profiles, settings, diagnostics, and logs.
  • Ask your assistant - "Is my washer done?" answered through Home Assistant's voice/text Assist.
  • Pause/Resume, Door and Clean state - pause active cycles (optionally cutting power), add-clothes support via a door sensor, and a "laundry still waiting" reminder.
  • Robust and self-correcting - energy-gated start/end detection, ghost-cycle suppression that survives restarts, dishwasher end-spike handling, and learning feedback that refines estimates over time.
  • Experimental on-device ML (opt-in, off by default) - a gated, NumPy-only subsystem that runs alongside the proven detection code, never replacing it.
  • Local-first - detection, matching and estimation run entirely inside Home Assistant. The only network feature is the opt-in, off-by-default Community Store. An optional Lovelace Tile Card is included.

4. Technology Stack

PythonNumPy

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/3dg1luk43/ha_washdata.git
cd ha_washdata

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Add a mobile dashboard using Blynk or Firebase
  • Store readings in a cloud database for history charts
  • Add alerts via SMS / Telegram when thresholds are crossed

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. Which microcontroller / board and sensors are used and why?
  2. How does the device send data (Wi-Fi, MQTT, HTTP, Bluetooth)?
  3. Where is the sensor data stored and visualised?
  4. How is power consumption managed?
  5. How would you secure the device and its communication?

9. Source Code & License

This project is developed by 3dg1luk43 and published on GitHub under the GNU Affero General Public License v3.0. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an Internet of Things (IoT) project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for Internet of Things (IoT) Internship