v2.5.0
This major release brings extensive frontend overhauls, significant new hardware support, and deep architectural refactoring to improve stability, type safety, and API efficiency.
New Features & Device Support
Expanded Hardware Support: Full support added for MT40 Smart Power Controllers (including real-time power metrics), MT30 button press events, and improved handling for MT11/MT14/MT15 environmental sensors.
Switch & Port Management: Introduced real-time Power (W) and Cumulative Energy sensors for MS Switches. Added full port control capabilities including Enable, Disable, and Port Cycle directly from Home Assistant.
Advanced Network Controls: Enabled management for Firewall Rules, Traffic Shaping, and Site-to-Site VPNs.
Camera Enhancements: Enabled live RTSP video streaming (.m3u8 support) with graceful fallback for unsupported analytics.
Automation Blueprints: Added native blueprints for Guest Wi-Fi Automation, Dual-WAN Failover Alerts, and Scheduled Content Filtering.
Frontend & UI/UX Overhaul
Native Custom Cards: Replaced the legacy React panel with highly responsive, Vanilla JS/Web Component native Lovelace cards.
New Lovelace Cards: Introduced the Meraki Guest Access Card (with time-ranged IPSK creation), Network Vitals Card, Content Filter Card, and Wi-Fi QR Code Sharing Card.
Visual Editors: All custom cards now feature full visual configuration editors within the Home Assistant UI.
Device Table Upgrades: Added dynamic icons for MR, MS, MV, MX, MG, MT, and Z-series devices, made rows fully clickable to HA entity pages, and embedded live HA entity states directly in the table.
Architecture & Performance Improvements
God Module Deconstruction: Massive refactoring of coordinator.py, const.py, and device models into modular, domain-specific packages to reduce cognitive complexity and ACL scores.
API & Polling Optimization: Replaced aggressive polling with Adaptive/Tiered Polling, Async Exponential Back-off, and Strategy Patterns to gracefully handle Meraki API rate limits.
Strict Typing & Data Models: Migrated API responses to Python dataclasses, achieving a 90% Type Safety Index and eliminating widespread dictionary traversal errors.
Standardized Naming: Enforced strict canonical naming prefixes (e.g., [Camera], [Sensor]) and resolved pervasive Unique ID collisions across the entity registry.
Bug Fixes & Stability
Entity Availability: Fixed race conditions, "Unknown" state regressions, and ghost sensor discoveries that plagued wireless clients, switch ports, and uplink statuses.
Error Handling: Silenced 400 Bad Request logs for disabled API features, preventing log spam for networks lacking specific Meraki licenses.
WebSocket Resiliency: Repaired frontend-backend handshakes, fixed JSON serialization crashes, and implemented proactive webhook garbage collection.
Dependency Resolution: Resolved severe, recurring dependency conflicts between pycares, aiodns, and aiohttp to ensure strict Python 3.12/3.13 and HA 2026.1 compatibility.