Introduction

SmartElektroHub is a developer platform for embedding smart electrical device monitoring and IoT data streaming into your applications. Whether you're building an energy management dashboard, a smart meter integration, or a real-time power analytics solution, SmartElektroHub gives you the tools to do it without managing your own infrastructure.

This documentation covers the REST API (v2), the JavaScript / Node.js SDK, and the Python client library. All three interfaces expose the same capabilities — choose whichever fits your stack.

New in v2.4.1: Reduced device polling latency in the EU region, high-throughput MQTT ingestion support, and a fix for Python 3.12 asyncio compatibility. See the Changelog for details.

Quick Start

Get a live stream running in three steps.

1 — Install the SDK

# JavaScript / Node.js
npm install @sehub/sdk

# Python
pip install sehub

2 — Initialize the client

import SmartElektroHub from '@sehub/sdk';

const client = new SmartElektroHub({
  apiKey: 'eh_sk_••••••••••••••••',
  region: 'eu-west-1',   // eu-west-1 | us-east-1 | ap-southeast-1
});
# Python
import sehub

client = sehub.Client(
    api_key="eh_sk_••••••••••••••••",
    region="eu-west-1",
)

3 — Create your first stream

const stream = await client.streams.create({
  title:   'My First Stream',
  quality: 'high',   // low | medium | high
  format:   'json',   // json | msgpack | csv
});

console.log(stream.id);       // stm_01hx83nqp5fk2rjavt9c6e
console.log(stream.mqttTopic);  // mqtt://broker.smart-elektro.ru/devices/…
console.log(stream.wsUrl);   // wss://stream.smart-elektro.ru/devices/…/live
Keep your Secret Key (eh_sk_…) private — never expose it in client-side code or public repositories. Use the Publishable Key (eh_pk_…) for browser-side operations. See Authentication.

Requirements

Environment Minimum version Notes
Node.js 16.0 ESM and CommonJS both supported
Python 3.8 asyncio-compatible; 3.12+ verified
Browser Chrome 90+, Firefox 88+, Safari 17+ MediaStream API required for capture
REST API Any HTTP client; TLS 1.2 or higher

SDK Packages

Package Version Status Install
@sehub/sdk 2.4.1 Stable npm install @sehub/sdk
sehub (Python) 2.4.1 Stable pip install sehub
@sehub/react 1.2.0 Beta npm install @sehub/react
REST API v2 Stable

Next Steps

Введение

SmartElektroHub — платформа для разработчиков, позволяющая встраивать мониторинг умных электрических устройств и IoT-стриминг данных в ваши приложения. Создаёте ли вы панель управления энергопотреблением, интеграцию умных счётчиков или аналитику мощности в реальном времени — SmartElektroHub берёт на себя всю инфраструктуру.

Документация охватывает REST API (v2), JavaScript / Node.js SDK и Python-клиент. Все три интерфейса предоставляют одинаковые возможности — выберите тот, что подходит вашему стеку.

Новое в v2.4.1: снижена задержка опроса устройств в регионе EU, добавлена высокопроизводительная поддержка MQTT, исправлена совместимость с asyncio в Python 3.12. Подробнее — в истории изменений.

Быстрый старт

Запустите живой поток за три шага.

1 — Установите SDK

# JavaScript / Node.js
npm install @sehub/sdk

# Python
pip install sehub

2 — Инициализируйте клиент

import SmartElektroHub from '@sehub/sdk';

const client = new SmartElektroHub({
  apiKey: 'eh_sk_••••••••••••••••',
  region: 'eu-west-1',   // eu-west-1 | us-east-1 | ap-southeast-1
});
# Python
import sehub

client = sehub.Client(
    api_key="eh_sk_••••••••••••••••",
    region="eu-west-1",
)

3 — Создайте первый поток

const stream = await client.streams.create({
  title:   'Мой первый поток',
  quality: 'high',   // low | medium | high
  format:   'json',   // json | msgpack | csv
});

console.log(stream.id);       // stm_01hx83nqp5fk2rjavt9c6e
console.log(stream.mqttTopic);  // mqtt://broker.smart-elektro.ru/devices/…
console.log(stream.wsUrl);   // wss://stream.smart-elektro.ru/devices/…/live
Держите секретный ключ (eh_sk_…) в тайне — никогда не используйте его в клиентском коде или публичных репозиториях. Для операций на стороне браузера используйте публичный ключ (eh_pk_…). Подробнее — в разделе Аутентификация.

Требования

Окружение Минимальная версия Примечания
Node.js 16.0 Поддерживаются ESM и CommonJS
Python 3.8 Совместим с asyncio; Python 3.12+ проверен
Браузер Chrome 90+, Firefox 88+, Safari 17+ Для захвата телеметрии требуется MediaStream API
REST API Любой HTTP-клиент; TLS 1.2 и выше

Пакеты SDK

Пакет Версия Статус Установка
@sehub/sdk 2.4.1 Стабильный npm install @sehub/sdk
sehub (Python) 2.4.1 Стабильный pip install sehub
@sehub/react 1.2.0 Бета npm install @sehub/react
REST API v2 Стабильный

Дальнейшие шаги