menú

API HTTP principal de SPM

API HTTP principal de SPM

El tipo de dispositivo es diy_meter(type=diy_meter) y la versión de la interfaz API del dispositivo es 1 (apivers=1).

Transmisión del estado del dispositivo

Cuando cambia el estado del subdispositivo, el TXT DNS debe contener el campo "id", que corresponde al [id del chip] del subdispositivo. El subdispositivo solo transmite el campo modificado. Si se modifica el conmutador del subdispositivo, solo se informa el campo "conmutadores" y no el campo "umbral de sobrecarga_00".

Este ejemplo agrega saltos de línea y espacios para facilitar la lectura, pero en realidad no hay saltos de línea ni espacios.

 //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]
        }
    ]
}
}
Atributo Tipo Descripción
interruptores Formación Cambiar el estado de todos los canales
salida Número Número de canal, [0,3]
cambiar Cadena encendido: enciende el interruptor, apagado: apaga el interruptor
subDevCom Número Estado de comunicación del subdispositivo 485. 1: La comunicación es normal, 0: Error de comunicación
sobrecargaTrig Formación Evento de activación de protección contra sobrecarga. Este campo aparece cuando se produce un evento de sobrecarga.
cse7761Com Formación Error de comunicación del subdispositivo cse7761. Los elementos de la matriz son de tipo numérico. La cantidad es 4. Los elementos 0-3 corresponden a los canales 1-4, respectivamente. [0,1] 1: Comunicación normal. 0: Error de comunicación.
sobretemperatura Formación Evento de activación de protección contra sobretemperatura del subdispositivo cse7761. Los elementos de la matriz son de tipo numérico. La cantidad es 4. Los elementos 0-3 corresponden a los canales 1-4, respectivamente. [0,1] 1: Comunicación normal. 0: Error de comunicación. Este campo aparece cuando se produce un evento de activación por sobretemperatura.
sobreLímite Formación Evento de activación de protección por sobrecarga de valor límite. Este campo aparece cuando se produce un evento de sobrecarga de valor límite.

Obtener el ID del dispositivo

URL: http://[ip]:[puerto]/zeroconf/deviceid
Formato del valor de retorno: json
Método: publicación HTTP

 { 
     "data": {} 
 }

Objeto vacío, no se requiere ningún atributo.

Cuerpo de la respuesta

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

Agregar subdispositivo

URL: http://[ip]:[puerto]/zeroconf/add_sub_devices
Formato del valor de retorno: json
Método: publicación HTTP

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

Objeto vacío, no se requiere ningún atributo.

Cuerpo de la respuesta

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

Obtener la lista de subdispositivos

URL: http://[ip]:[puerto]/zeroconf/subDevList
Formato del valor de retorno: json
Método: publicación HTTP

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

Objeto vacío, no se requiere ningún atributo.

Cuerpo de la respuesta

 {
  "seq": 2,
  "error": 0,
  "data": {
    "subDevList": [
      {
        "subDevId": "123456",
        "type": 130
      }
    ]
  }
}
Atributo Tipo Opcional Descripción
subDevId Cadena No ID del chip del subdispositivo
tipo Número No Tipo de subdispositivo. 130: Subdispositivo de cuatro canales

Interruptor de encendido/apagado

URL: http://[ip]:[puerto]/zeroconf/switches
Formato del valor de retorno: json
Método: publicación HTTP.

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "switches": [
      {
        "switch": "on",
        "outlet": 0
      },
      {
        "switch": "on",
        "outlet": 1
      },
      {
        "switch": "on",
        "outlet": 2
      },
      {
        "switch": "on",
        "outlet": 3
      }
    ]
  }
}
Atributo Tipo Opcional Descripción
cambiar Cadena No encendido: enciende el interruptor, apagado: apaga el interruptor
salida Número No Número de canal, [0,3]

Protección contra sobrecargas

URL: http://[ip]:[puerto]/zeroconf/overload
Formato del valor de retorno: json
Método: publicación HTTP

Cuerpo de la solicitud

 {
    "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":{}
    },
}
Atributo Tipo Opcional Descripción
minAP Número No Potencia mínima, [10,440000], Unidad: 0,01 W
punto máximo Número No Potencia máxima, [10,440000], Unidad: 0,01 W
minV Número No Voltaje mínimo, [9000,24000], Unidad: 0,01 V
Vmáx Número No Voltaje máximo, [9000,24000], Unidad: 0,01 V
máx. C Número No Corriente máxima, [10,2000], Unidad: 0,01 A
tiempo de retraso Número No Retraso en el apagado, [0,180]
en Número No 0: Desactivar la protección contra sobrecarga.
1: Habilitar la protección contra sobrecarga.
val Número No Límite superior o límite inferior

Nota:
-_00 representa el valor del canal 1, _01 representa el valor del canal 2, y así sucesivamente.
-Cuando el umbral superior de potencia y voltaje y el umbral inferior están todos abiertos, el umbral superior debe ser mayor que el umbral inferior.

Estoy aquí

URL: http://[ip]:[puerto]/zeroconf/iAmHere
Formato del valor de retorno: json
Método: publicación HTTP

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

Nota:
-Esta función puede encontrar el subdispositivo designado a través de la luz indicadora.

Establecer la hora del dispositivo

URL: http://[ip]:[puerto]/zeroconf/time
Formato del valor de retorno: json
Método: publicación HTTP

 {
    "deviceid":"1000001234",
    "data": {
      "timeZone":8,
      "date":"2020-12-15T06:31:14.115Z"
    }
}
Atributo Tipo Opcional Descripción
zona horaria Número No La zona horaria, [-12,+14], puede ser un decimal, como 7,5
fecha Cadena No UTC

Nota:
-Los datos históricos de los subdispositivos solo tendrán efecto después de que se configure la información de la zona horaria y no afectan las estadísticas de tiempo único.

Datos históricos del subdispositivo

URL: http://[ip]:[puerto]/zeroconf/historicalData
Formato del valor de retorno: json
Método: publicación HTTP

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "outlet": 3,
    "dateStart": "2020-07-10 05:30",
    "dateEnd": "2020-07-10 19:10"
  }
}
Atributo Tipo Opcional Descripción
salida Número No Número de canal,[0,3]
fecha de inicio Cadena No Hora de inicio; formato: “aaaa-mm-dd hh:mm”
fechaFin Cadena No Hora de finalización, formato: “aaaa-mm-dd hh:mm”

Respuesta

  1. Respuesta correcta:

El tipo de contenido del encabezado de respuesta es application/octet-stream

Devuelve datos de un archivo de valores separados por comas (CSV). El archivo contiene líneas de encabezado y de registro normal. El encabezado contiene el nombre correspondiente del campo del registro. Cada línea de registro normal es un registro de datos, y cada registro consta de 9 campos separados por comas.

Los campos en orden de izquierda a derecha son los siguientes:
| Fecha | Hora | Toma de corriente | Corriente (A) | Voltaje (V) | Potencia real (W) | Potencia reactiva (W) | Potencia aparente (W) | Consumo de energía en 5 minutos (W·s) |

p.ej
Los usuarios consultan datos de las 00:00 a las 00:20 del 10 de octubre de 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. Respuesta de error:
    Consulte la parte general .

Nota:
-Esta función se lanzará después de la versión de firmware 1.1.0.
-Admite consulta de datos hasta por 1 día.
Por ejemplo, cuando la fecha de inicio es “2020-07-10 05:30”, la fecha de fin se puede completar como “2020-07-11 00:00” como máximo.

URL: http://[ip]:[puerto]/zeroconf/monitor
Formato del valor de retorno: json
Método: publicación HTTP

 {
    "deviceid": "100000140e",
    "data": {
        "url": "http://www.123.com",
        "port": 7790,
        "subDevId": "123456",
        "outlet": 3,
        "time":180
    }
}
Atributo Tipo Opcional Descripción
URL Cadena No URL de informes de datos de monitoreo en tiempo real, formato: “ http://www.xxx.com/yyy”
puerto Número No Puerto de informes de datos de monitoreo en tiempo real, [1024,65535]
subDevId Cadena No ID del chip del subdispositivo
salida Número No Número de canal, [0,3]
tiempo Número No Duración del monitoreo en tiempo real, [1,3600], Unidad segundo

Nota:
-La URL solo admite conexiones no cifradas y el formato del informe de datos de monitoreo es una solicitud posterior a http.

Informe del dispositivo:

 {
  "subDevId": 123456,
  "outlet": 3,
  "current": 100,
  "voltage": 22000,
  "actPow": 22000,
  "reactPow": 22000,
  "apparentPow": 22000
}
Atributo Tipo Opcional Descripción
actual Número No Valor actual en tiempo real, Unidad: 0,01 A
Voltaje Número No Valor de voltaje en tiempo real, Unidad: 0,01 V
ActPow Número No Valor de actPow en tiempo real, Unidad: 0,01 W
reactPow Número No Valor de reactPow en tiempo real, Unidad: 0,01 W
aparentePow Número No Valor de potencia aparente en tiempo real, Unidad: 0,01 W

Condiciones de reporte:
-El cambio de corriente supera 0,03 A.
-El cambio de voltaje supera los 5 V.
-La potencia activa, potencia reactiva o variación de potencia aparente supera los 2 W.

Configuración de SSID y contraseña de WiFi

URL: http://[ip]:[puerto]/zeroconf/wifi
Formato del valor de retorno: json
Método: publicación HTTP

 {
  "deviceid": "100000140e",
  "data": {
    "ssid": "eWeLink",
    "password": "WeLoveIoT"
  }
}
Atributo Tipo Opcional Descripción
SSID Cadena No SSID de la red WiFi a la que se conectará el dispositivo
contraseña Cadena No Contraseña de la red WiFi a la que se conectará el dispositivo

Nota:
-La nueva configuración de wifi tendrá efecto la próxima vez que se conecte al wifi.

Firmware OTA

URL: http://[ip]:[puerto]/zeroconf/upgrade
Formato del valor de retorno: json
Método: publicación HTTP

 {
  "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"
      }
    ]
  }
}
Atributo Tipo Opcional Descripción
URL de descarga Cadena No La dirección de descarga del nuevo firmware, solo admite el protocolo HTTP, el servidor HTTP debe soportar el encabezado de solicitud Range.
suma sha256 Cadena No Suma de comprobación SHA256 (hash) del nuevo firmware, se utiliza para verificar la integridad del nuevo firmware descargado.
nombre Cadena No Nombre del firmware

Los siguientes códigos de error se agregan al campo de error del cuerpo de la respuesta:

  1. 404 No encontrado (Error en la descarga).
  2. 409 Error en la verificación del firmware.

Obtener registros de operaciones del canal

URL: http://[ip]:[puerto]/zeroconf/record
Formato del valor de retorno: json
Método: publicación HTTP

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "rangeStart": 200,
    "rangeEnd": 229
  }
}
Atributo Tipo Opcional Descripción
rangoInicio Número No Número de inicio de registros de operaciones, [0,65535]
final del rango Número No Número final de registros de operaciones, [0,65535]

Cuerpo de la respuesta

 {
    "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
            }
        ]
    }
}
Atributo Tipo Opcional Descripción
fecha Cadena No Hora de funcionamiento; formato: “aaaa-mm-dd hh:mm”
tipotrig Número No [0,3], 0: disparador de la aplicación; 1: disparador del dispositivo; 2: disparador de protección contra sobrecarga; * 3: * disparador de protección contra sobretemperatura
salida Número No Número de canal, [0,3]
acción Número No 0: Canal cerrado;
1: Canal abierto

Nota:
-Se deben cumplir las condiciones: rangeEnd>=rangeStart y rangeEnd-rangeStart<=29.

Obtener el estado del dispositivo

URL: http://[ip]:[puerto]/zeroconf/getState
Formato del valor de retorno: json
Método: publicación HTTP

p.ej

1. Obtener el estado de la puerta de enlace:

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

Cuerpo de la respuesta

 {
    "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. Obtener el estado del subdispositivo:

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

Cuerpo de la respuesta

 {
    "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
            }
        }
    }
}
Atributo Tipo Descripción
subDevCom Número Estado de comunicación del subdispositivo 485. 1: La comunicación es normal. 0: Error de comunicación.
cse7761Com Formación Error de comunicación del subdispositivo cse7761. Los elementos de la matriz son de tipo numérico. La cantidad es 4. Los elementos 0-3 corresponden a los canales 1-4, respectivamente. [0,1] 1: Comunicación normal. 0: Error de comunicación.
fwVersion Cadena La puerta de enlace es la versión de firmware del chip principal y el subdispositivo es el número de versión de firmware del subdispositivo.
subChipFwVer Cadena La versión de firmware del subchip.
conectado a wifi Bool Comprueba si la conexión wifi está conectada. Si es "falso", los valores de SSID, BSSID y SignalStrength no son válidos.
límite Objeto Rango de umbral.
ActPow Objeto Potencia real, Unidad: 0,01 W
Voltaje Objeto Voltaje, Unidad: 0,01 V
actual Objeto Corriente, Unidad: 0,01 A
mín. Número Mínimo
máximo Número Máximo

URL: http://[ip]:[puerto]/zeroconf/ops_mode
Formato del valor de retorno: json
Método: publicación HTTP

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

Nota:
“ops_mode”: “ewelink” significa volver al modo ewelink.

Anterior
API MINIR3
Próximo
Accesorio
Recientemente modificado: 2025-08-19