Home Assistant
First-party extension scaffold to configure one or more Home Assistant servers (host + API token) via the global Settings modal.
Special visualizations
In the Home Assistant item element editor, you can choose a special visualization for a single item:
- Light fixture for compatible domains.
- Climate airflow for climate entities.
- 3D model uploads a
.glb/.gltffile and uses the model as the device/entity visual. When the entity is on or active, the model plays its animations when available.
Spoken event output
Add the home_assistant.speak step after the event filter. Its extension panel discovers the server, voice provider (tts.*), and speaker (media_player.*). The user must explicitly enable spoken output; adding the operator does not enable it. The target must advertise PLAY_MEDIA, and tts.speak must exist. Discovery and runtime both fail closed for unavailable targets. A TTS entity may report unknown before its first use; this is not the same as an unavailable entity.
The optional description uses the existing event template fields. Its default reports the observed category, source/area, and timestamp; it does not infer intent, danger, identity, or unobserved actions. Select relevant events upstream instead of attaching this step to every video frame. Keep a parallel visual notification branch.
The operator retains one active request and one pending occurrence. A newer pending occurrence supersedes the previous one. Repeated occurrence identifiers are deduplicated in a bounded history. Events expire after 30 seconds by default, checked again after discovery and before dispatch. Timing uses the existing immutable capture_evidence contract (publication age is explicitly not proof of physical capture age), or an explicit event_at Unix timestamp/timezone-bearing ISO timestamp. A new packet envelope never refreshes event time. Missing, invalid, future or expired time prevents speech.
Closing an event cancels its pending/in-flight local request. Once Home Assistant has accepted a request, cancelling the local request cannot retract it. The optional close interruption calls media_player.media_stop only when the action and entity STOP feature are present and the dispatch remains within the event validity interval. This option may interrupt other audio on that speaker and defaults to disabled. There is no implicit camera backchannel support.
The output packet includes speech_output.status, playback_confirmed: false, and advisory player state readback when available. accepted_unconfirmed means the service accepted the request, even if readback says playing; neither proves audible reproduction. Failed or timed-out requests can have an unknown outcome. Text-to-speech caching is disabled for these event descriptions. No additional text/audio history is stored by this extension; downstream event retention continues to apply.
Use existing upstream schedule filters and Home Assistant volume policies. Packets tagged as playback or already containing a speech receipt are suppressed, but this does not prevent acoustic feedback from a microphone hearing a speaker. That requires an explicit microphone mute window or reliable playback causal association. Physical playback, interruption, microphone feedback and provider retention must be tested on an authorized installation before claiming an end-to-end audio acceptance.
Protocol references: Home Assistant TTS, Media player, and entity feature values. No new provider is installed or contracted by this extension.
Metadata
Release files for toposync-ext-home-assistant 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| toposync_ext_home_assistant-0.9.0.tar.gz | 1.0 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| toposync_ext_home_assistant-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.1 MB
Release files / toposync_ext_home_assistant-0.9.0.tar.gz
| Download URL | toposync_ext_home_assistant-0.9.0.tar.gz |
|---|---|
| Size | 1.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e92856ff75146773bac8e51b8ff94e5f35c22362066102e3e1e685b682ff0e8
|
|
BLAKE2b-256 checksum How to use checksums |
3a175700184643f29848e011a02593a6dc6675f12df6449b571f1f22392e4f61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|
Release files / toposync_ext_home_assistant-0.9.0-py3-none-any.whl
| Download URL | toposync_ext_home_assistant-0.9.0-py3-none-any.whl |
|---|---|
| Size | 1.0 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d2c365a3d2b6b4895360094e476f246bc10f077f476f666dcb848b7b9be64b36
|
|
BLAKE2b-256 checksum How to use checksums |
d4436ab69f8be3c52104c9b63ee4fe9322c9ca8feab5aadaafed4ed051fb6626
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.7.9
|