Version History - MiWiFi XiaoHack Edition


📡 Automatic releases from GitHub

The latest versions are synchronized automatically from GitHub.

Showing 41–45 of 57 releases

📦 v3.2.0 – XiaoHack Edition

Date: 2025-06-12 09:21:35
View original release on GitHub

✅ Backend Improvements

  • Added detection logic to set is_main_auto: true|false in the graph attribute of the topology sensor (sensor.topologia_miwifi_*), allowing the frontend to distinguish if the main router was auto-detected or manually selected.
  • Improved robustness of the _async_prepare_topo function:
  • Maintains correct priority between auto detection and manual selection via select_main_router.
  • Ensures graph.is_main is only present if the device is truly the main router.
  • manual_main_mac is now used to restore main router status if automatic detection fails.

📦 v3.1.9 – XiaoHack Edition

Date: 2025-06-06 19:14:59
View original release on GitHub

🚀 Stable Release — WAN Block Service, Logs Compatibility, first_seen Persistence and Full Backend Polishing


🔄 What's New in 3.1.9

🛠 Fixes

  • Added periodic monitor to check the frontend panel version every 30 seconds.
  • The system now detects new panel versions without requiring integration restart.
  • The check is passive: it does not auto-update, but logs when a new version is available.

🆕 WAN Access Block Service

  • New service: miwifi.block_device to block or unblock WAN access per device.
  • Fully integrated into Home Assistant automations and blueprints.
  • Device-based service directly using device_id from Home Assistant registry.
  • Fully compatible with Home Assistant UI service calls.
  • Persistent notifications are now handled directly from backend after each block/unblock operation.

🐞 Complete Persistence of first_seen attribute

  • The first_seen attribute is now generated only when a device is first discovered.
  • No longer reset on every update cycle.
  • Provides true historical tracking of when each device was first seen by the integration.

🧹 False Positive Connection Errors Filtered

  • Xiaomi Luci API sometimes closes connections after applying MAC filters.
  • These harmless connection errors are now properly handled:
  • Errors are logged as informational only.
  • No longer break automations or service calls.
  • Service always completes successfully even if Luci drops connection.

🔧 Log Path Refactor for Full Docker & Synology Compatibility

  • All logs are now stored under:

/config/miwifi/Logs/

  • Fully compatible with Docker volumes, Home Assistant OS, Synology DSM, and Proxmox LXC setups.
  • No permissions issues on Docker bind-mount volumes.

➕ New Supported Models Added

  • Xiaomi Mi Router CR8806 (cr8806) is now fully supported. #16

🪵 Backend Logging Improved

  • Full internal logs on service calls.
  • Friendly error reporting for debugging and support.

✅ Compatibility Notes

  • Minimum MiWiFi integration version: v3.1.8
  • Fully compatible with:
  • MiWiFi XiaoHack Frontend v1.2.4
  • Home Assistant 2025.x and Supervisor 2025.x
  • Docker, Synology, HAOS, Proxmox, LXC

📦 v3.1.7 – XiaoHack Edition

Date: 2025-06-03 15:50:36
View original release on GitHub

MiWiFi (XiaoHack Edition) integration with major internal refactor and new advanced device blocking features.

🆕 What's New

Fase 1: Compatibility + Internet Blocking System

  • Compatibility System Implemented:
  • New compatibility.py logic dynamically detects router capabilities.
  • Unsupported models and features now fully handled via centralized unsupported.py.
  • Improved startup logic to detect models, avoid unnecessary crashes on unknown firmwares.
  • Foundation for future Xiaomi AX/RA models and mesh nodes.
  • Internet Blocking (MAC Filter):
  • Added support for internet blocking per device using router native MAC Filter.
  • New services: miwifi.block_internet and miwifi.unblock_internet available directly from Home Assistant UI.
  • Full MAC Filter sync applied across both device_list and wifi_connect_devices API responses.
  • Real-time blocking state reflected on device_tracker attributes.

Fase 2: Full Dynamic Entity Sync

  • Entities no longer require manual removal when switching routers or updating devices.
  • If device already exists, its state and attributes will update automatically.
  • Avoids duplicate unique_id exceptions on device_tracker entities.
  • Fully compliant with Home Assistant device_registry.

Internal Improvements

  • Complete refactor of Luci API client (luci.py) to handle new MAC Filter and Compatibility logic.
  • Centralized helper functions and enums for better maintainability (helper.py, enum.py).
  • Minor optimizations on entity creation, signal quality mapping, and router state sync.
  • Development logs cleaned up for production stability.

🔧 Files updated

  • updater.py
  • device_tracker.py
  • services.py
  • services.yaml
  • helper.py
  • luci.py
  • const.py
  • compatibility.py
  • unsupported.py

✅ This release completes Phase 1 + Phase 2 refactor. 🔜 Phase 3 will focus on Group Blocking, Scenes, and Frontend UI improvements.

📦 v3.1.6b – XiaoHack Edition

Date: 2025-06-01 11:51:22
View original release on GitHub

🔥 Massive backend clean-up release fully stabilizing mesh support, removing scraping redundancies, and implementing full Xiaomi native API usage.


✨ Major Changes

🔧 Full Backend Refactor (Clean Mesh Architecture)
  • ✅ Completely eliminated legacy device scraping (device_list, wifi_connect_devices).
  • ✅ Backend now fully powered by:
  • topo_graph() for device topology and tracker generation.
  • new_status() for accurate device counting per band and LAN.
  • ✅ Each device is properly assigned to its correct node in mesh topology.
  • ✅ Avoids duplicate device trackers between main router and mesh nodes.
  • ✅ Improves performance, reduces load on routers, and increases stability.
📊 Tracker Stability Improvements
  • ✅ Device Tracker logic improved with extended stay_online tolerance.
  • ✅ Significantly reduces false not_home detections caused by roaming or quick disconnects.
🧹 Entity Registry Auto Clean Script
  • ✅ New python_script included (limpiar_miwifi.py).
  • ✅ Allows safe and full entity registry cleanup of previous duplicate device_tracker entries.
  • ✅ Helps maintain entity registry clean and consistent after backend refactor.
🔄 Dynamic Entity Update Logic Maintained
  • ✅ Full dynamic synchronization of sensor.topologia_miwifi with internal backend state.
  • ✅ Fully live creation/removal of update.miwifi_[MAC]_miwifi_panel_frontend entities.
⚙️ Backend Files Updated
  • updater.py — Full backend logic cleanup.
  • device_tracker.py — Stable tracker state improvements.
  • python_scripts/limpiar_miwifi.py — Auto cleanup tool.
  • Full compatibility with services.py, frontend.py, update.py, config_flow.py and other modules remains intact.

🧪 Stability Achieved

  • ✅ 100% Mesh backend compatible with Xiaomi native API.
  • ✅ No more tracker duplication across nodes.
  • ✅ Entity registry stays consistent long-term.
  • ✅ Immediate full refresh after topology or connection changes.
  • ✅ Fully backwards compatible with existing installations.

🔖 Requires MiWiFi Panel Frontend v1.2.3 for full frontend synchronization.


Thanks again to the whole community for the help, reporting, tests and huge contribution for the Clean Backend release!

➡️ For full documentation visit: xiaohack.es


📦 v3.1.4 – XiaoHack Edition

Date: 2025-05-22 15:31:07
View original release on GitHub

🛠 MiWiFi XiaoHack Edition – v3.1.4

This release fixes a critical bug affecting the detection of the main router when the assoc field was missing from the topology graph.

🐛 Bugfixes

  • ✅ Improved main node (is_main) detection logic:
  • Routers without the assoc field will now correctly fall back to the show + mode method.
  • This fixes the issue where:
  • The update.miwifi_panel_frontend entity was not being created.
  • The network topology did not load in the panel.
  • Main router detection failed in status.js, mesh.js, settings.js, and topologia.js.

ℹ️ How to Update

  1. In Home Assistant, go to the update.miwifi_xiaohack_integration entity.
  2. Click “Update”.
  3. Restart Home Assistant.
  4. Refresh your browser (Ctrl + F5) to load the latest panel.

Thanks to the community for reporting and testing! For more info, visit xiaohack.es or check the GitHub repository.

Xiaohack Chatbot Asistente XiaoHack

Xiaohack V 3.3 | © Copyright 2024 | Users Online: 0 | Estado: Offline