API HTTP MINIR3
El tipo de dispositivo es diylight (type=diylight) y la versión de la interfaz API del dispositivo es 1 (apivers=1).
NOTA: MINIR3 es un dispositivo monocanal, pero utiliza un protocolo multicanal. Este protocolo puede controlar los interruptores de los canales 1, 2, 3 y 4. MINIR3 utiliza el primer canal.
Interruptor de encendido/apagado
URL: http://[ip]:[puerto]/zeroconf/switches
Formato del valor de retorno: json
Método: publicación HTTP
{
"deviceid": "1000000001",
"data": {
"switches": [
{ "switch": "on", "outlet": 0 },
{ "switch": "on", "outlet": 1 },
{ "switch": "off", "outlet": 2 },
{ "switch": "off", "outlet": 3 }
]
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
cambiar | Cadena | No | encendido: enciende el interruptor, apagado: apaga el interruptor |
salida | Número | No | Rangos: [0,3]; Representa canales: 1-4 |
Avanzando lentamente
URL: http://[ip]:[puerto]/zeroconf/pulses
Formato del valor de retorno: json
Método: publicación HTTP
Cuerpo de la solicitud
{
"deviceid": "1000000001",
"data": {
"pulses":[
{
"pulse":"on",
"switch":"on",
"width":2000,
"outlet":0
},
{
"pulse":"on",
"switch":"off",
"width":2000,
"outlet":1
},
{
"pulse":"off",
"switch":"on",
"width":2000,
"outlet":2
},
{
"pulse":"off",
"switch":"on",
"width":2000,
"outlet":3
}
]
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
pulsos | Formación | No | Lista de ajustes de avance lento |
legumbres | Cadena | No | encendido: activa la función de avance lento; apagado: deshabilitar la función de avance lento |
ancho | Número | Sí | Obligatorio cuando “pulso” está activado, duración del pulso, entero positivo, ms, solo admite múltiplos de 500 en un rango de 500 a 3599500 |
cambiar | Cadena | No | Puede activarlo o desactivarlo. El estado del interruptor tras finalizar el avance lento. Si está activado, tras apagar el dispositivo, este se encenderá al finalizar el avance lento. |
Estado de encendido
URL: http://[ip]:[puerto]/zeroconf/startups
Formato del valor de retorno: json
Método: publicación HTTP
{
"deviceid": "1000000001",
"data": {
"configure": [
{ "startup": "on", "outlet": 0 },
{ "startup": "off", "outlet": 1 },
{ "startup": "off", "outlet": 2 },
{ "startup": "stay", "outlet": 3 }
]
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
puesta en marcha | Cadena | No | encendido: el dispositivo está encendido cuando se recupera el suministro de energía. apagado: el dispositivo se apaga cuando se recupera el suministro de energía. Permanecer: el estado del dispositivo se mantiene igual que el estado antes de que se cortara la fuente de alimentación. |
Intensidad de la señal WiFi
URL: http://[ip]:[puerto]/zeroconf/signal_strength
Formato del valor de retorno: json
Método: publicación HTTP
Cuerpo de la solicitud
{
"deviceid": "",
"data": { }
}
Objeto vacío, no se requiere ningún atributo.
Cuerpo de la respuesta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Atributo | Tipo | Opcional | Descripción |
---|---|---|---|
intensidad de la señal | Número | No | La intensidad de la señal WiFi que recibe actualmente el dispositivo, entero negativo, dBm |
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": "",
"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 |
Desbloqueo de la función OTA
URL: http://[ip]:[puerto]/zeroconf/ota_unlock
Formato del valor de retorno: json
Método: publicación HTTP
{
"deviceid": "",
"data": { }
}
Objeto vacío, no se requiere ningún atributo.
Los siguientes códigos de error se agregan al campo de error del cuerpo de la respuesta:
– 500: La operación falló y el dispositivo presenta errores. Por ejemplo, un error en el ID del dispositivo o en la clave API, que no está autenticado por el servicio de desbloqueo OTA del proveedor.
– 503: La operación falló y el dispositivo no puede solicitar el servicio de desbloqueo OTA del proveedor. Por ejemplo, el dispositivo no está conectado a Wi-Fi, no está conectado a Internet, el servicio de desbloqueo OTA del fabricante no funciona, etc.
Nuevo firmware OTA
URL: http://[ip]:[puerto]/zeroconf/ota_flash
Formato del valor de retorno: json
Método: publicación HTTP
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
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 |
Los siguientes códigos de error se agregan al campo de error del cuerpo de la respuesta:
– 403: La operación falló y la función OTA no se desbloqueó. Primero se debe acceder correctamente a la interfaz «3.2.6 Desbloqueo de la función OTA».
– 408: La operación falló y se agotó el tiempo de espera de la predescarga del firmware. Puede intentar acceder a esta interfaz de nuevo después de optimizar el entorno de red o aumentar la velocidad de la red.
– 413: La operación falló y el tamaño del cuerpo de la solicitud es demasiado grande. El tamaño del nuevo firmware OTA supera el límite de tamaño de firmware permitido por el dispositivo.
– 424: La operación falló y no se pudo descargar el firmware. La dirección URL es inaccesible (dirección IP inaccesible, protocolo HTTP inaccesible, firmware inexistente, el servidor no admite el encabezado de solicitud de rango, etc.).
– 471: La operación falló y la comprobación de integridad del firmware falló. La suma de comprobación SHA256 del nuevo firmware descargado no coincide con el valor del campo "suma SHA256" del cuerpo de la solicitud. Reiniciar el dispositivo provocará un problema de bloqueo.
Nota:
- El tamaño máximo del firmware es 508 KB.
- El modo de lectura flash SPI debe ser DOUT.
Obtener información del dispositivo
URL: http://[ip]:[puerto]/zeroconf/info
Formato del valor de retorno: json
Método: publicación HTTP
{
"deviceid": "",
"data": { }
}
Objeto vacío, no se requiere ningún atributo.
Cuerpo de la respuesta
{
"seq":2,
"error":0,
"data":{
"switches":[
{
"switch":"on",
"outlet":0
},
{
"switch":"off",
"outlet":1
},
{
"switch":"off",
"outlet":2
},
{
"switch":"off",
"outlet":3
}
],
"configure":[
{
"outlet":0,
"startup":"on"
},
{
"startup":"stay",
"outlet":1
},
{
"outlet":2,
"startup":"off"
},
{
"outlet":3,
"startup":"off"
}
],
"sledOnline":"on",
"pulses":[
{
"pulse":"on",
"switch":"on",
"width":2000,
"outlet":0
},
{
"pulse":"off",
"switch":"on",
"width":2000,
"outlet":1
},
{
"pulse":"off",
"switch":"on",
"width":2000,
"outlet":2
},
{
"pulse":"off",
"switch":"on",
"width":2000,
"outlet":3
}
],
"fwVersion" : "3.4.1",
"deviceid":"100000140e",
"bssid":"xx:xx:xx:xx:xx:xx",
"signalStrength":-67
}
}
Nota:
- Supervise y analice el registro DNS TXT del dispositivo para obtener la información del dispositivo en tiempo real.