Публичное описание получения данных по Websocket
Event Stream позволяет получать события от объектов и системы в реальном времени.
Поддерживаемые протоколы:
✅ WebSocket (рекомендуется)
SSE (Server-Sent Events)
HTTP (long polling / поток)
Endpoint:
https://dev.rightech.io/events/stream
Используется тот же токен, что и для REST API (подробнее https://rightech.io/ru/developers/http/auth)
Заголовок:
Где получить токен:
см. документацию Rightech API.
Все события имеют общий формат:
{ "_msgid": "string", "_oid": "object_id", "time": 1664803947450, "event": "event-type", "data": { ... } }
Поле | Описание |
|---|---|
| ID сообщения |
| ID объекта |
| Время события (Unix, ms) |
| Тип события |
| Данные события |
Типы описаны в:
https://github.com/Rightech/rest-api/blob/master/types/events.d.ts
const token = "YOUR_API_TOKEN"; const ws = new WebSocket("wss://dev.rightech.io/events/stream", { headers: { Authorization: `Bearer ${token}` } }); ws.onopen = () => { console.log("Connected to Rightech event stream"); }; ws.onmessage = (event) => { const data = JSON.parse(event.data); console.log("Event:", data); }; ws.onerror = (err) => { console.error("WebSocket error:", err); }; ws.onclose = () => { console.log("Connection closed"); };
В браузере заголовки могут не поддерживаться — используйте Node.js (ws) или передавайте токен через query-параметр (если разрешено сервером).
Приходит при получении данных от устройства.
{ "event": "object-packet", "data": { "_ts": 1664803947447731, "payload": "9", "temperature": 9, "time": 1664803947447, "topic": "base/state/temperature" } }
телеметрии
MQTT данных
показаний датчиков
При изменении любого поля объекта.
{ "event": "object-update", "data": { "diffs": [ { "op": "replace", "path": "/description", "value": "test-02" } ] } }
Формат diffs соответствует:
Операции:
addremovereplacemovecopytest
Вызываются через state machine / automation.
{ "event": "test-event-01", "data": { "hello": "world" } }
JS пример:
https://github.com/prohazko2/odoo-pacs/blob/main/src/pacs.js#L51
Типы событий:
https://github.com/Rightech/rest-api/blob/master/types/events.d.ts