Status: DRAFT Version: 0.3 Date: 2026-08-20 Authors: Don Jackson
energy.ebus.capability.switch — a remotely-controllable relay (on/off control).
Node type: energy.ebus.capability.switch
This document is the canonical property catalog for the switch capability. Data-model documents that use it (for example circuit.md) reference this catalog and document only their device-specific conformance, rather than restating the properties.
The switch capability is the remote on/off control surface: a relay that opens or closes on command, or under an automatic policy such as load-shed or a Power Control System. A device publishes it when it has a controllable relay.
Control is distinct from protection (breaker). A relay opens on command; a breaker trips on a fault. The two are separate capabilities because they are physically separate mechanisms: Eaton's SBLCP protocol, for example, exposes a remote handle (this capability) alongside a primary protective handle (the breaker). A device may publish switch alone (a bare relay), breaker alone (a dumb breaker), both (a smart breaker), or neither.
Because capabilities are optional and their presence is a signal, publishing switch means the device is remotely controllable; its absence means it is not (or the publisher does not expose control).
| Property ID | Datatype | Unit | Req | Settable | Description |
|---|---|---|---|---|---|
relay |
enum | — | MUST | when relay-controllable |
Relay state: OPEN, CLOSED, UNKNOWN. Settable when relay-controllable = true. |
relay-controllable |
boolean | — | SHOULD | no | True = the relay can be opened and closed by command or automatic shed. False = locked (for example a circuit commissioned as permanently on). |
relay-requester |
enum | — | SHOULD | no | Source attribution for the last relay change: USER, LOAD_SHED, PCS, CONFIGURATION, FAULT, NONE, UNKNOWN. Publishers MAY extend via $format. |
shared-with-device-ids |
string | — | MAY | no | Comma-separated Homie device IDs of the other devices this relay also switches. Omitted when it switches only this device. See §"Shared switching hardware". |
Enum-valued properties are advertised through the Homie $format attribute so a consumer can read the value domain a publisher supports.
Implementation note. Some remote-relay mechanisms use a fail-safe timeout (for example the Eaton SBLCP remote handle requires a command refresh within 10 seconds, failing safe otherwise). That is a publisher concern, not a property of this capability.
One relay can switch several devices at once, in the same way one sensor can measure several: a multi-circuit breaker de-energizes every branch behind it. A publisher in that position declares the group with shared-with-device-ids (see framework.md for the declaration and its symmetry requirement).
Unlike a shared meter reading, a shared relay state needs no aggregation caveat: relay = OPEN is independently true of every member, so each device's value can be read as its own. What the declaration carries here is a control consequence rather than a measurement one. Commanding one member commands all of them, so a consumer that opens one circuit of a shared group has opened the whole group, and a consumer presenting per-device control tells the operator that before it acts. A publisher MAY reflect a command on one member as a state change on all of them, which is the truth of the hardware rather than an echo.
Absence of the switch node means the device has no controllable relay, or the publisher does not expose control. A publisher that cannot report relay state does not publish switch; publishing it is the claim that a relay is there, which is what licenses relay at MUST above.
load-shed and pcs are policies that act on this capability's relay. They are meaningful only on a device that also publishes a controllable switch, and they correspond to the LOAD_SHED and PCS values of relay-requester. When a policy drives the relay, the publisher attributes the change through relay-requester so a consumer can tell an automatic action from a user action. The policy semantics themselves are defined by the capabilities and by the hosting device's model (for example how a circuit's load-shed participation couples to a distribution enclosure's enclosure-wide shed policy), not by this capability.
The switch/relay state corresponds to Matter's On/Off cluster, a long-standing public Matter cluster: a device that exposes a writable On/Off is remotely controllable, matching relay-controllable. eBus adds relay-requester (source attribution for the last change), which On/Off does not carry.
- Eaton AbleEdge — remote on/off "independent from the trip mechanism"; the SBLCP remote handle with a fail-safe timeout.
- Siemens Inhab controllable circuit breaker — on / standby control, gateway-fronted.
Published by any device with a controllable relay. Today that is the circuit device type (circuit.md), including circuits published natively by a smart panel and circuits republished by a proxy fronting a smart breaker.
- Electrification Bus framework specification
- Electrification Bus
breakercapability — the separate protection surface. - Electrification Bus circuit data model — the primary publisher.
- Electrification Bus capability-type registry — the index this catalog is referenced from.