Récupérer plusieurs valeurs en même temps via l'API

Bonjour,

J’ai comme projet de développer une petite interface web en angular pour afficher des infos et faire des actions.
J’ai vu comment fonctionner l’API, par contre je me rend compte que pour récupérer, par exemple, la valeur de tout les thermostats de chaque pièce :

  • si je veux faire ça de façon assez « dynamique », avec les id de chaque pièces, en récupérant les équipements de chaque pièce, puis les commandes de l’équipement qui m’intéresse, et en faisant l’appel pour récupérer la valeur de la commande. Si j’ai 4 pièces et 6 thermostats à récupérer j’en ai pour 4 + 6 + 6, soit 16 appels à faire, et ensuite 6 appels à faire de façon régulière pour avoir les infos à jour.

  • soit je dois connaitre à l’avance les id de toutes les commandes pour récupérer les valeurs et là j’ai « plus que » les 6 appels à faire régulièrement

Je me demandais si c’était possible d’optimiser un peu ça, j’ai essayé d’envoyer plus id dans un appel API, mais ça n’a pas l’air de fonctionner.

Je connais encore pas grand chose sur les possibilités de développement avec jeedom (ni coté plugin, ni autre), mais sinon je me demandais si c’était possible de regrouper ces données d’une autre façon ?

  • une façon via l’interface de Jeedom ?
  • un plugin existant ?
  • un fichier PHP dans jeedom qui récupère ces valeurs et me les retourne ?
  • développer un plugin spécifique pour ce besoin ?

Ensuite je me demande comment optimiser les requêtes régulières, j’ai vu que certains plugins comme #plugin-jeedomconnect utilise du websocket, mais je suppose que c’est impossible avec l’API et qu’il faut passer soit par un plugin existant ou custom ?

J’ai vu que y’a ce plugin ( GitHub - nioc/jeedom-websocket: Jeedom plugin to provide a client-server communication over websocket protocol ) pour mettre en place du websocket sur jeedom, mais je me demande si ça peut fonctionner avec le dns jeedom.link et une redirection de port sur ma box

Merci :slight_smile:

Bonjour,

Quelle api utilisez-vous ? Il y en a deux

https://doc.jeedom.com/fr_FR/core/4.3/api_http

https://doc.jeedom.com/fr_FR/core/4.3/jsonrpc_api

Dans les deux cas il est possible de récupérer plusieurs équipements/ commandes en un seul appel comme expliqué dans la doc.

Pour les changements de valeurs regardez plutôt la gestion des events plutôt que de ré interroger les commandes, cela permet de récupérer un payload avec uniquement les changements depuis un timestamp.

Ah mince je suis passé à coté de la petite note, qui indique qu’il faut encoder les crochets ^^"

J’ai seulement joué avec la HTTP, par contre j’ai pas trop compris dans quel cadre utiliser la JsonRPC, j’ai eu l’impression qu’elle était utilisable uniquement en interne par des plugins, mais pas en externe, mais je crois que je me suis trompé.
Apparemment elle a l’avantage de passer l’apiKey en POST (au lieu d’en GET comme l’api HTTP)

Merci des infos :slight_smile:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.