-
-
Notifications
You must be signed in to change notification settings - Fork 65
SDK
UNITRONIX edited this page Jul 12, 2026
·
2 revisions
BetterDesk provides Python and Node.js SDKs for building CDAP agents and bridges that connect to the Go server CDAP gateway (port 21122).
Your application
│
▼
CDAPBridge (SDK) ── WebSocket ──► Go server :21122/cdap
│ │
Widgets / metrics / commands ▼
Web Console (CDAP pages)
Package: betterdesk-cdap · Requires: Python 3.8+
pip install betterdesk-cdapfrom betterdesk_cdap import CDAPBridge, Widget
bridge = CDAPBridge(
server="ws://your-server:21122/cdap",
api_key="your-api-key",
device_id="SENSOR-001",
device_name="Temperature Sensor",
device_type="sensor",
)
bridge.add_widget(Widget.gauge("temperature", "Temperature", unit="°C", min=-20, max=50))
bridge.add_widget(Widget.toggle("heater", "Heater"))
@bridge.on_command("heater")
async def on_heater(action, params):
return {"success": True}
bridge.set_value("temperature", 22.5)
await bridge.connect()Source: sdks/python/
Package: betterdesk-cdap · Requires: Node.js 18+
npm install betterdesk-cdapconst { CDAPBridge, Widget } = require('betterdesk-cdap');
const bridge = new CDAPBridge({
server: 'ws://your-server:21122/cdap',
apiKey: 'your-api-key',
deviceId: 'SENSOR-001',
deviceName: 'Temperature Sensor',
deviceType: 'sensor',
});
bridge.addWidget(Widget.gauge('temperature', 'Temperature', { unit: '°C' }));
bridge.setValue('temperature', 22.5);
bridge.connect();Source: sdks/nodejs/
| Concept | Description |
|---|---|
| CDAPBridge | WebSocket client — auth, heartbeat, reconnect |
| Widget | UI element rendered in panel (gauge, toggle, button, …) |
| Manifest | Device capabilities sent on connect |
| Command | Panel → device action with response |
Enable CDAP on the server: -cdap flag or CDAP_ENABLED=Y.
Pre-built protocol bridges in the repo:
| Bridge | Protocol |
|---|---|
bridges/modbus/ |
Modbus TCP/RTU |
bridges/snmp/ |
SNMP v2c/v3 |
bridges/rest-webhook/ |
REST polling + webhooks |
- CDAP — wire protocol and gateway
- Web Console — CDAP Studio and device pages
- SDK overview
Repository · Issues · Discussions · Releases · Privacy · Sponsors
Wiki source: docs/wiki/ — last sync: 2026-09-06