API HTTP D1
Le type d'appareil est diylight (type=diylight) et la version de l'interface API de l'appareil est 1 (apivers=1).
Interrupteur marche/arrêt
URL : http://[ip]:[port]/zeroconf/switch
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"switch": "on"
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
changer | Chaîne | Non | on : allumer l'interrupteur, off : éteindre l'interrupteur |
Dimmable
URL : http://[ip]:[port]/zeroconf/dimmable
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"switch": "on",
"brightness": 30,
"mode": 0,
"brightmin": 10,
"brightmax": 255
}
}
Attribut | Taper | Facultatif | Description |
---|---|---|---|
changer | Chaîne | Non | Le champ « switch » doit être « on » |
luminosité | Nombre | Non | Luminosité lumineuse, [1~100], entier positif |
mode | Nombre | Oui | Mode de l'appareil, [0-255], entier positif |
brightmin | Nombre | Oui | Luminosité minimale, [0~254], entier positif |
Brightmax | Nombre | Oui | Luminosité maximale, [1~255], entier positif |
Note:
- Pour régler la luminosité de la lumière, la lumière doit être « allumée », donc si vous envoyez une requête API Dimmble avec « switch » : « off », elle signalera une erreur « 400 » car l'opération a échoué.
- Le paramètre « mode » est utilisé pour le développement d'applications pour définir différents modes avec une luminosité spécifique et synchroniser le contenu des modes de l'appareil lors du partage du fonctionnement de l'appareil avec d'autres.
Par exemple:
L'application du développeur définit deux modes (mode 1 : luminosité = 5 ; mode 2 : luminosité = 50) dans lesquels l'appareil peut atteindre une luminosité spécifique à l'aide de boutons, le paramètre « mode » permet de synchroniser le mode de l'appareil pour tous les utilisateurs partagés. - La valeur de brightmin doit être inférieure à brightmax.
État de mise sous tension
URL : http://[ip]:[port]/zeroconf/startup
Format de la valeur de retour : json
Méthode : HTTP post
{
"deviceid": "",
"data": {
"startup": "stay"
}
}
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": {
"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
}
}
Note:
- Surveillez et analysez l'enregistrement DNS TXT de l'appareil pour obtenir les informations de l'appareil en temps réel.