Перейти к содержанию

Sber C2C Protocol Specification (Ground Truth)

Назначение: эталонная спецификация Sber Smart Home C2C протокола, основанная исключительно на официальной документации Sber. Используется как ground truth для валидации тестов и проверки соответствия реализации.

Это НЕ описание текущей реализации

Данная спецификация описывает ожидаемое поведение по документации Sber, а не фактическое поведение нашего кода. Расхождения фиксируются в Validation Rules.

Источники данных

Источник URL
Устройства https://developers.sber.ru/docs/ru/smarthome/c2c/devices
Функции https://developers.sber.ru/docs/ru/smarthome/c2c/functions
Структуры https://developers.sber.ru/docs/ru/smarthome/c2c/structures
MQTT Topics https://developers.sber.ru/docs/ru/smarthome/reference/mqtt-topics
MQTT DIY https://developers.sber.ru/docs/ru/smarthome/mqtt-diy/agent-connect
C2C API https://developers.sber.ru/docs/ru/smarthome/c2c/api
Webhooks https://developers.sber.ru/docs/ru/smarthome/c2c/webhook

Содержание

Документ Описание
Data Structures Device, Model, State, Value, allowed_values, dependencies
MQTT Topics 5 MQTT топиков: payload schemas, sequence diagrams
Device Categories 28 категорий устройств с features и JSON-примерами
Features 75+ функций: типы, значения, диапазоны
MQTT vs REST Различия между MQTT DIY и C2C REST API
Validation Rules Пронумерованные инварианты для тестов

Как использовать

Для написания тестов

  1. Найдите нужную категорию устройства в Device Categories
  2. Посмотрите required/optional features и их типы
  3. Используйте JSON-примеры как ожидаемые значения в assertions
  4. Сверьтесь с Validation Rules для edge cases

Для проверки реализации

  1. Сравните ваш output с примерами в Data Structures
  2. Проверьте типы value (особенно integer_value как string)
  3. Убедитесь, что dependencies корректно ограничивают features

Дата синхронизации

Последняя сверка с документацией Sber: 2026-04-02