Action requête HTTP dans les scènes (GET/POST/PUT/PATCH/DELETE)

Bonjour

Tous simplement permettre d’appeler certaine page web avec en parametre certaines valeurs renvoyé par des capteurs

Salut, personnellement je ne comprends pas ton besoin, tu pourrais développer un peu stp ?.

PAs de souci

Par exemple mon aspirateur robot a une api qui permet de le controller
J’aimerais dire a gladys “passe l’aspirateur dans la chambre” et la requette de celle si serait
http://192.168.X.XX/api/start_cleaning_zone?key=XXX&room=“chambre”
Les parametres pouvant etre soit des valeurs de capteurs soit des room ou autre

Autre exemple pour ma “clim connecté” si la temperature passe au dessus d’un certains seuil
http://192.168.X.XX/Clim/chambre/on/“temperature -6”

Je pense que pour ces cas la, on se rapproche d’intégration de nouveaux devices.

Ceci dit, l’envoi de requête HTTP pourrait être utile pour l’intégration de custom webhooks, un peu comme IFTTT.

1 Like

Un des trucs que je veux développer, et qui ressemble à ça, c’est une box “Requête HTTP” dans les scènes.

  • L’utilisateur choisit le verbe HTTP (GET/POST/PATCH/PUT/DELETE)
  • L’url de l’API
  • Les params GET/POST/PATCH/PUT en fonction de la requête
  • Les headers si besoin d’une authentification

Ca permettra de faire des webhooks vers des services externes dans les scènes, ça peut être utile :slight_smile:

5 Likes

Bientôt dans les scènes :heart_eyes:

3 Likes

C’est bon ça :star_struck:

1 Like

cool on pourra passer des variables a terme ou ca serra juste un appel a des url statiques ?

J’aimerais qu’on puisse passer des variables à terme oui :slight_smile:

Et surtout récupérer le contenu de la réponse pour s’en servir dans la scène ensuite.

Par exemple appeler une API random, et ensuite envoyer un message à l’utilisateur avec de la data venant de la réponse de l’API :slight_smile:

Tu as un exemple en tête ou ça pourrait être utile d’appeler une URL dynamique ?

En attendant j’ai bossé sur l’ajout de headers dans les requêtes, c’était pas facile niveau UI mais je m’en suis sorti ^^

2 Likes

Hop, la fonctionnalité a été mergée dans: https://github.com/GladysAssistant/Gladys/commit/e467c86230e2f4b5db383bde6d31872f85d5ecfa

ça partira sur l’image de dev ce soir, dans Gladys la semaine prochaine :slight_smile:

Pour la partie injection de variable dans d’autre champs des scènes, j’aimerais faire quelque chose comme fait Zapier:

Par exemple ça veut dire que dans une action “envoyer un message” dans les scènes, on pourrait piocher dans de la data qui a été récupéré par une autre action (récupérer une valeur de device, requête HTTP, etc… )

Problème: j’ai essayé de décortiquer comment ils font, et ça a l’air chaud! ils ont un fake textarea qui fait 0 px et par dessus une sorte de balise pre - code pour afficher en même temps le texte set en même les variable “stylisée” (car il n’est pas possible d’avoir du style dans un textarea classique)

Quelqu’un est bon en HTML/CSS et saurait faire un truc comme ça avec preact? :smiley:

Salut,

je sais pas si j’ai bien compris mais tu voudrais pouvoir insérer des valeurs selon les retour des actions précédente (requête http, etc…)?
Pour les devices, tu as déjà la liste des device et leurs valeurs quelque part non?
Pour les requêtes http, si celle ci sont customisable, ca se complique et il faut demander a l’utilisateur les donnée retourner et comment (le back va parser le retour, mais ou sont les données dans ce retour?, certaine api vont retourner directement un objet de data, d’autre auront des infos supplémentaires (les listes par exemple avec la pagination et du coup les vrai data sont un niveau en dessous), etc…) afin de pouvoir parser le retour.

pour la partie front, faut regarder sur les composant de type combobox/autocomplete pour voir exactement comment il font, il me semble que la plupart du temps c’est un select masquer pour enregistrer les données et un champ texte/div pour les afficher, la liste de sélection elle est une liste simple.(après avec preact tu n’as peut être plus besoin du select, tu doit pouvoir save la sélection dans le state, (jamais fait de preact, je préfère vue ^^ mais le principe doit rester le même ))

sinon d’un point de vue utilisateur, avoir un textarea body, pour les utilisateur lambda, ca veut rien dire, faut comme sur ton exemple des headers, tu rajoute des lignes de paramètres (un champ nom du paramètre, un champ valeur, regarde Postman par exemple (la partie form-data), avec une options pour le format a envoyé (json, form-data, etc…), l’avantage de cette solution c’est que ce soit une méthode GET ou autre tu passe les paramètres de la même façon c’est le back qui rend le bon format (query string ou body, selon la méthode, et le format json ou autre selon l’option choisi).

Je sais pas si je t’ai apporté quelque idées ou solutions mais bon ^^

Bonne soirée a tous

Salut @wazalop, je parlais juste de développements frontend, comment faire en HTML/CSS pour faire visuellement le screenshot que j’ai publié ci-dessus :smiley: La data je l’ai!

Edit: Image dev de Gladys avec la feature en cours de build (https://github.com/GladysAssistant/Gladys/actions/runs/401136485)