Hello,
Je suis en train de développer une application style imperihome, plus poussée niveau personnalisation et ergonomie.
Mais je suis malheureusement confronté au quota des requêtes externes API via api.eedomus.com
J'en ai parlé à Baptiste, pour que soit créée une fonction API permettant d'optimiser les requêtes de mises à jour de périphériques via l'API, en envoyant par exemple une seule requête avec l'ensemble des périphériques dont on souhaite la valeur actualisée. Malheureusement pas de réponse de ce côté, et je me retrouve, alors que je tourne sur moins de 15 périphériques, que je n'y travaille que 2h environ par jour et que je ne suis qu'en phase de développement, avec plus de 40.000 requêtes par jour.
Mon programme est simple :
- 1ère requête API à l'ouverture du programme pour récupérer tous les périphériques eedomus
- Une requête API pour chaque périphérique utilisé sur le programme afin d'en connaitre la dernière valeur
- Une mise à jour toutes les 10 secondes de tous les périphériques utilisées, et cette mise à jour récupère aussi, lors de son premier lancement, l'historique des dernières 48h pour créer des moyennes, et afficher les min/max, ceci pour les périphériques de température. Dans ce cas, le programme ne récupère que l'historique la 1ère fois, sans passer par periph.caract
Donc sur 15 périphériques, dans les 10 premières secondes, on est à 31 requêtes. Sur une journée complète, On dépasse les 129000 requêtes pour 10 périphériques...
Il aurait été intéressant, avant tout, que la récupération initiale de la liste des périphériques inclut aussi les dernières valeurs (valeur brute, valeur texte, dernier changement).
Ensuite, avoir une requête API permettant de récupérer les dernières valeurs (brute, texte et dernier changement) d'une liste de périphériques plutôt que de faire 15 ou 30 requêtes à la suite. En terme de ressources, ça serait bien moins consommateur. Ca permettrait de tomber à moins de 10000 requêtes par jour pour l'ensemble des périphériques (avec une mise à jour toutes les 10 secondes, ce qui reste quand même élevé en temps je trouve), vu qu'une seule requête couvrirait tous les périphériques !
Je sais que ce n'est pas décompté quand on passe par le réseau local, via l'IP de la box. Mais moi je travaille à distance et je n'ai pas de serveur web local chez moi. Et c'est le même problème pour ceux qui voudraient utiliser cette application à distance.
Si quelqu'un a des idées, ou si Bart passe par là... Merci !