Speisekarte

SPM-Haupt-HTTP-API

SPM-Haupt-HTTP-API

Der Gerätetyp ist diy_meter (Typ=diy_meter) und die API-Schnittstellenversion des Geräts ist 1 (APIvers=1).

Gerätestatusübertragung

Ändert sich der Status des Subgeräts, muss die DNS-TXT das Feld „id“ enthalten, das die Chip-ID des Subgeräts darstellt. Das Subgerät sendet nur das geänderte Feld. Ändert sich der Switch des Subgeräts, wird nur das Switch-Feld gemeldet, das Feld „threshold overload_00“ wird nicht gemeldet.

In diesem Beispiel werden Zeilenumbrüche und Leerzeichen hinzugefügt, um die Lesbarkeit zu verbessern. Tatsächlich sind jedoch keine Zeilenumbrüche und Leerzeichen vorhanden.

 //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]
        }
    ]
}
}
Attribut Typ Beschreibung
Schalter Array Schaltzustand aller Kanäle
Steckdose Nummer Kanalnummer, [0,3]
schalten Zeichenfolge an: Schalter einschalten, aus: Schalter ausschalten
Unterentwicklungskommissariat Nummer Kommunikationsstatus des Untergeräts 485. 1: Kommunikation ist normal, 0: Kommunikationsfehler
ÜberlastungsTrig Array Überlastschutz-Auslöseereignis. Dieses Feld wird angezeigt, wenn ein Überlastungsereignis vorliegt.
cse7761Com Array Kommunikationsfehler beim Subgerät cse7761. Die Array-Elemente sind Zahlen. Die Anzahl ist 4. Die Elemente 0–3 entsprechen jeweils den Kanälen 1–4. [0,1] 1: Kommunikation ist normal. 0: Kommunikationsfehler.
Übertemperatur Array Auslöseereignis für Übertemperaturschutz des Subgeräts cse7761. Die Array-Elemente sind Zahlen. Die Anzahl beträgt 4. Die Elemente 0–3 entsprechen jeweils den Kanälen 1–4. [0,1] 1: Kommunikation normal. 0: Kommunikationsfehler. Dieses Feld wird angezeigt, wenn ein Übertemperatur-Auslöseereignis vorliegt.
Überlimit Array Auslöseereignis Grenzwertüberlastschutz. Dieses Feld wird angezeigt, wenn ein Grenzwertüberlastungsereignis vorliegt.

Holen Sie sich die Geräte-ID

URL: http://[ip]:[port]/zeroconf/deviceid
Rückgabewertformat: json
Methode: HTTP-Post

 { 
     "data": {} 
 }

Leeres Objekt, kein Attribut erforderlich.

Antworttext

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

Untergerät hinzufügen

URL: http://[ip]:[port]/zeroconf/add_sub_devices
Rückgabewertformat: json
Methode: HTTP-Post

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

Leeres Objekt, kein Attribut erforderlich.

Antworttext

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

Liste der Untergeräte abrufen

URL: http://[ip]:[port]/zeroconf/subDevList
Rückgabewertformat: json
Methode: HTTP-Post

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

Leeres Objekt, kein Attribut erforderlich.

Antworttext

 {
  "seq": 2,
  "error": 0,
  "data": {
    "subDevList": [
      {
        "subDevId": "123456",
        "type": 130
      }
    ]
  }
}
Attribut Typ Optional Beschreibung
Untergeräte-ID Zeichenfolge NEIN Chip-ID des Untergeräts
Typ Nummer NEIN Typ des Subgeräts. 130: Vierkanal-Subgerät

EIN/AUS-Schalter

URL: http://[ip]:[port]/zeroconf/switches
Rückgabewertformat: json
Methode: HTTP-Post.

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "switches": [
      {
        "switch": "on",
        "outlet": 0
      },
      {
        "switch": "on",
        "outlet": 1
      },
      {
        "switch": "on",
        "outlet": 2
      },
      {
        "switch": "on",
        "outlet": 3
      }
    ]
  }
}
Attribut Typ Optional Beschreibung
schalten Zeichenfolge NEIN an: Schalter einschalten, aus: Schalter ausschalten
Steckdose Nummer NEIN Kanalnummer, [0,3]

Überlastschutz

URL: http://[ip]:[port]/zeroconf/overload
Rückgabewertformat: json
Methode: HTTP-Post

Anforderungstext

 {
    "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":{}
    },
}
Attribut Typ Optional Beschreibung
minAP Nummer NEIN Min. Leistung, [10,440000], Einheit: 0,01 W
maxAP Nummer NEIN Max. Leistung, [10,440000], Einheit: 0,01 W
minV Nummer NEIN Min. Spannung, [9000,24000], Einheit: 0,01 V
maxV Nummer NEIN Max. Spannung, [9000,24000], Einheit: 0,01 V
maxC Nummer NEIN Max. Strom, [10,2000], Einheit: 0,01 A
Verzögerungszeit Nummer NEIN Verzögerung bis zum Ausschalten, [0,180]
de Nummer NEIN 0: Überlastschutz deaktivieren.
1: Überlastschutz aktivieren.
Wert Nummer NEIN Obergrenze oder Untergrenze

Notiz:
-_00 stellt den Wert von Kanal 1 dar, _01 stellt den Wert von Kanal 2 dar und so weiter.
-Wenn die obere und untere Schwelle für Leistung und Spannung alle offen sind, muss die obere Schwelle größer als die untere Schwelle sein.

Ich bin hier

URL: http://[ip]:[port]/zeroconf/iAmHere
Rückgabewertformat: json
Methode: HTTP-Post

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

Notiz:
-Diese Funktion kann das angegebene Untergerät über die Anzeigeleuchte finden.

Gerätezeit einstellen

URL: http://[ip]:[port]/zeroconf/time
Rückgabewertformat: json
Methode: HTTP-Post

 {
    "deviceid":"1000001234",
    "data": {
      "timeZone":8,
      "date":"2020-12-15T06:31:14.115Z"
    }
}
Attribut Typ Optional Beschreibung
Zeitzone Nummer NEIN Zeitzone, [-12,+14], kann eine Dezimalzahl sein, z. B. 7,5
Datum Zeichenfolge NEIN koordinierte Weltzeit

Notiz:
- Die historischen Daten der Untergeräte werden erst wirksam, nachdem die Zeitzoneninformationen festgelegt wurden, und haben keinen Einfluss auf die Einzelzeitstatistik.

Historische Daten des Untergeräts

URL: http://[ip]:[port]/zeroconf/historicalData
Rückgabewertformat: json
Methode: HTTP-Post

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "outlet": 3,
    "dateStart": "2020-07-10 05:30",
    "dateEnd": "2020-07-10 19:10"
  }
}
Attribut Typ Optional Beschreibung
Steckdose Nummer NEIN Kanalnummer,[0,3]
dateStart Zeichenfolge NEIN Startzeit; Format: „jjjj-mm-tt hh:mm“
dateEnd Zeichenfolge NEIN Endzeit, Format: „jjjj-mm-tt hh:mm“

Antwort

  1. Richtige Antwort:

Der Inhaltstyp des Antwortheaders ist application/octet-stream

Gibt Daten im CSV-Format (Comma-Separated Values) zurück. Die Datei enthält Kopfzeilen und normale Datensatzzeilen. Die Titelzeile enthält den entsprechenden Namen des Datensatzfelds. Jede normale Datensatzzeile ist ein Datensatz, und jeder Datensatz besteht aus neun durch Kommas getrennten Feldern.

Die Felder lauten in der Reihenfolge von links nach rechts wie folgt:
| Datum | Uhrzeit | Steckdose | Strom (A) | Spannung (V) | Wirkleistung (W) | Blindleistung (W) | Scheinleistung (W) | 5 Minuten Stromverbrauch (W·s) |

z.B
Benutzer fragen am 10. Oktober 2021 zwischen 00:00 und 00:20 Uhr Daten ab.

 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. Fehlerantwort:
    Siehe den allgemeinen Teil .

Notiz:
-Diese Funktion wird nach der Firmware-Version 1.1.0 veröffentlicht.
- Unterstützt Abfragedaten für bis zu 1 Tag.
Wenn dateStart beispielsweise „2020-07-10 05:30“ ist, kann dateEnd höchstens als „2020-07-11 00:00“ ausgefüllt werden.

URL: http://[ip]:[port]/zeroconf/monitor
Rückgabewertformat: json
Methode: HTTP-Post

 {
    "deviceid": "100000140e",
    "data": {
        "url": "http://www.123.com",
        "port": 7790,
        "subDevId": "123456",
        "outlet": 3,
        "time":180
    }
}
Attribut Typ Optional Beschreibung
URL Zeichenfolge NEIN URL zur Berichterstattung über Echtzeitüberwachungsdaten, Format: „ http://www.xxx.com/yyy“
Hafen Nummer NEIN Port für die Meldung von Echtzeitüberwachungsdaten, [1024,65535]
Untergeräte-ID Zeichenfolge NEIN Chip-ID des Untergeräts
Steckdose Nummer NEIN Kanalnummer, [0,3]
Zeit Nummer NEIN Echtzeitüberwachungsdauer, [1,3600], Einheit Sekunde

Notiz:
-Die URL unterstützt nur unverschlüsselte Verbindungen und das Format des Überwachungsdatenberichts ist eine HTTP-Post-Anforderung.

Gerätebericht:

 {
  "subDevId": 123456,
  "outlet": 3,
  "current": 100,
  "voltage": 22000,
  "actPow": 22000,
  "reactPow": 22000,
  "apparentPow": 22000
}
Attribut Typ Optional Beschreibung
aktuell Nummer NEIN Echtzeit-Stromwert, Einheit: 0,01 A
Stromspannung Nummer NEIN Echtzeit-Spannungswert, Einheit: 0,01 V
actPow Nummer NEIN Echtzeit-actPow-Wert, Einheit: 0,01 W
reactPow Nummer NEIN Echtzeit-ReactPow-Wert, Einheit: 0,01 W
scheinbareLeistung Nummer NEIN Scheinleistungswert in Echtzeit, Einheit: 0,01 W

Meldebedingungen:
-Die Stromänderung übersteigt 0,03 A.
-Die Spannungsänderung überschreitet 5 V.
-Die Wirkleistungs-, Blindleistungs- oder Scheinleistungsänderung überschreitet 2 W.

WLAN-SSID- und Passworteinstellung

URL: http://[ip]:[port]/zeroconf/wifi
Rückgabewertformat: json
Methode: HTTP-Post

 {
  "deviceid": "100000140e",
  "data": {
    "ssid": "eWeLink",
    "password": "WeLoveIoT"
  }
}
Attribut Typ Optional Beschreibung
SSID Zeichenfolge NEIN SSID des WLAN-Netzwerks, mit dem sich das Gerät verbinden wird
Passwort Zeichenfolge NEIN Passwort des WLAN-Netzwerks, mit dem sich das Gerät verbinden wird

Notiz:
-Die neue WLAN-Einstellung wird bei der nächsten WLAN-Verbindung wirksam.

OTA-Firmware

URL: http://[ip]:[port]/zeroconf/upgrade
Rückgabewertformat: json
Methode: HTTP-Post

 {
  "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"
      }
    ]
  }
}
Attribut Typ Optional Beschreibung
Download-URL Zeichenfolge NEIN Die Download-Adresse der neuen Firmware unterstützt nur das HTTP-Protokoll, der HTTP-Server muss den Range-Anforderungsheader unterstützen.
sha256sum Zeichenfolge NEIN SHA256-Prüfsumme (Hash) der neuen Firmware. Wird verwendet, um die Integrität der heruntergeladenen neuen Firmware zu überprüfen.
Name Zeichenfolge NEIN Firmwarename

Die folgenden Fehlercodes werden dem Fehlerfeld des Antworttexts hinzugefügt:

  1. 404 Nicht gefunden (Download fehlgeschlagen).
  2. 409 Die Firmware-Verifizierung ist fehlgeschlagen.

Kanalbetriebsdatensätze abrufen

URL: http://[ip]:[port]/zeroconf/record
Rückgabewertformat: json
Methode: HTTP-Post

 {
  "deviceid": "100000140e",
  "data": {
    "subDevId": "123456",
    "rangeStart": 200,
    "rangeEnd": 229
  }
}
Attribut Typ Optional Beschreibung
Bereichsstart Nummer NEIN Startnummer der Betriebsdatensätze, [0,65535]
Bereichsende Nummer NEIN Endanzahl der Betriebsdatensätze, [0,65535]

Antworttext

 {
    "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
            }
        ]
    }
}
Attribut Typ Optional Beschreibung
Datum Zeichenfolge NEIN Betriebszeit; Format: „jjjj-mm-tt hh:mm“
trigType Nummer NEIN [0,3], 0: APP-Trigger; 1: Geräte-Trigger; 2: Überlastschutz-Trigger; * 3: * Übertemperaturschutz-Trigger
Steckdose Nummer NEIN Kanalnummer, [0,3]
Aktion Nummer NEIN 0: Kanal geschlossen;
1: Kanal offen

Notiz:
-Die Bedingungen müssen erfüllt sein: rangeEnd>=rangeStart und rangeEnd-rangeStart<=29.

Gerätestatus abrufen

URL: http://[ip]:[port]/zeroconf/getState
Rückgabewertformat: json
Methode: HTTP-Post

z.B

1. Gateway-Status abrufen:

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

Antworttext

 {
    "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. Status des Untergeräts abrufen:

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

Antworttext

 {
    "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
            }
        }
    }
}
Attribut Typ Beschreibung
Unterentwicklungskommissariat Nummer Kommunikationsstatus des Untergeräts 485. 1: Kommunikation ist normal. 0: Kommunikationsfehler.
cse7761Com Array Kommunikationsfehler beim Subgerät cse7761. Die Array-Elemente sind Zahlen. Die Anzahl ist 4. Die Elemente 0–3 entsprechen jeweils den Kanälen 1–4. [0,1] 1: Kommunikation ist normal. 0: Kommunikationsfehler.
fwVersion Zeichenfolge Das Gateway ist die Firmware-Version des Hauptchips und das Untergerät ist die Firmware-Versionsnummer des Untergeräts.
subChipFwVer Zeichenfolge Die Firmware-Version des Subchips.
WLAN verbunden Bool Überprüfen Sie, ob eine WLAN-Verbindung besteht. Bei „false“ sind die Werte von SSID, BSSID und Signalstärke ungültig.
Schwelle Objekt Schwellenwertbereich.
actPow Objekt Wirkleistung, Einheit: 0,01 W
Stromspannung Objekt Spannung, Einheit: 0,01 V
aktuell Objekt Strom, Einheit: 0,01 A
Min Nummer Minimum
max Nummer Max

URL: http://[ip]:[port]/zeroconf/ops_mode
Rückgabewertformat: json
Methode: HTTP-Post

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

Notiz:
„ops_mode“: „ewelink“ bedeutet, zurück in den Ewelink-Modus zu wechseln.

Vorherige
MINIR3 API
Nächste
Zubehör
Kürzlich geändert: 2025-06-25