API HTTP MINIR3
Il tipo di dispositivo è diylight (type=diylight) e la versione dell'interfaccia API del dispositivo è 1 (apivers=1).
NOTA: MINIR3 è un dispositivo monocanale, ma utilizza un protocollo multicanale. Il protocollo può controllare gli switch dei canali 1, 2, 3 e 4. MINIR3 utilizza il primo canale.
Interruttore ON/OFF
URL: http://[ip]:[porta]/zeroconf/switches
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "1000000001",
"data": {
"switches": [
{ "switch": "on", "outlet": 0 },
{ "switch": "on", "outlet": 1 },
{ "switch": "off", "outlet": 2 },
{ "switch": "off", "outlet": 3 }
]
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
interruttore | Corda | NO | on: accendi l'interruttore, off: spegni l'interruttore |
presa | Numero | NO | Intervalli: [0,3]; Rappresenta i canali: 1-4 |
Avanzamento lento
URL: http://[ip]:[porta]/zeroconf/pulses
Formato del valore restituito: json
Metodo: post HTTP
Corpo della richiesta
{
"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
}
]
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
impulsi | Vettore | NO | Elenco delle impostazioni di avanzamento lento |
impulso | Corda | NO | on: attiva la funzione di avanzamento a impulsi; off: disabilita la funzione di avanzamento lento |
larghezza | Numero | SÌ | Richiesto quando "pulse" è attivo, durata dell'impulso, intero positivo, ms, supporta solo multipli di 500 nell'intervallo 500~3599500 |
interruttore | Corda | NO | È possibile impostare su on o off. Lo stato dell'interruttore al termine dell'incremento. Se impostato su on, dopo aver spento il dispositivo, allo scadere del tempo di incremento, il dispositivo si riaccenderà. |
Stato di accensione
URL: http://[ip]:[porta]/zeroconf/startups
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "1000000001",
"data": {
"configure": [
{ "startup": "on", "outlet": 0 },
{ "startup": "off", "outlet": 1 },
{ "startup": "off", "outlet": 2 },
{ "startup": "stay", "outlet": 3 }
]
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
avvio | Corda | NO | acceso: il dispositivo è acceso quando l'alimentazione viene ripristinata. spento: il dispositivo è spento quando l'alimentazione viene ripristinata. resta: lo stato del dispositivo rimane uguale a quello precedente all'interruzione dell'alimentazione |
Potenza del segnale WiFi
URL: http://[ip]:[porta]/zeroconf/signal_strength
Formato del valore restituito: json
Metodo: post HTTP
Corpo della richiesta
{
"deviceid": "",
"data": { }
}
Oggetto vuoto, non è richiesto alcun attributo.
Corpo della risposta
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
potenza del segnale | Numero | NO | La potenza del segnale WiFi attualmente ricevuto dal dispositivo, numero intero negativo, dBm |
Impostazione SSID e password WiFi
URL: http://[ip]:[porta]/zeroconf/wifi
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
ssid | Corda | NO | SSID della rete WiFi a cui si connetterà il dispositivo |
password | Corda | NO | password della rete WiFi a cui si connetterà il dispositivo |
Sblocco della funzione OTA
URL: http://[ip]:[porta]/zeroconf/ota_unlock
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": { }
}
Oggetto vuoto, non è richiesto alcun attributo.
I seguenti codici di errore vengono aggiunti al campo di errore del corpo della risposta:
– 500: l'operazione non è riuscita e il dispositivo presenta errori. Ad esempio, l'ID dispositivo o l'errore della chiave API non sono autenticati dal servizio di sblocco OTA del fornitore;
– 503: L'operazione non è riuscita e il dispositivo non è in grado di richiedere il servizio di sblocco OTA del produttore. Ad esempio, il dispositivo non è connesso al Wi-Fi, non è connesso a Internet, il servizio di sblocco OTA del produttore non è disponibile, ecc.
Nuovo firmware OTA
URL: http://[ip]:[porta]/zeroconf/ota_flash
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Attributo | Tipo | Opzionale | Descrizione |
---|---|---|---|
URL di download | Corda | NO | L'indirizzo di download del nuovo firmware supporta solo il protocollo HTTP, il server HTTP deve supportare l'intestazione della richiesta Range. |
sha256sum | Corda | NO | Checksum SHA256 (hash) del nuovo firmware, serve per verificare l'integrità del nuovo firmware scaricato |
I seguenti codici di errore vengono aggiunti al campo di errore del corpo della risposta:
– 403: L'operazione non è riuscita e la funzione OTA non è stata sbloccata. È necessario prima chiamare correttamente l'interfaccia "3.2.6 Sblocco funzione OTA".
– 408: L'operazione non è riuscita e il firmware pre-download è scaduto. È possibile provare a richiamare questa interfaccia dopo aver ottimizzato l'ambiente di rete o aumentato la velocità di rete.
– 413: L'operazione non è riuscita e la dimensione del corpo della richiesta è troppo grande. La dimensione del nuovo firmware OTA supera il limite di dimensione del firmware consentito dal dispositivo.
– 424: Operazione non riuscita e il firmware non può essere scaricato. L'indirizzo URL non è raggiungibile (indirizzo IP non raggiungibile, protocollo HTTP non raggiungibile, firmware inesistente, server non supporta l'intestazione di richiesta Range, ecc.)
– 471: Operazione non riuscita e controllo di integrità del firmware non riuscito. Il checksum SHA256 del nuovo firmware scaricato non corrisponde al valore del campo sha256sum del corpo della richiesta. Il riavvio del dispositivo causerà un problema di bricking.
Nota:
- La dimensione massima del firmware è 508 KB.
- La modalità di lettura flash SPI deve essere DOUT.
Ottieni informazioni sul dispositivo
URL: http://[ip]:[porta]/zeroconf/info
Formato del valore restituito: json
Metodo: post HTTP
{
"deviceid": "",
"data": { }
}
Oggetto vuoto, non è richiesto alcun attributo.
Corpo della risposta
{
"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:
- Monitora e analizza il record DNS TXT del dispositivo per ottenere informazioni sul dispositivo in tempo reale.