Historial de versiones - MiWiFi XiaoHack Edition
📡 Releases automáticos desde GitHub
Las versiones más recientes se sincronizan automáticamente desde GitHub.
Mostrando 21–25 de 57 releases
📦 v3.3.9b1 – XiaoHack Edition
Fecha: 2025-08-28 12:32:46
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.3.9 – 2025-08-29
✨ Nuevas funciones
- 🧹 Purga automática global de dispositivos inactivos.
Una única tarea programada para todo el dominio (principal + malla) que elimina automáticamente las entidades/dispositivos obsoletos.
- Configuración global y persistente en
.storage/miwifi/auto_purge.json. - Se ejecuta cada _N_ días a la hora H y, por diseño, el umbral de inactividad = _N_.
- Inicio ~60 s después de que se cargue la integración, por lo que funciona incluso sin reinicios.
- Se reprograma automáticamente después de cada uso; no requiere intervención manual.
- 🧰 Nuevo servicio:
miwifi.purge_inactive_devices
Purga manual (o prueba en seco) compatible con:
días(umbral),solo_aleatorizado,incluir_huérfanos,
incluir_huérfanos_sin_edad, incluir_entidades_sin_edad, verbose, apply (prueba en seco cuando false).
- Vista previa de prueba mediante notificación (“Vista previa de purga”).
- Orden de eliminación segura: primero las entidades, luego los dispositivos huérfanos.
▶️ Ejemplos de servicio
Prueba en seco (sin eliminaciones): ```yaml Servicio: miwifi.purgar_dispositivos_inactivos datos: días: 5 only_randomized: false incluir huérfanos: verdadero incluir_huérfanos_sin_edad: verdadero incluir_entidades_sin_edad: verdadero detallado: verdadero aplicar: falso
```
Aplicar cambios (eliminar): ``yaml Servicio: miwifi.purgar_dispositivos_inactivos datos: días: 5 only_randomized: false incluir huérfanos: verdadero incluir_huérfanos_sin_edad: verdadero incluir_entidades_sin_edad: verdadero detallado: falso aplicar: verdadero ``
✅ Correcciones y estabilidad
- 🛡️ Se eliminó el reinicio de Wi-Fi al iniciar. La sonda de compatibilidad ya no utiliza puntos finales de escritura durante la inicialización. Todas las comprobaciones ahora son de solo lectura, lo que evita recargas de radio no deseadas al reiniciar la integración o la alta disponibilidad.
- 🧼 Higiene de datos sensibles. Enmascaramiento adicional en los registros de depuración/diagnóstico para evitar la filtración de contraseñas PPPoE/Wi-Fi y direcciones MAC.
- 🧰 Manejo robusto de errores en torno a las solicitudes de los clientes y la actualización de la topología para evitar fallas transitorias durante el primer ciclo de arranque.
- Acceso armonizado a los registros de entidades/dispositivos para que coincida con las versiones recientes de HA.
- Registros más claros durante el arranque y la purga (resultados y vistas previas).
⚙️ Mejoras
- 📡 La detección de capacidad Wi-Fi de solo lectura ahora utiliza
wifi_detail_all/wifi_diag_detail_allen lugar de cualquier punto finalset_*. - 🔍 Registros de arranque más claros para que quede claro que no se producen escrituras de configuración durante el inicio.
- 📦 Pequeñas mejoras en la experiencia de usuario de la entidad de actualización para la notificación de versiones del Panel MiWiFi.
- 🔄 Planificador global compartido entre varias entradas.
Una sola tarea para todo el dominio con propiedad y transferencia automáticas si se elimina una entrada.
- 🕒 Interfaz de usuario con opciones más seguras.
Selector de tiempo para purga automática (sin expresiones regulares), y los valores se sincronizan en todas las entradas.
- 💾 Claramente persistente.
El JSON guarda every_days, at, next_due, last_run, last_params, history y owner.
- 🧭 Limpieza más inteligente.
Conciencia de múltiples enrutadores (principal + malla), detección y eliminación de huérfanos y entidades sin antigüedad cuando se convierten en huérfanas.
- 🧵 Seguridad asíncrona.
No se utiliza hass.async_create_task desde los subprocesos de trabajo; toda la planificación utiliza funciones auxiliares de HA.
- 🗣️ i18n.
Se han añadido/actualizado claves de traducción para el servicio de purga (incluida include_entities_without_age) y opciones de purga automática.
🌍 Reestructuración de los servicios y la traducción de MiWiFi
✅ Logros
- Unificación clave: Se ha cambiado el nombre de
purge_inactiveapurge_inactive_devicesen todos los idiomas para que Home Assistant asigne correctamente el servicio a sus traducciones. - Estructura anidada: Todos los servicios (
dump_router_data,purge_inactive_devices, etc.) ahora usanfieldsanidados en los JSON de traducción.
👉 Esto soluciona el problema por el que aparecían claves sin formato como service_fields.purge_inactive.days_description en la interfaz de usuario.
- Se eliminaron duplicados: Se eliminó el bloque duplicado en
service_fields.purge_inactive(que nunca fue utilizado por HA). - Coherencia: Todos los idiomas compatibles (
es,en,fr,ru,tr,zh-Hans,pt-BR,de) ahora están alineados y sincronizados. - Claridad para el campo detallado: Se reemplazó el término técnico "Modo detallado" con una redacción más clara para cada idioma:
- 🇪🇸 Modo detallado
- 🇬🇧 Modo detallado
- 🇫🇷 Mode détaillé
- 🇷🇺 Подробный режим
- 🇹🇷 Ayrıntılı mod
- 🇨🇳 详细模式
- 🇧🇷 Modo detallado
- 🇩🇪 Modo Detallador
📂 Cambios en services.yaml
Antes (❌ incorrecto):
``yaml purgar_inactivo: nombre: service_fields.purge_inactive.name descripción: service_fields.purge_inactive.description campos: días: nombre: service_fields.purge_inactive.days ``
Después (✅ correcto, mismo estilo que el volcado):
``yaml purgar_dispositivos_inactivos: nombre: Purgar dispositivos inactivos Descripción: Eliminar los rastreadores de dispositivos y los dispositivos huérfanos después de X días de inactividad. campos: días: nombre: Días de inactividad Descripción: Número de días sin actividad antes de la purga. requerido: verdadero selector: número: mín.: 1 máximo: 365 unidad_de_medida: días solamente_aleatorizado: nombre: Solo MAC aleatorios Descripción: Eliminar únicamente los dispositivos con MAC aleatorios (privados). selector: booleano: {} incluir huérfanos: nombre: Incluir dispositivos huérfanos Descripción: También purgar los dispositivos sin entidades asociadas. selector: booleano: {} incluir_huérfanos_sin_edad: nombre: Incluir huérfanos sin marca de tiempo Descripción: Permite la eliminación incluso si se desconoce la fecha de la última actividad. selector: booleano: {} verboso: nombre: Modo detallado Descripción: Agrega información de registro extendida durante la ejecución. selector: booleano: {} aplicar: Nombre: Aplicar cambios Descripción: Si está desactivado, se ejecuta como una prueba (simulación) sin borrar nada. selector: booleano: {} ``
🌐 Sincronización de la traducción
🔑 Clave unificada
purgar_dispositivos_inactivos
📖 Campos traducidos
days→ Days / Días / Jours / Дни / Günler / 天数 / Dias / Tageonly_randomized→ Only randomized MACs / Solo MAC aleatorias / Uni...include_orphans→ Incluir dispositivos huérfanos / Incluir huérfanos /...include_orphans_without_age→ Include orphans without timestamp / Incluir huérfanos sin edad / ...verbose→ Modo detallado / Modo detallado / Modo détaillé / Подробный режим / Ayrıntılı mod / 详细模式 / Modo detalhado / Detaillierter Modusapply→ Aplicar cambios / Aplicar cambios / Apliquer / Применить / Değişiklikleri uygula / 应用更改 / Aplicar mudanças / Änderungen anwenden
📌 Resultado final
- Todos los idiomas traducen correctamente los campos del servicio.
- Ya no hay teclas sin formato en la interfaz de usuario.
purge_inactive_devicesse comporta de forma idéntica adump_router_data.- Los archivos JSON para cada idioma están completos y alineados.
✅ Compatibilidad
- Sin cambios incompatibles. Funciona con el mismo conjunto de routers Xiaomi/Redmi que ya son compatibles con la integración.
- Home Assistant Core: Se recomienda la versión 2024.6 o superior.
📘 Cómo actualizar
- Reemplace la carpeta:
config/custom_components/miwifi/con los archivos de esta versión. - Reiniciar Home Assistant.
- (Opcional) En Herramientas para desarrolladores → Servicios, llame a
miwifi.dump_router_dataconhide_sensitive: truepara verificar que todo parezca correcto sin exponer secretos. - Si la conexión Wi-Fi de su router sigue reiniciándose al arrancar Home Assistant, compruebe que otras automatizaciones o inicios de sesión de terceros (aplicación Mi Home, interfaz web) no estén aplicando cambios al mismo tiempo.
ℹ️ Información adicional
- Las acciones bajo demanda, como
set_guest_wifiyset_wifis, siguen aplicando cambios cuando se llaman explícitamente a esos servicios. El proceso de arranque en sí permanece de solo lectura. - Para solucionar problemas, habilite los registros de depuración para
custom_components.miwifiy comparta extractos anonimizados si es necesario.
💖 Soporte y donaciones
Si este proyecto te resulta útil, considera apoyar su desarrollo. ¡Gracias por mantener vivo el ecosistema de XiaoHack!
¡Gracias por tu apoyo! 🙌
Resumen de cambios
| Área | Cambiar |
|---|---|
| Puesta en marcha | Se eliminaron los puntos finales de escritura de las comprobaciones de compatibilidad; el inicio es de solo lectura. |
| Seguridad | Mejora del enmascaramiento de contraseñas y direcciones MAC en los registros. |
| Servicios | set_guest_wifi, get_wifis, dump_router_data disponibles y documentados. |
| UX | Registros de arranque más claros e informes de actualización del panel |
📦 v3.3.8 – XiaoHack Edition
Fecha: 2025-08-21 15:45:20
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.3.8 – 2025-08-21
✨ Nuevas funciones
- 🖥️ Se expuso
manual_main_macen la carga útil del backend, lo que permite que el panel detecte y resalte de manera confiable el enrutador principal seleccionado manualmente. - 🔄 Lógica unificada en el frontend (
status.js,panel-frontend.js) para reconocer main manual, main automático y la opción de reserva por dirección MAC. - 🎛️ Actualizaciones extendidas del sensor de topología para cubrir ambos prefijos (
sensor.topologia_miwifi*ysensor.miwifi_topology*), asegurando que todos los sensores reflejen el estadois_maincorrecto. - 📶 Nuevos servicios Wi-Fi:
miwifi.get_wifis → recupera las configuraciones Wi-Fi actuales (2.4G, 5G, 5G Juego, Invitado)
miwifi.set_wifis → actualiza el SSID, la contraseña o la visibilidad de las redes Wi-Fi principales. (Deshabilitado, en prueba...)
miwifi.set_guest_wifi → habilitar/deshabilitar Wi-Fi para invitados, cambiar SSID/contraseña y seleccionar cifrado.
miwifi.test_guest_wifi → verifica la configuración de Wi-Fi para invitados en tiempo real.
🛠 Correcciones críticas
- 🐞 Se solucionó un problema por el cual
sensor.miwifi_topology_*no se actualizaba con la banderais_main, lo que provocaba que el panel ignorara el enrutador principal manual. - 🔧 Se corrigió la falta de
awaiten la eliminación del panel (async_remove_panel), evitando condiciones de carrera al volver a registrar el panel MiWiFi. - ⚡ Se corrigió la lógica de detección automática principal: los enrutadores con
show=0, mode=0/3, assoc=1ahora se identifican correctamente como el nodo principal, cubriendo variantes de firmware que antes se omitían.
✅ Correcciones y estabilidad
- 📡 El panel ahora se actualiza correctamente después de cambiar el enrutador principal mediante una llamada de servicio; ya no requiere una recarga completa de la página.
- 🧹 Se normalizaron las comparaciones de MAC a minúsculas tanto en el backend como en el frontend para evitar discrepancias entre la MAC manual guardada y la topología informada.
- 🔁 Manejo de reserva mejorado: si el análisis de la topología falla, el backend recurre elegantemente al método principal manual sin perder el estado.
⚙️ Mejoras del backend
- ✅
_async_prepare_topoahora inyectamanual_main_macdirectamente enself.dataytopo_data, haciéndolo disponible para el panel y los sensores. - 🔄 Los coordinadores actualizan todos los actualizadores cuando se guarda un enrutador principal manual, lo que garantiza la coherencia del estado en todos los nodos de la malla.
- 🪛 Se ha ampliado la lógica de actualización para mantener sincronizados todos los sensores de topología (
miwifi_topology*,topologia_miwifi*) con los mismos datos gráficos. - 📊 Se agregó el atributo
auto_reasonal gráfico de topología para la depuración: muestra por qué un nodo se consideróis_main_auto.
🌐 Localización
- 🌍 Se completaron las nuevas etiquetas de flujo de configuración en en, de, fr y pt-BR: activity_days, enable_panel, is_force_load, log_level, wan_speed_unit.
- 🈸 Se agregaron fragmentos de código para ru, tr y zh-Hans que cubren las claves errors.*, notifications.*, service_fields.* y services.* para evitar problemas de claves faltantes. Se agradecen las traducciones de la comunidad.
- 🧩 Se han añadido cadenas de servicio de Wi-Fi para invitados a todos los idiomas donde corresponda (nombre + campos), alineando la interfaz de usuario con los nuevos servicios.
🚫 Capacidades
- No hay cambios en esta versión.
🆕 Modelo compatible
- ✅ Se ha añadido compatibilidad con el nuevo modelo de router por confirmar.
🧹 Limpieza de código
- 🗑️ Se eliminaron las comprobaciones redundantes para
is_main_autoen el frontend, ahora están centralizadas en la función auxiliarisMainNode(). - 📖 Se ha mejorado el registro de depuración para mostrar las claves expuestas
manual_main_mac,auto_reasony las claves de carga útil del panel actualizadas.
✅ Compatibilidad
- ✅ Compatible con Home Assistant 2025.8.0 y versiones posteriores.
- 🧩 Compatible con todas las versiones del panel a partir de la
1.3.1.
📘 Cómo actualizar
- Reemplace todos los archivos dentro de su carpeta
custom_components/miwifi/con el contenido de esta versión. - Reiniciar Home Assistant.
- Borre la caché del navegador (Ctrl+F5) para asegurarse de que el panel cargue los archivos JS actualizados.
- Seleccione un enrutador principal a través del servicio o permita la detección automática; el panel lo mostrará de forma consistente.
ℹ️ Esta versión se centra en la detección manual del enrutador principal y la detección automática mejorada del enrutador principal, solucionando inconsistencias entre el backend, los sensores y el panel.
💖 Soporte y donaciones
Si esta integración te resulta útil y quieres apoyar su desarrollo continuo, puedes hacer una donación aquí:
Cada contribución me ayuda a dedicar más tiempo a desarrollar y mejorar MiWiFi. ¡Gracias! 🙌
📦 v3.3.7 – XiaoHack Edition
Fecha: 2025-08-06 18:34:46
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.3.7 – 2025-08-06
✅ Correcciones y estabilidad
🧱 Se evitan fallos de integración cuando los puntos finales del enrutador devuelven datos no válidos o vacíos: La recopilación de datos del enrutador (dump_router_data) ahora gestiona correctamente las respuestas faltantes y las funciones no compatibles. Se acabaron los fallos totales del servicio debido a new_status, wifi_config o problemas similares.
⚙️ Mejoras
🔍 Se agregó validación por característica usando unsupported.py: La integración comprueba si un modelo de enrutador admite cada función antes de llamarla. Las funciones omitidas se marcan como "error" o "no compatibles".
📄 Se agregaron metadatos al resultado del volcado: Cada volcado de enrutador ahora incluye:
"estado": "ok"o"parcial""errores": lista de bloques que fallaron o no son compatibles
Esto permite una mejor retroalimentación y depuración desde el frontend o los archivos de registro.
🛡️ Salida de registro más segura y limpia con un mecanismo de reserva adecuado por sección. El volcado de memoria siempre se crea, incluso si faltan algunos bloques.
✅ Compatibilidad
- ✅ Compatible con Home Assistant 2025.7.0 y versiones posteriores.
- 🧩 Compatible con todos los paneles MiWiFi a partir de la versión
1.3.0.
📘 Cómo actualizar
- Reemplace todos los archivos dentro de su carpeta
custom_components/miwifi/con el contenido de esta versión. - Reiniciar Home Assistant.
- Vuelva a usar el servicio
miwifi.dump_router_datay compruebe si aparecen los estados y los errores en el resultado.
ℹ️ Esta actualización garantiza que el servicio de volcado nunca falle, incluso en enrutadores con soporte API incompleto. Le brinda visibilidad detallada sobre qué secciones fallaron y por qué.
💖 Soporte y donaciones
Si esta integración te resulta útil y quieres apoyar su desarrollo continuo, puedes hacer una donación aquí:
Cada contribución me ayuda a dedicar más tiempo a mejorar MiWiFi. ¡Gracias! 🙌
📦 v3.3.6 – XiaoHack Edition
Fecha: 2025-08-05 21:43:16
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.3.6 – 2025-08-05
🛠 Correcciones críticas
- Corregido: El formulario de opciones en
config_flowfallaba debido a la falta del argumentohassen_get_options_schema().
→ Ahora utiliza self.hass internamente y se carga correctamente sin errores.
- Corregido: Las llamadas de E/S bloqueantes (
open,zipfile) endump_router_datase movieron aexecutor.
→ Ya no aparecen las advertencias de Llamada bloqueante detectada para abrir.
- Solucionado: Problema de Docker al crear
/config/www/miwifi/exports.
→ La creación de directorios ahora se ejecuta de forma segura en un ejecutor de subprocesos con creación de ruta completa.
✨ Nuevos comportamientos
- Se ha mejorado la limpieza de los archivos basura:
→ Ahora conserva solo los 2 últimos volcados (ZIP + JSON) y elimina los más antiguos.
- Limpieza de registros aislada:
→ MiWifiDownloadLogsService ahora solo elimina los archivos logs_*.zip. → MiWifiDumpRouterDataService ahora solo elimina dump_*.zip y los archivos .json asociados.
- Análisis de memoria estandarizado:
→ Se agregó la utilidad parse_memory_to_mb(). → Interpreta correctamente valores como "2GB" → 2048 MB, "512MB" → 512 MB, o números sin procesar.
⚙️ Mejoras del backend
- Se ha introducido un nuevo módulo
utils.pypara centralizar las utilidades reutilizables (parse_memory_to_mb). - Registro mejorado para las acciones de volcado y limpieza de registros con un mejor contexto de depuración.
✅ Compatibilidad
- ✅ Compatible con Home Assistant 2025.7.0+.
- 🧩 Funciona con todas las versiones del panel a partir de la
1.3.0.
📘 Cómo actualizar
- Reemplace todos los archivos dentro de su carpeta
custom_components/miwifi/con esta versión. - Reiniciar Home Assistant.
- Borre la caché del navegador si el panel no se actualiza automáticamente.
ℹ️ Esta actualización posterior al lanzamiento aborda importantes correcciones de errores en el flujo de opciones, la generación de volcados y el análisis de memoria para garantizar la compatibilidad y estabilidad totales.
💖 Soporte y donaciones
Si esta integración te resulta útil y quieres apoyar su desarrollo continuo, puedes hacer una donación aquí:
Cada contribución me ayuda a dedicar más tiempo a desarrollar y mejorar MiWiFi. ¡Gracias! 🙌
📦 v3.3.5 – XiaoHack Edition
Fecha: 2025-08-05 11:17:26
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.3.4 — 2025-08-05
✨ Nuevas funciones
- Nuevo servicio: __HTML_PLACEHOLDER_0__
- Genera un volcado JSON completo del enrutador principal, que incluye:
- Información sobre el estado del sistema y el hardware
- Configuración de red (WAN, Wi-Fi, topología)
- Información sobre dispositivos conectados y filtros MAC.
- Reglas NAT (single y range)
- Configuración de QoS
- Configuración Wi-Fi completa opcional (SSID, cifrado, etc.)
- Bloques seleccionables: Puedes elegir qué secciones incluir.
- Enmascaramiento de datos sensibles: Opción para anonimizar automáticamente las contraseñas y las direcciones MAC.
- Exportado como __HTML_PLACEHOLDER_0__ para facilitar la descarga, manteniendo el archivo
.jsonsin procesar en/config/www/miwifi/exports. - Campos traducidos en todos los idiomas compatibles: 🇺🇸 inglés, 🇪🇸 español, 🇩🇪 alemán, 🇫🇷 francés, 🇧🇷 portugués, 🇷🇺 ruso, 🇹🇷 turco, 🇨🇳 chino simplificado.
✅ Correcciones y estabilidad
- Formato JSON ajustado para una mejor legibilidad (sangría de 4 espacios).
- Notificaciones mejoradas: La notificación persistente ahora proporciona un enlace de descarga directa al archivo
.zip.
⚙️ Mejoras
- Se han añadido traducciones completas en varios idiomas para los nuevos campos de servicio.
- Se preparó el backend para la futura integración del panel (botón para activar el volcado directamente desde la interfaz de usuario).
📘 Cómo actualizar
- Reemplaza todos los archivos en
custom_components/miwifi/con la nueva versión. - Reiniciar Home Assistant.
- Acceda a Herramientas para desarrolladores → Servicios, seleccione
miwifi.dump_router_datay configure las opciones de volcado. - Compruebe /config/www/miwifi/exports/ para encontrar el archivo
.zipcon el volcado del router.
💖 Soporte y donaciones
Si esta integración te resulta útil, considera apoyar su desarrollo:
Cada contribución me ayuda a dedicar más tiempo a desarrollar y mejorar MiWiFi. ¡Gracias! 🙌
Asistente XiaoHack
Xiaohack V 3.3 | © Copyright 2024 | Users Online: 0 | Estado: Offline
