menù

API D1

API HTTP D1

Il tipo di dispositivo è diylight (type=diylight) e la versione dell'interfaccia API del dispositivo è 1 (apivers=1).

Interruttore ON/OFF

URL: http://[ip]:[porta]/zeroconf/switch
Formato del valore restituito: json
Metodo: post HTTP

 { 
    "deviceid": "", 
    "data": {
        "switch": "on" 
    } 
 }
Attributo Tipo Opzionale Descrizione
interruttore Corda NO on: accendi l'interruttore, off: spegni l'interruttore

Dimmerabile

URL: http://[ip]:[porta]/zeroconf/dimmable
Formato del valore restituito: json
Metodo: post HTTP

 { 
    "deviceid": "", 
    "data": {
        "switch": "on", 
        "brightness": 30,
        "mode": 0,
        "brightmin": 10, 
        "brightmax": 255
    } 
 }
Attributo Tipo Opzionale Descrizione
interruttore Corda NO Il campo “switch” deve essere “on”
luminosità Numero NO Luminosità della luce, [1~100], numero intero positivo
modalità Numero Modalità dispositivo, [0-255], numero intero positivo
brightmin Numero Luminosità minima, [0~254], intero positivo
brightmax Numero Luminosità massima, [1~255], numero intero positivo

Nota:

  • Per regolare la luminosità della luce, la luce deve essere "accesa", quindi se si invia una richiesta API Dimmble con "switch": "off", verrà segnalato l'errore "400" come operazione fallita.
  • Il parametro "mode" viene utilizzato per lo sviluppo di APP per definire diverse modalità con luminosità specifica e sincronizzare il contenuto delle modalità del dispositivo quando si condivide il funzionamento del dispositivo con altri.
    Ad esempio:
    L'APP dello sviluppatore definisce due modalità (modalità 1: luminosità=5; modalità 2: luminosità=50) con cui il dispositivo può raggiungere una luminosità specifica tramite pulsanti; il parametro "modalità" fornisce il modo per sincronizzare la modalità del dispositivo per tutti gli utenti condivisi.
  • Il valore di brightmin dovrebbe essere inferiore a brightmax.

Stato di accensione

URL: http://[ip]:[porta]/zeroconf/startup
Formato del valore restituito: json
Metodo: post HTTP

 { 
    "deviceid": "", 
    "data": {
        "startup": "stay"
    } 
 }
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": {
        "switch": "off",
        "startup": "off",
        "brightness": 30,
        "mode": 0,
        "brightmin": 10, 
        "brightmax": 255,
        "ssid": "eWeLink",
        "otaUnlock": false,
        "fwVersion": "3.5.0",
        "deviceid": "100000140e",
        "bssid": "ec:17:2f:3d:15:e",
        "signalStrength": -25
	}
 }

Nota:

  • Monitora e analizza il record DNS TXT del dispositivo per ottenere informazioni sul dispositivo in tempo reale.
Precedente
API B02-BL/B05-BL
Prossimo
API MINIR3
Modificato di recente: 2025-08-19