Historial de versiones - MiWiFi XiaoHack Edition
📡 Releases automáticos desde GitHub
Las versiones más recientes se sincronizan automáticamente desde GitHub.
Mostrando 6–10 de 57 releases
📦 v3.5.4 – XiaoHack Edition
Fecha: 2026-01-28 19:16:32
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.4 – 2026-01-28
✅ Correcciones y estabilidad
- 🔁 Se corrigieron los bucles repetidos de “Error inesperado al obtener los datos del actualizador de MiWiFi”
- Se implementó un envoltorio de solicitud seguro para manejar la condición común de
httpx"el cliente ha sido cerrado". - Las solicitudes se reintentan una vez después de recrear el cliente HTTP a través de la fábrica de clientes compartidos de Home Assistant, lo que evita el exceso de registros y los fallos repetidos del coordinador.
- 🧼 Se ha mitigado el posible aumento del consumo de memoria a largo plazo relacionado con los clientes HTTP no administrados.
- Ahora, todas las solicitudes HTTP reutilizan de forma consistente el cliente
httpxcompartido de Home Assistant (get_async_client) a través de unclient_factory, evitando la creación de clientes ad hoc. - Un usuario informó que este cambio corrigió un grave problema de aumento del consumo de memoria que saturaba su sistema aproximadamente cada 48 horas después de actualizar a la versión anterior (lo que sugiere que la integración estaba contribuyendo al aumento del uso de memoria).
- 🔐 Estabilidad de protocolo mejorada (AUTO → HTTP/HTTPS) sin afectar las configuraciones heredadas
- La detección de protocolos sigue siendo compatible, mientras que las solicitudes ahora se ejecutan a través del envoltorio que permite reintentos seguros.
- 🙌 Contribución de la comunidad
- Gracias a @pacorola por las mejoras realizadas en la versión principal y las pruebas en el mundo real que ayudaron a identificar y validar esta solución.
⚙️ Mejoras
- 🧩 Capa de red más resistente
- El cliente Luci puede recuperarse de estados de cliente cerrado durante recargas/reconexiones recreando el cliente administrado por HA bajo demanda.
✅ Compatibilidad
- No se esperan cambios importantes.
- Funciona con las configuraciones AUTO/HTTP/HTTPS existentes y mantiene intactas las asignaciones de puntos finales actuales.
📘 Cómo actualizar
- Actualizar los archivos de integración (HACS o manual).
- Reiniciar Home Assistant.
- (Recomendado) Compruebe los registros después de reiniciar para confirmar que el actualizador ya no envía mensajes no deseados:
- “Error inesperado al obtener los datos de actualización de MiWiFi”
- Si anteriormente experimentó un aumento en el uso de la memoria, supervise el uso de la memoria HA durante los próximos días para confirmar su estabilidad.
ℹ️ Información adicional
- Si el firmware de su enrutador es inestable o se reinicia con frecuencia, la nueva lógica de cliente con reintentos seguros ayuda a evitar que los errores transitorios de cliente cerrado se conviertan en fallos repetidos.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🔄 Resumen de cambios
| Área | Cambiar |
|---|---|
| Redes de contactos | Solicitudes seguras con reintentos + fábrica de clientes compartida de alta disponibilidad |
| Estabilidad | Se redujeron los bucles de registro del actualizador durante los escenarios de cliente cerrado. |
| Memoria | Menor riesgo de acumulación de recursos por parte de clientes HTTP no administrados. |
| Créditos | Contribución y validación por @pacorola |
📦 v3.5.3 – XiaoHack Edition
Fecha: 2026-01-25 18:14:09
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.3 – 2026-01-25
✅ Correcciones y estabilidad
- 🧩 Se corrigieron las entidades/dispositivos device_tracker duplicados en las configuraciones de Mesh
- Los rastreadores de clientes ahora utilizan un ID único estable basado únicamente en la dirección MAC del cliente, y no en el
entry_iddel enrutador. - Evita que HA cree duplicados
*_2,*_3cuando un dispositivo se desplaza entre nodos.
- 🧱 Se ha corregido la advertencia de Home Assistant sobre referencias __HTML_PLACEHOLDER_0__ no válidas (HA 2025.12+)
- Garantiza que el dispositivo enrutador/nodo al que se hace referencia exista en el registro de dispositivos antes de vincular los clientes a través de
via_device. - Elimina:
device_registry.async_get_or_createque hace referencia a un via_device inexistente.
- 🧹 Mejora en la limpieza/migración de sensores de clientes heredados
- Elimina automáticamente los esquemas unique_id antiguos de sensores por dispositivo que causaban duplicados en los enrutadores Mesh.
- ⚙️ Se ha corregido el error que impedía que la opción "Crear sensores de dispositivo" se aplicara correctamente.
- Ahora, esta opción se respeta al iniciar el sistema y después de reiniciarlo, lo que evita comportamientos inesperados en los que se omitían sensores incluso cuando estaban habilitados.
⚙️ Mejoras
- 📡 Los sensores por dispositivo ahora son compatibles con la red Mesh y ofrecen una configuración consistente.
- Cuando “Crear sensores de dispositivo” está habilitado:
- Los sensores se crean utilizando un identificador único estable basado en MAC (para que no se dupliquen al cambiar de red).
- Los sensores se crean como deshabilitados por defecto (activados opcionalmente), de acuerdo con las mejores prácticas.
- Cuando está discapacitado:
- Los sensores existentes por dispositivo se eliminan automáticamente.
- 🔗 Se agregaron/estandarizaron los datos de “Conectado a través de” para la visibilidad de la malla
- Las entidades de seguimiento de dispositivos exponen los datos de "conexión a través de nodo/enrutador" para que el panel siempre pueda identificar el nodo actual, incluso si los sensores del dispositivo no están habilitados.
- 🧰 Se conservaron los registros de depuración clave para la resolución de problemas
- Se restauró/mantuvo la depuración de inicio del sensor que imprime
is_main,device_sensors_enabledy el recuento de dispositivos para diagnosticar rápidamente casos límite.
✅ Compatibilidad
- ✅ Compatible con Home Assistant 2026.1.0+
- ✅ Compatible con versiones futuras de Home Assistant 2025.12+ y cambios en la validación del registro de dispositivos
via_device. - 🧩 Diseñado para despliegues en malla (multienrutador): los clientes se desplazan sin dispositivos/entidades duplicados.
📘 Cómo actualizar
- Reemplace todos los archivos dentro de
custom_components/miwifi/con el contenido de esta versión. - Reiniciar Home Assistant.
- Si anteriormente tenía duplicados:
- Comprueba Ajustes → Dispositivos y servicios → Entidades para ver si quedan entradas antiguas (esta versión eliminará automáticamente la mayoría de ellas).
- Si desea sensores por dispositivo:
- Habilite la opción “Crear sensores de dispositivo” en las opciones de integración.
- A continuación, active selectivamente los sensores de cliente que realmente desee (están desactivados por defecto).
ℹ️ Información adicional
- Los dispositivos cliente en la red Mesh ahora deberían aparecer una sola vez en Home Assistant, aunque seguirán mostrando a través de qué nodo están conectados.
- Esta versión se centra en la estabilidad y la identidad de las entidades. El siguiente paso es alinear el panel MiWiFi para que muestre la asignación de nodos y las entidades de los dispositivos de forma coherente.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🔎 Resumen de cambios (v3.5.2 → v3.5.3)
| Área | Antes | Después |
|---|---|---|
| Identidad de cliente de malla | Dispositivos/entidades duplicados en itinerancia | Identificadores únicos estables basados en MAC |
Enlace via_device | Advertencia + riesgo de rotura futura | Conexión segura (dispositivo enrutador garantizado) |
| Sensores por dispositivo | No creado / inconsistente, posible duplicado | Creado solo cuando está habilitado, identificadores estables, deshabilitado por defecto |
Servicio block_device | Podría fallar debido a una discrepancia en la detección de la capacidad del enrutador principal. | Utiliza el enrutador principal de forma consistente y realiza una comprobación de capacidad correcta. |
| Visibilidad de depuración | Faltan los registros de inicio del sensor clave. | Registros mantenidos para la resolución de problemas |
📦 v3.5.2 – XiaoHack Edition
Fecha: 2026-01-18 18:27:15
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.2 – 2026-01-18
✅ Correcciones y estabilidad
- 🧯 Se corrigieron las cancelaciones de configuración de entrada (AX6000 / puntos finales LUCI lentos)
- Error resuelto:
Configuración de la entrada de configuración... canceladaasyncio.exceptions.CancelledError- Causa principal: ciertos firmwares pueden quedarse bloqueados en
wifi_macfilter_infodurante la primera actualización, lo que provoca tiempos de espera agotados en el arranque de Home Assistant. - Corrección: se agregó soporte para tiempo de espera por llamada en las solicitudes LUCI y se impuso un tiempo de espera corto para
macfilter_info()para que falle rápidamente y evite la cancelación del arranque.
- 🧩 Se solucionó el problema del panel MiWiFi que mostraba 0 dispositivos conectados (device_tracker no agregaba entidades)
- Error resuelto:
Error al agregar la entidad device_tracker.miwifi_* ...AttributeError: el objeto 'MiWifiDeviceTracker' no tiene el atributo '__attr_name'- Causa raíz: inicialización faltante/incorrecta de
_attr_namea la que hace referenciadevice_infodurante la adición de la entidad. - Corrección: se garantiza que
_attr_namesiempre esté configurado y se haga referencia a él de forma consistente, lo que restablece la creación estable de la entidad device_tracker.
- 🔁 Se evitan los sensores de cliente duplicados en escenarios de itinerancia en malla
- Problema resuelto:
- Los sensores se crean como
sensor.<name>ysensor.<name>_2dependiendo del nodo de malla al que se conecta el cliente. - Causa principal: la identidad del sensor por dispositivo se derivaba del contexto de entrada del enrutador o del entity_id basado en el nombre, lo que provocaba colisiones cuando los clientes se desplazaban entre nodos.
- Arreglar:
- El ID único del sensor del dispositivo ahora se deriva de MAC + clave del sensor, independientemente de la entrada del enrutador.
- entity_id ahora es estable:
sensor.miwifi_<mac>_<key>.
- 🧰 Mejoras de la PR #239 (fusionadas con los ajustes de XiaoHack)
- Se han integrado correcciones y mejoras de estabilidad de la solicitud de extracción n.° 239, con adaptaciones mínimas y seguras para la compatibilidad en el código base de XiaoHack.
- Se ha garantizado que el nuevo comportamiento no genere problemas en las instalaciones existentes, al tiempo que se mejora la fiabilidad en las versiones más recientes de Home Assistant.
⚙️ Mejoras
- 🔧 Nuevo interruptor global para sensores de cliente (desactivado por defecto)
- Se agregó
enable_device_sensors(valor predeterminado: false) en las opciones de integración. - Comportamiento:
- Cuando está DESACTIVADO: no se crean sensores de cliente por dispositivo (y se eliminan los duplicados heredados del enrutador principal).
- Cuando está ACTIVADO: los sensores por dispositivo se crean solo desde el enrutador principal para evitar duplicados en la red mallada y permanecen deshabilitados de forma predeterminada en el registro de entidades para que los usuarios habiliten solo lo que deseen.
- 🧭 Se han añadido etiquetas de interfaz de usuario para la nueva opción
- Se ha añadido una etiqueta de opción descriptiva en
strings.jsonpara que la configuración sea visible y comprensible desde la interfaz de usuario.
✅ Compatibilidad
- ✅ Home Assistant 2026.1+ (comportamiento de cancelación de Python 3.13 / tiempos de espera de arranque)
- ✅ Entornos de malla (identidad estable para clientes itinerantes)
- ✅ Enrutadores con puntos finales LUCI parciales/lentos (comportamiento de fallo rápido para puntos finales problemáticos)
📘 Cómo actualizar
HACS (recomendado)
- HACS → Integraciones → MiWiFi XiaoHack Edition
- Actualizar a v3.5.2
- Reiniciar Home Assistant
Manual
- Reemplace
/config/custom_components/miwifi/con la versiónv3.5.2. - Reiniciar Home Assistant
Opcional (sensores del cliente)
- Ajustes → Dispositivos y servicios → MiWiFi → Configurar
- Habilitar: Crear sensores de dispositivo (clientes)
Nota: los sensores de cliente permanecen deshabilitados de forma predeterminada en el Registro de entidades. Habilite solo las entidades que desee.
ℹ️ Información adicional
- Valores predeterminados recomendados:
- Mantén
enable_device_sensors = falsea menos que necesites explícitamente sensores por dispositivo. - Migración/limpieza:
- Los duplicados de sensores heredados por dispositivo vinculados al contexto de entrada del enrutador se eliminan automáticamente del enrutador principal.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🙌 Créditos
- Gracias a @pacorola por contribuir con las mejoras incluidas a través de PR #239.
🔎 Resumen de cambios
| Área | Cambiar | Archivo(s) | Impacto |
|---|---|---|---|
| LUCI / Bootstrap | Tiempo de espera de fallo rápido para macfilter_info para evitar la cancelación de la configuración. | luci.py, updater.py | Evita las cancelaciones de la etapa de arranque en firmwares lentos. |
| Rastreador de dispositivos | Solucionar el fallo de _attr_name / device_info + restaurar la nomenclatura estable | device_tracker.py | El panel muestra de nuevo a los clientes; las entidades se añaden de forma fiable. |
| Sensores del cliente | ID único seguro para la malla e ID de entidad estable mediante MAC + clave | sensor.py | Elimina los sensores _2 duplicados durante la itinerancia. |
| Opciones / Interfaz de usuario | Interruptor global para habilitar/deshabilitar los sensores del cliente (por defecto: DESACTIVADO) | const.py, config_flow.py, strings.json | Creación de sensores por dispositivo controlada por el usuario |
| Río arriba | Se fusionó la solicitud de extracción n.° 239 (adaptada a XiaoHack). | luci.py, updater.py, device_tracker.py | Mejoras en las mejores prácticas de estabilidad y alta disponibilidad asíncrona |
📦 v3.5.1 – XiaoHack Edition
Fecha: 2026-01-04 20:40:08
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.1 – 2026-01-04
✅ Correcciones y estabilidad
- 🧵 Solucionado el problema de advertencia de "bloqueo de llamada" de Home Assistant (SSL / certifi)
- Advertencia resuelta:
Se ha detectado una llamada bloqueante a load_verify_locations... dentro del bucle de eventos- Causa raíz: creación directa de
httpx.AsyncClient()dentro del bucle de eventos enMiWifiPanelUpdate.async_release_notes(). - Corrección: se cambió al cliente compartido recomendado por Home Assistant (
get_async_client(self.hass)) para evitar bloquearSSLContext.load_verify_locations. #227
- 🐞 Se corrigió el error __HTML_PLACEHOLDER_0__ al agregar entidades
- Advertencia resuelta:
RuntimeWarning: la corrutina 'EntityPlatform.async_add_entities' nunca se esperó- Causa raíz: Se llamó a
platform.async_add_entities(to_add)desde un contexto@callback(no asíncrono) ensensor.py. - Solución: programar de forma segura la corrutina mediante
hass.async_create_task(...)cuando sea necesario.
⚙️ Mejoras
- 🧩 Alternativas que garantizan la compatibilidad
- Se ha añadido una alternativa segura cuando
homeassistant.helpers.httpx_client.get_async_clientno está disponible (en versiones muy antiguas de Home Assistant), conservando el comportamiento anterior sin romper las mejores prácticas asíncronas modernas.
✅ Compatibilidad
- ✅ Home Assistant: compatible con las versiones actuales donde se detectan llamadas que bloquean el bucle de eventos y donde
EntityPlatform.async_add_entitieses asíncrono. - 🛡️ Compatible con versiones anteriores: incluye lógica de reserva para instalaciones antiguas.
📘 Cómo actualizar
HACS (recomendado)
- HACS → Integraciones → MiWiFi XiaoHack Edition
- Actualizar a v3.5.1
- Reiniciar Home Assistant
Manual
- Reemplace
/config/custom_components/miwifi/con la versiónv3.5.1 - Reiniciar Home Assistant
ℹ️ Información adicional
- No se han realizado cambios de configuración.
- Sin migraciones.
- Esta versión se centra en eliminar las advertencias de asincronía que pueden afectar la estabilidad y el rendimiento en entornos modernos de Home Assistant.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🔎 Resumen de cambios
| Área | Cambiar | Archivo(s) | Impacto |
|---|---|---|---|
| Asíncrono / SSL | Eliminar la función bloqueante load_verify_locations del bucle de eventos. | update.py | Elimina la advertencia de "llamada bloqueadora" de HA |
| Entidades | Programar correctamente async_add_entities desde las funciones de devolución de llamada. | sensor.py | Elimina la advertencia de que "la coroutine nunca fue esperada". |
📦 v3.5.0 – XiaoHack Edition
Fecha: 2026-01-03 18:23:14
Ver release original en GitHub
📝 Changelog — Integración MiWiFi
📦 Versión v3.5.0 – 2026-01-03
✅ Correcciones y estabilidad
- 🧠 Exposición estable de métricas por dispositivo: las métricas de tráfico/uso del dispositivo ahora se exponen a través de entidades de sensores dedicadas (en lugar de depender únicamente de los atributos
device_tracker), lo que mejora la compatibilidad entre paneles y automatizaciones. - 🔄 Actualizaciones dinámicas y fiables: los nuevos sensores de dispositivos se crean automáticamente cuando se detecta un nuevo cliente, sin necesidad de reiniciar Home Assistant (conectados al mismo flujo interno de actualización/señalización).
- 🧹 Ciclo de vida de entidades más limpio: los sensores de los dispositivos siguen la misma lógica de limpieza que los dispositivos rastreados, evitando entidades huérfanas después de las purgas.
⚙️ Mejoras
- 📡 Nuevos sensores por dispositivo (un conjunto por entidad cliente), creados a partir de la misma fuente autorizada (
updater.devices) utilizada por el rastreador: sensor.<entidad>_velocidad_de_descensosensor.<entidad>_velocidad_de_subidasensor.<entidad>_uso_totalsensor.<entidad>_calidad_de_la_señalsensor.<entidad>_señalsensor.<entidad>_ipsensor.<entidad>_conexiónsensor.<entidad>_en líneasensor.<entidad>_última_actividadsensor.<entidad>_primer_vistosensor.<entidad>_internet_bloqueado
- 📏 Unidades legibles por humanos (enfoque de alta disponibilidad recomendado):
- La velocidad de los dispositivos se muestra como DATA_RATE con unidades nativas en Bytes/s, lo que permite a Home Assistant mostrar automáticamente kB/s / MB/s cuando corresponda.
- El uso total se muestra como DATA_SIZE con unidades nativas en Bytes, lo que permite a Home Assistant mostrar automáticamente MB / GB en función del valor.
- 🔗 Coherencia en el registro de dispositivos: los sensores están vinculados a la misma entrada del dispositivo cliente (por MAC), lo que mejora la experiencia de la página del dispositivo y la agrupación de entidades.
✅ Compatibilidad
- ✅ Totalmente compatible con las entidades
device_tracker.miwifi_*existentes. - ✅ No hay cambios incompatibles en los atributos del rastreador; los sensores son aditivos.
- ✅ Utiliza las mejores prácticas de Home Assistant (
device_class,state_class) para preservar las estadísticas, el historial y el formato de la interfaz de usuario.
📘 Cómo actualizar
- Actualiza los archivos de integración a la versión 3.5.0.
- Reiniciar Home Assistant.
- Opcional (recomendado si ya ha probado versiones anteriores):
- Si observa que aún se muestran unidades antiguas, revise la configuración de la entidad (anulaciones de unidades personalizadas) o elimine las entidades afectadas del Registro de entidades y vuelva a empezar.
ℹ️ Información adicional
Ejemplo: nuevas entidades por dispositivo
- Antes: el tráfico/uso solo estaba disponible dentro de los atributos
device_tracker. - Ahora: puedes crear paneles/automatizaciones directamente utilizando sensores como:
sensor.servidor_down_speedsensor.servidor_total_usage
Notas
- La velocidad y el uso se muestran con unidades nativas estables; Home Assistant se encarga de la escala legible (MB/s, GB, etc.) en la interfaz de usuario.
💖 Soporte y donaciones
Si esta integración le resulta útil y desea apoyar su desarrollo continuo:
🧾 Resumen de cambios
| Área | Cambiar |
|---|---|
| Sensores | Se agregaron sensores por dispositivo para velocidad, uso, señal, conexión y marcas de tiempo. |
| Unidades | Se adoptaron los parámetros DATA_RATE / DATA_SIZE recomendados por HA para un escalado automático legible por humanos. |
| Ciclo vital | Crear automáticamente sensores en dispositivos nuevos y eliminarlos durante las purgas. |
| Compatibilidad | Actualización aditiva, mantiene intactas las entidades de seguimiento existentes. |
Asistente XiaoHack
Xiaohack V 3.3 | © Copyright 2024 | Users Online: 0 | Estado: Offline
