Optional packages and ecosystem integration for Smart Spaces & Ambient Intelligence.
Rule: All packages below are optional. The platform core has no smart-building dependencies.
| Package | Category | Import path | Status |
|---|---|---|---|
spanda-matter |
IoT | iot.matter |
Experimental (stub + bridge) |
spanda-thread |
IoT | iot.thread |
Experimental (stub) |
spanda-zigbee |
IoT | iot.zigbee |
Experimental (stub) |
spanda-zwave |
IoT | iot.zwave |
Experimental (stub) |
spanda-bacnet |
IoT | iot.bacnet |
Experimental (bacpypes3 + env bridge) |
spanda-knx |
IoT | iot.knx |
Experimental (xknx + env bridge) |
spanda-modbus |
IoT | iot.modbus |
Experimental (stub) |
spanda-mqtt |
IoT | iot.mqtt |
Experimental |
spanda-ble |
Connectivity | connectivity.ble |
Experimental |
spanda-wifi |
Connectivity | connectivity.wifi |
Experimental |
spanda-home-assistant |
Bridge | bridge.home_assistant |
Experimental (REST + mock) |
spanda-energy |
Energy | energy.solar, energy.storage |
Experimental (stub) |
spanda-building |
Blueprint | building.entity |
Experimental (stub) |
spanda-smart-locks |
Access | access.lock |
Experimental (stub) |
spanda-environment |
Sensors | environment.aq |
Experimental (stub) |
spanda-mission-continuity |
Ops | continuity policies | Experimental |
spanda-smartwatch |
HRI | wearables | Experimental |
spanda-voice |
HRI | voice ingress | Experimental |
Source: packages/registry/spanda-*/
Home Assistant, OpenHAB, Apple Home, Google Home, Amazon Alexa, SmartThings, and vendor clouds remain device pairing and scene authorities for end users.
Spanda does not replicate their UX or device databases.
Optional packages read state and send verified commands through provider interfaces:
External hub (e.g. Home Assistant)
↔ spanda-home-assistant (REST/WebSocket)
↔ Spanda provider runtime
↔ .sd mission / readiness / assurance
Field buses (BACnet / KNX): install requirements-bacnet.txt or requirements-knx.txt, set
SPANDA_LIVE_* env vars, and use package scripts/read_*.sh helpers — see
iot.md and each package README.
Readiness, verify, mission continuity, assurance, trust, Control Center — unchanged platform pillars.
Assurance bundles, audit logs, operator dashboards, simulation/replay.
| Ecosystem | Integration approach | Package | Spanda role |
|---|---|---|---|
| Home Assistant | REST + WebSocket state sync | spanda-home-assistant |
Mission orchestration above HA |
| OpenHAB | REST bridge (planned) | — | Same pattern as HA |
| Apple Home | Matter devices via hub | spanda-matter |
Readiness + assurance |
| Google Home | Voice trigger ingress (planned) | spanda-voice |
Mission start only |
| Amazon Alexa | Skill → webhook (planned) | spanda-mqtt |
Mission start only |
| SmartThings | Cloud API bridge (planned) | spanda-mqtt |
State read + verified commands |
| BACnet BMS | Field bus | spanda-bacnet |
Commercial building orchestration |
| KNX | Field bus | spanda-knx |
EU building automation |
Voice assistants trigger Spanda missions; they do not receive unsafe actuation bypass.
Packages implement traits documented in provider-interfaces.md and iot.md:
| Operation | Description |
|---|---|
telemetry.read |
Device state for readiness |
command.send |
Actuation after verify pass |
shadow.sync |
Desired vs reported (Matter-style) |
health.ping |
Gateway liveness |
Missions declare requires capabilities; providers map capabilities to device commands at runtime.
| Pattern | Packages | Use case |
|---|---|---|
| Home + Matter | spanda-matter, spanda-energy |
Night mode, leak, solar |
| Home + HA bridge | spanda-home-assistant, spanda-mission-continuity |
Existing HA install |
| Office BMS | spanda-bacnet, spanda-environment |
Occupancy HVAC |
| Hospital wing | spanda-bacnet, spanda-smartwatch |
Patient + clinical |
| Campus rollup | spanda-building, spanda-mqtt |
Multi-building NOC |
spanda install spanda-matter spanda-energy spanda-building
# Edit examples/solutions/smart-spaces/spanda.providers.toml
spanda install --config examples/solutions/smart-spaces/spanda.toml
Add or edit packages under packages/registry/, then:
./scripts/build-registry.sh
./scripts/sync_bundled_registry.sh