Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

API JSONRPC 2.0

Avatar de l’utilisateur
Sshafi
Actif
Messages : 3882
Inscription : 01 juil. 2014, 16:08
Localisation : Albi

API JSONRPC 2.0

Message par Sshafi » 26 févr. 2016, 15:45

Voici une documentation (qui évoluera) sur les méthodes de l'API.

Tout d'abord voici les spécifications (JSON RPC 2.0) : http://www.jsonrpc.org/specification .
L'accès à l'API se fait par l'url : #URL_JEEDOM#/core/api/jeeApi.php

Plugin
  • plugin::listPlugin
    Retourne la liste de tous les plugins
    Paramètres :
    • int activateOnly = 0 (ne retourne que la liste des plugins activés)
    • int orderByCaterogy = 0 (retourne la liste des plugins triés par catégorie)
??? Menfin ...
VM ESXi # Aeon Lab Gen5 | RFXtrx433E | ...
Trucs & Astuces

Avatar de l’utilisateur
Sshafi
Actif
Messages : 3882
Inscription : 01 juil. 2014, 16:08
Localisation : Albi

Re: API JSONRPC 2.0

Message par Sshafi » 26 févr. 2016, 15:48

Objet
  • object::all
    Retourne la liste de tous les objets
  • object::full
    Retourne la liste de tous les objets, avec pour chaque objet tous ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celle-ci (pour les commandes de type info)
  • object::byId
    Retourne l'objet spécifié
    Paramètres:
    • int id
  • object::fullById
    Retourne un objet, ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celle-ci (pour les commandes de type info)
??? Menfin ...
VM ESXi # Aeon Lab Gen5 | RFXtrx433E | ...
Trucs & Astuces

Avatar de l’utilisateur
Sshafi
Actif
Messages : 3882
Inscription : 01 juil. 2014, 16:08
Localisation : Albi

Re: API JSONRPC 2.0

Message par Sshafi » 26 févr. 2016, 16:06

EqLogic
  • eqLogic::all
    Retourne la liste de tous les équipements
  • eqLogic::fullById
    Retourne un équipement et ses commandes ainsi que les états de celle-ci (pour les commandes de type info)
  • eqLogic::byId
    Retourne l'équipement spécifié
    Paramètres:
    • int id
  • eqLogic::byType
    Retourne tous les équipements appartenant au type (plugin) spécifié
    Paramètres:
    • string type
  • eqLogic::byObjectId
    Retourne tous les équipements appartenant à l'objet spécifié
    Paramètres:
    • int object_id
  • eqLogic::save
    Retourne l'équipement enregistré/créé
    Paramètres:
    • int id (vide si c'est une création)
    • string eqType_name (type de l'équipement script, virtuel...)
    • string $name
    • string $logicalId = ''
    • int $object_id = null
    • int $eqReal_id = null;
    • int $isVisible = 0;
    • int $isEnable = 0;
    • array $configuration;
    • array $specificCapatibilities;
    • int $timeout;
    • array $category;
??? Menfin ...
VM ESXi # Aeon Lab Gen5 | RFXtrx433E | ...
Trucs & Astuces

Avatar de l’utilisateur
Sshafi
Actif
Messages : 3882
Inscription : 01 juil. 2014, 16:08
Localisation : Albi

Re: API JSONRPC 2.0

Message par Sshafi » 26 févr. 2016, 16:12

Cmd
  • cmd::all
    Retourne la liste de toutes les commandes
  • cmd::byId
    Retourne la commande spécifiée
    Paramètres:
    • int id
  • cmd::byEqLogicId
    Retourne toutes les commandes appartenant à l'équipement spécifié
    Paramètres:
    • int eqLogic_id
  • cmd::execCmd
    Exécute la commande spécifiée
    Paramètres:
    • int id
    • [options] Liste des options de la commandes (dépend du type et du sous-type de la commande)
  • cmd::getStatistique
    Retourne les statistiques sur la commande (ne marche que sur les commandes de type info et historisée)
    Paramètres:
    • int id
    • string startTime : date de début de calcul des statistiques
    • string endTime : date de fin de calcul des statistiques
  • cmd::getTendance
    Retourne la tendance sur la commande (ne marche que sur les commandes de type info et historisée)
    Paramètres:
    • int id
    • string startTime : date de début de calcul de la tendance
    • string endTime : date de fin de calcul de la tendance
  • cmd::getHistory
    Retourne l'historique de la commande (ne marche que sur les commandes de type info et historisée)
    Paramètres:
    • int id
    • string startTime : date de début de l'historique
    • string endTime : date de fin de l'historique
??? Menfin ...
VM ESXi # Aeon Lab Gen5 | RFXtrx433E | ...
Trucs & Astuces

Avatar de l’utilisateur
Sshafi
Actif
Messages : 3882
Inscription : 01 juil. 2014, 16:08
Localisation : Albi

Re: API JSONRPC 2.0

Message par Sshafi » 26 févr. 2016, 16:16

Scenario
  • scenario::all
    Retourne la liste de tous les scénarios
  • scenario::byId
    Retourne le scénario spécifié
    Paramètres:
    • int id
  • scenario::changeState
    Change l'état du scénario spécifié.
    Paramètres:
    • int id
    • string state : [run,stop,enable,disable]

Interaction
  • interact::tryToReply
    Essaye de faire correspondre une demande avec une interaction, exécute l'action et répond en conséquence
    Paramètres:
    • query (phrase de la demande)
??? Menfin ...
VM ESXi # Aeon Lab Gen5 | RFXtrx433E | ...
Trucs & Astuces

Avatar de l’utilisateur
Sshafi
Actif
Messages : 3882
Inscription : 01 juil. 2014, 16:08
Localisation : Albi

Re: API JSONRPC 2.0

Message par Sshafi » 26 févr. 2016, 16:18

Exemples

Voici un exemple d'utilisation de l'API. Pour l'exemple si dessous j'utilise cette class php qui permet de simplifier l'utilisation de l'api.

Récupération de la liste des objets :

Code : Tout sélectionner

$jsonrpc = new jsonrpcClient('#URL_JEEDOM#/core/api/jeeApi.php', #API_KEY#);
if($jsonrpc->sendRequest('object::all', array())){
   print_r($jsonrpc->getResult());
}else{
   echo $jsonrpc->getError();
}
Exécution d'une commande (avec comme option un titre et un message) :

Code : Tout sélectionner

$jsonrpc = new jsonrpcClient('#URL_JEEDOM#/core/api/jeeApi.php', #API_KEY#);
if($jsonrpc->sendRequest('cmd::execCmd', array('id' => #cmd_id#, 'options' => array('title' => 'Coucou', 'message' => 'Ca marche')))){
   echo 'OK';
}else{
   echo $jsonrpc->getError();
}
L'API est bien sur utilisable avec d'autre langage (simplement un post sur une page)
??? Menfin ...
VM ESXi # Aeon Lab Gen5 | RFXtrx433E | ...
Trucs & Astuces

Verrouillé

Revenir vers « Core de Jeedom »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités