Skip to main content

Intercom

LAN intercom for OVOS - "send a message to the bedroom" delivers a spoken message to a named peer OVOS device on the same local network, with an optional spoken reply sent back. Fully offline, available in English, Danish, German, French, and Spanish.

Tests PyPI version

The one non-negotiable boundary

This skill speaks messages. It never executes commands. A received message is only ever passed to self.speak() - it is never routed through the intent pipeline. "Set an alarm in the bedroom from the living room" is explicitly out of scope; that would be remote command execution, a categorically different (and far more dangerous) capability than delivering a spoken message. See DEVELOPMENT.md for why relaying to the target's own OVOS messagebus was investigated and rejected, and why this isn't "a smaller HiveMind."

Setup

Each device needs a name and a shared household code, set by voice on that specific device:

"set intercom name to living room"
"set intercom code to four seven two nine"

Every device that should participate says the same code - not a separate secret per pair of devices. Say it once per device; any two devices with matching codes can message each other.

Usage

"send a message to the bedroom"
  -> "what should I say?"
  -> [you speak the message]
  -> "message sent"

[on the bedroom device]
  "message from living room"
  [message is spoken]
  "do you want to reply?"
  -> "yes" -> "go ahead, say your reply" -> [you speak it] -> "reply sent"
"send en besked til soveværelset"                  (Danish)
"sende eine nachricht an schlafzimmer"             (German)
"envoie un message à chambre"                      (French)
"envía un mensaje a dormitorio"                    (Spanish)

How discovery and delivery work

Peer devices are found by name via mDNS - no IP addresses to type or remember. A device advertises itself as soon as it has a name set, even before a code is configured, so a sender gets a specific, useful error ("the bedroom doesn't have an intercom code set") rather than a bare "device not found" when the target exists but isn't fully set up yet.

Delivery is a single HTTP request over the LAN to the discovered peer, carrying the sender's name, the shared code, and the message. The code is never included in the mDNS advertisement itself - it only ever travels inside the actual message request. See DEVELOPMENT.md "Wire protocol" for the exact request/response shape.

Known limitations

  • Threat model: a WiFi-password-equivalent, not HiveMind-grade. No encryption on the wire, and the receiver does report back which kind of rejection happened (wrong code vs. no code set at all) rather than staying silent - useful for fixing a real setup problem, at the cost of leaking slightly more than a flat "message not delivered" would. Proportionate to keeping casual LAN presence out, not to defending against a targeted attacker.
  • Discovery is a fresh ~3-second scan per send, not a persistent cached browser - simpler, at the cost of a few seconds' latency each time.
  • A device that goes offline uncleanly (power loss, not a graceful shutdown) can leave a stale mDNS advertisement lingering in peers' local caches until it naturally expires.

See DEVELOPMENT.md for the full reasoning behind each of these, plus why ovos-skill-network-scanner was deliberately not made a dependency despite similar-looking mDNS code.

Install

pip install ovos-skill-intercom

Development

See DEVELOPMENT.md.

Category

Utility

Tags

#intercom #multi-device #messaging #lan

Release files for ovos-skill-intercom 0.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ovos-skill-intercom 0.0.4
File Size Uploaded
ovos_skill_intercom-0.0.4.tar.gz 41.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ovos-skill-intercom 0.0.4
File Interpreter ABI Platform
ovos_skill_intercom-0.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 97.8 kB

Release files / ovos_skill_intercom-0.0.4.tar.gz

Download URL ovos_skill_intercom-0.0.4.tar.gz
Size 41.2 kB
Tags Source
SHA-256 checksum
How to use checksums
32e2c7ad7f1722c5adb6f02a1d2fe404edff32321dce2021cc570999b7b78a53
BLAKE2b-256 checksum
How to use checksums
bee3abca9c144e3f9b0919844b45045c0161ff98cfd93aa456de3448206af399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release files / ovos_skill_intercom-0.0.4-py3-none-any.whl

Download URL ovos_skill_intercom-0.0.4-py3-none-any.whl
Size 56.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f7d3c38de18986eb5da88f919759633681f85d8983c16f6d0e46daa4d7eeac9f
BLAKE2b-256 checksum
How to use checksums
cb59b4164a8aa718edf4b14b3d79be3df2131278bead0be97f839787fee5ad42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.4 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page