Speisekarte

D1 API

D1 HTTP-API

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

EIN/AUS-Schalter

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

 { 
    "deviceid": "", 
    "data": {
        "switch": "on" 
    } 
 }
Attribut Typ Optional Beschreibung
schalten Zeichenfolge NEIN an: Schalter einschalten, aus: Schalter ausschalten

Dimmbar

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

 { 
    "deviceid": "", 
    "data": {
        "switch": "on", 
        "brightness": 30,
        "mode": 0,
        "brightmin": 10, 
        "brightmax": 255
    } 
 }
Attribut Typ Optional Beschreibung
schalten Zeichenfolge NEIN Das Feld „Schalter“ muss auf „Ein“ stehen
Helligkeit Nummer NEIN Lichthelligkeit, [1~100], positive Ganzzahl
Modus Nummer Ja Gerätemodus, [0-255], positive Ganzzahl
Brightmin Nummer Ja Minimale Helligkeit, [0~254], positive Ganzzahl
hellmax Nummer Ja Maximale Helligkeit, [1~255], positive Ganzzahl

Notiz:

  • Um die Helligkeit des Lichts anzupassen, muss das Licht „an“ sein. Wenn Sie also eine Dimmble-API-Anfrage mit „Schalter“: „Aus“ senden, wird der Fehler „400“ gemeldet, da der Vorgang fehlgeschlagen ist.
  • Der Parameter „Modus“ wird für die APP-Entwicklung verwendet, um verschiedene Modi mit spezifischer Helligkeit zu definieren und den Modusinhalt des Geräts zu synchronisieren, wenn der Gerätebetrieb mit anderen geteilt wird.
    Zum Beispiel:
    Die APP des Entwicklers definiert zwei Modi (Modus 1: Helligkeit=5; Modus 2: Helligkeit=50), sodass das Gerät per Tastendruck eine bestimmte Helligkeit erreichen kann. Der Parameter „Modus“ bietet die Möglichkeit, den Gerätemodus für alle gemeinsamen Benutzer zu synchronisieren.
  • Der Wert von Brightmin sollte kleiner als Brightmax sein.

Einschaltzustand

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

 { 
    "deviceid": "", 
    "data": {
        "startup": "stay"
    } 
 }
Attribut Typ Optional Beschreibung
Start-up Zeichenfolge NEIN an: Das Gerät ist eingeschaltet, wenn die Stromversorgung wiederhergestellt ist.
aus: Das Gerät ist ausgeschaltet, wenn die Stromversorgung wiederhergestellt ist.
bleiben: Der Gerätestatus bleibt im gleichen Zustand wie vor dem Stromausfall

WLAN-Signalstärke

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

Anforderungstext

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

Leeres Objekt, kein Attribut erforderlich.

Antworttext

 { 
    "seq": 2, 
    "error": 0, 
    "data": { 
        "signalStrength": -67 
	}
}
Attribut Typ Optional Beschreibung
Signalstärke Nummer NEIN Die aktuell vom Gerät empfangene WLAN-Signalstärke, negative Ganzzahl, dBm

WLAN-SSID- und Passworteinstellung

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

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

Freischalten der OTA-Funktion

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

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

Leeres Objekt, kein Attribut erforderlich.

Die folgenden Fehlercodes werden dem Fehlerfeld des Antworttexts hinzugefügt:
500: Der Vorgang ist fehlgeschlagen und das Gerät weist Fehler auf. Beispielsweise liegt ein Fehler bei der Geräte-ID oder dem API-Schlüssel vor, der vom OTA-Entsperrdienst des Anbieters nicht authentifiziert wurde.
503: Der Vorgang ist fehlgeschlagen und das Gerät kann den OTA-Entsperrdienst des Herstellers nicht anfordern. Beispielsweise ist das Gerät nicht mit WLAN oder dem Internet verbunden, der OTA-Entsperrdienst des Herstellers ist ausgefallen usw.

OTA Neue Firmware

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

 { 
    "deviceid": "", 
    "data": {
        "downloadUrl": "http://192.168.1.184/ota/new_rom.bin", 
        "sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
    } 
 }
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

Die folgenden Fehlercodes werden dem Fehlerfeld des Antworttexts hinzugefügt:
403: Der Vorgang ist fehlgeschlagen und die OTA-Funktion wurde nicht freigeschaltet. Die Schnittstelle „3.2.6 Freischalten der OTA-Funktion“ muss zunächst erfolgreich aufgerufen werden.
408: Der Vorgang ist fehlgeschlagen, und die vor dem Download der Firmware aufgetretene Zeitüberschreitung ist aufgetreten. Sie können versuchen, diese Schnittstelle erneut aufzurufen, nachdem Sie die Netzwerkumgebung optimiert oder die Netzwerkgeschwindigkeit erhöht haben.
413: Der Vorgang ist fehlgeschlagen und der Anforderungstext ist zu groß. Die Größe der neuen OTA-Firmware überschreitet die vom Gerät zulässige Firmware-Größenbeschränkung.
424: Der Vorgang ist fehlgeschlagen und die Firmware konnte nicht heruntergeladen werden. Die URL-Adresse ist nicht erreichbar (IP-Adresse nicht erreichbar, HTTP-Protokoll nicht erreichbar, Firmware nicht vorhanden, Server unterstützt den Range-Request-Header nicht usw.).
471: Der Vorgang ist fehlgeschlagen, und die Integritätsprüfung der Firmware ist fehlgeschlagen. Die SHA256-Prüfsumme der heruntergeladenen neuen Firmware stimmt nicht mit dem Wert des Felds „sha256sum“ im Anforderungstext überein. Ein Neustart des Geräts führt zu einem Bricking-Problem.

Notiz:

  • Die maximale Firmwaregröße beträgt 508 KB.
  • Der SPI-Flash-Lesemodus muss DOUT sein.

Geräteinformationen abrufen

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

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

Leeres Objekt, kein Attribut erforderlich.

Antworttext

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

Notiz:

  • Überwachen und analysieren Sie den DNS-TXT-Eintrag des Geräts, um die Geräteinformationen in Echtzeit zu erhalten.
Vorherige
BASICR3/RFR3/MINIR2 API
Nächste
B02-BL/B05-BL API
Kürzlich geändert: 2025-06-25