Ajout de requêtes APIRest Gladys

Bonjour @pierre-gilles,

Serait-il possible d’ajouter des requêtes à l’API Rest :

  • Récupérer les states d’une feature de date à date. Le but étant de pouvoir récupérer une fois par jour / par semaine / par mois / par an les données d’une feature ou d’un device (exemple : l’énergie consommée) et de pouvoir en faire des calculs sous node red, le but étant d’utiliser les valeurs brut et non pas les agrégations (de la même façon que “/api/v1/device_feature/aggregated_states” mais avec toutes les valeurs).
  • Une route “PATCH” pour pouvoir modifier des données de device et de device_feature.
    Exemple concret, une ampoule Philips Hue à changé de nom de device (ampoule modifiée de pièce), mais le nom de la feature est restée celle de l’ancien emplacement
En image

Autre exemple, aujourd’hui il est impossible de modifier l’unité dans le service MQTT une fois la feature créée. Cela permettrait de le faire^^

Merci pour ta réponse si c’est possible ^^

Quand tu parles de l’API REST, c’est l’API locale de Gladys on est d’accord ? Pas via Gladys Plus ?

Ok c’est clair.

Par contre je ne sais pas où on met cette demande, parce que si on créé une demande de fonctionnalité, vu le nombre de demandes et vu le peu de développeurs, ça sera fait dans 1 an / 2 ans au mieux.

Dans Github ça fait pas forcément sens parce que c’est pas un bug…

Comme tu es un client payant de longue date, j’aimerais te le faire en priorité (c’est bien normal, ceux qui soutiennent le projet sont prioritaires), après il y a d’autres features demandés par des clients payants de longue date que j’ai aussi en attente… Bon j’y réfléchis, je veux être aussi juste avec tout le monde ^^

Pas facile de prioriser !! :smiley:

Cette route existe déjà, regarde quand tu édite un device ce qu’il se passe dans le navigateur :slight_smile:

On est tout a fait d’accord ^^ le but est vraiment de bosser en local sur ce sujet, node-red est sur un pi à côté

La proposition est super sympa, mais aucun soucis !! Il y a des prio, ça viendra quand ça viendra ^^ Après si c’est possible, je peux m’y pencher pour le faire, mais il me faudrait juste les 1ères pistes si tu as la possibilité. Sinon ça attendra ^^

Oh my bad !! Je suis trop naze ^^
Merciiiii :blush:

A la limite créé une demande de fonctionnalité comme ça on a la demande quelques part.

Sinon si tu veux regarder de ton côté, il y a 4 endroits ou regarder:

  1. Créer une fonction dans lib/device => Gladys/server/lib/device at master · GladysAssistant/Gladys · GitHub

La fonction prendra en paramètres 3 trucs: deviceFeatureId, start, end (un truc comme ça)

  1. Créer un controller ici pour déclarer la route d’API : Gladys/server/api/controllers/device.controller.js at master · GladysAssistant/Gladys · GitHub

  2. Créer un test de la fonction de la lib ici : Gladys/server/test/lib/device at master · GladysAssistant/Gladys · GitHub

  3. Créer un test pour le controller ici : Gladys/server/test/controllers/device/device.controller.test.js at master · GladysAssistant/Gladys · GitHub

Normalement je pense que ça peut se faire rapidement !! :smiley:

Hésite pas si tu as des questions si tu regarde, et sinon je regarderais mais j’avoue que j’ai une liste de PR à review longue comme le bras, pareil côté issue Github, et les demandes de fonctionnalités j’en parle même pas… :joy:

Yes on fait ça !!

Je t’avoue que j’ai commencé à regardé sur ta PR des graphiques avec la nouvelle requête sur l’aggrégation … et ça va, j’avais a peu prêt déroulé la chose comme ça. :blush:

Héhé no soucy ^^ Fais ce que tu as à faire et je vois pour faire ça dès que j’ai remis mon WSL et ma machine dev en ordre ^^

Merci encore pour ton temps !!

1 « J'aime »