You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-28Lines changed: 32 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,8 @@
8
8
9
9
A Home Assistant custom component to monitor washing machines via smart sockets, learn power profiles, and estimate completion time using shape-correlation matching.
10
10
11
-
12
11
> [!CAUTION]
13
-
> **ELECTRICAL SAFETY WARNING**: Using smart plugs such as Shelly or Sonoff with high-amperage appliances (washing machines, dryers, dishwriters) carries significant risk.
12
+
> **ELECTRICAL SAFETY WARNING**: Using smart plugs such as Shelly or Sonoff with high-amperage appliances (washing machines, dryers, dishwashers) carries significant risk.
14
13
>
15
14
> ***Fire Hazard**: Cheap or low-rated smart plugs may overheat, melt, or catch fire under sustained high loads (heating/drying phases).
16
15
> ***Rating Check**: Ensure your smart plug is rated for the **maximum peak power** of your appliance (often >2500W). Standard 10A plugs may fail; 16A+ or hardwired modules are recommended.
@@ -21,7 +20,8 @@ A Home Assistant custom component to monitor washing machines via smart sockets,
21
20
-**Multi-Device Support**: Track Washing Machines, Dryers, Dishwashers, or Coffee Machines with device-type tagging.
22
21
-**Smart Cycle Detection**: Automatically detects starts/stops with **Predictive End** logic to finish faster when confidence is high.
-**Shape-Correlation Matching**: Uses `numpy.corrcoef` with **Confidence Boosting** to distinguish similar cycles by their unique power curve signature.
23
+
-**Shape-Correlation Matching**: Uses `numpy.corrcoef` with **Confidence Boosting** to distinguish similar cycles.
24
+
-**Manual Training**: You define your profiles (e.g., "Cotton", "Quick") once; the system learns to recognize them thereafter. Integration **does not** auto-create profiles.
25
25
-**Smart Time Estimation**: "Phase-aware" prediction detects variance (e.g., heating) and locks the countdown to prevent erratic jumps.
26
26
-**Changeable Power Sensor**: Switch plugs without losing history.
27
27
-**Minimal Status Card**: Optional custom Lovelace card.
@@ -36,49 +36,52 @@ A Home Assistant custom component to monitor washing machines via smart sockets,
-**Export/Import**: Full configuration backup/restore with all settings and profiles via JSON.
38
38
39
-
## Installation (via HACS)
39
+
---
40
+
41
+
## 📘 Basic User Guide
42
+
43
+
Designed for new users to get up and running quickly.
44
+
45
+
## 1. Installation (via HACS)
40
46
41
47
1. In Home Assistant, open **HACS → Settings → Custom repositories**.
42
48
2. Add `https://github.com/3dg1luk43/ha_washdata` as a **Integration** repository.
43
49
3. Back in HACS, search for **HA WashData**, install, and **Restart Home Assistant**.
44
50
45
51
Manual fallback (if not using HACS): copy `custom_components/ha_washdata` into your HA `custom_components` folder and restart.
46
52
47
-
##Configuration
53
+
### 2. Initial Setup
48
54
49
55
1. Go to **Settings > Devices & Services**.
50
56
2. Click **Add Integration** and search for **HA WashData**.
51
-
3. Follow the configuration flow:
52
-
-Give your appliance a **Name**.
53
-
-Select the **Device Type** (Washing Machine, Dryer, Dishwasher, or Coffee Machine).
54
-
-Select the **Power Sensor** entity from your smart plug.
57
+
3. Follow the wizard:
58
+
-**Name**: Name your appliance (e.g., "Washing Machine").
59
+
-**Device Type**: Select the type (Washer, Dryer, etc.) - this sets optimal defaults.
60
+
-**Power Sensor**: Choose the smart plug entity monitoring the power (Watts).
55
61
- Set the **Minimum Power** threshold (default 2W).
56
-
-**Step 2 (Optional)**: You will be asked if you want to create your **First Profile** immediately (e.g., "Cotton"). This helps the system provide time estimates right away.
57
-
-*Note: Device Type automatically sets optimal defaults (e.g., 60s completion threshold for Coffee Machines).*
62
+
-**Step 2 (Optional)**: You will be asked if you want to create your **First Profile** immediately (e.g., "Cotton").
63
+
-*Tip*: If you create this profile, you can **manually select it** via the card controls while a cycle is running. This forces the system to use that profile's duration for accurate **time remaining** and **progress %** estimates immediately, even before the system learns to recognize it automatically.
58
64
59
-
### Lovelace Status Card
65
+
### 3. Add the Status Card
60
66
67
+
To see the beautiful status card on your dashboard:
68
+
1. Edit your Dashboard (Top right menu -> **Edit Dashboard**).
69
+
2. Add Card
70
+
3. Search for **WashData Tile Card** (or just "Wash") and select it.
71
+
4. The visual editor will appear. Select entities for your target device.
72
+
5. Click **Save**.
61
73
62
-
After installation, you can add a minimal status card to your dashboard:
74
+
### 4. Teach the Integration (Crucial Step!)
63
75
64
-
1. Edit your dashboard → Add Card → Manual.
65
-
2. Enter:
66
-
```yaml
67
-
type: custom:ha-washdata-card
68
-
entity: sensor.washing_machine
69
-
title: "My Washer"
70
-
```
71
-
3. The card shows: Status icon, running state, current program, progress bar, and time remaining.
76
+
**Important**: The integration **does not** automatically create profiles. You must teach it! It will not detect your programs "magically" until you define them.
72
77
73
-
*The card is served from `/ha_washdata/ha-washdata-card.js`. If it doesn't appear, clear your browser cache or restart HA.*
78
+
1.**Run a Cycle**: Use your appliance as normal. The integration will record it as an "Unknown" cycle and show "detecting...".
79
+
2.**Create a Profile**: After the cycle finishes, go to **Manage Data & Profiles**.
80
+
3.**Label the Cycle**: Select the recent cycle, click **Create Profile** (e.g., name it "Cotton 60"), and save.
74
81
75
-
### UI & Parameter Tuning
82
+
**Now** the integration knows what "Cotton 60" looks like. The next time you run this program, it will be detected automatically and you will get accurate time estimates. Repeat this for each of your common programs.
76
83
77
-
1. After adding the integration, click **Configure** on the integration entry.
78
-
2. **Settings**: Centralized page for all tunables (Min Power, Off Delay, Smoothing, etc.). Use **numerical text boxes** for precise control.
79
-
3. **💡 Apply Suggestions**: Check this box at the top of Settings to refresh the form with recommended values from your machine's history; review then submit to save.
80
-
4. **Progress Estimation**: Remaining time is anchored to the matched profile’s average duration; progress is derived from `elapsed / (elapsed + remaining)` to avoid jumpy percentages.
81
-
5. **Manage Data & Profiles**: Access tools to rename profiles, label past cycles, or auto-label historical data.
84
+
---
82
85
83
86
## How it Works
84
87
@@ -217,3 +220,4 @@ Access via **Configure → Settings**:
0 commit comments