Quería usar OneDrive para la Empresa como destino de copia de seguridad en Home Assistant.
Integración oficial permite enviar copias de seguridad a OneDrive for Business, pero pide preparar una aplicación en Microsoft Entra de antemano, con un ID de inquilino, un ID de cliente, un cliente secreto y un URI de redireccionamiento preciso.
Prerrequisito
Antes de empezar, necesitas:
- Un Asistente de Hogar funcional.
- Una cuenta de Microsoft 365 / OneDrive para la Empresa.
- Acceso al portal de Microsoft Entra con una cuenta que puede crear una aplicación. Microsoft indica que se requiere al menos un rol de desarrollador de aplicaciones.
- Conocer la URL de redirección utilizada por Home Assistant será: https://my.home-assistant.io/redirect/oauth.
El punto de partida en Home Assistant
Empecé directamente en Home Assistant, en Configuración > Dispositivos y Servicios, luego agregué integración OneDrive para la Empresa. La primera ventana me pidió el identificador del inquilino de Entra en el que se encontraba la cuenta a utilizar con la integración.

En ese momento, todavía no tenía los identificadores necesarios. Así que dejé Home Assistant a un lado para ir a preparar la aplicación en el lado de Microsoft Entra. [página:116]
El desvío de Microsoft Entra

Voy a: https://entra.microsoft.com/
y inicio sesión con una cuenta de administrador o un perfil de desarrollador de aplicaciones.
Cuando llegué a Microsoft Entra, primero pensé que tenía que pasar por el Aplicaciones empresariales. De hecho, este no era el lugar adecuado para este tipo de configuración.
Para crear las credenciales esperadas por Home Assistant, tenías que ir a Identificador de entrada > Registros de solicitudes.

Aquí es donde abrí la pantalla para crear un nuevo registro.

Microsoft explica, además, que una aplicación debe registrarse para obtener las credenciales necesarias para la autenticación.

- El nombre es gratis, lo pongo Home Assistant Copia de seguridad de OneDrive
- El tipo de cuenta es Inquilino único
- la URL de redirección es Web https://my.home-assistant.io/redirect/oauth
Recuperación de identificadores
Una vez hecho el registro, llegué a la página de resumen. Encontré las dos informaciones más importantes para el futuro: l’ID de directorio (arrendatario), que corresponde a Identificación del arrendatario, yIdentificador de la aplicación (cliente), que corresponde a ID de cliente.

Inmediatamente noté estos dos valores, ya que Home Assistant los solicita durante el asistente de instalación.
La creación del secreto del cliente
El último dato que faltaba era el secreto de la aplicación. En el menú de la aplicación, abrí Certificados & secretos, y luego creé un Secreto del nuevo cliente. Microsoft le permite agregar una descripción y elegir un período de validez.


Una vez que se generó el secreto, copié su valor inmediatamente. Este paso es importante porque es este valor el que debe pegarse en Home Assistant, no el identificador secreto.

Los permisos necesarios
Antes de salir de Entra, se debe dar permiso para la entrada que se acaba de agregar.
Se requieren los siguientes permisos:
Archivos.ReadWrite.All: permite a la aplicación leer y escribir en cualquier carpeta de OneDrive. A diferencia de OneDrive personal, OneDrive para la Empresa no admite permisosArchivos.ReadWrite.AppFolder, por lo que estos son los permisos mínimos posibles._acceso fuera de línea: permite a la aplicación renovar automáticamente su token de autenticación sin intervención manual.openid: permite a la aplicación leer la información básica, por ejemplo, si tenía un OneDrive.
Así que voy a entrar en APIs permitidas

Por el momento no hay nada más que Microsoft Graph User.read.

Voy a seguir adelante Añadir autorización
En la ventana que se abre, me quedo Autorizaciones delegadas

y a continuación, obtendré los 3 permisos en el motor de búsqueda para verificarlos uno por uno:
Archivos.ReadWrite.All_acceso fuera de líneaopenid
Estoy validando.

Carece de consentimiento del administrador, confío en Consentimiento del administrador de la subvención

Esto se completa para la configuración en el panel de administración de Microsoft.
Regresar al Asistente de Hogar
De vuelta en Home Assistant, me hice cargo del asistente de configuración de OneDrive for Business. En primer lugar, remití el asunto a la Identificación del arrendatario, es decir, el ID del directorio de inquilinos recuperado en Entra.

Luego, Home Assistant me pidió las credenciales OAuth de la aplicación.

Los campos que deben rellenarse
En la ventana Agregar ID de aplicación, ingresé un nombre libre para identificar fácilmente esta conexión (por ejemplo, Onedrive) y luego pegué elID de cliente OAuth correspondiente al ID de la aplicación (cliente), así como al OAuth Secreto del Cliente correspondiente al valor del secreto creado en Entra.

Una vez validados estos campos, Home Assistant lanzó el Asistente de autenticación de Microsoft.
El caso especial de la aprobación del administrador

En un momento dado, me encontré con esta ventana porque había configurado mal los permisos de la API. Al repetir lo explicado anteriormente, todo funcionó.
La elección de la cuenta realmente utilizada
También noté un punto importante durante la configuración: la cuenta realmente vinculada a la integración es la que completa la autenticación OAuth.
Crear la aplicación con una cuenta de administrador no significa necesariamente que se utilizará OneDrive desde la cuenta de administrador, siempre que el consentimiento correspondiente se otorgue correctamente y la autenticación final se realice con la cuenta de usuario correcta.
Recomiendo encarecidamente no usar la cuenta de administrador para otra cosa que no sea la configuración, Home Assistant debe estar vinculado a una cuenta de usuario.
La carpeta de destino para las copias de seguridad

Una vez que se completó la autenticación, Home Assistant me preguntó la ruta de la carpeta donde se almacenarían las copias de seguridad. La documentación especifica que si esta carpeta no existe, se creará en la raíz del OneDrive seleccionado.
Fui capaz de elegir un camino simple como Copias de seguridad, InicioAsistente o un árbol como HomeAsistente/Copias de seguridad.
El resultado en Home Assistant
Después de la validación, la integración de OneDrive para la Empresa se agregó con éxito al Asistente para el hogar.

Pude ver su hoja de integración y los sensores expuestos, incluido el espacio utilizado, el espacio restante y el estado de la unidad.
Además, la documentación indica que la integración proporciona sensores de almacenamiento y un estado de la unidad como Normal, Cerca del límite, Crítica o Excedido.
En este punto, la instalación de la integración se completó y OneDrive para la Empresa estaba listo para ser utilizado como una ubicación de copia de seguridad para Home Assistant.
Comprobaré si la carpeta fue creada en OneDrive (opcional)
Por curiosidad, me conecto a mi OneDrive y veo que la carpeta Asistente en casa está presente, vacío por ahora, pero el presente es perfecto.

Configurar las copias de seguridad de Home Assistant en OneDrive para la Empresa
La integración de OneDrive para la Empresa ahora estaba instalada y era funcional en Home Assistant. Todo lo que quedaba era usarlo para enviar copias de seguridad a mi OneDrive para la Empresa.
Configuración de copias de seguridad
Abrí la página de copias de seguridad en Configuración > Sistema > Copias de seguridad.
Luego entro en el marco Configuración de la copia de seguridad entonces Guardar en x ubicaciones remotas

En la lista de ubicaciones disponibles, ahora apareció OneDrive para la Empresa. He activado el switch correspondiente a esta integración para convertirlo en un destino activo para las copias de seguridad automáticas.
Opciones de retención
He configurado el número de copias de seguridad para mantener OneDrive en los parámetros ⚙/2008/. He optado por mantener 10 copias de seguridad por tipo, pero este valor es gratuito dependiendo de las necesidades de almacenamiento y la frecuencia de las copias de seguridad.

También dejé habilitada la opción de cifrado porque las copias de seguridad contienen datos confidenciales de la instalación del Home Assistant.
La primera prueba de respaldo
Para asegurarme de que todo funcionaba, creé una copia de seguridad manual. En la página de copias de seguridad, hice clic en + Guardar ahora, tomé automático para simplificar la tarea.

He validado la creación.
Verificación en OneDrive
Unos minutos más tarde, abrí OneDrive for Business en un navegador. En la carpeta que configuré al instalar la integración (p. ej. InicioAsistente), la nueva copia de seguridad estaba presente.

Configurar copias de seguridad automáticas
Para automatizar las copias de seguridad, activé la opción Copias de seguridad automáticas en la configuración. Elegí una frecuencia semanal, con una copia de seguridad completa todos los domingos y copias de seguridad parciales los días laborables.
Con OneDrive for Business habilitado como destino, todas estas copias de seguridad se trasladaron automáticamente a la nube sin intervención manual.
Supervisión de las copias de seguridad
Gracias a los sensores proporcionados por la integración, agregué una tarjeta de diagnóstico a mi tablero principal. Este mapa muestra el espacio utilizado en OneDrive, el espacio restante y el estado de almacenamiento (normal, límite cercano, crítico, superado).
Esto me permite monitorear fácilmente si existe el riesgo de perder el espacio de OneDrive.
Buenas prácticas
Desde la instalación, las copias de seguridad se realizan sin ningún problema. Guardé una copia de seguridad local como precaución adicional, pero OneDrive for Business es ahora mi principal destino para evitar la pérdida de datos en caso de problemas de hardware en el servidor Home Assistant.
Recomiendo probar una copia de seguridad regularmente y verificar su recuperación para asegurarse de que todo funcione correctamente.

