cardápio

API MINIR3

API HTTP MINIR3

O tipo de dispositivo é diylight (type=diylight) e a versão da interface da API do dispositivo é 1 (apivers=1).

NOTA: O MINIR3 é um dispositivo de canal único, mas utiliza um protocolo multicanal. O protocolo pode controlar as chaves dos canais 1, 2, 3 e 4. O MINIR3 utiliza o primeiro canal.

Interruptor liga/desliga

URL: http://[ip]:[porta]/zeroconf/switches
Formato do valor de retorno: json
Método: postagem HTTP

 {
"deviceid": "1000000001",
"data": {
"switches": [
{ "switch": "on", "outlet": 0 },
{ "switch": "on", "outlet": 1 },
{ "switch": "off", "outlet": 2 },
{ "switch": "off", "outlet": 3 }
]
}
}
Atributo Tipo Opcional Descrição
trocar Corda Não on: ligar o interruptor, off: desligar o interruptor
tomada Número Não Intervalos: [0,3]; Representa canais: 1-4

Avançando

URL: http://[ip]:[porta]/zeroconf/pulses
Formato do valor de retorno: json
Método: postagem HTTP

Corpo da solicitação

 {
"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 Descrição
pulsos Variedade Não Lista de configurações de avanço gradual
pulso Corda Não ligado: ativar a função de avanço gradual;
desligado: desabilita a função de avanço gradual
largura Número Sim Obrigatório quando “pulso” está ativado, duração do pulso, inteiro positivo, ms, suporta apenas múltiplos de 500 no intervalo de 500 a 3599500
trocar Corda Não Você pode definir como ligado ou desligado. O estado do interruptor após o término do avanço gradual. Se definido como ligado, após desligar o dispositivo, quando o tempo de avanço gradual terminar, o dispositivo será ligado.

Estado de energia ligada

URL: http://[ip]:[porta]/zeroconf/startups
Formato do valor de retorno: json
Método: postagem HTTP

 {
"deviceid": "1000000001",
"data": {
"configure": [
{ "startup": "on", "outlet": 0 },
{ "startup": "off", "outlet": 1 },
{ "startup": "off", "outlet": 2 },
{ "startup": "stay", "outlet": 3 }
]
}
}
Atributo Tipo Opcional Descrição
comece Corda Não ligado: o dispositivo está ligado quando a alimentação elétrica é recuperada.
desligado: o dispositivo está desligado quando a alimentação elétrica é recuperada.
permanecer: o status do dispositivo permanece o mesmo que o estado antes do corte de energia

Intensidade do sinal WiFi

URL: http://[ip]:[porta]/zeroconf/signal_strength
Formato do valor de retorno: json
Método: postagem HTTP

Corpo da solicitação

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

Objeto vazio, nenhum atributo é necessário.

Corpo de resposta

 { 
    "seq": 2, 
    "error": 0, 
    "data": { 
        "signalStrength": -67 
	}
}
Atributo Tipo Opcional Descrição
força do sinal Número Não A intensidade do sinal WiFi atualmente recebido pelo dispositivo, inteiro negativo, dBm

Configuração de SSID e senha do WiFi

URL: http://[ip]:[porta]/zeroconf/wifi
Formato do valor de retorno: json
Método: postagem HTTP

 { 
    "deviceid": "", 
    "data": {
        "ssid": "eWeLink", 
        "password": "WeLoveIoT"
    } 
 }
Atributo Tipo Opcional Descrição
SSID Corda Não SSID da rede WiFi à qual o dispositivo irá se conectar
senha Corda Não senha da rede WiFi à qual o dispositivo irá se conectar

Desbloqueio de função OTA

URL: http://[ip]:[porta]/zeroconf/ota_unlock
Formato do valor de retorno: json
Método: postagem HTTP

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

Objeto vazio, nenhum atributo é necessário.

Os seguintes códigos de falha são adicionados ao campo de erro do corpo da resposta:
500: A operação falhou e o dispositivo apresenta erros. Por exemplo, erro de ID do dispositivo ou chave de API que não foi autenticado pelo serviço de desbloqueio OTA do fornecedor;
503: A operação falhou e o dispositivo não consegue solicitar o serviço de desbloqueio OTA do fornecedor. Por exemplo, o dispositivo não está conectado ao Wi-Fi, não está conectado à internet, o serviço de desbloqueio OTA do fabricante está inativo, etc.

Novo firmware OTA

URL: http://[ip]:[porta]/zeroconf/ota_flash
Formato do valor de retorno: json
Método: postagem HTTP

 { 
    "deviceid": "", 
    "data": {
        "downloadUrl": "http://192.168.1.184/ota/new_rom.bin", 
        "sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
    } 
 }
Atributo Tipo Opcional Descrição
URL de download Corda Não O endereço de download do novo firmware suporta apenas o protocolo HTTP, o servidor HTTP deve suportar o cabeçalho de solicitação Range.
sha256sum Corda Não Soma de verificação SHA256 (hash) do novo firmware, é usado para verificar a integridade do novo firmware baixado

Os seguintes códigos de falha são adicionados ao campo de erro do corpo da resposta:
403: A operação falhou e a função OTA não foi desbloqueada. A interface “3.2.6 Desbloqueio da função OTA” deve ser chamada com sucesso primeiro.
408: A operação falhou e o tempo limite do firmware de pré-download expirou. Você pode tentar chamar esta interface novamente após otimizar o ambiente de rede ou aumentar a velocidade da rede.
413: A operação falhou e o tamanho do corpo da solicitação é muito grande. O tamanho do novo firmware OTA excede o limite de tamanho de firmware permitido pelo dispositivo.
424: A operação falhou e o firmware não pôde ser baixado. O endereço URL está inacessível (endereço IP inacessível, protocolo HTTP inacessível, firmware inexistente, servidor não suporta cabeçalho de solicitação Range, etc.)
471: A operação falhou e a verificação de integridade do firmware falhou. A soma de verificação SHA256 do novo firmware baixado não corresponde ao valor do campo sha256sum do corpo da solicitação. Reiniciar o dispositivo causará problemas de bricking.

Observação:

  • O tamanho máximo do firmware é 508 KB.
  • O modo de leitura flash SPI deve ser DOUT.

Obter informações do dispositivo

URL: http://[ip]:[porta]/zeroconf/info
Formato do valor de retorno: json
Método: postagem HTTP

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

Objeto vazio, nenhum atributo é necessário.

Corpo de resposta

 {
"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
}
}

Observação:

  • Monitore e analise o registro DNS TXT do dispositivo para obter informações do dispositivo em tempo real.
Anterior
API D1
Próximo
API HTTP principal do SPM
última modificação: 2025-08-19