Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Famulus-Domus (internal codename: ZT-Edge-v3)

Famulus-Domus is the ecosystem node entry in the esphome.cloud product matrix — a zero-trust IoT edge platform line. Internally and in the codebase it has always been called ZT-Edge-v3, and the authoritative PRD lives at aegis/.prd/ZT-Edge-v3/ (overview.md, ~2200 lines). This page is a manual-side primer; it does not replace the PRD.

Current status: Preview. v3.0 targets 2026-Q4 for the core (Phase 0–6 + 11–13 MVP); v3.1 targets 2027-Q2 for the full feature set. The PRD is readable today; production deployments are not yet recommended.

One-line positioning

Run mTLS + SPIFFE + sidecar on a single ESP32 and put consumer smart home and industrial OT on the same zero-trust map.

It is the merger of two independently-solid PRDs: Aegis ZT-Edge v2 (strong compliance + ZT depth, but thin data model and WiFi-mesh-only coverage) and rshome-device-link v2 (strong typed data model + protocol breadth, but security deferred and compliance absent). The merge eliminates both strategic risks — rshome stops being “the Rust clone of Home Assistant”, and Aegis stops being “a WiFi-mesh-only ZT product”.

What it is not

Easily confused withRelationship
Home AssistantA spiritual predecessor — but explicitly supersedes HA’s flat Entity/Domain/Feature model. Different audience too: declarative + GitOps homes, not UI-driven ones.
ZTNA (Zscaler / Cloudflare Access)No — this product is not cloud-delivered.
Industrial SCADANo — does not own hard-real-time PLC control (soft real-time ≤ 100 ms is fine).
A single-protocol bridge (zigbee2mqtt / ESPHome)No — those are absorbed as adapters at L2.
SaaSNo. Self-hosted, local-first, LAN-first.

What it solves

Every line below is individually addressed somewhere; together, no one does it:

  1. Full protocol spectrum: IP to non-IP (Zigbee / Z-Wave / BLE / Thread / Modbus)
  2. Strongly-typed capability contracts: DTDL v3-style Interface + Twin shadow
  3. Zero-trust depth: mTLS + SPIFFE + Rego policy + CAEP + MFA
  4. Three hardware tiers: ESP32-S3 → OpenWRT/Pi4 → x86 mini PC, one codebase
  5. Dual compliance stack: China (Dengbao L2/L3 + Mi-Ping + GM) and international (NIST 800-207 + CISA ZTMM)
  6. Self-hosted Matter fabric root: home data sovereignty
  7. External exposure: WoT Thing Description 1.1 + MCP, simultaneously

One codebase, two markets

v3.0 strategic decision: one codebase / one ADR set, differing only in wizard templates. Splitting into two products would cost ~70% code duplication and double the operations burden.

AxisConsumer Smart HomeIndustrial OT / Compliance
Typical userHomeLab players, Matter device owners, WASM integration authors, AI agent usersSmall commercial spaces, China信创 SOEs, OT engineers, compliance auditors
Core needsData sovereignty, local-first, multi-protocol interop, self-hosted Matter fabric, GitOpsDengbao L2/L3, Mi-Ping, protocol-aware policy (Modbus/MQTT/CoAP), dual control, audit-chain integrity
compliance_modenonedengbao_l3 / gm_cert_mp
crypto_suiteinternational_defaultgm_rfc8998 / gm_tlcp_38636
Typical hardwareTier-M (Pi4 / OrangePi5)Tier-L (x86 mini PC)
Loaded adaptersMatter / Zigbee / Z-Wave / HAP BridgeModbus / BACnet protocol-aware L4

Shared technical floor: bastion control plane, Policy engine, audit chain, Tier-S/M/L tiering, CAEP federation, northbound MCP, SPIFFE+DTMI identity.

GTM is split (sales channels, pricing, SLA, support contracts); the technology is not.

Ten-layer architecture

L10  External Agents / LLMs / Cloud Federation
       MCP (DPoP+mTLS) / CAEP subscribe / NGSI-LD / Grafana / HAP / Apple
L9   Northbound gateway (MCP server + clawroom + auth middleware)
L8   Authorization & policy (Rego PEP + policy-input schema v1 + data_class)
L7   Semantics & topology (SAREF + Brick + QUDT subset / nested Space / Relationship)
L6   External exposure (WoT TD 1.1 auto-generation / HAP Bridge / Matter Bridge)
L5   Capability interfaces & twins (DTDL v3 subset Interface / Twin reported/desired/delta)
L4   Device abstraction (Thing / Endpoint / PartsList / DeviceType / Matter skeleton)
L3   Identity & trust (per-Thing x509 cert + SPIFFE ID + Matter NOC + CAEP)
L2   Protocol adapters (Matter / ESPHome / Zigbee / Modbus / MQTT / BLE)
L1   Transport floor (ESP-WIFI-Mesh / WiFi / Thread / Ethernet / Serial)
      + Phase 3.5 time-before-trust sync

For the full chapter map, see aegis/.prd/ZT-Edge-v3/overview.md §F. Every layer has a paired phase doc (phases/phase-N-*.md) and governance asset (ADR, threat model, risk register).

Data model (L4 / L5)

The HA “Entity + domain + features” bag model is retired and replaced with a subset of Azure DTDL v3 plus the Matter node model:

ConceptWhatIdentifier
ThingPhysical device / bridged sub-deviceurn:rshome:thing:<uuid-v7>
EndpointFunctional endpoint on a Thing (Matter ep_id)ep_id: u16
InterfaceDefinitionStrongly-typed capability contract (DTDL v3 subset)dtmi:rshome:cap:OnOff;1
Twinreported / desired / delta tripleper (ThingId, ep_id)
SpacePhysical space (Site/Building/Storey/Room)urn:rshome:space:<uuid>
RelationshipLocatedIn / HasPart / Feeds / ControlledByexplicit edges

extends rule (ADR-022): a new version (;1→;2) may only append Optional fields; a breaking change requires a new DTMI, and the old one is marked deprecated: true and kept for 12 months. InterfaceDefinition schema stability SLO: ≥24 months no-break.

Hardware tiers (Tier-S / Tier-M / Tier-L)

AxisTier-STier-MTier-L
Reference HWESP32-S3 WROOM-1-N16R8RPi4 / Orange Pi 5 / OpenWRT mini PCx86 mini PC (≥4C8G) / RK3588 4GB+
RAM512 KB SRAM + 8 MB PSRAM2 GB+4 GB+
Scale ceiling100 Thing / 300 endpoint / 20 mTLS500 Thing / 2000 endpoint5000 Thing / 50 space
HAnoneoptional active-passive pairrequired + witness
Semantic layerdowngraded SQLite triplefull OxigraphOxigraph + OWL reasoning
TSDB15 min in-RAM rollinglocal TimescaleDBlocal + external replica
WASMwasmiwasmtimewasmtime + multi-instance
ComplianceDengbao L2 OK; L3 needs external auditL2 directly; L3 OKL2/L3 fully + Mi-Ping

A full bastion on Tier-S is build.rs reject (ADR-036) — if you want to run on ESP32, only three binary profiles are allowed: sidecar (per-device L4 mTLS), bastion-lite (ADR-046, LAN-only ≤50 devices ESPHome-only), and tier-s-hopper (WireGuard client + USB-NCM). “A complete fully-autonomous Tier-S home” is not in the sales matrix — Tier-S is always the supporting role.

Protocol-adapter ecosystem (L2)

In v3, ESPHome is demoted from the main trunk to one of N adapters, peer with Matter / Zigbee / MQTT / Modbus / BLE.

CrateStatusTier
rshome-adapter-esphomev3.0 GAall
rshome-adapter-matterv3.0 GA (ADR-023)all (Tier-S trimmed)
rshome-adapter-mqtt-homiev3.0 GAall
rshome-adapter-zigbeev3.0 GA (via zigpy / z2m bridge)Tier-M/L primary
rshome-adapter-modbusv3.0 betaTier-M/L
rshome-adapter-blev3.0 betaTier-M/L
rshome-adapter-zwavev3.1Tier-M/L
rshome-adapter-knxv3.1Tier-M/L
rshome-adapter-matter-bridgev3.0 GA (external exposure)all
rshome-adapter-hap-bridgev3.0 GA (external exposure)all

mTLS is mandatory, not optional. The ESPHome adapter requires noise_psk from v1, not deferred to Phase 7. Zigbee itself does not run mTLS, but the hub ↔ coordinator (UART/SPI) link must be wrapped in mimi-crypto.

External surfaces (L6 / L9 / L10)

ExitAudienceProtocol
WoT TD 1.1any W3C-WoT client.well-known/wot + mDNS _wot._tcp
HAP BridgeApple Home / HomeKit usersBonjour + HAP
Matter Bridgeother Matter fabricsAggregator Endpoint + Bridged Nodes
MCP (rshome.*)AI agents (Claude / OpenClaw / Aegis Agent)mTLS + DPoP dual-binding
CAEPupstream / downstream federated IdPssubscribe + publish
NGSI-LDEU Data Spaces / smart-cityTier-L, v3.1

The MCP toolset uses the rshome.* prefix (fixing rshome v2’s ha.* naming collision) — rshome.things.list / introspect, rshome.twins.update_desired / observe, rshome.workflows.run, rshome.policy.evaluate-dry-run, rshome.approvals.pending / grant / deny (dual control), etc. The number of tools is not fixed; it derives from the capability model.

Compliance

StandardTier requirementStatus
Dengbao 2.0 L2Tier-M+Fully covered
Dengbao 2.0 L3Tier-M (possible) / Tier-L (direct)Fully covered
Mi-Ping GM/T 0054Tier-M+ + GM USB Key (SJJ1622)Fully covered
NIST 800-207allFully covered
CISA ZTMM v2allFully covered
IEC 62443-3-3 SL-2Tier-M+Fully covered
FIPS 140-3 validationv4 only; v3.0 not validated
Dengbao L4 / classifiedNever (NG6)

Non-Goals (important reverse declarations)

  • NG1 Not a ZTNA product
  • NG2 No SaaS / managed cloud
  • NG3 No hard-real-time PLC control (soft real-time ≤ 100 ms is fine)
  • NG4 No TSN (time-sensitive networking)
  • NG5 No multi-tenant / multi-home in v3.0 (v4 federation)
  • NG6 No Dengbao L4 or higher target
  • NG7 No FIPS 140-3 validation target
  • NG8 No HA-style UI richness (declarative + GitOps is the UX)
  • NG9 No cloud aggregation / WAN device discovery in v3.0 (LAN first)
  • NG10 rshome-generated firmware does not require the Aegis sidecar (sidecar is an optional build profile)

See also

  • aegis/.prd/ZT-Edge-v3/overview.mdthe ~2200-line canonical PRD (source of truth)
  • aegis/.prd/ZT-Edge-v3/manifest.md — PRD package layout + persona reading routes
  • aegis/.prd/ZT-Edge-v3/governance/adr-index.md — ADR-020..049 index
  • aegis/.prd/ZT-Edge-v3/phases/phase-*.md — per-phase implementation detail
  • IoT Device Tooling — the device-side domain classification for rshome; Famulus-Domus is its host control plane + security depth
  • Vehicle & Aircraft Control — the adjacent domain that Famulus-Domus does not cover