Voici une documentation 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

Voici un example de configuration d’un objet Json utilisable dans le corps d’une requête faite par un agent HTTP:

{
    "jsonrpc": "2.0",
    "id": "007",
    "method": "event::changes",
    "params": {
        "apikey": "",
        "datetime": "0"
    }
}

Divers

ping

Retourne pong, permet de tester la communication avec Jeedom

version

Retourne la version de Jeedom

datetime

Retourne le datetime de Jeedom en microsecondes

API config

config::byKey

Retourne une valeur de configuration.

Paramètres Json :

config::save

Enregistre une valeur de configuration

Paramètres Json :

API JSON Event

event::changes

Retourne la liste des changements depuis le datetime passé en paramètre (doit être en microsecondes). Vous aurez aussi dans la réponse le datetime courant de Jeedom (à réutiliser pour l’interrogation suivante)

Paramètres Json :

API JSON Plugin

plugin::listPlugin

Retourne la liste de tous les plugins

Paramètres Json :

API JSON Objet

jeeObject::all

Retourne la liste de tous les objets

jeeObject::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 celles-ci (pour les commandes de type info)

jeeObject::fullById

Retourne un objet avec tous ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de celles-ci (pour les commandes de type info)

Paramètres Json :

jeeObject::byId

Retourne l’objet spécifié

Paramètres:

jeeObject::fullById

Retourne un objet, ses équipements et pour chaque équipement toutes ses commandes ainsi que les états de cellse-ci (pour les commandes de type info)

jeeObject::save

Retourne l’objet spécifié

Paramètres:

API JSON Summary

summary::global

Retourne le résumé global pour la clef passée en paramètre

Paramètres:

summary::byId

Retourne le résumé pour l’objet id

Paramètres:

API JSON EqLogic

eqLogic::all

Retourne la liste de tous les équipements

eqLogic::fullById

Retourne un équipement et ses commandes ainsi que les états de celles-ci (pour les commandes de type info)

Paramètres:

eqLogic::byId

Retourne l’équipement spécifié

Paramètres:

eqLogic::byType

Retourne tous les équipements appartenant au type (plugin) spécifié

Paramètres:

eqLogic::byObjectId

Retourne tous les équipements appartenant à l’objet spécifié

Paramètres:

eqLogic::byTypeAndId

Renvoi un tableau d’équipement en fonction des paramètres.

Le retour sera de la forme array(‘eqType1’ ⇒array( ‘id’⇒…​,’cmds’ ⇒ array(…​.)),’eqType2’ ⇒array( ‘id’⇒…​,’cmds’ ⇒ array(…​.))…​.,id1 ⇒ array( ‘id’⇒…​,’cmds’ ⇒ array(…​.)),id2 ⇒ array( ‘id’⇒…​,’cmds’ ⇒ array(…​.))..)

Paramètres:

eqLogic::save

Retourne l’équipement enregistré/créé

Paramètres:

API JSON Cmd

cmd::all

Retourne la liste de toutes les commandes

cmd::byId

Retourne la commande spécifiée

Paramètres:

cmd::byEqLogicId

Retourne toutes les commandes appartenant à l’équipement spécifié

Paramètres:

cmd::execCmd

Exécute la commande spécifiée

Paramètres:

cmd::getStatistique

Retourne les statistiques sur la commande (ne marche que sur les commandes de type info et historisées)

Paramètres:

cmd::getTendance

Retourne la tendance sur la commande (ne marche que sur les commandes de type info et historisées)

Paramètres:

cmd::getHistory

Retourne l’historique de la commande (ne marche que sur les commandes de type info et historisées)

Paramètres:

cmd::save

Retourne l’objet spécifié

Paramètres:

cmd::event

Permet d’envoyer une valeur à une commande

Paramètres:

API JSON Scenario

scenario::all

Retourne la liste de tous les scénarios

scenario::byId

Retourne le scénario spécifié

Paramètres:

scenario::export

Retourne l’export du scénario ainsi que le nom humain du scénario

Paramètres:

scenario::import

Permet d’importer un scénario.

Paramètres:

scenario::changeState

Change l’état du scénario spécifié.

Paramètres:

API JSON Log

log::get

Permet de récupérer un log

Paramètres:

log::add

Permet d’écrire dans un log

Paramètres:

log::list

Permet de récupérer la list des logs de Jeedom

Paramètres:

log::empty

Permet de vider un log

Paramètres:

log::remove

Permet de supprimer un log

Paramètres:

API JSON datastore (variable)

datastore::byTypeLinkIdKey

Récupère la valeur d’une variable stockée dans le datastore

Paramètres:

datastore::save

Enregistre la valeur d’une variable dans le datastore

Paramètres:

API JSON Message

message::all

Retourne la liste de tous les messages

message::add

Permet d’écrire dans un log

Paramètres:

message::removeAll

Supprime tous les messages

API JSON Interaction

interact::tryToReply

Essaie de faire correspondre une demande avec une interaction, exécute l’action et répond en conséquence

Paramètres:

interactQuery::all

Renvoi la liste complete de toute les interactions

API JSON System

jeedom::halt

Permet d’arrêter Jeedom

jeedom::reboot

Permet de redémarrer Jeedom

jeedom::isOk

Permet de savoir si l’état global de Jeedom est OK

jeedom::update

Permet de lancer un update de Jeedom

jeedom::backup

Permet de lancer un backup de Jeedom

jeedom::getUsbMapping

Liste des ports USB et des noms de clefs USB branchés dessus

API JSON plugin

plugin::install

Installation/Mise à jour d’un plugin donné

Paramètres:

plugin::remove

Suppression d’un plugin donné

Paramètres:

plugin::dependancyInfo

Renvoi les informations sur le status des dépendances du plugin

Paramètres:

plugin::dependancyInstall

Force l’installation des dépendances du plugin

Paramètres:

plugin::deamonInfo

Renvoi les informations sur le status du démon du plugin

Paramètres:

plugin::deamonStart

Force le démarrage du démon

Paramètres:

plugin::deamonStop

Force l’arret du démon

Paramètres:

plugin::deamonChangeAutoMode

Change le mode de gestion du démon

Paramètres:

API JSON update

update::all

Retourne la liste de tous les composants installés, leurs versions et les informations associées

update::checkUpdate

Permet de vérifier les mises à jour

update::update

Permet de mettre à jour Jeedom et tous les plugins

update::doUpdate

Paramètres:

API JSON network

network::restartDns

Force le (re)démarrage du DNS Jeedom

network::stopDns

Force l’arret du DNS Jeedom

network::dnsRun

API JSON timeline

timeline::all

Retourne tous les éléments de la timeline

timeline::listFolder

Retourne tous les dossier (catégorie) de la timeline

timeline::byFolder

Retourne tous les éléments du dossier demandé

Paramètres:

API JSON User

user::all

Retourne la liste de tous les utilisateurs

user::save

Crée ou edite un utilisateur

Paramètres:

API JSON Exemples

Voici un exemple d’utilisation de l’API. Pour l’exemple ci-dessous j’utilise cette classe php qui permet de simplifier l’utilisation de l’api.

Récupération de la liste des objets :

$jsonrpc = new jsonrpcClient('#URL_JEEDOM#/core/api/jeeApi.php', #API_KEY#);
if($jsonrpc->sendRequest('jeeObject::all', array())){
    print_r($jsonrpc->getResult());
}else{
    echo $jsonrpc->getError();
}

Exécution d’une commande (avec comme option un titre et un message)

$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 sûr utilisable avec d’autres langages (simplement un post sur une page) 

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.