Jeedom met à disposition des développeurs et des utilisateurs une API complète afin de pouvoir piloter Jeedom depuis n’importe quel objet connecté.
Deux API sont disponibles : une orientée développeur qui se pilote en JSON RPC 2.0 et une autre via URL et requête HTTP.
Cette API s’utilise très facilement par de simples requêtes HTTP via URL.
Note
Pour toute cette documentation, #IP_JEEDOM# correspond à votre url d’accès à Jeedom. Il s’agit (sauf si vous êtes connecté à votre réseau local) de l’adresse internet que vous utilisez pour accéder à Jeedom depuis l’extérieur.
Note
Pour toute cette documentation, #API_KEY# correspond à votre clé API, propre à votre installation. Pour la trouver, il faut aller dans le menu “Général” → “Configuration” → onglet “Général”.
Note
Pour les requêtes POST, chaque query parameter peut-être envoyé dans le body de la requête au format form-data ou x-www-form-urlencoded. Les query parameters et le contenu du body peuvent être utilisés ensembles, mais il faut noter que les query parameters sont prioritaires par rapport au contenu du body.
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=scenario&id=#ID#&action=#ACTION#
Note
N’essayez pas d’utiliser ‘php://input’ pour passer des données à votre scénario, les tags sont là pour ça.
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=cmd&id=#ID#
Le plus simple pour avoir cette URL est d’aller sur la page Analyse → Résumé domotique, de chercher la commande puis d’ouvrir sa configuration avancée (l’icône “engrenage”) et là, vous allez voir une URL qui contient déjà tout ce qu’il faut en fonction du type et du sous-type de la commande.
Note
Il est possible pour le champs #ID# de passer plusieurs commandes d’un coup. Pour cela, il faut passer un tableau en json (ex %5B12,58,23%5D, à noter que [ et ] doivent être encodés d’où les %5B et %5D). Le retour de Jeedom sera un json.
Note
Les paramètres doivent être encodés pour les urls, Vous pouvez utiliser un outil, ici.
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=interact&query=#QUERY#
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=message&category=#CATEGORY#&message=#MESSAGE#
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=object
Renvoie en json la liste de tous les objets de Jeedom.
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=eqLogic&object_id=#OBJECT_ID#
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=command&eqLogic_id=#EQLOGIC_ID#
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=fullData
Renvoie tous les objets, équipements, commandes (et leur valeur si ce sont des infos) en json.
Voici l’URL = http://#IP_JEEDOM#/core/api/jeeApi.php?apikey=#APIKEY#&type=variable&name=#NAME#&value=VALUE