Domotech site api

De mydil
Aller à la navigation Aller à la recherche

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

  • vide

GET

Récupère la liste de toutes les actions

  • 200
Implemented green tick.png

/api/action/$$ID$$

  • vide

GET

Récupère l'action qui à l'id $$ID$$

  • 200 : si l'action existe
  • 404 : si l'action n'existe pas
Implemented green tick.png

/api/action

  • module_id → l'id du module auquel rattacher l'action;
  • description → la description de l'action;
  • gpio → le numéro de broche;
  • action → le type d'action (entre 0 et 4);
  • type → le type d'objet commandé (entre 0 et 2);
  • value → si le champs action est égale à

POST

Créer un objet action

  • 200 : si tous les champs correspondent et que le module existe. La valeur retournée correspond à l'identifiant de la nouvelle action (eg. { id : '10' }) ;
  • 400 : si un champ manque ou ne correspond pas;
Implemented green tick.png

/api/action/$$ID$$

  • vide

PUT

Exécute l'action désignée par $$ID$$

  • 200 : si l'action existe;
  • 400 : si l'action n'a pas aboutie;
  • 404 : si l'action n'existe pas;
Implemented green tick.png

/api/action/$$ID$$

  • vide

DELETE

Efface l'action désignée par $$ID$$

  • 200 : si l'action existe;
  • 404 : si l'action n'existe pas;
Implemented green tick.png

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

  • vide

GET

Récupère la liste de tous les modules

  • 200
Implemented green tick.png

/api/module/scan

  • vide

GET

Scan le réseau à la recherche de modules et retourne la liste des modules présents.

  • 200
Implemented green tick.png

/api/module/conf/$$IP$$

  • vide

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
Implemented green tick.png

/api/module/mac/$$IP$$

  • vide

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
Implemented green tick.png

/api/module/$$ID$$

  • vide

GET

Récupère le module qui à l'id $$ID$$

  • 200 : si le module existe
  • 404 : si le module n'existe pas
Implemented green tick.png

/api/module/scan

  • vide

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"}]}
Implemented green tick.png

/api/module/check

  • vide

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]}
Implemented green tick.png

/api/module/$$ID$$

  • vide

DELETE

Efface le module désignée par $$ID$$

  • 200 : si le module existe;
  • 404 : si le module n'existe pas;
Implemented green tick.png

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

  • vide

GET

Récupère la liste de toutes les télécommandes

  • 200
Implemented green tick.png

/api/remote/$$ID$$

  • vide

GET

Récupère la télécommande qui à l'id $$ID$$

  • 200 : si la télécommande existe
  • 404 : si la télécommande n'existe pas
Implemented green tick.png

/api/remote

  • remoteId → l'id de la télécommande;
  • description → la description de la télécommande;
  • serial → le numéro de série de la télécommande (id unique);
  • nbButton → le nombre de boutons de la télécommande;

POST

Créer un objet télécommande

  • 200 : si tous les champs correspondent. La valeur retournée correspond à l'identifiant de la nouvelle action (eg. { id : 'R0' }) ;
  • 400 : si un champ manque ou ne correspond pas;
Implemented green tick.png

/api/remote/$$ID$$

  • vide

DELETE

Efface la télécommande désignée par $$ID$$

  • 200 : si la télécommande existe;
  • 404 : si la télécommande n'existe pas;
Implemented green tick.png

Scenario

TBD

Logic

TBD

Schedule

TBD

Notification

TBD