Releases: patrickjcash/ha-moen-flo
v2.4.15: Firmware update entity
What's New in v2.4.15
Added
- Firmware update entity — new
updateplatform entity under Configuration on the device card. Shows your installed firmware version vs. the latest available, and displays a HA update notification badge when an upgrade is available. Firmware status is refreshed on every coordinator poll.
Changed
- Dismiss Alerts, Reset Primary Pump Status, Reset Backup Pump Status — moved from Diagnostic to Configuration entity category to match HA conventions for user-actionable controls.
v2.4.15b1 (beta): Firmware update entity
What's New in v2.4.15b1
Added
- Firmware update entity — new
updateplatform entity under Configuration on the device card. Shows your installed firmware version vs. the latest available, and displays a HA update notification badge when an upgrade is available. Firmware status is refreshed on every coordinator poll.
Changed
- Dismiss Alerts, Reset Primary Pump Status, Reset Backup Pump Status — moved from Diagnostic to Configuration entity category to match HA conventions for user-actionable controls.
v2.4.14
What's New
Water Level (renamed from "Basin Fullness") — now uses a sliding window median over the last 20 pump cycles instead of an EMA blend. Tolerates outliers and self-corrects from any broken state (e.g. rapid cycling during heavy rain) without manual intervention.
Next Pump Cycle (renamed from "Estimated Next Pump Cycle") — shows as "X minutes ago" when the pump is overdue instead of becoming unavailable.
Cleaner UI — operational sensors enabled by default; diagnostic and configuration sensors hidden by default.
Reset Primary/Backup Pump Status buttons — clear Pathway 2 alerts that can't be dismissed through normal alert flow.
Changes
- Water Level: sliding window median (20 cycles) replaces 95/5 EMA
- Next Pump Cycle: always computes
now + estimatedTimeUntilNextRunMS - Disabled by default: Water Distance, Daily Pump Capacity, Pump On/Off Distance, Polling Period, Pump Cycles Last 15 Min, all pump config sensors, Critical/Warning Alerts, Flood Risk, all buttons
- Estimated Pump On/Off Distance sensors now include
history_mmattribute with raw history list - Alert IDs confirmed: 232 (Overflow Water Level), 254 (Critical Flood Risk), 258 (Flood Risk), 260 (Main Pump Failed), 262 (Main Pump Overwhelmed)
See CHANGELOG for full details.
v2.4.14b9 (beta)
Rewrites pump threshold detection to use a 20-cycle sliding window median.
Changed
- Pump threshold detection now stores the last 20 raw pump_on/pump_off readings and computes the median, replacing 95/5 exponential blending. Median tolerates up to 9 outliers out of 20 readings with no clamp logic. Self-corrects from any broken state within 20 cycles. Cold starts use however many cycles are available.
- Removes the lookback logic (b5–b7) that caused catastrophic drift during high-frequency rain cycling by pulling in cross-cycle readings.
- On upgrade, existing scalar thresholds migrate automatically to seed the history list.
Also
- Alert IDs 232, 254, 258, 260, 262 confirmed with title/severity/dismiss/ack_on_clear from live high-water event data.
v2.4.14b11 (beta)
Fixed
history_mmattribute not appearing on Pump On/Off Distance sensors —_calculate_pump_thresholdswas not including the raw history lists in its return value, so the sensor attribute resolved toNoneand was filtered out. History lists are now included in the returned dict.
v2.4.14b10 (beta)
Changes
- Entity cleanup: Reclassified and disabled-by-default many entities to reduce dashboard clutter for new users
- "Estimated Next Pump Cycle" renamed to "Next Pump Cycle"
- "Estimated Water Level" renamed to "Water Level"
- Water Distance and Daily Pump Capacity moved to Diagnostic category
- Disabled by default: Water Distance, Daily Pump Capacity, Estimated Pump On/Off Distance, Polling Period, Pump Cycles Last 15 Min, all pump configuration sensors (Primary/Backup Pump Manufacturer, Model, Install Date, Basin Diameter, Backup Test Frequency, Battery Requires Water, Backup Installed), Critical Alerts, Warning Alerts, Flood Risk, Dismiss Alerts, Reset Primary/Backup Pump Status buttons
- Enabled by default: Active Alerts, Last Pump Cycle, Next Pump Cycle, Water Level, Temperature, Humidity, Water Detection, Battery, WiFi Signal, Connectivity, AC Power
- Estimated Pump On/Off Distance sensors: Added
history_mmattribute exposing the raw sliding window history list (up to 20 readings)
v2.4.14b7 (beta)
Mirror pump_on lookback logic for pump_off threshold.
Fixed
pump_offcandidate at cycle confirmation now usesmin(history[-2], history[-3])to filter single-poll upward spikes during drain, symmetric with themax()lookback used forpump_onsince b5.
Full outlier protection is now symmetric on both thresholds:
pump_on: max of 2 pre-jump readings + >30mm-below clamppump_off: min of 2 pre-confirm readings + >30mm-above clamp
v2.4.14b6 (beta)
Fix Estimated Water Level peaks below 100% on North pump.
Fixed
- Outlier spikes UP in water distance during pump drain (splash/vibration) were inflating
pump_off_distancevia 95/5 blending. Added matching clamp:pump_offcandidates more than 30mm above the stored value are skipped, symmetric with thepump_onclamp from b5.
v2.4.14b5 (beta)
Fix Estimated Water Level drifting below 100% peak due to ToF splash outliers.
Fixed
- Estimated Water Level peak drifts below 100% over time — ToF sensor produces spuriously low distance readings right as the pump kicks on (splash artifacts), which were being captured as the
pump_oncandidate and slowly pulling the stored threshold lower via 95/5 blending.
Two-layer fix:
pump_oncandidate now uses the max of the two readings before the detected jump, filtering single-poll spikes.- Hard clamp: any
pump_oncandidate more than 30mm below the stored value is ignored entirely.
v2.4.14b4 (beta)
Sensor renames, API documentation, test script cleanup.
Changed
- "Pump ON Distance (Calculated)" → "Estimated Pump On Distance"
- "Pump OFF Distance (Calculated)" → "Estimated Pump Off Distance"
- "Basin Fullness" → "Estimated Water Level"
- API docs: added full
get_last_usagedocumentation including field reference and Moen app display logic from APK decompile - Archived completed investigation test scripts