Widget text
ru en
Catalog
Widget text
Widget text

  Техническая поддержка + Вопросы по заказам

Группа в Telegram | Форум |  Мониторинг серверов

SPM-Main HTTP API

Как перевести устройство в режим DIY

  1. Включение питания;
  2. Нажмите и удерживайте кнопку на SPM-Main в течение 5 секунд, чтобы войти в режим сопряжения Bluetooth.
    Советы пользователю: Если устройство было сопряжено с приложением eWeLink, необходимо перезагрузить устройство, нажав кнопку сопряжения в течение 5 секунд, чтобы войти в режим сопряжения Bluetooth.
  3. Светодиодный индикатор будет быстро мигать.
  4. Подключите SPM-Main к маршрутизатору с помощью кабеля Ethernet, и для подключения доступен один из следующих способов.
  5. Введите IP-адрес SPM-Main в браузере на вашем компьютере и получите доступ.
  6. Затем введите SSID WiFi и пароль.
  7. Добиться Успеха. Теперь устройство находится в режиме «DIY».

 

Тип устройства - diy_meter(type=diy_meter), а версия API-интерфейса устройства - 1 (apivers=1).

Трансляция состояния устройства

Когда статус подустройства меняется, DNS TXT должен содержать поле «id», которое является [идентификатор чипа] подустройства. Подустройство транслирует только измененное поле. Если переключатель подустройства изменен, сообщается только поле переключателей, а поле порога overload_00 не сообщается.

В этом примере добавляются разрывы строк и пробелы, чтобы облегчить чтение, но на самом деле нет разрывов строк и пробелов.

//All fields broadcast by sub-device
{
	"switches": [
    {
        "outlet":0,
        "switch":"on"
    },
    {
        "outlet":1,
        "switch":"on"
    },
    {
        "outlet":2,
        "switch":"on"
    },
    {
        "outlet":3,
        "switch":"on"
    }
],

//_00 represents the value of channel 1, _01 represents the value of channel 2, and so on
"current_00":100,
"voltage_00":22000,
"actPow_00":22000,
"reactPow_00":22000,
"apparentPow_00":22000,
  
"overload_00": 
{
    "minAP": {
        "en": 0,
        "val": 110000
    },
    "maxAP": {
        "en": 1,
        "val": 10000
    },
    "minV": {
        "en": 1,
        "val": 1000
    },
    "maxV": {
        "en": 0,
        "val": 22000
    },
    "maxC": {
        "en": 1,
        "val": 2000
    },
    "delayTime": 10
},
"overload_01":{},
"overload_02":{},
"overload_03":{},
"faultState": {
    "subDevCom": 0,
    "overloadTrig": [
        {
            "outlet": 0,
            "rsn": [1]
        },
        {
            "outlet": 2,
            "rsn": [3]
        }
    ],
    "cse7761Com": [
        1,
        0,
        1,
        1
    ],
    "overTemp": [
        0
    ],
    "overLimit": [
        {
            "outlet": 1,
            "rsn": [0]
        },
        {
            "outlet": 3,
            "rsn": [1]
        }
    ]
}
}

//If the switch status of the sub-device changes, only the switches field is reported.
{
"switches": [
    {
        "outlet":0,
        "switch":"on"
    },
    {
        "outlet":1,
        "switch":"on"
    },
    {
        "outlet":2,
        "switch":"on"
    },
    {
        "outlet":3,
        "switch":"on"
    }
]
}

//Report the PVC status of channel 1 in real time
{
"current_00":100,
"voltage_00":22000,
"actPow_00":22000,
"reactPow_00":22000,
"apparentPow_00":22000,
}


//Sub-device failure

{
"faultState": {
    "subDevCom": 0,
    "overloadTrig": [
        {
            "outlet": 0,
            "rsn": [1]
        },
        {
            "outlet": 2,
            "rsn": [3]
        }
    ],
    "cse7761Com": [
        1,
        0,
        1,
        1
    ],
    "overTemp": [
      	1,
        0,
      	1,
      	0
    ],
    "overLimit": [
        {
            "outlet": 1,
            "rsn": [0]
        },
        {
            "outlet": 3,
            "rsn": [1]
        }
    ]
}
}

 

Атрибут тип описание
switches Array Переключить статус всех каналов
outlet Number Номер канала, [0,3]
switch String вкл: включите выключатель, выключите: выключите выключатель
subDevCom Number Статус связи подустройства 485. 1: Связь нормальная, 0: Ошибка связи
overloadTrig Array Событие триггера защиты от перегрузки. Это поле появляется при возникновении перегрузки.
cse7761Com Array Ошибка связи подустройства cse7761. Элементы массива имеют тип Number. Количество - 4. Элементы 0-3 - это 1-4 каналы соответственно. [0,1] 1: Общение нормальное. 0: Ошибка связи.
overTemp Array Событие запуска защиты от перег температуры подустройства cse7761. Элементы массива имеют тип Number. Количество - 4. Элементы 0-3 - это 1-4 каналы соответственно. [0,1] 1: Общение нормальное. 0: Ошибка связи. Это поле появляется при возникновении события срабатывания перегна температуры.
overLimit Array Событие триггера защиты от перегрузки предельного значения. Это поле появляется при возникновении события перегрузки предельного значения.

Получить device id

URL: http://[ip]:[port]/zeroconf/deviceid
Формат возвращаемого значения: json
Метод: HTTP post

{ 
     "data": {} 
 }

 

Пустой объект, атрибут не требуется.

Ответ

{
"seq": 2,
"error": 0,
"data": {
"deviceid": "1000012345"
}
}

 

Добавить подустройство

URL: http://[ip]:[port]/zeroconf/add_sub_devices
Формат возвращаемого значения: json
Метод: HTTP post

{ 
    "deviceid": "100000140e", 
    "data": {} 
 }

 

Пустой объект, атрибут не требуется.

Ответ

{
  "seq": 2,
  "error": 0,
 }

 

Получить список подустройств

URL: http://[ip]:[port]/zeroconf/subDevList
Формат возвращаемого значения: json
Метод: HTTP post

{ 
    "deviceid": "100000140e", 
    "data": {} 
 }

 

Пустой объект, атрибут не требуется.

Ответ

{
  "seq": 2,
  "error": 0,
  "data": {
    "subDevList": [
      {
        "subDevId": "123456",
        "type": 130
      }
    ]
  }
}

 

Атрибут тип Дополнительно описание
subDevId String No Идентификатор чипа подустройства
type Number No Тип подустройства. 130: Четырехканальное подустройство

Реле ВКЛ/ВЫКЛ

URL: http://[ip]:[port]/zeroconf/switches
Формат возвращаемого значения: json
Метод: HTTP post .

{
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "switches": [
      {
        "switch": "on",
        "outlet": 0
      },
      {
        "switch": "on",
        "outlet": 1
      },
      {
        "switch": "on",
        "outlet": 2
      },
      {
        "switch": "on",
        "outlet": 3
      }
    ]
  }
}

 

Атрибут тип Дополнительно описание
switch String No on: включите выключатель, off: выключите выключатель
outlet Number No Номер канала, [0,3]

Защита от перегрузки

URL: http://[ip]:[port]/zeroconf/overload
Формат возвращаемого значения: json
Метод: HTTP post

Тело запроса

{
    "deviceid": "100000140e",
    "data": {
        "subDevId": "123456",
        "overload_00": 
        {
            "minAP": {
                "en": 0,
                "val": 110000
            },
            "maxAP": {
                "en": 1,
                "val": 10000
            },
            "minV": {
                "en": 1,
                "val": 9000
            },
            "maxV": {
                "en": 0,
                "val": 22000
            },
            "maxC": {
                "en": 1,
                "val": 2000
            },
            "delayTime": 10
        },
        "overload_01":{},
        "overload_02":{},
        "overload_03":{}
    },
}

 

Атрибут тип Дополнительно описание
minAP Number No Минимальная мощность, [10,440000], Единица измерения: 0,01 Вт
maxAP Number No Максимальная мощность, [10,440000], Единица измерения: 0,01 Вт
minV Number No Мин.напряжение, [9000,24000], Единица измерения: 0,01 В
maxV Number No Макс.vpltage, [9000,24000], Единица измерения: 0,01 В
maxC Number No Макс.ток, [10,2000], Единица измерения: 0,01 А
delayTime Number No Задержка отключения, [0,180]
en Number No 0: Отключите защиту от перегрузки.
1: Включить защиту от перегрузки.
val Number No Верхний или нижний предел

 

Примечание:
-_00 представляет значение канала 1, _01 представляет значение канала 2 и так далее.
- Когда мощность, верхний порог напряжения и нижний порог открыты, верхний порог должен быть больше нижнего порога.

Я Здесь (функция поиска блока)

URL: http://[ip]:[port]/zeroconf/iAmHere
Формат возвращаемого значения: json
Метод: HTTP post

{
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456"
  }
}

 

Примечание:
-Эта функция может найти назначенное подустройство через индикатор.

Установить Время Устройства

URL: http://[ip]:[port]/zeroconf/time
Формат возвращаемого значения: json
Метод: HTTP post

{
    "deviceid":"1000001234",
    "data": {
      "timeZone":8,
      "date":"2020-12-15T06:31:14.115Z"
    }
}

 

Атрибут тип Дополнительно описание
timeZone Number No Часовой пояс, [-12,+14], может быть десятичной, например, 7,5
date String No UTC

 

Примечание:
- Исторические данные подустройств вступают в силу только после того, как будет установлена информация о часовом поясе, и не влияют на статистику времени.

Исторические данные подустройства

URL: http://[ip]:[port]/zeroconf/historicalData
Формат возвращаемого значения: json
Метод: HTTP post

{
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "outlet": 3,
    "dateStart": "2020-07-10 05:30",
    "dateEnd": "2020-07-10 19:10"
  }
}

 

Атрибут тип Дополнительно описание
outlet Number No Номер канала,[0,3]
dateStart String No Время начала; формат: «гггг-мм-дд хх:мм»
dateEnd String No Время окончания, формат: «гггг-мм-дд хх:мм»

 

Ответ

Тип содержимого заголовка ответа - application/octet-stream

Возвращает данные файла значений, разделенных запятыми (CSV). Файл содержит заголовки и обычные строки записи. Заголовок заголовка содержит соответствующее имя поля записи. Каждая обычная строка записи является записью данных, и каждая запись состоит из 9 полей, разделенных запятыми.

Поля в порядке слева направо следующие:
| Дата | время | Розетка | Ток(A) | Напряжение(V) | Реальная мощность(W) | Реактивная мощность(W) | Очевидная мощность(W) | 5 минут Потребляемая мощность(W·s) |

например
Пользователи запрашивают данные с 00:00 до 00:20 10 октября 2021 года.

Date, time, Outlet, Current(A), Voltage(V),Real power(W), Reactive power(W), 
Apparent power(W), 5 Minutes Power Consumption(W·s)
2021-10-10 , 0:0:0 , 0 , 0.00, 240.94, 0.56, 0.00, 0.55,172.00
2021-10-10 , 0:5:0 , 0 , 0.00, 241.41, 0.60, 0.00, 0.59,172.00
2021-10-10 , 0:10:0 , 0 , 0.00, 241.13, 0.51, 0.00, 0.55,173.00
2021-10-10 , 0:15:0 , 0 , 0.00, 240.94, 0.58, 0.00, 0.56,173.00
2021-10-10 , 0:20:0 , 0 , 0.00, 240.95, 0.57, 0.00, 0.57,173.00

 

Примечание:
-Эта функция будет работать после версии прошивки 1.1.0.
-Данные запроса на срок до 1 дня.
например когда дата начала - "2020-07-10 05: 30", дата конца может быть заполнена максимум как "2020-07-11 00: 00".

URL: http://[ip]:[port]/zeroconf/monitor
Формат возвращаемого значения: json
Метод: HTTP post

{
    "deviceid": "100000140e",
    "data": {
        "url": "http://www.123.com",
        "port": 7790,
        "subDevId": "123456",
        "outlet": 3,
        "time":180
    }
}
Атрибут тип Дополнительно описание
url String No URL-адрес отчетности по мониторингу данных в режиме реального времени, формат: "http://www.xxx.com/yyy"
port Number No Порт отчетности по мониторингу данных в режиме реального времени, [1024,65535]
subDevId String No Идентификатор чипа подустройства
outlet Number No Номер канала, [0,3]
time Number No Продолжительность мониторинга в режиме реального времени, [1,3600], единица секунды

 

Примечание:
-URL-адрес поддерживает только незашифрованные соединения, а формат отчета о данных мониторинга - это http post request.

Отчет об устройстве:

{
  "subDevId": 123456,
  "outlet": 3,
  "current": 100,
  "voltage": 22000,
  "actPow": 22000,
  "reactPow": 22000,
  "apparentPow": 22000
}

 

Атрибут тип Дополнительно описание
current Number No Текущее значение в режиме реального времени, единица измерения: 0,01 А
voltage Number No Значение напряжения в реальном времени, единица измерения: 0,01 В
actPow Number No Значение actPow в режиме реального времени, единица измерения: 0,01 Вт
reactPow Number No Значение reactPow в реальном времени, единица измерения: 0,01 Вт
apparentPow Number No Значение кажущейся мощущейся в реальности, единица измерения: 0,01 Вт

Условия отчетности:
-Текущее изменение превышает 0,03 А.
- Изменение напряжения превышает 5 В.
-Активная мощность, реактивная мощность или очевидное изменение мощности превышает 2 Вт.

Настройка SSID и пароля WiFi

URL: http://[ip]:[port]/zeroconf/wifi
Формат возвращаемого значения: json
Метод: HTTP post

{
  "deviceid": "100000140e",
  "data": {
    "ssid": "eWeLink",
    "password": "WeLoveIoT"
  }
}

 

Атрибут тип Дополнительно описание
ssid String No SSID сети WiFi, к которой будет подключаться устройство
password String No Пароль сети WiFi, к которой будет подключаться устройство

 

Примечание:
-Новая настройка Wi-Fi вступит в силу при следующем подключении Wi-Fi.

Прошивка OTA

URL: http://[ip]:[port]/zeroconf/upgrade
Формат возвращаемого значения: json
Метод: HTTP post

{
  "deviceid": "1000xxxxxx",
  "data": {
    "binList": [
      {
        "downloadUrl": "http://52.83.223.225:8088/ota/rom/hNLhVpovUgFJcipxmDD8fQv9b2BdJNgT/user1.1024.new.2.bin",
        "digest": "56a013b0f2ea151fb337a24025a5abb2f4390d4617c5ec57b27a79c86d6c4174",
        "name": "user1.bin"
      },
      {
        "downloadUrl": "http://52.83.223.225:8088/ota/rom/hNLhVpovUgFJcipxmDD8fQv9b2BdJNgT/user2.1024.new.2.bin",
        "digest": "62503540c241b4783bdc46026d86035b9d0775e2d48c59e40227be8067cadac6",
        "name": "user2.bin"
      }
    ]
  }
}

 

Атрибут тип Дополнительно описание
downloadUrl String No Адрес загрузки новой прошивки поддерживает только протокол HTTP, HTTP-сервер должен поддерживать заголовок запроса Range.
sha256sum String No SHA256 контрольная сумма (хэш) новой прошивки, она используется для проверки целостности загруженной новой прошивки.
name String No Название прошивки

 

Следующие коды сбоев добавлены в поле ошибки тела ответа:

  1. 404 не найдено (не удалось загрузить).
  2. Проверка прошивки 409 не удалась.

Получить записи о работе канала

URL: http://[ip]:[port]/zeroconf/record
Формат возвращаемого значения: json
Метод: HTTP post

{
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "rangeStart": 200,
    "rangeEnd": 229
  }
}

 

Атрибут тип Дополнительно описание
rangeStart Number No Начальное количество записей операций, [0,65535]
rangeEnd Number No Конечный номер операций, [0,65535]

 

Ответ

{
    "seq": 2,
    "error": 0,
    "data": {
        "record": [
            {
                "date": "2020-07-29 18:00:05",
                "trigType": 1,
                "outlet": 1,
                "action": 1
            },
            {
                "date": "2020-07-29 18:02:05",
                "trigType": 0,
                "outlet": 1,
                "action": 0
            }
        ]
    }
}

 

Атрибут тип Дополнительно описание
date String No Время работы; формат: «гггг-мм-дд ххх:мм»
trigType Number No [0,3], 0: Триггер APP; 1: Триггер устройства; 2: Триггер защиты от перегрузки; *3: *Триггер защиты от перегре температуры
outlet Number No Номер канала, [0,3]
action Number No 0: Канал закрыт;
1: Канал открыт

Примечание:
-Обязательные условия должны быть выполнены: rangeEnd>=rangeStart и rangeEnd-rangeStart<=29.

Получить состояние устройства

URL: http://[ip]:[port]/zeroconf/getState
Формат возвращаемого значения: json
Метод: HTTP post

например

1. Получить статус шлюза:

{
    "deviceid":"1000001234",
    "data": {
    }
}

 

Ответ

{
    "seq": 2,
    "error": 0,
    "data": {
        "sledOnline":"on",
        "ssid": "eWeLink",
        "fwVersion": "3.5.0",
        "subChipFwVer": "3.5.0",
        "deviceid": "100000140e",
        "bssid": "xx:xx:xx:xx:xx:xx",
        "signalStrength": -10,
        "wifiConnected": true/false
    }
}

 

2. Получить статус подустройства:

{
    "deviceid":"1000001234",
    "data": {
        "subDevId": "123456"
    }
}

 

Ответ

 

{
    "seq": 2,
    "error": 0,
    "data": {
      	"fwVersion": "1.1.1",
        "switches": [
            {
                "outlet":0,
                "switch":"on"
            },
            {
                "outlet":1,
                "switch":"on"
            },
            {
                "outlet":2,
                "switch":"on"
            },
            {
                "outlet":3,
                "switch":"on"
            }
        ],
        "overload_00": 
        {
            "minAP": {
                "en": 0,
                "val": 110000
            },
            "maxAP": {
                "en": 1,
                "val": 10000
            },
            "minV": {
                "en": 1,
                "val": 1000
            },
            "maxV": {
                "en": 0,
                "val": 22000
            },
            "maxC": {
                "en": 1,
                "val": 2000
            },
            "delayTime": 10
        },
        "overload_01":{},
        "overload_02":{},
        "overload_03":{},
        "faultState": {
            "subDevCom": 0,
            "cse7761Com": [
                1,
                0,
                1,
                1
            ]
        },
        "threshold": {
            "actPow":{
                "min":10,
                "max":440000
            },
            "voltage":{
                "min":10,
                "max":440000
            },
            "current":{
                "min":10,
                "max":440000
            }
        }
    }
}

 

Атрибут тип описание
subDevCom Number Статус связи подустройства 485. 1: Общение нормальное. 0: Ошибка связи.
cse7761Com Array Ошибка связи подустройства cse7761. Элементы массива имеют тип Number. Количество - 4. Элементы 0-3 - это 1-4 каналы соответственно. [0,1] 1: Общение нормальное. 0: Ошибка связи.
fwVersion String Шлюз - это версия прошивки основного чипа, а подустройство - это номер версии прошивки подустройства.
subChipFwVer String Версия прошивки субчипа.
wifiConnected Bool Проверьте, подключен ли Wi-Fi. Если false, значения ssid, bssid и signalStrength недействительны.
threshold Object Пороговый диапазон.
actPow Object Реальная Мощность, Единица: 0,01 Вт
voltage Object Напряжение, Единица измерения: 0,01 В
current Object Ток, Единица измерения: 0,01A
min Number Минимум
max Number Максимум

URL: http://[ip]:[port]/zeroconf/ops_mode
Формат возвращаемого значения: json
Метод: HTTP post

{
    "deviceid":"1000001234",
    "data": {
        "ops_mode": "ewelink"
    }
}

 

Примечание:
«ops_mode»: «ewelink» означает переключение обратно в режим ewelink.

Back call
Request sent successfully!
Name *
Phone *
Preorder
Preorder sent successfully!
Name *
Phone *
Add to Shopping Cart
Название товара
100 ₽
1 шт.
Go to cart
Заказ в один клик
Я ознакомлен и согласен с условиями оферты и политики конфиденциальности.