Hardware Mesh Protocol
FERAL controls physical devices through the Hardware Use Protocol (HUP) — a WebSocket-based mesh that lets devices register, stream telemetry, and receive commands with no cloud roundtrip. Everything runs on the local network.HUP Overview
HUP is to hardware what MCP is to software tools. Devices connect to the Brain over WebSocket, announce their capabilities via a declarative manifest, and the agent can then invoke those capabilities as tools.- Local-first: all communication stays on the LAN.
- Declarative: devices describe what they can do, not how.
- Bidirectional: the Brain sends commands; devices push telemetry.
- Hot-pluggable: devices can join and leave the mesh at any time.
Device Manifests
Every HUP device registers with a JSON manifest that describes its identity, capabilities, and telemetry streams.Capability Types
| Type | Direction | Examples |
|---|---|---|
sensor | Device → Brain | Heart rate, temperature, motion, ambient light |
actuator | Brain → Device | Vibrate, LED color, lock/unlock, move servo |
state | Bidirectional | On/off toggle, mode selection, brightness level |
stream | Device → Brain (continuous) | Audio, video, raw IMU data |
Built-in Adapters
Wristband Adapter
For BLE-connected health wristbands. Bridges BLE GATT characteristics to HUP.Smart Home Adapter
Bridges Zigbee/Z-Wave/WiFi smart home devices via Home Assistant or direct local APIs.Robot Arm Adapter
Controls articulated robot arms via serial or network protocols.Direct Local Control
HUP intentionally avoids cloud roundtrips. Commands go directly from the Brain to the device over the LAN. This gives:- Low latency: sub-10ms for local WebSocket commands.
- Privacy: sensor data never leaves the home network.
- Reliability: works without internet.
Telemetry Ingestion
Devices push telemetry at their configured interval. The Brain routes it to:- Working memory — latest values available to the LLM.
- Execution log — historical telemetry for trend analysis.
- Proactive engine — triggers alerts when thresholds are crossed.
Writing a Custom Adapter
Implement theHUPAdapter interface to connect any device:
API Reference
| Endpoint | Method | Description |
|---|---|---|
/v1/node | WebSocket | HUP device connection endpoint |
/api/devices | GET | List connected devices and capabilities |
/api/devices/{id} | GET | Device details and recent telemetry |
/api/devices/{id}/command | POST | Send a command to a device |
/api/devices/{id}/telemetry | GET | Query historical telemetry |
