MINIR3 HTTP API
Der Gerätetyp ist diylight (Typ=diylight) und die API-Schnittstellenversion des Geräts ist 1 (Apivers=1).
HINWEIS: MINIR3 ist ein Einkanalgerät, verwendet jedoch ein Mehrkanalprotokoll. Das Protokoll kann die Schalter der Kanäle 1, 2, 3 und 4 steuern. MINIR3 verwendet den ersten Kanal.
EIN/AUS-Schalter
URL: http://[ip]:[port]/zeroconf/switches
Rückgabewertformat: json
Methode: HTTP-Post
{
"deviceid": "1000000001",
"data": {
"switches": [
{ "switch": "on", "outlet": 0 },
{ "switch": "on", "outlet": 1 },
{ "switch": "off", "outlet": 2 },
{ "switch": "off", "outlet": 3 }
]
}
}
Attribut | Typ | Optional | Beschreibung |
---|---|---|---|
schalten | Zeichenfolge | NEIN | an: Schalter einschalten, aus: Schalter ausschalten |
Steckdose | Nummer | NEIN | Bereiche: [0,3]; Stellt Kanäle dar: 1-4 |
Kriechen
URL: http://[ip]:[port]/zeroconf/pulses
Rückgabewertformat: json
Methode: HTTP-Post
Anforderungstext
{
"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
}
]
}
}
Attribut | Typ | Optional | Beschreibung |
---|---|---|---|
Impulse | Array | NEIN | Tipp-Einstellungsliste |
Impuls | Zeichenfolge | NEIN | ein: Tippfunktion aktivieren; aus: deaktiviert die Tippfunktion |
Breite | Nummer | Ja | Erforderlich, wenn „Puls“ eingeschaltet ist, Pulszeitlänge, positive Ganzzahl, ms, unterstützt nur Vielfache von 500 im Bereich von 500~3599500 |
schalten | Zeichenfolge | NEIN | Sie können die Einstellung auf „Ein“ oder „Aus“ einstellen. Der Schalterzustand nach dem Ende des Tippbetriebs. Bei Einstellung auf „Ein“ wird das Gerät nach dem Ausschalten und Ablauf der Tippzeit wieder eingeschaltet. |
Einschaltzustand
URL: http://[ip]:[port]/zeroconf/startups
Rückgabewertformat: json
Methode: HTTP-Post
{
"deviceid": "1000000001",
"data": {
"configure": [
{ "startup": "on", "outlet": 0 },
{ "startup": "off", "outlet": 1 },
{ "startup": "off", "outlet": 2 },
{ "startup": "stay", "outlet": 3 }
]
}
}
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 zuerst 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":{
"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
}
}
Notiz:
- Überwachen und analysieren Sie den DNS-TXT-Eintrag des Geräts, um die Geräteinformationen in Echtzeit zu erhalten.