v1.0.0 - Health Score, Smart Notifications & Apple Home UI
What's New in v1.0.0
This is a major release that transforms Cardio4HA into a premium, intelligent device health monitoring solution.
Health Score (0-100)
- Weighted score combining unavailable devices (40%), low batteries (25%), weak signals (20%), and flaky devices (15%)
- New
sensor.cardio4ha_health_scoreentity for automations
Flaky Device Detection
- Statistical analysis identifies unstable devices (frequent offline/online cycles)
- Devices flagged with purple "Unstable" badge across all views
- New
sensor.cardio4ha_flaky_devicesentity
Battery Prediction
- Linear regression on 30-day battery readings
- "X days left" prediction shown in battery view
- Expandable rows show battery trend chart
30-Day Device History
- Persistent event tracking (offline/online, battery, signal)
- Statuspage.io-style timeline bar per device
- Signal and battery trend mini-charts in expanded rows
Smart Notifications
- Instant alerts: Device offline, battery critically low, mass offline (3+ devices)
- Recovery notifications: When devices come back online
- Daily digest: Morning summary when critical issues exist
- 3-layer rate limiting: Global hourly limit, per-device cooldown, mass offline grouping
- Configurable via options flow (Step 2: Notifications)
Apple Home Style Panel
- Large animated health score ring
- Expandable device rows with detail panels
- 30-day uptime timeline bars
- 5-bar signal strength indicators
- Battery bars with prediction badges
- Critical issues banner
- Recent notifications feed
- Responsive design (desktop/tablet/mobile)
Other Changes
- Config flow upgraded to v2 with automatic migration for existing users
- 2-step options: Thresholds & Exclusions → Notifications
- New WebSocket commands:
get_device_timeline,get_notification_history - New service:
clear_device_history - Old Lovelace card removed (sidebar panel only)
Upgrade Notes
- Existing v0.3.0 installations will auto-migrate config to v2
- All existing stores (unavailable tracking, maintenance) preserved
- New stores (device_history) initialize empty and populate over time
- Battery predictions require ~5 readings to start (a few hours of operation)
- Flaky detection needs 30 days of history for accurate results