English · Français · Deutsch · Español · Italiano · Nederlands
Website and documentation: https://soprez.org/vision
Vision itself speaks six languages: English, French, German, Spanish, Italian and Dutch (Home Assistant integration, dashboard cards, Windows agent; each device follows its own language). This README exists in English and French; the German, Spanish, Italian and Dutch versions (
README.de.md,README.es.md,README.it.md,README.nl.md) are not written yet — contributions are welcome. Release notes: docs/notes-de-version.
Screen-time rules for Home Assistant: Vision looks after the Windows computers, the Android phones and the Android TVs of a place — a school, a club, an office, any shared space — with time slots, categories of apps and sites, and time requests that the Deciders approve or decline.
Everything stays with you: Home Assistant decides, the devices apply. No outside service is needed.
- Home Assistant 2026.9 or newer (check Settings → About). On an older version HACS refuses to download Vision, so it never shows up in Add integration: update Home Assistant first.
- HACS for installation and updates.
- Devices that Home Assistant can reach: PCs running Windows 10/11, Android phones or TVs.
Vision has three parts: the Home Assistant integration (installed with HACS), the Android app and the Windows agent. The last two are served by the integration itself: nothing else to download.
- In HACS: ⋮ → Custom repositories, add
https://github.com/Soprez/Vision-HA, category Integration. - Search for Vision in HACS (its folder is named
pc_parental), click Download, then restart Home Assistant. - Settings → Devices & services → Add integration → Vision.
HACS installs the vision.zip file of the latest release (Releases tab): it contains the integration and
the signed APK of the Android app.
When installed, Vision locks no one in: no device, no time slot, no blocked category. Only the list of dangerous domains (malware, phishing) is active; it can be turned off in the settings.
The place name (“School”, “Club”, “Office”…) is set in Vision → Configure → General settings: it titles the first tab of the dashboard and the Vision window on the PCs.
- Check your Home Assistant version (2026.9 minimum) and update HACS.
- Make sure the custom repository was added with the category Integration (not Dashboard or Appdaemon), and that HACS is signed in to GitHub (HACS → ⋮ → Settings).
- Search for Vision in HACS (clear any filter), open it and click Download. If HACS shows an error, note its exact message when you report the problem.
- Restart Home Assistant, reload the page with Ctrl+F5, then go to Settings → Devices & services → Add integration → Vision.
The Vision dashboard belongs to you: an update never rebuilds it, so a new card (for example Overview, added in 2.5.12.14: every device and every person in one filterable list) does not appear by itself. Two ways to get it:
- Rebuild the dashboard (simplest): press the Rebuild the dashboard button (Settings → Devices & services →
Vision). Your current dashboard is saved first (folder
vision_outils, thensauvegardes, in your configuration folder); changes you made by hand are not carried over. - Keep your dashboard: ⋮ → Edit dashboard, add a Manual card and paste
type: custom:vision-ensemble-cardwithmode: logiciels(apps and sites of all devices, Protection tab) ormode: limites(time limits of everyone, User tab).
- In the Vision dashboard, the Install Vision on a device section gives the APK link (served by your Home
Assistant), its QR code, and a short address to type on a TV:
http://<ha-address>:8123/vision(for example with the Downloader app). - On the device, open that link, download the APK and allow installs from the browser (“Unknown sources”).
- Open Vision and enroll the device: Vision → Configure → Add a device in Home Assistant shows a pairing QR code to scan from the app (valid for a few minutes, approved by an administrator).
Updates then arrive by themselves with the integration's. The APK is also attached to each release (Releases tab); check its signature (fingerprint below).
- In Home Assistant, Vision → Configure → Add a device (choose a PC) gives you a line to paste into PowerShell, with the address and a one-time pairing token already filled in.
- Paste it on the PC; the installer asks for administrator permission, then does the rest.
- The account of the supervised person must be a standard account: an administrator can stop the agent.
The agent, the installer and the uninstaller speak the language of Windows.
An enrolled device shows up in Home Assistant allowed and with no time slot. Once all devices are set up, close enrollment (switch “New device enrollment”): it is Vision's front door.
Vision reads Home Assistant's people (Settings → People): nothing to enter twice. A device belongs to a person; their rules follow them on all their devices.
The role is given to a device (setting “Device role”, by an administrator): a device with the “Decider” role can answer requests from its phone. The words Decider, Requester and the place name can be adapted to your place.
In the Vision dashboard, pick a device or a person, then add a time slot (for example “Night, 22:00 → 07:00, every day”). Categories (“Games”, “Videos”…) are Home Assistant labels: tick the ones you use in Vision → Permissions → Labels. Their names are shown in each person's language.
For a rule that depends on something other than the time (a school average, a chore), Vision provides two
actions, pc_parental.fermer_categorie and pc_parental.ouvrir_categorie, to call from an automation. A full
example is in docs/regle-de-moyenne-par-automatisation.md
(in French).
During a Party, Vision fires two Home Assistant events: vision_party_started when it starts and
vision_party_stopped when it stops, with the screen, the speaker, the device and the person that triggered it
(ecran, lecteur, appareil, personne).
Hook your own automations onto them (lights, camera alerts, a celebration scene…): Vision itself touches none of
your entities.
Example trigger: trigger: event with event_type: vision_party_started.
The app is signed with a single key; Android only installs an update that carries the same signature. SHA-256 fingerprint of the certificate:
A7:7C:D3:E3:A2:A9:1E:DA:5E:8E:D3:B4:58:D9:90:D0:47:37:CB:A7:A5:84:69:D3:96:8E:BC:3B:10:FE:C1:B7
Vision is free. If it helps you, you can buy me a coffee: https://buymeacoffee.com/soprez It is optional: nothing gets unlocked, a “♥ Supporter” badge simply shows on your devices.
See CONTRIBUTING.en.md (in French: CONTRIBUTING.md). Security issues: SECURITY.md, never a public issue.
Vision is free software, released under the MIT license: see LICENSE. © 2026 Soprez. This covers the integration, the Windows agent and the Android app, whose source code is published.
Bundled third-party components, under their own licenses (all compatible with the MIT license): PyQRCode (BSD), ZXing and AndroidX (Apache-2.0) in the Android app, and the Figtree and Outfit fonts (SIL Open Font License 1.1).