API HTTP MINIR3
Le type d'appareil est diylight (type=diylight) et la version de l'interface API de l'appareil est 1 (apivers=1).
REMARQUE : MINIR3 est un appareil monocanal, mais il utilise un protocole multicanal. Ce protocole permet de contrôler les commutateurs des canaux 1, 2, 3 et 4. MINIR3 utilise le premier canal.
Interrupteur marche/arrêt
URL : http://[ip]:[port]/zeroconf/switches
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "1000000001",
"data": {
"switches": [
{ "switch": "on", "outlet": 0 },
{ "switch": "on", "outlet": 1 },
{ "switch": "off", "outlet": 2 },
{ "switch": "off", "outlet": 3 }
]
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
changer | Chaîne | Non | on : allumer l'interrupteur, off : éteindre l'interrupteur |
sortie | Nombre | Non | Plages : [0,3] ; Représente les canaux : 1-4 |
Avancement progressif
URL : http://[ip]:[port]/zeroconf/pulses
Format de la valeur de retour : json
Méthode : HTTP post
Corps de la requête
{
"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 | Taper | Facultatif | Description |
---|---|---|---|
légumineuses | Tableau | Non | Liste des paramètres de progression |
impulsion | Chaîne | Non | on : active la fonction d'approche progressive ; off : désactive la fonction d'avance lente |
largeur | Nombre | Oui | Obligatoire lorsque « impulsion » est activé, durée d'impulsion, entier positif, ms, ne prend en charge que les multiples de 500 dans la plage de 500 à 3 599 500 |
changer | Chaîne | Non | Vous pouvez activer ou désactiver l'interrupteur. L'état du commutateur se trouve après la fin de la phase de démarrage. Si l'interrupteur est activé, l'appareil se rallumera une fois la phase de démarrage terminée après avoir éteint l'appareil. |
État de mise sous tension
URL : http://[ip]:[port]/zeroconf/startups
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "1000000001",
"data": {
"configure": [
{ "startup": "on", "outlet": 0 },
{ "startup": "off", "outlet": 1 },
{ "startup": "off", "outlet": 2 },
{ "startup": "stay", "outlet": 3 }
]
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
démarrer | Chaîne | Non | allumé : l'appareil est allumé lorsque l'alimentation électrique est rétablie. éteint : l'appareil est éteint lorsque l'alimentation électrique est rétablie. rester : l'état de l'appareil reste le même que celui avant la coupure de courant |
Force du signal Wi-Fi
URL : http://[ip]:[port]/zeroconf/signal_strength
Format de la valeur de retour : json
Méthode : HTTP post
Corps de la requête
{
"deviceid": "",
"data": { }
}
Objet vide, aucun attribut n'est requis.
Corps de la réponse
{
"seq": 2,
"error": 0,
"data": {
"signalStrength": -67
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
force du signal | Nombre | Non | La force du signal WiFi actuellement reçue par l'appareil, entier négatif, dBm |
Configuration du SSID et du mot de passe Wi-Fi
URL : http://[ip]:[port]/zeroconf/wifi
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"ssid": "eWeLink",
"password": "WeLoveIoT"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
ssid | Chaîne | Non | SSID du réseau WiFi auquel l'appareil se connectera |
mot de passe | Chaîne | Non | mot de passe du réseau WiFi auquel l'appareil se connectera |
Déverrouillage de la fonction OTA
URL : http://[ip]:[port]/zeroconf/ota_unlock
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": { }
}
Objet vide, aucun attribut n'est requis.
Les codes d’échec suivants sont ajoutés au champ d’erreur du corps de la réponse :
– 500 : L'opération a échoué et l'appareil présente des erreurs. Par exemple, l'ID de l'appareil ou la clé API n'est pas authentifiée par le service de déverrouillage OTA du fournisseur ;
– 503 : L'opération a échoué et l'appareil ne peut pas demander le service de déverrouillage OTA du fournisseur. Par exemple, l'appareil n'est pas connecté au Wi-Fi, à Internet, le service de déverrouillage OTA du fabricant est en panne, etc.
Nouveau micrologiciel OTA
URL : http://[ip]:[port]/zeroconf/ota_flash
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"downloadUrl": "http://192.168.1.184/ota/new_rom.bin",
"sha256sum": "3213b2c34cecbb3bb817030c7f025396b658634c0cf9c4435fc0b52ec9644667"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
URL de téléchargement | Chaîne | Non | L'adresse de téléchargement du nouveau firmware prend uniquement en charge le protocole HTTP, le serveur HTTP doit prendre en charge l'en-tête de requête Range. |
somme sha256 | Chaîne | Non | Somme de contrôle SHA256 (hachage) du nouveau firmware, elle est utilisée pour vérifier l'intégrité du nouveau firmware téléchargé |
Les codes d’échec suivants sont ajoutés au champ d’erreur du corps de la réponse :
– 403 : L'opération a échoué et la fonction OTA n'a pas été déverrouillée. L'interface « 3.2.6 Déverrouillage de la fonction OTA » doit d'abord être appelée avec succès.
– 408 : L'opération a échoué et le délai de prétéléchargement du micrologiciel a expiré. Vous pouvez réessayer d'appeler cette interface après avoir optimisé l'environnement réseau ou augmenté la vitesse du réseau.
– 413 : L'opération a échoué et la taille du corps de la requête est trop importante. La taille du nouveau micrologiciel OTA dépasse la limite autorisée par l'appareil.
– 424 : L'opération a échoué et le téléchargement du micrologiciel a échoué. L'adresse URL est inaccessible (adresse IP inaccessible, protocole HTTP inaccessible, micrologiciel inexistant, serveur non compatible avec l'en-tête de requête Range, etc.).
– 471 : L'opération a échoué, ainsi que la vérification de l'intégrité du micrologiciel. La somme de contrôle SHA256 du nouveau micrologiciel téléchargé ne correspond pas à la valeur du champ sha256sum du corps de la requête. Le redémarrage de l'appareil entraînera un problème de bricking.
Note:
- La taille maximale du firmware est de 508 Ko.
- Le mode de lecture flash SPI doit être DOUT.
Obtenir des informations sur l'appareil
URL : http://[ip]:[port]/zeroconf/info
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": { }
}
Objet vide, aucun attribut n'est requis.
Corps de la réponse
{
"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
}
}
Note:
- Surveillez et analysez l'enregistrement DNS TXT de l'appareil pour obtenir les informations de l'appareil en temps réel.