Aller au contenu

Mises à jour

Dans cet ordre : les fichiers Home Assistant d'abord, puis le firmware. Chaque release dit ce qui change dans ses notes (releases).

Le firmware, depuis Home Assistant

Une tablette installée depuis la page d'installation reçoit ses mises à jour par Home Assistant : son entité « Firmware » lit le manifeste publié toutes les 6 h, et Installer télécharge l'image, que la tablette vérifie avec la clé du projet (ADR-0022). Pour ne pas attendre : lancez l'action homeassistant.update_entity sur cette entité.

La tablette suit le canal depuis lequel elle a été installée (Stable ou Bêta) ; pour en changer, réinstallez depuis la page d'installation, sans effacer. Un firmware compilé soi-même n'a pas d'entité « Firmware » : voir compiler son propre firmware.

Fichiers Home Assistant

Avec l'intégration de HACS (installée ainsi) : chaque release apparaît dans Paramètres → Mises à jour, « Tab5 — fichiers HA · HA files ». Installer, puis redémarrez Home Assistant. Au démarrage, l'intégration :

  • garde les fichiers actuels dans config/tab5_sauvegardes/ (les 5 dernières sauvegardes sont gardées) ;
  • pose les nouveaux : un fichier du Tab5 modifié à la main est remplacé lui aussi, et la notification le nomme (sa copie reste dans la sauvegarde) ; un fichier du Tab5 déjà là sans venir de l'intégration (copié à la main) et différent est aussi nommé dans Paramètres → Système → Corrections, avec son dossier de sauvegarde ;
  • vérifie la configuration, et remet les anciens fichiers si les nouveaux la cassent (ces fichiers ne sont alors plus réessayés à chaque démarrage : voir Corrections) ;
  • recharge le YAML, puis dit ce qui a changé dans une notification « Tab5 : fichiers Home Assistant X.Y.Z » ;
  • si « Mettre ensuite la tablette à jour » est coché, installe le firmware de la même version dès que l'entité « Firmware » de la tablette le propose ; si la tablette tourne toujours l'ancienne version 15 minutes plus tard, réessaie, 3 fois en tout, puis le dit dans Paramètres → Système → Corrections (les nouveaux essais arrivent avec la 3.8).

Un problème s'affiche dans Paramètres → Système → Corrections : ligne packages: absente, fichiers refusés, redémarrage nécessaire (que faire). HACS ne propose que les releases complètes : les pré-releases (canal Bêta) seulement si les versions bêta sont activées pour ce dépôt dans HACS. Pour remettre les fichiers après une erreur : Paramètres → Appareils et services → Tab5 → Configurer, « Réinstaller maintenant les fichiers de cette version ».

À la main, ils ne se mettent pas à jour seuls : remplacez-les par ceux de tab5_home_assistant.zip de la même release (étape 1), puis Outils de développement → YAML → Toute la configuration YAML, et lancez l'action homeassistant.reload_custom_templates (ou redémarrez Home Assistant). Un blueprint importé depuis son adresse plutôt que décompressé : importez-le de nouveau.

Les fichiers d'une archive connaissent leur version : quand la tablette tourne une release majeure ou mineure plus récente (X.Y ; une version corrective seule ne compte pas), Home Assistant le dit (notification « Tab5 : fichiers Home Assistant à mettre à jour », capteur « Tab5 · fichiers HA en retard »). Des fichiers copiés depuis le dépôt n'ont pas de version et ne sont jamais comparés.

Vous utilisez le tableau de bord ? Après une mise à jour qui ajoute des entités, refaites ses points 2 et 3.

Remettre à la main des fichiers plus anciens

À chaque mise à jour, l'intégration garde les fichiers qu'elle remplace ou retire dans config/tab5_sauvegardes/, dans un dossier nommé d'après la date, l'heure et la version remplacée : 20261012-081530_3.7.0 contient des fichiers de la 3.7.0. Dedans, les mêmes dossiers que dans config/ (packages/, custom_templates/, blueprints/). Seuls les 5 derniers dossiers sont gardés. Une mise à jour refusée (Paramètres → Système → Corrections) en laisse un aussi, avec les fichiers restés en place ; un nouvel essai des mêmes fichiers n'ajoute pas de dossier identique.

  1. Copiez le contenu du dossier le plus récent dans config/, en remplaçant les fichiers qui y sont (partage Samba, File editor ou Studio Code Server). Pour remonter plus loin, copiez les dossiers l'un après l'autre, du plus récent à celui que vous voulez : chacun ne contient que les fichiers changés à sa mise à jour.
  2. Un fichier ajouté par la version plus récente n'est dans aucune sauvegarde : il reste. Pour le retirer, comparez config/packages/ avec le tab5_home_assistant.zip de la version où vous revenez.
  3. Outils de développement → YAML → Vérifier la configuration, puis rechargez comme pour des fichiers posés à la main (plus haut), ou redémarrez Home Assistant.

L'intégration laisse ensuite ces fichiers tranquilles : elle installe ses fichiers une fois par version, quand HACS en apporte une nouvelle, ou quand « Réinstaller maintenant les fichiers de cette version » est coché (cela remet les fichiers plus récents). La version suivante installée par HACS les remplace, les nomme comme modifiés à la main, et les garde dans une nouvelle sauvegarde. Tant que les fichiers sont plus anciens que l'intégration, « Mettre ensuite la tablette à jour » attend : le firmware n'est lancé qu'une fois que « Tab5 · version des fichiers HA » donne la version de l'intégration.

Passer d'une 3.2 à la suite

Remplacez les fichiers Home Assistant par ceux du nouveau tab5_home_assistant.zip (ou installez la mise à jour de l'intégration de HACS), puis vérifiez trois listes (étape 5) :

  1. Votre agenda de travail contient d'autres événements ? Tapez votre mot dans « Tab5 · mot des événements de travail » (l'auteur : Travail). Jusqu'à la 3.2, seuls les titres contenant « Travail » comptaient ; laissé vide, tout l'agenda de travail compte désormais comme du travail.
  2. Les vacances scolaires ne viennent plus d'une table de la zone A : choisissez un agenda dans « Tab5 · agenda des vacances scolaires ».
  3. Mode Discussion : choisissez son pipeline dans « Tab5 · pipeline de discussion ». Jusqu'à la 3.2, la tablette demandait un pipeline nommé exactement « Discussion LLM ».

Les listes gardent leurs identifiants d'entité : vos tableaux de bord et automatisations n'ont rien à changer.

Passer d'une 3.1 à la suite

Après la 3.1, la tablette n'appelle plus d'action de Home Assistant : elle envoie des événements, que le nouveau package packages/tab5_evenements.yaml traduit en actions (ADR-0025). Dans cet ordre :

  1. Les fichiers Home Assistant d'abord : remplacez-les par ceux de tab5_home_assistant.zip, qui apportent tab5_evenements.yaml, et réglez les listes « Tab5 · … » comme le dit vous aviez les packages à placeholders. Une tablette en 3.1 n'envoie aucun de ces événements : le package attend, rien ne change.
  2. Puis le firmware (entité « Firmware », ou votre propre compilation).
  3. Puis décochez « Autoriser l'appareil à effectuer des actions Home Assistant » (ESPHome → Configurer) : la tablette n'en a plus besoin, et sans elle Home Assistant refuse toute action que l'appareil demanderait.

Un firmware récent sans le package ne plante pas et n'écrit rien au journal, mais ce qu'il demande à Home Assistant se perd : le popup calendrier n'affiche que sa grille locale (ni horaires, ni fériés, ni rendez-vous ; un jour touché reste sur « Chargement... »), rien n'est dit (rendez-vous, briefing du réveil, « Volet arrêté »), les boutons Domotique / Discussion ne changent plus le pipeline, une alerte touchée n'est masquée que sur la tablette, jusqu'à son prochain redémarrage, et « MAJ Écran », « Recharger autos » et « Redémarrer HA » ne font rien.

Vous aviez les packages à placeholders (3.1.0 et avant)

Remplacez les fichiers, puis réglez chaque liste sur votre ancienne valeur : VOTRE_EMAIL_gmail_com → « Tab5 · agenda de travail », calendar.famille → rendez-vous, calendar.anniversaires et l'agenda des jours fériés (en général choisis par défaut), VOTRE_TELEPHONE → téléphone, VOTRE_CAPTEUR_PRESENCE → capteur de présence, VOTRE_TV → TV Samsung, et l'IP de la ligne tab5_tv_app_url de secrets.yaml → « Tab5 · adresse de la TV » (la ligne peut ensuite partir). Le choix météo est gardé. Gardez volet_serre_tracking.yaml dans config/packages/ si vous l'utilisez, et choisissez votre volet dans sa liste.

Réglez « Tab5 · agenda de travail » avant que les nouvelles automatisations tournent : rechargez d'abord Entrées de texte et Entités de template, choisissez, puis rechargez Scripts, Automatisations et Commandes REST. Tant qu'il n'est pas choisi, tous les jours comptent comme des jours de repos, et le réveil suit.

Passer à la 3.0

La 3.0 change la façon dont la tablette est protégée (ADR-0020). Une fois, sur place (les points 3 et 4 ci-dessous doivent tenir dans les 30 minutes qui suivent le démarrage de la tablette) :

  1. Avant de flasher, préparez Home Assistant pour la 3.0 : le blueprint de l'étape 6 (la tablette ne connaît plus vos entités, ADR-0019).
  2. Clé de signature (compiler son propre firmware), puis compilez : esphome compile tab5-ha-hmi.yaml.
  3. Flashez. Le firmware 2.x refuse un envoi en clair : celui-ci part donc chiffré avec votre ancienne clé (api_encryption_key de votre secrets.yaml, jamais affichée) :
    python tools/migrer_vers_3.py --host 192.168.x.x --port COM3
    
    --port est le port USB de la tablette (COM… sous Windows, /dev/ttyACM0 sous Linux ; python -m serial.tools.list_ports -v les liste, le numéro de série de la tablette est son adresse MAC). Ou seulement par USB : esphome upload tab5-ha-hmi.yaml --device COM3.
  4. Wi-Fi. La 2.x avait les identifiants compilés, la 3.0 non. Avec --port, le script les lui redonne juste après le redémarrage, par l'USB (Improv, wifi_ssid et wifi_password du même secrets.yaml, jamais affichés) : ni téléphone ni point d'accès. Sans lui, la tablette démarre sans réseau et ouvre « Tab5 Fallback AP » : connectez-vous-y et choisissez votre réseau, ou utilisez le bouton Wi-Fi du flasheur web par l'USB (étape 3).
  5. Home Assistant signale que la tablette « a désactivé le chiffrement du transport » (Paramètres → Appareils et services, réauthentification) : confirmez. HA lui donne ensuite une nouvelle clé tout seul. Les entités, les automatisations et l'historique restent les mêmes.

Ensuite, secrets.yaml peut partir (gardez l'ancienne clé seulement si vous risquez de reflasher une 2.x), et tab5_fuseau est ignoré.