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_ENERGIDLIFE/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 ENERGID’Life
version
Retourne la version de ENERGID’Life
datetime
Retourne le datetime de ENERGID’Life en microsecondes
API Config #
config::byKey
Retourne une valeur de configuration.
Paramètres Json :
- string key : clef de la valeur de configuration à retourner
- string plugin : (optionnel), plugin de la valeur de configuration
- string default : (optionnel), valeur à retourner si la clef n’existe pas
config::save
Enregistre une valeur de configuration
Paramètres Json :
- string value : valeur à enregistrer
- string key : clef de la valeur de configuration à enregistrer
- string plugin : (optionnel), plugin de la valeur de configuration à enregistrer
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 ENERGID’Life (à réutiliser pour l’interrogation suivante)
Paramètres Json :
- int datetime
API JSON Plugin #
plugin::listPlugin
Retourne la liste de tous les plugins
Paramètres Json :
- 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)
API JSON Objet #
jeeObject::all
Retourne la liste de tous les objets (pièces)
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 :
- int id
jeeObject::byId
Retourne l’objet spécifié
Paramètres:
- int id
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:
- int id (vide si c’est une création)
- string name
- int father_id = null
- int isVisible = 0
- int position
- array configuration
- array display
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:
- int id
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::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:
- string[] eqType = tableau des types d’équipements voulus
- int[] id = tableau des ID d’équipements personnalisés voulus
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, modbus…)
- string name
- string logicalId = ‘’
- int object_id = null
- int eqReal_id = null
- int isVisible = 0
- int isEnable = 0
- array configuration
- int timeout
- array category
API JSON 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 : id d’une commande ou tableau d’id si vous voulez executer plusieurs commandes d’un coup
- [options] Liste des options de la commande (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ées)
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ées)
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ées)
Paramètres:
- int id
- string startTime : date de début de l’historique
- string endTime : date de fin de l’historique
cmd::save
Retourne l’objet spécifié
Paramètres:
- int id (vide si c’est une création)
- string name
- string logicalId
- string eqType
- string order
- string type
- string subType
- int eqLogic_id
- int isHistorized = 0
- string unite = ‘’
- array configuration
- array template
- array display
- array html
- int value = null
- int isVisible = 1
- array alert
cmd::event
Permet d’envoyer une valeur à une commande
Paramètres:
- int id
- string value : valeur
- string datetime : (optionnel) datetime de la valeur
API JSON Scenario #
scenario::all
Retourne la liste de tous les scénarios
scenario::byId
Retourne le scénario spécifié
Paramètres:
- int id
scenario::export
Retourne l’export du scénario ainsi que le nom humain du scénario
Paramètres:
- int id
scenario::import
Permet d’importer un scénario.
Paramètres:
- int id : id du scénario dans lequel importer (vide si création)
- string humanName : nom humain du scénario (vide si création)
- array import : scénario (issue du champ export de scenario::export)
scenario::changeState
Change l’état du scénario spécifié.
Paramètres:
- int id
- string state : [run,stop,enable,disable]
API JSON Log #
log::get
Permet de récupérer un log
Paramètres:
- string log : nom du log à récupérer
- string start : numéro de ligne sur laquelle commencer la lecture
- string nbLine : nombre de lignes à récupérer
log::add
Permet d’écrire dans un log
Paramètres:
- string log : nom du log à récupérer
- string type : type de log (debug, info, warning, error)
- string message : message texte à écrire
- string logicalId : logicalId du message généré
log::list
Permet de récupérer la list des logs de ENERGID’Life
Paramètres:
- string filtre : (optionnel) filtre sur le nom des logs à récupérer
log::empty
Permet de vider un log
Paramètres:
- string log : nom du log à vider
log::remove
Permet de supprimer un log
Paramètres:
- string log : nom du log a supprimer
API JSON Message #
message::all
Retourne la liste de tous les messages
message::add
Permet d’écrire dans un log
Paramètres:
- string type : type de log (debug, info, warning, error)
- string message : message
- string action : action
- string logicalId : logicalId
message::removeAll
Supprime tous les messages
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:
- string folder : nom du dossier