J’ai voulu utiliser OneDrive for Business comme destination de sauvegarde dans Home Assistant.
L’intégration officielle permet bien d’envoyer les sauvegardes vers OneDrive Entreprise, mais elle demande de préparer au préalable une application dans Microsoft Entra, avec un Tenant ID, un Client ID, un Client secret et une URI de redirection précise.
Prérequis
Avant de commencer, il vous faut :
- Un Home Assistant fonctionnel.
- Un compte Microsoft 365 / OneDrive for Business.
- Un accès au portail Microsoft Entra avec un compte pouvant créer une application. Microsoft indique qu’un rôle au moins Application Developer est nécessaire.
- Connaitre l’URL de redirection utilisée par Home Assistant, ce sera : https://my.home-assistant.io/redirect/oauth.
Le point de départ dans Home Assistant
J’ai commencé directement dans Home Assistant, dans Paramètres > Appareils et services, puis j’ai ajouté l’intégration OneDrive for Business. La première fenêtre m’a demandé l’identifiant du tenant Entra dans lequel se trouvait le compte à utiliser avec l’intégration.

À ce moment-là, je n’avais pas encore les identifiants nécessaires. J’ai donc laissé Home Assistant de côté pour aller préparer l’application côté Microsoft Entra. [page:116]
Le détour par Microsoft Entra

Je vais sur : https://entra.microsoft.com/
et je me logue avec un compte administrateur ou à défaut un profil Application Developer.
En arrivant dans Microsoft Entra, j’ai d’abord cru que je devais passer par les Applications d’entreprise. En réalité, ce n’était pas le bon endroit pour ce type de configuration.
Pour créer les identifiants attendus par Home Assistant, il fallait aller dans Entra ID > Inscriptions d’applications.

C’est à cet endroit que j’ai ouvert l’écran de création d’une nouvelle inscription.

Microsoft explique d’ailleurs qu’il faut inscrire une application pour obtenir les identifiants nécessaires à l’authentification.

- Le nom est libre, j’ai mis Home Assistant OneDrive Backups
- Le type de compte est Locataire unique seulement
- l’URL de redirection est Web https://my.home-assistant.io/redirect/oauth
La récupération des identifiants
Une fois l’inscription faite, je suis arrivé sur la page de vue d’ensemble. J’y ai trouvé les deux informations les plus importantes pour la suite : l’ID de l’annuaire (locataire), qui correspond au Tenant ID, et l’ID d’application (client), qui correspond au Client ID.

J’ai immédiatement noté ces deux valeurs, car Home Assistant les demande pendant l’assistant d’installation.
La création du secret client
La dernière donnée manquante était le secret applicatif. Dans le menu de l’application, j’ai ouvert Certificats & secrets, puis j’ai créé un nouveau secret client. Microsoft permet d’ajouter une description et de choisir une durée de validité.


Une fois le secret généré, j’ai copié sa valeur immédiatement. Cette étape est importante, car c’est cette valeur qu’il faut coller dans Home Assistant, pas l’identifiant du secret.

Les permissions nécessaires
Avant de quitter Entra, il faut donner des permissions à l’inscription qu’on vient d’ajouter.
Les permissions suivantes sont nécessaires :
Files.ReadWrite.All: permet à l’application de lire et écrire dans n’importe quel dossier de OneDrive. Contrairement à OneDrive personnel, OneDrive for Business ne supporte pas les permissionsFiles.ReadWrite.AppFolder, donc ce sont les permissions minimales possibles.offline_access: permet à l’application de renouveler automatiquement son jeton d’authentification sans intervention manuelle.openid: permet à l’application de lire les informations de base, par exemple si j’avais bien un OneDrive.
Je vais donc dans API autorisées

Pour l’instant il n’y a rien d’autre que User.read de Microsoft Graph.

Je vais sur Ajouter une autorisation
Dans la fenêtre qui s’ouvre, je garde Autorisations déléguées

et dessous, je vais aller chercher les 3 permissions dans le moteur de recherche pour les cocher une à une :
Files.ReadWrite.Alloffline_accessopenid
Je valide.

Il manque le consentement administrateur, j’appuie sur Accorder un consentement administrateur

C’est terminé pour la configuration sur le panneau d’administration Microsoft.
Le retour dans Home Assistant
De retour dans Home Assistant, j’ai repris l’assistant de configuration de OneDrive for Business. J’ai d’abord saisi le Tenant ID, c’est-à-dire l’ID de l’annuaire locataire récupéré dans Entra.

Ensuite, Home Assistant m’a demandé les identifiants OAuth de l’application.

Les champs à remplir
Dans la fenêtre d’ajout des identifiants d’application, j’ai saisi un nom libre pour repérer facilement cette connexion (Onedrive par exemple), puis j’ai collé l’ID client OAuth correspondant à l’ID d’application (client), ainsi que le secret client OAuth correspondant à la valeur du secret créé dans Entra.

Une fois ces champs validés, Home Assistant a lancé l’assistant d’authentification Microsoft.
Le cas particulier de l’approbation administrateur

A un moment, je suis tombé sur cette fenêtre, c’est que j’avais mal configuré les autorisations d’API. En reprenant ce qui expliqué ci-dessus, tout à fonctionné.
Le choix du compte réellement utilisé
J’ai aussi constaté un point important pendant la configuration : le compte réellement lié à l’intégration est celui qui termine l’authentification OAuth.
Le fait d’avoir créé l’application avec un compte administrateur ne signifie pas forcément que OneDrive du compte admin sera utilisé, à condition que le consentement tenant soit correctement accordé et que l’authentification finale soit faite avec le bon compte utilisateur.
Je déconseille fortement d’utiliser le compte administrateur pour autre chose que la configuration, Home Assistant doit être lié à un compte utilisateur.
Le dossier de destination pour les sauvegardes

Une fois l’authentification terminée, Home Assistant m’a demandé le chemin du dossier dans lequel les sauvegardes seraient stockées. La documentation précise que si ce dossier n’existe pas, il sera créé à la racine du OneDrive sélectionné.
J’ai pu choisir un chemin simple comme Backups, HomeAssistant ou encore une arborescence comme HomeAssistant/Backups.
Le résultat dans Home Assistant
Après validation, l’intégration OneDrive for Business a bien été ajoutée dans Home Assistant.

J’ai pu voir sa fiche d’intégration ainsi que les capteurs exposés, notamment l’espace utilisé, l’espace restant et l’état du drive.
La documentation indique d’ailleurs que l’intégration fournit des capteurs de stockage et un état du lecteur comme Normal, Nearing limit, Critical ou Exceeded.
À ce stade, l’installation de l’intégration était terminée et OneDrive for Business était prêt à être utilisé comme emplacement de sauvegarde pour Home Assistant.
Je vais vérifier si le dossier a bien été créé dans OneDrive (facultatif)
Par curiosité, je me connecte à mon OneDrive et je vois que le dossier Homeassistant est bien présent, vide pour l’instant mais présent, c’est parfait.

Je configure les sauvegardes Home Assistant vers OneDrive for Business
L’intégration OneDrive for Business était maintenant installée et fonctionnelle dans Home Assistant. Il ne restait plus qu’à l’utiliser pour envoyer les sauvegardes vers mon OneDrive Entreprise.
Le paramétrage des sauvegardes
J’ai ouvert la page des sauvegardes dans Paramètres > Système > Sauvegardes.
Je vais ensuite dans le cadre Paramètres des sauvegardes puis Enregistrer dans x emplacements distants

Dans la liste des emplacements disponibles, OneDrive for Business apparaissait maintenant. J’ai activé l’interrupteur correspondant à cette intégration pour en faire une destination active des sauvegardes automatiques.
Les options de rétention
Dans les paramètres ⚙️, j’ai configuré le nombre de sauvegardes à conserver sur OneDrive. J’ai choisi de garder 10 sauvegardes par type, mais cette valeur est libre selon les besoins de stockage et la fréquence des sauvegardes.

J’ai également laissé l’option de chiffrement activée, car les sauvegardes contiennent des données sensibles de l’installation Home Assistant.
Le premier test de sauvegarde
Pour vérifier que tout fonctionnait, j’ai créé une sauvegarde manuelle. Dans la page des sauvegardes, j’ai cliqué sur + Sauvegarder maintenant, j’ai pris automatique pour me simplifier la tâche.

J’ai validé la création.
Vérification dans OneDrive
Quelques minutes plus tard, j’ai ouvert OneDrive for Business dans un navigateur. Dans le dossier que j’avais configuré lors de l’installation de l’intégration (par exemple HomeAssistant), la nouvelle sauvegarde était bien présente.

Configurer les sauvegardes automatiques
Pour automatiser les sauvegardes, j’ai activé l’option Sauvegardes automatiques dans les paramètres. J’ai choisi une fréquence hebdomadaire, avec une sauvegarde complète tous les dimanches et des sauvegardes partielles en semaine.
OneDrive for Business étant activé comme destination, toutes ces sauvegardes partaient automatiquement vers le cloud sans intervention manuelle.
Surveillance des sauvegardes
Grâce aux capteurs fournis par l’intégration, j’ai ajouté une carte de diagnostic à mon tableau de bord principal. Cette carte affiche l’espace utilisé sur OneDrive, l’espace restant, et l’état du stockage (Normal, Nearing limit, Critical, Exceeded).
Cela me permet de surveiller facilement si l’espace OneDrive risque de manquer.
Les bonnes pratiques
Depuis l’installation, les sauvegardes se font sans problème. J’ai conservé une sauvegarde locale comme précaution supplémentaire, mais OneDrive for Business est maintenant ma destination principale pour éviter toute perte de données en cas de problème matériel sur le serveur Home Assistant.
Je recommande de tester régulièrement une sauvegarde et de vérifier sa restauration pour s’assurer que tout fonctionne correctement.
