Skip to content

Updates

In this order: the Home Assistant files first, then the firmware. Each release says what changes in its notes (releases).

The firmware, from Home Assistant

A tablet installed from the install page gets its updates from Home Assistant: its « Firmware » entity reads the published manifest every 6 hours, and Install downloads the image, which the tablet checks against the project key (ADR-0022). Not willing to wait: run the action homeassistant.update_entity on that entity.

The tablet follows the channel it was installed from (Stable or Beta); to switch, install again from the install page, without erasing. A firmware you compile yourself has no « Firmware » entity: see build your own firmware.

Home Assistant files

With the HACS integration (installed this way): each release shows up in Settings → Updates as « Tab5 — fichiers HA · HA files ». Install, then restart Home Assistant. At start, the integration:

  • saves the current files in config/tab5_sauvegardes/ (the 5 latest backups are kept);
  • puts the new ones in place: a Tab5 file you edited by hand is replaced too, and the notification names it (its copy stays in the backup); a Tab5 file that was already there without coming from the integration (copied by hand) and differs is also named in Settings → System → Repairs, with its backup folder;
  • checks the configuration, and puts the previous files back if the new ones break it (those files are then not tried again at each start: see Repairs);
  • reloads the YAML, then says what changed in a notification « Tab5: Home Assistant files X.Y.Z »;
  • if « Then update the tablet » is ticked, installs the firmware of the same version as soon as the tablet's « Firmware » entity offers it; if the tablet still runs the old version 15 minutes later, it tries again, 3 times in all, then says so in Settings → System → Repairs (the retries come with 3.8).

A problem shows in Settings → System → Repairs: missing packages: line, files refused, restart needed (what to do). HACS offers full releases only: pre-releases (Beta channel) only if beta versions are switched on for this repository in HACS. To put the files back after a mistake: Settings → Devices & services → Tab5 → Configure, « Install the files of this version again now ».

By hand, they do not update themselves: replace them with those of tab5_home_assistant.zip from the same release (step 1), then Developer tools → YAML → All YAML configuration, and run the action homeassistant.reload_custom_templates (or restart Home Assistant). A blueprint imported from its URL rather than unzipped: import it again.

The files of an archive know their version: when the tablet runs a newer major or minor release (X.Y; a patch release alone does not count), Home Assistant says so (notification « Tab5 : fichiers Home Assistant à mettre à jour », sensor « Tab5 · fichiers HA en retard »). Files copied from the repository have no version and are never compared.

Using the dashboard? After an update that adds entities, do its items 2 and 3 again.

Putting older files back by hand

At each update, the integration keeps the files it replaces or removes in config/tab5_sauvegardes/, in a folder named after the date, the time and the version replaced: 20261012-081530_3.7.0 holds 3.7.0 files. Inside, the same folders as in config/ (packages/, custom_templates/, blueprints/). Only the 5 latest folders are kept. A refused update (Settings → System → Repairs) leaves one too, holding the files still in place; trying the same files again does not add an identical folder.

  1. Copy the content of the most recent folder into config/, replacing the files there (Samba share, File editor or Studio Code Server). To go back further, copy the folders one after the other, from the most recent to the one you want: each one holds only the files that changed at its update.
  2. A file added by the newer version is in no backup, so it stays. To remove it, compare config/packages/ with the tab5_home_assistant.zip of the version you go back to.
  3. Developer tools → YAML → Check configuration, then reload as for files put by hand (above), or restart Home Assistant.

The integration then leaves these files alone: it installs its files once per version, when HACS brings a new one, or when « Install the files of this version again now » is ticked (that puts the newer files back). The next version installed through HACS replaces them, names them as edited by hand, and keeps them in a new backup. While the files are older than the integration, « Then update the tablet » waits: it starts the firmware only once « Tab5 · version des fichiers HA » shows the integration's version.

Upgrading from 3.2

Replace the Home Assistant files with those of the new tab5_home_assistant.zip (or install the update of the HACS integration), then check three lists (step 5):

  1. Work calendar holding other events? Type your word in « Tab5 · mot des événements de travail » (the author: Travail). Up to 3.2, only titles containing « Travail » counted; left empty, every event of the work calendar now counts as work.
  2. School holidays no longer come from a table of the French Zone A: pick a calendar in « Tab5 · agenda des vacances scolaires ».
  3. Discussion mode: pick its pipeline in « Tab5 · pipeline de discussion ». Up to 3.2, the tablet asked for a pipeline named exactly « Discussion LLM ».

The lists keep their entity ids, so your dashboards and automations need nothing.

Upgrading from 3.1

After 3.1 the tablet no longer calls Home Assistant actions: it sends events, which the new package packages/tab5_evenements.yaml turns into actions (ADR-0025). In this order:

  1. Home Assistant files first: replace them with those of tab5_home_assistant.zip, which bring tab5_evenements.yaml, and set the « Tab5 · … » lists as told in coming from packages with placeholders. A 3.1 tablet sends none of these events: the package just waits, nothing changes.
  2. Then the firmware (« Firmware » entity, or your own build).
  3. Then untick « Allow the device to perform Home Assistant actions » (ESPHome → Configure): the tablet no longer needs it, and without it Home Assistant refuses any action the device would ask for.

A new firmware without the package does not crash and logs nothing, but what it asks Home Assistant is lost: the calendar popup shows only its local grid (no work hours, holidays or appointments; a tapped day stays on « Chargement... »), nothing is spoken (appointments, alarm briefing, « Volet arrêté »), the Domotique / Discussion buttons no longer change the pipeline, a dismissed alert is hidden on the tablet only, until its next restart, and « MAJ Écran », « Recharger autos » and « Redémarrer HA » do nothing.

Coming from packages with placeholders (3.1.0 and earlier)

Replace the files, then set each list to your old value: VOTRE_EMAIL_gmail_com → « Tab5 · agenda de travail », calendar.famille → rendez-vous, calendar.anniversaires and the public-holiday calendar (usually picked by default), VOTRE_TELEPHONE → téléphone, VOTRE_CAPTEUR_PRESENCE → capteur de présence, VOTRE_TV → TV Samsung, and the IP of the tab5_tv_app_url line of secrets.yaml → « Tab5 · adresse de la TV » (the line can then go). The weather choice is kept. Keep volet_serre_tracking.yaml in config/packages/ if you use it, and pick your shutter in its list.

Set « Tab5 · agenda de travail » before the new automations run: reload Input texts and Template entities first, choose, then reload Scripts, Automations and REST commands. Until it is set, every day counts as a rest day, and the alarm clock follows.

Upgrading from 2.x

3.0 changes how the tablet is protected (ADR-0020). Once, in person (items 3 and 4 below must happen within 30 minutes of the tablet's start):

  1. Before flashing, set up Home Assistant for 3.0: the blueprint of step 6 (the tablet no longer knows your entities, ADR-0019).
  2. Signing key (build your own firmware), then compile: esphome compile tab5-ha-hmi.yaml.
  3. Flash. The 2.x firmware refuses a plain upload, so this one goes out encrypted with your old key (api_encryption_key of your secrets.yaml, never printed):
    python tools/migrer_vers_3.py --host 192.168.x.x --port COM3
    
    --port is the tablet's USB port (COM… on Windows, /dev/ttyACM0 on Linux; python -m serial.tools.list_ports -v lists them, the tablet's serial number is its MAC address). Or over USB only: esphome upload tab5-ha-hmi.yaml --device COM3.
  4. Wi-Fi. 2.x had the credentials compiled in, 3.0 does not. With --port, the script gives them back right after the restart, over USB (Improv, wifi_ssid and wifi_password of the same secrets.yaml, never printed): no phone, no access point. Without it, the tablet starts without network and opens « Tab5 Fallback AP »: join it and pick your network, or use the web flasher's Wi-Fi button over USB (step 3).
  5. Home Assistant notifies that the tablet « disabled transport encryption » (Settings → Devices & services, re-authentication): confirm. HA then gives it a new key by itself. The entities, automations and history stay the same.

Then secrets.yaml can go (keep the old key only if you may flash 2.x again), and tab5_fuseau is ignored.