menù

API HTTP principale SPM

API HTTP principale SPM

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

Trasmissione dello stato del dispositivo

Quando lo stato del sottodispositivo cambia, il TXT DNS deve contenere il campo "id", che è l'[chip id] del sottodispositivo. Il sottodispositivo trasmette solo il campo modificato. Se lo switch del sottodispositivo cambia, viene segnalato solo il campo switches e il campo threshold overload_00 non viene segnalato.

In questo esempio vengono aggiunti spazi e interruzioni di riga per facilitarne la lettura, ma in realtà non ci sono né interruzioni di riga né spazi.

 //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]
        }
    ]
}
}
Attributo Tipo Descrizione
interruttori Vettore Cambia lo stato di tutti i canali
presa Numero Numero del canale, [0,3]
interruttore Corda on: accendi l'interruttore, off: spegni l'interruttore
subDevCom Numero Stato di comunicazione del sottodispositivo 485. 1: Comunicazione normale, 0: Errore di comunicazione
sovraccaricoTrig Vettore Evento di attivazione della protezione da sovraccarico. Questo campo viene visualizzato quando si verifica un evento di sovraccarico.
cse7761Com Vettore Errore di comunicazione del sottodispositivo cse7761. Gli elementi dell'array sono di tipo numerico. La quantità è 4. Gli elementi da 0 a 3 corrispondono rispettivamente ai canali 1-4. [0,1] 1: Comunicazione normale. 0: Errore di comunicazione.
sovratemperatura Vettore Evento di attivazione della protezione da sovratemperatura del sottodispositivo cse7761. Gli elementi dell'array sono di tipo numerico. La quantità è 4. Gli elementi da 0 a 3 corrispondono rispettivamente ai canali 1-4. [0,1] 1: Comunicazione normale. 0: Errore di comunicazione. Questo campo viene visualizzato quando si verifica un evento di attivazione da sovratemperatura.
oltre il limite Vettore Evento di attivazione della protezione da sovraccarico del valore limite. Questo campo viene visualizzato quando si verifica un evento di sovraccarico del valore limite.

Ottieni l'ID del dispositivo

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

 { 
     "data": {} 
 }

Oggetto vuoto, non è richiesto alcun attributo.

Corpo della risposta

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

Aggiungi sottodispositivo

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

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

Oggetto vuoto, non è richiesto alcun attributo.

Corpo della risposta

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

Ottieni l'elenco dei sottodispositivi

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

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

Oggetto vuoto, non è richiesto alcun attributo.

Corpo della risposta

 {
  "seq": 2,
  "error": 0,
  "data": {
    "subDevList": [
      {
        "subDevId": "123456",
        "type": 130
      }
    ]
  }
}
Attributo Tipo Opzionale Descrizione
subDevId Corda NO ID chip del sottodispositivo
tipo Numero NO Tipo di sottodispositivo. 130: Sottodispositivo a quattro canali

Interruttore ON/OFF

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

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "switches": [
      {
        "switch": "on",
        "outlet": 0
      },
      {
        "switch": "on",
        "outlet": 1
      },
      {
        "switch": "on",
        "outlet": 2
      },
      {
        "switch": "on",
        "outlet": 3
      }
    ]
  }
}
Attributo Tipo Opzionale Descrizione
interruttore Corda NO on: accendi l'interruttore, off: spegni l'interruttore
presa Numero NO Numero del canale, [0,3]

Protezione da sovraccarico

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

Corpo della richiesta

 {
    "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":{}
    },
}
Attributo Tipo Opzionale Descrizione
minAP Numero NO Potenza minima, [10,440000], Unità: 0,01 W
AP massimo Numero NO Potenza massima, [10,440000], Unità: 0,01 W
minV Numero NO Tensione minima, [9000,24000], Unità: 0,01 V
maxV Numero NO Tensione massima, [9000,24000], Unità: 0,01 V
maxC Numero NO Corrente massima, [10,2000], Unità: 0,01 A
ritardo Numero NO Ritardo allo spegnimento, [0,180]
esso Numero NO 0: Disattiva la protezione da sovraccarico.
1: Abilita la protezione da sovraccarico.
valore Numero NO Limite superiore o limite inferiore

Nota:
-_00 rappresenta il valore del canale 1, _01 rappresenta il valore del canale 2 e così via.
-Quando la potenza, la soglia superiore e la soglia inferiore della tensione sono tutte aperte, la soglia superiore deve essere maggiore della soglia inferiore.

Io sono qui

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

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

Nota:
-Questa funzione può trovare il sotto-dispositivo designato tramite la spia luminosa.

Imposta l'ora del dispositivo

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

 {
    "deviceid":"1000001234",
    "data": {
      "timeZone":8,
      "date":"2020-12-15T06:31:14.115Z"
    }
}
Attributo Tipo Opzionale Descrizione
fuso orario Numero NO Il fuso orario, [-12,+14], può essere un decimale, ad esempio 7,5
data Corda NO UTC

Nota:
- I dati storici dei sottodispositivi avranno effetto solo dopo l'impostazione delle informazioni sul fuso orario e non influiranno sulle statistiche relative a un singolo orario.

Dati storici del sottodispositivo

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

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "outlet": 3,
    "dateStart": "2020-07-10 05:30",
    "dateEnd": "2020-07-10 19:10"
  }
}
Attributo Tipo Opzionale Descrizione
presa Numero NO Numero del canale,[0,3]
dataInizio Corda NO Ora di inizio; formato: "aaaa-mm-gg hh:mm"
dataFine Corda NO Ora di fine, formato: "aaaa-mm-gg hh:mm"

Risposta

  1. Risposta corretta:

Il Content-Type dell'intestazione di risposta è application/octet-stream

Restituisce i dati di un file CSV (Comma-Separated Values). Il file contiene le righe di intestazione e di record normale. L'intestazione del titolo contiene il nome corrispondente del campo del record. Ogni riga di record normale è un record di dati e ogni record è composto da 9 campi, separati da virgole.

I campi nell'ordine da sinistra a destra sono i seguenti:
| Data | ora | Presa | Corrente (A) | Tensione (V) | Potenza reale (W) | Potenza reattiva (W) | Potenza apparente (W) | Consumo energetico 5 minuti (W·s) |

per esempio
Gli utenti interrogano i dati dalle 00:00 alle 00:20 del 10 ottobre 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. Risposta di errore:
    Fare riferimento alla parte generale .

Nota:
-Questa funzione verrà rilasciata dopo la versione firmware 1.1.0.
-Supporta i dati delle query fino a 1 giorno.
Ad esempio, quando dateStart è "2020-07-10 05: 30", dateEnd può essere compilato al massimo come "2020-07-11 00: 00".

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

 {
    "deviceid": "100000140e",
    "data": {
        "url": "http://www.123.com",
        "port": 7790,
        "subDevId": "123456",
        "outlet": 3,
        "time":180
    }
}
Attributo Tipo Opzionale Descrizione
URL Corda NO URL di segnalazione dei dati di monitoraggio in tempo reale, formato: " http://www.xxx.com/yyy"
porta Numero NO Porta di segnalazione dei dati di monitoraggio in tempo reale, [1024,65535]
subDevId Corda NO ID chip del sottodispositivo
presa Numero NO Numero del canale, [0,3]
tempo Numero NO Durata del monitoraggio in tempo reale, [1,3600], Unità secondo

Nota:
-L'URL supporta solo connessioni non crittografate e il formato del report dei dati di monitoraggio è http post request.

Rapporto sul dispositivo:

 {
  "subDevId": 123456,
  "outlet": 3,
  "current": 100,
  "voltage": 22000,
  "actPow": 22000,
  "reactPow": 22000,
  "apparentPow": 22000
}
Attributo Tipo Opzionale Descrizione
attuale Numero NO Valore corrente in tempo reale, unità: 0,01 A
voltaggio Numero NO Valore di tensione in tempo reale, unità: 0,01 V
actPow Numero NO Valore actPow in tempo reale, unità: 0,01 W
reagirePow Numero NO Valore reactPow in tempo reale, unità: 0,01 W
apparentPow Numero NO Valore apparentPow in tempo reale, unità: 0,01 W

Condizioni di segnalazione:
-La variazione di corrente supera 0,03 A.
-La variazione di tensione supera i 5 V.
- La variazione della potenza attiva, della potenza reattiva o della potenza apparente supera i 2 W.

Impostazione SSID e password WiFi

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

 {
  "deviceid": "100000140e",
  "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

Nota:
-La nuova impostazione Wi-Fi avrà effetto la prossima volta che ti connetterai al Wi-Fi.

Firmware OTA

URL: http://[ip]:[porta]/zeroconf/upgrade
Formato del valore restituito: json
Metodo: post 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"
      }
    ]
  }
}
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, utilizzato per verificare l'integrità del nuovo firmware scaricato.
nome Corda NO Nome del firmware

I seguenti codici di errore vengono aggiunti al campo di errore del corpo della risposta:

  1. 404 Non trovato (download fallito).
  2. 409 Verifica del firmware fallita.

Ottieni i record delle operazioni del canale

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

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "rangeStart": 200,
    "rangeEnd": 229
  }
}
Attributo Tipo Opzionale Descrizione
intervalloInizio Numero NO Numero iniziale di record di operazioni, [0,65535]
intervalloEnd Numero NO Numero finale di record di operazioni, [0,65535]

Corpo della risposta

 {
    "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
            }
        ]
    }
}
Attributo Tipo Opzionale Descrizione
data Corda NO Tempo di funzionamento; formato: “aaaa-mm-gg hh:mm”
trigType Numero NO [0,3], 0: Trigger APP; 1: Trigger dispositivo; 2: Trigger protezione sovraccarico; * 3: * Trigger protezione sovratemperatura
presa Numero NO Numero del canale, [0,3]
azione Numero NO 0: Canale chiuso;
1: Canale aperto

Nota:
- Devono essere soddisfatte le condizioni: rangeEnd>=rangeStart e rangeEnd-rangeStart<=29.

Ottieni lo stato del dispositivo

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

per esempio

1. Ottieni lo stato del gateway:

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

Corpo della risposta

 {
    "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. Ottieni lo stato del sottodispositivo:

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

Corpo della risposta

 {
    "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
            }
        }
    }
}
Attributo Tipo Descrizione
subDevCom Numero Stato di comunicazione del sottodispositivo 485. 1: Comunicazione normale. 0: Errore di comunicazione.
cse7761Com Vettore Errore di comunicazione del sottodispositivo cse7761. Gli elementi dell'array sono di tipo numerico. La quantità è 4. Gli elementi da 0 a 3 corrispondono rispettivamente ai canali 1-4. [0,1] 1: Comunicazione normale. 0: Errore di comunicazione.
fwVersion Corda Il gateway è la versione del firmware del chip principale, mentre il sottodispositivo è il numero di versione del firmware del sottodispositivo.
subChipFwVer Corda La versione del firmware del sub-chip.
wifiCinned Bool Controlla se il Wi-Fi è connesso. Se impostato su False, i valori di SSID, BSSID e SignalStrength non sono validi.
soglia Oggetto Intervallo di soglia.
actPow Oggetto Potenza reale, unità: 0,01 W
voltaggio Oggetto Tensione, unità: 0,01 V
attuale Oggetto Corrente, unità: 0,01 A
minimo Numero Minimo
massimo Numero Massimo

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

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

Nota:
“ops_mode”: “ewelink” significa tornare alla modalità ewelink.

Precedente
API MINIR3
Prossimo
Accessorio
Modificato di recente: 2025-08-19