Historial de versiones - MiWiFi XiaoHack Edition
📡 Releases automáticos desde GitHub
Las versiones más recientes se sincronizan automáticamente desde GitHub.
Mostrando 1–5 de 57 releases
📦 v3.5.9 – XiaoHack Edition
Fecha: 2026-03-25 18:40:19
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.9 – 2026-03-25
🆕 Modelo compatible
- ✅ Se agregó compatibilidad con el nuevo modelo de enrutador RD03V2 #305
✅ Correcciones y estabilidad
- ⏱️ Se agregó un tiempo de espera a la verificación de la versión del panel #303
- Evita que las comprobaciones de versión del panel se queden bloqueadas indefinidamente cuando la fuente remota es lenta o no está disponible temporalmente.
- Mejora la capacidad de respuesta general y evita bloquear los flujos de actualización/validación de versiones relacionados.
⚙️ Mejoras
- 📦 Compatibilidad con modelos ampliada
- Se ha añadido la detección y compatibilidad con RD03V2 para mejorar la compatibilidad con las variantes más recientes de routers Xiaomi.
✅ Compatibilidad
- ✅ Compatible con configuraciones de router Xiaomi estándar.
- ✅ Se ha añadido compatibilidad con las variantes de enrutador RD03V2.
📘 Cómo actualizar
- Reemplace su carpeta
custom_components/miwifi/con el contenido de esta versión. - Reiniciar Home Assistant.
ℹ️ Información adicional
- PR fusionada: #303 (
feat: agregar tiempo de espera a la verificación de versión del panel) - PR fusionado: #305 (se agrega soporte para el modelo de enrutador RD03V2)
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
📦 v3.5.8 – XiaoHack Edition
Fecha: 2026-02-22 10:52:09
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.8 – 2026-02-22
🆕 Modelo compatible
- ✅ Se agregó compatibilidad con el nuevo modelo de enrutador RP04 #301
✅ Correcciones y estabilidad
- 🧩 Se corrigió la detección de “modo” en las variantes de firmware que devuelven __HTML_PLACEHOLDER_0__
- Cuando falla el punto final principal
qnetwork/get_netmode, la integración recurre anetmode(). - Algunos firmwares devuelven el campo como
netmode(y omitenmode), lo que puede interrumpir la lógica posterior que esperamode. - Ahora normalizamos la carga útil de reserva: si
netmodeexiste ymodeno está presente, lo reflejamos (mode = netmode) para mantener una forma de respuesta consistente.
⚙️ Mejoras
- No hay otros cambios en esta versión.
✅ Compatibilidad
- ✅ Compatibilidad mejorada con firmwares de proveedores/personalizados que exponen __HTML_PLACEHOLDER_0__ en lugar de __HTML_PLACEHOLDER_1__ en la API de reserva.
📘 Cómo actualizar
- Reemplace su carpeta
custom_components/miwifi/con el contenido de esta versión. - Reiniciar Home Assistant.
ℹ️ Información adicional
- PR fusionado: #300 (“convertir el campo netmode al campo mode para compatibilidad”)
- Gracias a @Mythologyli por la contribución.
📦 v3.5.7 – XiaoHack Edition
Fecha: 2026-02-11 20:48:36
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.7 – 2026-02-11
✅ Correcciones y estabilidad
- 🧱 Se corrigieron los fallos de CB0401V2 causados por __HTML_PLACEHOLDER_0__ / cargas útiles de topología no válidas
- Es posible que algunos firmwares de proveedores devuelvan estructuras inesperadas (incluido
null) en llamadas relacionadas con la topología. - El manejo de la topología ahora está estrictamente normalizado para evitar errores de
NoneTypedurante la primera actualización.
- 🧮 Se corrigieron los fallos de análisis de __HTML_PLACEHOLDER_0__ / cadena vacía durante la actualización
- Análisis reforzado para métricas de WAN/velocidad cuando los enrutadores informan temporalmente cadenas vacías (
"") mientras los enlaces están negociando o inactivos. - Los parámetros
downspeedyupspeeddel dispositivo ahora se analizan de forma segura y, si no son válidos, se establecen por defecto en0.0.
- 🧯 Se corrigió el fallo de configuración de CB0401V2 cuando los puntos finales restringidos devolvían datos que no eran JSON
- Los firmwares de los proveedores pueden devolver respuestas HTML/vacías para ciertos puntos finales (por ejemplo, control de LED).
- Estas llamadas ahora se omiten o se tratan como no críticas, por lo que la integración siempre se carga.
- 🧹 Reducción del spam en los registros de firmware de los proveedores
- Se han añadido tiempos de espera y mecanismos de reserva seguros para evitar la saturación de reintentos y las respuestas 404/inválidas repetidas.
- 🚦 Se solucionó el problema por el cual el servicio Block Device dejaba de estar disponible cuando se agotaba el tiempo de espera de __HTML_PLACEHOLDER_0__.
- Algunos firmwares pueden agotar el tiempo de espera en
wifi_macfilter_info(punto final de lectura) aunqueset_mac_filter(punto final de escritura) funcione. - El servicio Bloquear/Desbloquear ya no depende de la disponibilidad de
macfilter_infopara decidir la compatibilidad, evitando así errores falsos de "no es compatible". - Tras aplicar un bloqueo/desbloqueo, la integración actualiza el mapa de filtros MAC almacenado en caché para que el estado
internet_blockedse mantenga constante incluso durante los periodos de espera/tiempo de espera.
- 🔄 Se solucionó el problema por el cual el estado __HTML_PLACEHOLDER_0__ no persistía después de actualizar/navegar (al activar/desactivar la conexión WAN en las tarjetas de dispositivo)
- Algunos firmwares informan del control de acceso WAN a través de
/api/misystem/devicelistusandoauthority.wan(0=bloqueado,1=permitido). - Ahora, la integración mapea __HTML_PLACEHOLDER_0__ → __HTML_PLACEHOLDER_1__ de forma consistente durante la preparación de la lista de dispositivos, de modo que la interfaz de usuario mantiene el estado correcto de bloqueo/desbloqueo después de actualizar o cambiar de pantalla.
- Se agregó un mecanismo de reserva resiliente en la configuración del dispositivo para que el estado de acceso WAN nunca se restablezca a "permitido" de forma predeterminada cuando el valor está presente en las cargas útiles del enrutador.
⚙️ Mejoras
- 📡 Compatibilidad con CB0401V2 (Xiaomi 5G CPE Pro v2) (firmware Magenta/Telekom)
- Nueva detección de perfil CPE (
cpe_profile: CB0401V2) para evitar fallos por “modelo no compatible”. - Se agregaron puntos finales CPE dedicados:
xqdtcustom/get_mobile_net_info(señal + uso + IPv4 en una sola llamada)xqdtcustom/cpe_detect(estado de la SIM + reintentos)xqdtcustom/newstatus(alternativa de hardware/MAC)xqmobile/get_msgbox_count(contador de SMS)
- 🌐 Respaldo de WAN móvil en CB0401V2
- Si los puntos finales WAN clásicos no están disponibles, la WAN puede recurrir a los datos IPv4 móviles de las llamadas CPE.
- 📊 Métricas móviles normalizadas para sensores limpios
- Uso/límite de datos normalizado a
*_gb(flotante) - RSRP/SNR de 5G normalizado a valores flotantes siempre que sea posible.
- 🧾 Sensores de diagnóstico solo para CB0401V2
- Tipo de enlace móvil, operador, IPv4 móvil
- RSRP 5G / SNR 5G
- Uso de datos (GB) / Límite de datos (GB)
- Estado de la SIM + Reintentos de PIN/PUK
- Número de SMS (cuando esté disponible)
Nota: El uso de datos en CB0401V2 solo se muestra cuando flowstatEnable=1 está habilitado en la interfaz de usuario del enrutador.
✅ Compatibilidad
- ✅ Sin cambios de comportamiento para los routers Xiaomi estándar
- Los puntos finales y las omisiones de CPE se aplican solo cuando se detecta CB0401V2.
- Los modelos normales mantienen el mismo flujo de actualización y las mismas entidades.
- 🧩 Compatibilidad mejorada con la importación de Home Assistant
- Evita que se produzcan fallos en la clase de dispositivo que no estén disponibles en algunas compilaciones de alta disponibilidad (lo que previene fallos durante la importación).
📘 Cómo actualizar
- Descarga / obtén la última versión preliminar de
MiWiFi XiaoHack Editionv3.5.7rc3. - Reemplaza tu carpeta
custom_components/miwifi/con la nueva versión. - Reiniciar Home Assistant.
- (Opcional) Habilite temporalmente los registros de depuración para validar:
- No se producen fallos con
NoneType/float('')durante la primera actualización. - Los puntos finales CB0401V2 no envían errores 404/que no sean JSON de forma masiva.
- El servicio de bloqueo/desbloqueo sigue funcionando incluso si
macfilter_infoagota el tiempo de espera.
ℹ️ Información adicional
- Esta es una compilación RC centrada en CB0401V2 (variantes de firmware del proveedor) y análisis defensivo.
- Si realiza pruebas en CB0401V2, comparta las cargas útiles sanitizadas para:
xqdtcustom/get_mobile_net_infoxqdtcustom/cpe_detect- Cualquier registro que muestre tiempos de espera agotados o puntos finales restringidos.
- Cualquier registro relacionado con los tiempos de espera de
macfilter_infodurante el bloqueo/desbloqueo
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🔎 Resumen de cambios (última versión)
| Área | Cambiar |
|---|---|
| CB0401V2 | Se agregó un perfil CPE dedicado y una gestión segura del firmware del proveedor. |
| API móvil | Se agregó get_mobile_net_info + métricas de GB normalizadas |
| Diagnóstico SIM | Se agregó cpe_detect (estado de la SIM + reintentos). |
| SMS | Se agregó soporte para get_msgbox_count + aplanamiento de sms_count. |
| PÁLIDO | Recurrencia a IPv4 móvil cuando la WAN clásica está restringida. |
| Estabilidad | Análisis seguro para métricas numéricas de tipo None y cadena vacía. |
| Puntos finales | Se omitieron los puntos finales restringidos en CB0401V2 (LED/ROM/modo). |
| Servicios | El bloqueo/desbloqueo ya no depende de la disponibilidad de macfilter_info; la caché se actualiza después de aplicar. |
| Sensores | Se han añadido sensores de diagnóstico para móviles/SIM/SMS exclusivos del CB0401V2. |
| Acceso WAN | Persiste internet_blocked de devicelist authority.wan para que el estado de bloqueo se mantenga después de actualizar/navegar. |
📦 v3.5.6 – XiaoHack Edition
Fecha: 2026-02-04 19:55:57
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.6 – 2026-02-04
✅ Correcciones y estabilidad
- 🧭 Se solucionó el problema por el cual la detección de integración no encontraba enrutadores en subredes LAN no predeterminadas
- Ahora, la función de descubrimiento detecta correctamente los enrutadores incluso cuando la LAN no es
192.168.31.0/24(por ejemplo,192.168.1.1), y también descubre los nodos hoja de la malla a partir de la topología. - Utiliza una ruta de obtención de
topo_graph"en bruto" (sin depender de la creación de URL/protocolos internos), lo que mejora la compatibilidad entre las distintas variantes de firmware.
- 🔁 Se gestionaron las redirecciones a __HTML_PLACEHOLDER_0__ y las respuestas que no eran de LAN durante el descubrimiento.
- Las solicitudes de descubrimiento ahora siguen las redirecciones y ya no fallan estrepitosamente cuando
miwifi.comse resuelve fuera de la LAN (por ejemplo, cuandowww.miwifi.comdevuelve un error 404).
- 🌐 Resiliencia de protocolo mejorada (HTTP/HTTPS)
- El descubrimiento sondea tanto
http://comohttps://paratopo_graph, lo que aumenta la tasa de éxito en diferentes configuraciones de enrutador.
- 🧩 Reducción del spam repetido en el flujo de descubrimiento
- Se agregó una protección "ya configurada" para que las entradas existentes no vuelvan a activar los flujos de configuración en cada intervalo de descubrimiento.
- 🧾 Mejor visibilidad para la depuración de descubrimientos
- Se añadieron registros explícitos para cada intento de detección y un controlador de excepciones protegido para que los fallos no desaparezcan silenciosamente.
- 🔒 Registros de depuración WAN sanitizados para evitar la filtración de credenciales confidenciales
- La salida de depuración de la WAN ahora enmascara los campos confidenciales (por ejemplo, la contraseña PPPoE, los tokens/claves) antes de registrarlos, lo que evita su exposición accidental en los registros.
- ⏱️ Se corrigieron las falsas advertencias de "no compatible" causadas por tiempos de espera transitorios en las comprobaciones de compatibilidad.
- Los tiempos de espera (y otros fallos no concluyentes) ya no marcan automáticamente las funciones como *no compatibles*.
- Evita las notificaciones de "Modelo no compatible detectado" cuando el punto final funciona correctamente pero responde con lentitud.
- 🧠 Se ha corregido la detección automática incorrecta del router PRINCIPAL en configuraciones Mesh
- Se evitó que los nodos hoja de la malla (por ejemplo,
show=0, mode=3, assoc=1) se marcaran incorrectamente comois_main. - La detección automática del nodo principal ahora prioriza el nodo raíz de la topología (presencia de
hojas/nodos) y las señalesshow=1, lo que garantiza que solo se seleccione automáticamente el enrutador principal real.
- 🚫🌐 Se corrigieron la semántica del servicio de bloqueo/desbloqueo de WAN y la compatibilidad con el router
- Alinea el comportamiento del control WAN con las expectativas de la API del router Xiaomi:
wan=1→ Internet permitidowan=0→ Internet bloqueado- Evita situaciones en las que el interruptor cambia visualmente, pero el enrutador no aplica la regla esperada.
- 🧩 La capacidad mejorada del filtro MAC comprueba la robustez
- Evita falsos negativos en algunos firmwares donde
macfilter_infopuede fallar o agotar el tiempo de espera de forma intermitente, aunque la función funcione. - Reduce la detección errónea de funciones de filtrado MAC "no compatibles" en routers lentos o con mucho tráfico.
⚙️ Mejoras
- 🧠 Programación de tareas de detección de limpiadores
- La función Discovery se inicia mediante el bucle de tareas de Home Assistant (
hass.async_create_task) en lugar de una simpleasyncio.create_task, lo que mejora la seguridad de la integración durante el arranque.
- 🧹 Salida de razonamiento principal automática más limpia
auto_reasonahora refleja las señales de la raíz de la topología (hojas/nodos) como parte de la decisión, lo que facilita la resolución de problemas.
✅ Compatibilidad
- ✅ El comportamiento probado coincide con las respuestas de la topología de Xiaomi:
- Nodo principal detectado (por ejemplo,
192.168.1.1) - Nodos hoja de la malla detectados (por ejemplo,
192.168.1.73) - Funciona incluso cuando
miwifi.comresponde con redirecciones o se resuelve fuera de la LAN.
- ✅ Lógica principal automática de la malla validada:
- Solo el enrutador raíz/principal se marca automáticamente como
is_main. - Los nodos de la malla de hojas permanecen como no principales a menos que se seleccionen manualmente.
📘 Cómo actualizar
- Descarga / obtén la última versión preliminar de
MiWiFi XiaoHack Editionv3.5.6rc1. - Reemplaza tu carpeta
custom_components/miwifi/con la nueva versión. - Reiniciar Home Assistant.
- (Opcional) Habilite temporalmente los registros de depuración para validar el descubrimiento:
- Compruebe los registros para ver:
Discovery trying topo_graph...yDiscovery found devices: [...].
ℹ️ Información adicional
- Esta es una versión candidata: seguiremos monitorizando los casos extremos y las variantes de firmware antes de etiquetarla como estable.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🔎 Resumen de cambios (vs RC anterior)
| Área | Cambiar |
|---|---|
| Descubrimiento | Obtención de datos brutos de topo_graph + sondeo HTTP/HTTPS + manejo de redirecciones |
| Seguridad | Enmascarar los campos WAN sensibles (por ejemplo, la contraseña PPPoE) en los registros de depuración. |
| Estabilidad | Programación de tareas más segura + registros de depuración más claros |
| Compatibilidad | Los tiempos de espera ya no generan advertencias/notificaciones de "no compatibles". |
| Topología | Se corrigió la selección automática de nodos principales para que los nodos hoja de la malla no se marquen como principales. |
| Control WAN | Semántica correcta de permitir/bloquear la WAN (wan=1 permitir, wan=0 bloquear) + comprobaciones de capacidad de filtrado MAC más robustas |
| UX | Evite que se activen repetidamente los flujos de configuración en enrutadores ya configurados. |
📦 v3.5.5 – XiaoHack Edition
Fecha: 2026-02-01 09:13:21
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.5 – 2026-02-01
✅ Correcciones y mejora de la estabilidad (en comparación con la versión 3.5.4)
- ⏱️ Se corrigieron los largos tiempos de espera del actualizador cuando la WAN está caída (configuraciones de AP/Bridge/Repetidor)
- Evita que los ciclos del coordinador tarden aproximadamente 110 segundos cuando la WAN informa repetidamente:
link=0,status=0,uptime=0,ipv4.ip=""- Se ha añadido un tiempo de espera estricto al sondeo de la WAN y una salida anticipada segura cuando la WAN está claramente caída, para que la topología y los dispositivos sigan actualizándose con normalidad.
- 🌐 Se ha ajustado el análisis de la WAN para evitar el falso mensaje de "WAN no disponible" en los firmwares PPPoE
- Es posible que algunas configuraciones PPPoE informen de campos parciales o vacíos de forma intermitente.
- Se ha mejorado la detección de caídas de la WAN y se han añadido mecanismos de reserva más seguros para que los sensores de la WAN no se desconecten incorrectamente.
- 🧯 Se han reforzado las reglas NAT para evitar el bloqueo de los ciclos de actualización.
- Algunos modelos/firmwares no exponen los puntos finales de reenvío de puertos esperados (ruta predeterminada + ruta de reserva).
- Se agregó un tiempo de espera estricto y un tiempo de enfriamiento después de los fallos para evitar reintentos repetidos/spam durante los ciclos de actualización.
- 🔐 Se solucionó el error de "token no válido" durante la actualización de las reglas NAT
- Evita que el error
LuciRequestError: Invalid tokeninterrumpa las tareas de actualización del coordinador. - La recuperación de reglas NAT ahora falla de forma controlada en caso de problemas con los tokens y evita excepciones de tareas innecesarias.
- 🧩 Se corrigió la regresión de mutación de datos del actualizador (se conserva la referencia a __HTML_PLACEHOLDER_0__)
- Se eliminaron patrones inseguros como
data = data o {}en los pasos de preparación que pueden crear un nuevo diccionario cuandodataestá vacío. - Garantiza que los atributos preparados se conserven correctamente a lo largo del proceso de actualización y evita efectos secundarios como la "falta de entidades".
- 🧱 Mayor resistencia frente a cargas útiles inconsistentes/vacías
- Manejo defensivo para campos WAN faltantes/vacíos y puntos finales no compatibles para mantener la capacidad de respuesta del actualizador.
⚙️ Mejoras (en comparación con la versión 3.5.4)
- 🧠 Comportamiento más inteligente cuando las funciones no están disponibles
- Cuando la WAN no es aplicable (el enrutador está detrás de otra puerta de enlace), la integración la trata como "inactiva/no disponible" sin penalizar al resto del proceso de actualización.
- Las reglas NAT se obtienen de forma oportunista en lugar de saturar los puntos finales que están fallando o no son compatibles.
- 🧼 Canal de actualización más limpio en condiciones degradadas
- Se reduce el "impacto en cascada" cuando un único punto final es lento o no está disponible.
- Mayor estabilidad general en entornos mixtos (enrutador principal + nodos de malla + puerta de enlace externa).
✅ Compatibilidad (vs v3.5.4)
- 🌐 Mejor compatibilidad con routers que operan detrás de otra puerta de enlace
- Es común en escenarios de puerta de enlace ISP/4G donde el lado Xiaomi/AP mantiene la WAN en un estado "inactivo".
- 🧱 Mayor tolerancia a firmwares sin API de reenvío de puertos
- Evita fallos repetidos en dispositivos que no exponen los puntos finales NAT esperados.
📘 Cómo actualizar
- Actualizar los archivos de componentes personalizados (HACS o manual).
- Reiniciar Home Assistant.
- Si utiliza reglas NAT:
- Confirma que
sensor.miwifi_nat_rulesse carga normalmente y ya no realiza reintentos innecesarios cuando no es compatible.
- Si experimentaste entidades faltantes en las compilaciones RC de la versión 3.5.5:
- Tras el reinicio, las entidades deberían volver a llenarse con normalidad una vez que
self.datase haya rellenado correctamente de nuevo.
ℹ️ Información adicional
- Si su router está en modo AP/Puente/Repetidor, es normal que vea la WAN como "inactiva".
- Es posible que las reglas NAT no sean compatibles con algunos firmwares/modelos; la integración se degrada gradualmente en lugar de reintentar de forma agresiva.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🔁 Resumen de cambios (v3.5.4 → v3.5.5)
| Área | Cambiar | Impacto |
|---|---|---|
| Información de WAN | Tiempo de espera estricto + salida anticipada segura cuando la WAN está caída | Evita largos tiempos de espera para la actualización (~110 s) en configuraciones de AP/puente. |
| WAN PPPoE | Detección menos agresiva de "WAN caída" + mecanismos de respaldo | Evita que aparezca el mensaje "WAN no disponible" en falsos firmwares PPPoE. |
| Reglas NAT | Tiempo de espera estricto + enfriamiento después de fallar | Evita reintentos repetidos/spam en puntos finales no compatibles. |
| Manejo de tokens | La actualización de NAT ya no falla por "Token no válido". | Evita excepciones de tareas del coordinador / “La excepción de tarea nunca se recuperó”. |
| Canalización de actualización | Conservar la referencia a self.data (sin data = data o {}) | Evita los efectos secundarios de la falta de atributos/entidades. |
| Robustez | Análisis defensivo para cargas útiles vacías o inconsistentes. | Mantiene al coordinador receptivo en condiciones degradadas. |
Asistente XiaoHack
Xiaohack V 3.3 | © Copyright 2024 | Users Online: 0 | Estado: Offline
