Différences entre les versions de « Domotech site api »
(→Module) |
(→Module) |
||
| Ligne 102 : | Ligne 102 : | ||
|} | |} | ||
| − | = Module = | + | = Module = |
| + | Déclaration de cette API dans le fichier ApiModule.class.php. Voici un exemple d'objet module : | ||
| + | {"id":1,"hostname":"Piscine","ip":"192.168.1.192","mac":"2c:3a:e8:22:23:ff"} | ||
| + | {|class="wikitable" width="100%" | ||
| + | |-valign=top | ||
| + | ! URL !! Corps !! Verbe !! Action !! Code retour !! Implémentée | ||
| + | |- | ||
| + | || | ||
| + | /api/module | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | GET | ||
| + | || | ||
| + | Récupère la liste de tous les modules | ||
| + | || | ||
| + | *200 | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/module/scan | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | GET | ||
| + | || | ||
| + | Scan le réseau à la recherche de modules et retourne la liste des modules présents. | ||
| + | || | ||
| + | *200 | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/module/conf/$$IP$$ | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | GET | ||
| + | || | ||
| + | Récupère la configuration du module désigné par l'adresse $$IP$$. | ||
| + | || | ||
| + | *200 : "{\"configuration\":{\"hostname\":\"led_pdt\",\"mac\":\"2C:3A:E8:17:79:00\",\"channel\":6,\"uptime\":548384,\"disabled\":false, \"sta\" : { \"mode\" : \"static\",\"ssid\":\"e900\",\"rssi\":-69,\"bssid\":\"AC:9E:17:EA:89:38\",\"ip\":\"192.168.1.194\",\"netmask\":\"255.255.255.0\",\"gateway\":\"192.168.1.254\",\"dns\":\"192.168.1.254\"}, \"temp\":{\"is_temp\":false },\"serial\":{\"is_serial\":false}}}" | ||
| + | *400 : si le module n'existe pas | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/module/mac/$$IP$$ | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | GET | ||
| + | || | ||
| + | Récupère l'adresse MAC du module désigné par l'adresse $$IP$$. | ||
| + | || | ||
| + | *200 : "AC:9E:17:EA:89:38" | ||
| + | *400 : si le module n'existe pas | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/module/$$ID$$ | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | GET | ||
| + | || | ||
| + | Récupère le module qui à l'id $$ID$$ | ||
| + | || | ||
| + | *200 : si le module existe | ||
| + | *404 : si le module n'existe pas | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/module/scan | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | POST | ||
| + | || | ||
| + | Ajoute les nouveau modules trouvés sur le réseau et retourne un tableau | ||
| + | || | ||
| + | * 200 : {[{"id":1,"hostname":"Piscine","ip":"192.168.1.192","mac":"2c:3a:e8:22:23:ff"}]} | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/module/check | ||
| + | || | ||
| + | *vide | ||
| + | |align='center'| | ||
| + | POST | ||
| + | || | ||
| + | Retourne un tableau multidimensionnel à trois entrées contenant les modules mis à jour, manquants et inchangés | ||
| + | || | ||
| + | * 200 : {"updated":[],"missing":[],"unchanged":[1,2,3,6,7,8,9,10,12,13]} | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |- | ||
| + | || | ||
| + | /api/remote/$$ID$$ | ||
| + | || | ||
| + | * vide | ||
| + | |align='center'| | ||
| + | DELETE | ||
| + | || | ||
| + | Efface le module désignée par $$ID$$ | ||
| + | || | ||
| + | * 200 : si le module existe; | ||
| + | * 404 : si le module n'existe pas; | ||
| + | || | ||
| + | [[Fichier:implemented_green_tick.png|center|40px]] | ||
| + | |} | ||
| + | |||
| + | = Remote = | ||
Déclaration de cette API dans le fichier ApiRemote.class.php. Voici un exemple d'objet remote : | Déclaration de cette API dans le fichier ApiRemote.class.php. Voici un exemple d'objet remote : | ||
{"id":"R0","serial":"123456","description":"T\u00e9l bassin","nbButton":"6"} | {"id":"R0","serial":"123456","description":"T\u00e9l bassin","nbButton":"6"} | ||
| Ligne 131 : | Ligne 247 : | ||
Récupère la télécommande qui à l'id $$ID$$ | Récupère la télécommande qui à l'id $$ID$$ | ||
|| | || | ||
| − | *200 : si | + | *200 : si la télécommande existe |
| − | *404 : si | + | *404 : si la télécommande n'existe pas |
|| | || | ||
[[Fichier:implemented_green_tick.png|center|40px]] | [[Fichier:implemented_green_tick.png|center|40px]] | ||
Version du 5 novembre 2018 à 18:28
Action
Déclaration de cette API dans le fichier ApiAction.class.php. Voici un exemple d'objet action :
{"id":6,"moduleId":"1","description":"Piscine","action":"4","gpio":"0","value":"0","type":"1"}
Le champ action peut prendre les valeurs suivantes :
- 0 → pour un état (ON / OFF);
- 1 → pour un basculement (si ON → OFF / si OFF → ON);
- 2 → pour une basculement chronométrée;
- 3 → pour une modification PWM (eg. pour des leds);
- 4 → pour un capteur;
Le champ type peut prendre les caleurs suivantes :
- 0 → pour une lumière;
- 1 → pour une vanne;
- 2 → pour une porte;
Le champ gpio peut prendre les valeurs suivantes : D0,D1,D2,D3,D4,D5,D6,D7,D8; Le champ value peut prendre les valeurs suivantes :
- si le champs type est différent de 4 le champ est caduc;
- si le champs type est égale à 4 cela correspond à un type de capteur:
- 0 → pour une température;
- 1 → pour un état;
- 2 → pour un bouton;
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/action |
|
GET |
Récupère la liste de toutes les actions |
|
|
|
/api/action/$$ID$$ |
|
GET |
Récupère l'action qui à l'id $$ID$$ |
|
|
|
/api/action |
|
POST |
Créer un objet action |
|
|
|
/api/action/$$ID$$ |
|
PUT |
Exécute l'action désignée par $$ID$$ |
|
|
|
/api/action/$$ID$$ |
|
DELETE |
Efface l'action désignée par $$ID$$ |
|
Module
Déclaration de cette API dans le fichier ApiModule.class.php. Voici un exemple d'objet module : {"id":1,"hostname":"Piscine","ip":"192.168.1.192","mac":"2c:3a:e8:22:23:ff"}
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/module |
|
GET |
Récupère la liste de tous les modules |
|
|
|
/api/module/scan |
|
GET |
Scan le réseau à la recherche de modules et retourne la liste des modules présents. |
|
|
|
/api/module/conf/$$IP$$ |
|
GET |
Récupère la configuration du module désigné par l'adresse $$IP$$. |
|
|
|
/api/module/mac/$$IP$$ |
|
GET |
Récupère l'adresse MAC du module désigné par l'adresse $$IP$$. |
|
|
|
/api/module/$$ID$$ |
|
GET |
Récupère le module qui à l'id $$ID$$ |
|
|
|
/api/module/scan |
|
POST |
Ajoute les nouveau modules trouvés sur le réseau et retourne un tableau |
|
|
|
/api/module/check |
|
POST |
Retourne un tableau multidimensionnel à trois entrées contenant les modules mis à jour, manquants et inchangés |
|
|
|
/api/remote/$$ID$$ |
|
DELETE |
Efface le module désignée par $$ID$$ |
|
Remote
Déclaration de cette API dans le fichier ApiRemote.class.php. Voici un exemple d'objet remote : {"id":"R0","serial":"123456","description":"T\u00e9l bassin","nbButton":"6"}
| URL | Corps | Verbe | Action | Code retour | Implémentée |
|---|---|---|---|---|---|
|
/api/remote |
|
GET |
Récupère la liste de toutes les télécommandes |
|
|
|
/api/remote/$$ID$$ |
|
GET |
Récupère la télécommande qui à l'id $$ID$$ |
|
|
|
/api/remote |
|
POST |
Créer un objet télécommande |
|
|
|
/api/remote/$$ID$$ |
|
DELETE |
Efface la télécommande désignée par $$ID$$ |
|
Remote
TBD
Scenario
TBD
Logic
TBD
Schedule
TBD
Notification
TBD