Appel HTTP en masse (regrouper des appels http)

Bonjour,

je développe une petite appli Android pour mes propres besoins, sur laquelle je veux appeler quelques scénario, mais surtout récupérer beaucoup d’informations de mes capteurs.

J’ai consulté la page https://jeedom.github.io/core/fr_FR/api_http, mais chaque information nécessite 1 appel.

Je voudrais pouvoir récupérer plusieurs valeurs cmd avec un appel :
[http://#IP_JEEDOM#/jeedom/core/api/jeeApi.php?apikey=#APIKEY#&type=cmd&id=#ID1#;#ID2#;#ID3#;#ID4#;#ID5#]
Par exemple. ceci me rendant un flux JSON (clé:valeur) par exemple.

Existe t’il un moyen existant de faire ça ?
Y a t’il des astuces que je pourrai utiliser ? virtuel custom, plugibn (je voudrais éviter)
L’API Jeedom Http pourrait elle offrir ce genre de services ?

Merci.

Bonjour
Jeedom le fait déjà…ça s’appelle l’API jsonrpc

Merci, je n’avais pas vu cette api.

Je viens de tester avec un postman en utilisanbt mon APIkey, et pour tester un body :
{« jsonrpc »:« 2.0 »,« method »:« cmd::all »}

J’ai en retour : {« jsonrpc »:« 2.0 »,« id »:99999,« error »:{« code »:1,« message »:« Vous n’\u00eates pas autoris\u00e9 \u00e0 effectuer cette action »}}

De plus, je ne vois pas comment demander une liste finie d’id via cette api.

Merci

La faut lire la documentation l’API jsonrpc étant vraiment utilisé elle marche. Pour les demandes multiples il te suffit d’envoyer un tableau dans la liste des dis tout simplement

Yes, merci, en fouillant un peu, j’ai réussi.

Doc : https://jeedom.github.io/core/fr_FR/jsonrpc_api

un exemple pour ceux qui chercheraient aussi :
POST :
https://MON_JEEDOM/core/api/jeeApi.php
Body :

{
	"jsonrpc":"2.0",
	"method":"cmd::execCmd",
	"params": {"id":[644,679],"apikey": "XXXXXAAAXXXXAXXXAXXAXXAvghvgjhvjhgvhj"}
}

en réponse :

{
    "jsonrpc": "2.0",
    "id": 99999,
    "result": {
        "644": {
            "value": 19.3,
            "collectDate": "2019-11-12 21:17:23"
        },
        "679": {
            "value": 21.8,
            "collectDate": "2019-11-12 22:11:20"
        }
    }
}

il ne me reste plus qu’à travailler ça en Kotlin.

Merci beaucoup la Team !

1 « J'aime »

Afin d’éviter de chercher, peux-tu aussi mettre l’appel HTTP en exemple ?

Post edité. c’est ce que tu voulais ?

1 « J'aime »

Merci pour la communauté. :sunglasses:

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