Version History - MiWiFi XiaoHack Edition
📡 Automatic releases from GitHub
The latest versions are synchronized automatically from GitHub.
Showing 11–15 of 57 releases
📦 v3.4.9 – XiaoHack Edition
Date: 2026-01-01 18:24:30
View original release on GitHub
📝 Changelog — MiWiFi Integration
📦 Version v3.4.9 – 2026-01-01
✅ Fixes & Stability
- 🧩 Unsupported registry migrated to Home Assistant Storage
Replaced the legacy unsupported_user.py workflow with __HTML_PLACEHOLDER_1__ (Store-based persistence). This prevents write-permission issues inside custom_components and makes the behavior consistent across HA installs.
- 🔁 No more repeated “unsupported” suggestions after restart
Compatibility checks now treat predefined unsupported features as N/A (None) instead of failures, so diagnostics will not re-trigger the same warning on every reboot.
- 🛡️ Guest Wi-Fi compatibility noise removed
The previous Guest Wi-Fi compatibility probe could report false negatives due to mismatched client methods/endpoints. The check was removed/neutralized to avoid incorrect “unsupported” recommendations.
⚙️ Improvements
- ➕ “Add to unsupported” is now functional from diagnostics
The diagnostics action now uses a dedicated endpoint (/api/miwifi/add_unsupported) that performs an authenticated service call to miwifi.add_unsupported.
- 🧠 Automatic merge of base + user unsupported models
The integration now merges:
- Base
UNSUPPORTEDregistry (shipped with the integration) - User-defined entries stored in
.storage/miwifi/unsupported_user.json
- 🧼 Improved UX for the diagnostics action
The confirmation page auto-returns to Home Assistant after the service call, so users don’t need to manually close extra pages.
✅ Compatibility
- ✅ Compatible with Home Assistant 2025.5.0+
- ✅ No breaking changes to existing configurations
(Legacy unsupported_user.py remains supported via migration/merge logic if present.)
📘 How to Update
- Replace all files inside
custom_components/miwifi/with the contents of this release. - Restart Home Assistant.
- (Optional) If you previously used
unsupported_user.py, confirm that new entries are now stored in:
.storage/miwifi/unsupported_user.json
- If diagnostics suggest adding a feature to unsupported, click the action link and verify the model appears in the Storage JSON.
ℹ️ Información adicional
- The supported “Add unsupported” workflow is now Storage-first (recommended for all users).
- If you see entries like
"new"in the Storage file, ensure the feature key matches the CompatibilityChecker feature name (e.g.,wifi_config,mac_filter, etc.), otherwise it will be stored but not applied.
💖 Support & Donations
If you find this integration useful and want to support continued development:
📌 Summary of changes (v3.4.8 → v3.4.9)
| Area | Change | Result |
|---|---|---|
| Storage | unsupported_user.py → .storage/miwifi/unsupported_user.json | Reliable persistence |
| Diagnostics | Working “Add unsupported” action | No more 401 / dead buttons |
| Compatibility | Unsupported = N/A (None), not failure | No repeated warnings on restart |
| UX | Auto-return after action | No manual tab management |
📦 v3.4.8 – XiaoHack Edition
Date: 2025-12-28 11:14:42
View original release on GitHub
📝 Changelog — MiWiFi XiaoHack Edition (Home Assistant Integration)
📦 Version v3.4.7 — 2025-12-28
✅ Fixes & Stability
- 🐞 Fixed wrong mode detection in CompatibilityChecker: routers reporting numeric modes (e.g.
mode=2) no longer fall back incorrectly toDEFAULT. - 🧩 Proper “SKIP” behavior for non-applicable checks: returning
Nonefrom compatibility checks (e.g. AP / Repeater / Mesh) is now treated as *intentional skip* instead of triggering retries and false “unsupported” warnings. - 🛡️ Reduced false positives in logs such as:
Feature 'device_list' failed after 5 attempts...Feature 'topo_graph' failed after 5 attempts...
when the router is running in Access Point / Repeater / Mesh modes where those endpoints can be unreliable or not applicable.
⚙️ Improvements
- 🧠 Unified mode parsing using the existing
Mode(IntEnum)as the single source of truth: - Numeric parsing first (
Mode(int(...))) - Phrase/alias fallback (
"ap","router", etc.) - 🔍 More consistent debug output for Compatibility mode parsing and feature evaluation.
✅ Compatibility
- ✅ Improved compatibility for RA82 and similar models reporting
mode=2(Access Point), avoiding incorrect mode classification and noisy “unsupported” suggestions. - ✅ Compatibility checks now behave correctly across:
DEFAULT (0)router modeREPEATER (1)ACCESS_POINT (2)MESH_NODE (3)MESH_LEAF (8)MESH (9)
📘 How to Update
- Download v3.4.8 from the GitHub Releases page.
- Replace the integration folder:
custom_components/miwifi/
- Restart Home Assistant.
- (Optional) Clear browser cache if you are also using the MiWiFi Panel.
ℹ️ Additional Information
- This release focuses on CompatibilityChecker reliability and does not change router control logic.
- No breaking changes expected.
💖 Support & Donations
If this project is useful to you and you want to support future development:
- ⭐ Star the repository on GitHub.
- 🐛 Report issues and share logs/topology captures to improve compatibility with more routers.
- 💬 Share screenshots and feedback from your setup so we can keep polishing the experience.
- 💸 Wise
- 💸 PayPal
Every bit of feedback helps to keep MiWiFi XiaoHack Edition healthy and evolving. 🙌
📊 Summary of changes
| Area | Change | Impact |
|---|---|---|
| Compatibility | Mode parsing via Mode(IntEnum) | Correct AP/Repetidor/Mesh detection |
| Compatibility | _safe_call() treats None as SKIP | No more false “failed after 5 attempts” |
| Logs | Reduced unsupported warnings on AP/repeater | Cleaner setup and diagnostics |
| Devices | Better behavior on RA82 mode=2 | Prevents incorrect DEFAULT fallback |
📦 v3.4.7 – XiaoHack Edition
Date: 2025-12-19 16:19:56
View original release on GitHub
📝 Changelog — MiWiFi Integration
📦 Version v3.4.7 — 2025-12-19
🆕 Compatibility Model
- ✅ Added support for new router model RC02 #194
📘 How to Update
- HACS: Open HACS → *Integrations* → MiWiFi → Update → Restart Home Assistant.
- Manual: Replace the folder
custom_components/miwifi/with the new release → Restart Home Assistant. - After restarting, verify:
- NAT rules list correctly under your main router.
- Adding/removing rules works as expected.
- (Optional) Check logs for the selected NAT path (default or fallback).
ℹ️ Additional Information
- If you previously patched endpoints per model, the new centralized map will take precedence.
- For diagnostics, enable debug logging for
custom_components.miwifiand look for messages about autodiscovered NAT paths.
💖 Support & Donations
If this project is useful to you and you want to support future development:
- ⭐ Star the repository on GitHub.
- 🐛 Report issues and share logs/topology captures to improve compatibility with more routers.
- 💬 Share screenshots and feedback from your setup so we can keep polishing the experience.
- 💸 Wise
- 💸 PayPal
Every bit of feedback helps to keep MiWiFi XiaoHack Edition healthy and evolving. 🙌
📦 v3.4.6 – XiaoHack Edition
Date: 2025-12-06 10:17:22
View original release on GitHub
📝 Changelog — MiWiFi Integration
📦 Version v3.4.6 — 2025-12-06
🆕 Compatibility Model
- ✅ Added support for new router model R4ACv2 #183
✅ Fixes & Stability
-
⚙️ Improvements
-
🧩 Compatibility
-
📘 How to Update
- HACS: Open HACS → *Integrations* → MiWiFi → Update → Restart Home Assistant.
- Manual: Replace the folder
custom_components/miwifi/with the new release → Restart Home Assistant. - After restarting, verify:
- NAT rules list correctly under your main router.
- Adding/removing rules works as expected.
- (Optional) Check logs for the selected NAT path (default or fallback).
ℹ️ Additional Information
- If you previously patched endpoints per model, the new centralized map will take precedence.
- For diagnostics, enable debug logging for
custom_components.miwifiand look for messages about autodiscovered NAT paths.
💖 Support & Donations
If this project is useful to you and you want to support future development:
- ⭐ Star the repository on GitHub.
- 🐛 Report issues and share logs/topology captures to improve compatibility with more routers.
- 💬 Share screenshots and feedback from your setup so we can keep polishing the experience.
- 💸 Wise
- 💸 PayPal
Every bit of feedback helps to keep MiWiFi XiaoHack Edition healthy and evolving. 🙌
📦 v3.4.5 – XiaoHack Edition
Date: 2025-11-27 19:32:14
View original release on GitHub
📝 Changelog — MiWiFi Integration 📦 Version v3.4.5 – 2025-11-27
✅ Fixes & Stability
- Improved internal handling of router traffic counters:
- If the router does not expose the
misystemtraffic endpoint (or returns unexpected data), the integration now fails gracefully without breaking device updates. - Extra safety checks when parsing
download/uploadvalues per device to avoid type/parse errors on some firmwares. - Small internal refactors in the updater flow so that Wi-Fi and LAN devices always keep their attributes updated even if traffic totals are not available.
- Auto-purge reliability improvements:
- The
purge_inactive_devicesservice now correctly handles device_trackers without MAC or last_activity (for example, old_2entries stuck asunavailable) wheninclude_orphans_without_ageis enabled, so they can be removed cleanly from the entity/device registry. - The global auto-purge scheduler has been aligned with the new service schema and now calls it with consistent parameters (
only_randomized: false,include_orphans: true,include_orphans_without_age: true), ensuring that inactive, duplicated and orphaned trackers older than N days are actually purged.
⚙️ Improvements
Per-device total usage (download + upload)
- New attribute:
total_usagefor each tracked device, now backed by router counters: - The integration reads the global
misysteminformation (devlist) and, for each MAC, sums: download+upload→ total bytes used by that device.- These totals are applied to all known devices (Wi-Fi and LAN) whenever the updater refreshes.
- The device tracker attribute
total_usagenow uses a more readable format: - If usage is below 1 GB, it is shown in MB (with 2 decimals), e.g.
257.34 MB. - If usage is 1 GB or higher, it is shown in GB (with 2 decimals), e.g.
3.50 GB. - Behaviour is fully automatic:
- If the router exposes the
misystemendpoint with per-device counters, the attribute is populated. - If not, the attribute falls back to
0 MBwithout errors.
✅ Compatibility
- No breaking changes for existing installations:
- Routers without a compatible
misystemendpoint will simply not expose per-device totals (attribute stays at0 MB). - Routers that already expose
download/uploadcounters (like RA70/RA81 class) will automatically benefit from the newtotal_usageattribute. - The new logic works with both:
- Main routers and
- Mesh/LAN devices connected to them, as long as the router reports their MAC and traffic in
misystem. - The improved purge logic affects only MiWiFi entities/devices and is safe for mixed setups:
- It will only delete MiWiFi device_trackers and their associated devices that match the inactivity rules and are not shared with other config entries.
📘 How to Update
- From HACS (recommended):
- Open HACS → Integrations.
- Locate MiWiFi XiaoHack Edition.
- Click “Update” (if available) and restart Home Assistant.
- Manual update:
- Download the
custom_components/miwififolder for version v3.4.4 from the repository. - Replace your existing
custom_components/miwififolder. - Restart Home Assistant.
- After restart:
- Check Settings → Devices & Services → MiWiFi to ensure the integration is loaded without errors.
- Open any MiWiFi device tracker and verify the new
total_usageattribute (it may take one refresh cycle to appear). - Optionally run the __HTML_PLACEHOLDER_0__ service (with
apply: false) to see what would be removed, and then withapply: trueto actually clean up old trackers.
ℹ️ Información adicional
- The
total_usagevalue is calculated from router-side counters: - It represents total traffic since the router’s counters started (usually since last reboot or reset), not per day/hour.
- Values may reset if:
- The router reboots, or
- The firmware resets those counters internally.
- Display unit details:
- The Home Assistant attribute is already formatted as string (
XXX.XX MB/XXX.XX GB) for human readability. - If you want to build sensors/graphs in pure MB/GB, you can:
- Create a Template Sensor that parses the numeric part and unit, or
- Read the raw attribute from
custom_componentsin a custom integration/automation. - Auto-purge notes:
- The global scheduler stores in
auto_purge.jsonthe last run, next due, parameters and a small history of executions. - Inactivity threshold =
every_days→ this is the value automatically passed asdaystopurge_inactive_devices.
💖 Support & Donations
If this project is useful to you and you want to support future development:
- ⭐ Star the repository on GitHub.
- 🐛 Report issues and share logs/topology captures to improve compatibility with more routers.
- 💬 Share screenshots and feedback from your setup so we can keep polishing the experience.
- 💸 Wise
- 💸 PayPal
Every bit of feedback helps to keep MiWiFi XiaoHack Edition healthy and evolving. 🙌
Summary of changes (v3.4.3 → v3.4.5)
| Area | Description |
|---|---|
| Device tracking | Added per-device traffic totals (download + upload) using misystem counters where available. |
| UI / Attributes | total_usage now shown in human-friendly MB/GB with automatic unit selection. |
| Maintenance | purge_inactive_devices + auto-purge scheduler now effectively remove old/duplicate trackers, including entries without MAC/age. |
| Stability | Safer handling of routers without misystem support or with incomplete traffic data. |
Asistente XiaoHack
Xiaohack V 3.3 | © Copyright 2024 | Users Online: 0 | Estado: Offline
