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 httpx compartido de Home Assistant (get_async_client) a través de un client_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

  1. Actualizar los archivos de integración (HACS o manual).
  2. Reiniciar Home Assistant.
  3. (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”
  1. 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

ÁreaCambiar
Redes de contactosSolicitudes seguras con reintentos + fábrica de clientes compartida de alta disponibilidad
EstabilidadSe redujeron los bucles de registro del actualizador durante los escenarios de cliente cerrado.
MemoriaMenor riesgo de acumulación de recursos por parte de clientes HTTP no administrados.
CréditosContribució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_id del enrutador.
  • Evita que HA cree duplicados *_2, *_3 cuando 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_create que 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_enabled y 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

  1. Reemplace todos los archivos dentro de custom_components/miwifi/ con el contenido de esta versión.
  2. Reiniciar Home Assistant.
  3. 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).
  1. 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)

ÁreaAntesDespués
Identidad de cliente de mallaDispositivos/entidades duplicados en itineranciaIdentificadores únicos estables basados en MAC
Enlace via_deviceAdvertencia + riesgo de rotura futuraConexión segura (dispositivo enrutador garantizado)
Sensores por dispositivoNo creado / inconsistente, posible duplicadoCreado solo cuando está habilitado, identificadores estables, deshabilitado por defecto
Servicio block_devicePodrí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ónFaltan 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... cancelada
  • asyncio.exceptions.CancelledError
  • Causa principal: ciertos firmwares pueden quedarse bloqueados en wifi_macfilter_info durante 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_name a la que hace referencia device_info durante la adición de la entidad.
  • Corrección: se garantiza que _attr_name siempre 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> y sensor.<name>_2 dependiendo 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.json para 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)

  1. HACS → Integraciones → MiWiFi XiaoHack Edition
  2. Actualizar a v3.5.2
  3. Reiniciar Home Assistant

Manual

  1. Reemplace /config/custom_components/miwifi/ con la versión v3.5.2.
  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 = false a 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

ÁreaCambiarArchivo(s)Impacto
LUCI / BootstrapTiempo de espera de fallo rápido para macfilter_info para evitar la cancelación de la configuración.luci.py, updater.pyEvita las cancelaciones de la etapa de arranque en firmwares lentos.
Rastreador de dispositivosSolucionar el fallo de _attr_name / device_info + restaurar la nomenclatura establedevice_tracker.pyEl panel muestra de nuevo a los clientes; las entidades se añaden de forma fiable.
Sensores del clienteID único seguro para la malla e ID de entidad estable mediante MAC + clavesensor.pyElimina los sensores _2 duplicados durante la itinerancia.
Opciones / Interfaz de usuarioInterruptor global para habilitar/deshabilitar los sensores del cliente (por defecto: DESACTIVADO)const.py, config_flow.py, strings.jsonCreación de sensores por dispositivo controlada por el usuario
Río arribaSe fusionó la solicitud de extracción n.° 239 (adaptada a XiaoHack).luci.py, updater.py, device_tracker.pyMejoras 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 en MiWifiPanelUpdate.async_release_notes().
  • Corrección: se cambió al cliente compartido recomendado por Home Assistant (get_async_client(self.hass)) para evitar bloquear SSLContext.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) en sensor.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_client no 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_entities es asíncrono.
  • 🛡️ Compatible con versiones anteriores: incluye lógica de reserva para instalaciones antiguas.

📘 Cómo actualizar

HACS (recomendado)

  1. HACS → Integraciones → MiWiFi XiaoHack Edition
  2. Actualizar a v3.5.1
  3. Reiniciar Home Assistant

Manual

  1. Reemplace /config/custom_components/miwifi/ con la versión v3.5.1
  2. 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

ÁreaCambiarArchivo(s)Impacto
Asíncrono / SSLEliminar la función bloqueante load_verify_locations del bucle de eventos.update.pyElimina la advertencia de "llamada bloqueadora" de HA
EntidadesProgramar correctamente async_add_entities desde las funciones de devolución de llamada.sensor.pyElimina 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_descenso
  • sensor.<entidad>_velocidad_de_subida
  • sensor.<entidad>_uso_total
  • sensor.<entidad>_calidad_de_la_señal
  • sensor.<entidad>_señal
  • sensor.<entidad>_ip
  • sensor.<entidad>_conexión
  • sensor.<entidad>_en línea
  • sensor.<entidad>_última_actividad
  • sensor.<entidad>_primer_visto
  • sensor.<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

  1. Actualiza los archivos de integración a la versión 3.5.0.
  2. Reiniciar Home Assistant.
  3. 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_speed
  • sensor.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

ÁreaCambiar
SensoresSe agregaron sensores por dispositivo para velocidad, uso, señal, conexión y marcas de tiempo.
UnidadesSe adoptaron los parámetros DATA_RATE / DATA_SIZE recomendados por HA para un escalado automático legible por humanos.
Ciclo vitalCrear automáticamente sensores en dispositivos nuevos y eliminarlos durante las purgas.
CompatibilidadActualización aditiva, mantiene intactas las entidades de seguimiento existentes.
Xiaohack Chatbot Asistente XiaoHack

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