Hier finden Sie eine Dokumentation zu API-Methoden.
Hier sind zunächst die Spezifikationen (JSON RPC 2.0) : http://www.jsonrpc.org/specification
Der Zugriff auf die API erfolgt über die URL : URL_JEEDOM/core/api/jeeApi.php
Hier ist ein Beispiel für die Konfiguration eines Json-Objekts, das im Hauptteil einer Anfrage eines HTTP-Agenten verwendet werden kann:
json
{
"jsonrpc": "2.0",
"id": "007",
"method": "event::changes",
"params": {
"apikey": "",
"datetime": "0"
}
}
‘’
Pong zurückgeben, Kommunikation mit Jeedom testen
Gibt die Version von Jeedom zurück
Gibt die Jeedom-Datumszeit in Mikrosekunden zurück
Gibt einen Konfigurationswert zurück.
Json-Einstellungen :
String-Schlüssel : Konfigurationswertschlüssel, der zurückgegeben werden soll
String Plugin : (optional), Konfigurationswert-Plugin
Zeichenfolge Standard : (optional), Wert, der zurückgegeben werden soll, wenn der Schlüssel nicht vorhanden ist
Speichert einen Konfigurationswert
Json-Einstellungen :
Zeichenfolgenwert : Wert aufzuzeichnen
String-Schlüssel : Konfigurationswertschlüssel zum Speichern
String Plugin : (optional), Plugin des zu speichernden Konfigurationswerts
Gibt die Liste der Änderungen seit dem im Parameter übergebenen Datum / Uhrzeit zurück (muss in Mikrosekunden angegeben werden)). Sie haben in der Antwort auch die aktuelle Datumszeit von Jeedom (die für die folgende Abfrage wiederverwendet werden soll)
Json-Einstellungen :
Gibt die Liste aller Plugins zurück
Json-Einstellungen :
int activOnly = 0 (gibt nur die Liste der aktivierten Plugins zurück)
int orderByCaterogy = 0 (gibt die Liste der Plugins nach Kategorie sortiert zurück)
Gibt die Liste aller Objekte zurück
Gibt die Liste aller Objekte zurück, mit für jedes Objekt alle seine Geräte und für jedes Gerät alle seine Befehle sowie deren Status (für Befehle vom Typ info)
Gibt ein Objekt mit all seinen Geräten und für jedes Gerät alle seine Befehle sowie deren Status zurück (für Befehle vom Typ info)
Json-Einstellungen :
Gibt das angegebene Objekt zurück
Die Einstellungen:
Gibt ein Objekt, seine Ausrüstung und für jede Ausrüstung alle seine Befehle sowie die Zellenzustände zurück (für Befehle vom Typ Info)
Gibt das angegebene Objekt zurück
Die Einstellungen:
int id (leer, wenn es sich um eine Kreation handelt)
Zeichenfolgenname
int Vater_id = null
int isVisible = 0
int position
Array-Konfiguration
Array-Anzeige
Gibt die globale Zusammenfassung für den im Parameter übergebenen Schlüssel zurück
Die Einstellungen:
Gibt die Zusammenfassung für die Objekt-ID zurück
Die Einstellungen:
int-ID : Objekt-ID
String-Schlüssel : (optional), Schlüssel der gewünschten Zusammenfassung. Wenn leer, gibt Jeedom die Zusammenfassung für alle Schlüssel zurück
Gibt die Liste aller Geräte zurück
Gibt ein Gerät und seine Befehle sowie deren Status zurück (für Befehle vom Typ “Info”)
Die Einstellungen:
Gibt das angegebene Gerät zurück
Die Einstellungen:
Gibt alle Geräte zurück, die zum angegebenen Typ gehören (Plugin)
Die Einstellungen:
Gibt alle Geräte zurück, die zum angegebenen Objekt gehören
Die Einstellungen:
Gibt eine Gerätetabelle gemäß den Parametern zurück.
Die Rückgabe erfolgt vom Formulararray ('eqType1' ⇒array ('id'⇒…,' cmds '⇒) Array (….)), 'eqType2' ⇒array ('id'⇒…,' cmds '⇒ Array (….))….,id1 ⇒ Array ('id'⇒…,' cmds '⇒ Array (….)), id2 ⇒ Array (' id'⇒…, 'cmds' ⇒ array(….))..)
Die Einstellungen:
string \ [] eqType = Tabelle der erforderlichen Gerätetypen
int \ [] id = Tabelle der gewünschten benutzerdefinierten Geräte-IDs
Gibt das registrierte / erstellte Gerät zurück
Die Einstellungen:
int id (leer, wenn es sich um eine Kreation handelt)
Zeichenfolge eqType_name (Skripttyp, virtuelle Ausrüstung…)
Zeichenfolgenname
Zeichenfolge logische ID = ‘’
int object_id = null
int eqReal_id = null
int isVisible = 0
int isEnable = 0
Array-Konfiguration
int timeout
Array-Kategorie
Gibt die Liste aller Befehle zurück
Gibt den angegebenen Befehl zurück
Die Einstellungen:
Gibt alle Bestellungen zurück, die zum angegebenen Gerät gehören
Die Einstellungen:
Führen Sie den angegebenen Befehl aus
Die Einstellungen:
int-ID : Befehls-ID oder ID-Array, wenn Sie mehrere Befehle gleichzeitig ausführen möchten
\ [Optionen ] Liste der Befehlsoptionen (abhängig von Typ und Untertyp des Befehls)
Gibt die Statistiken zur Bestellung zurück (funktioniert nur bei Informationen und historischen Bestellungen)
Die Einstellungen:
int-ID
Zeichenfolge startTime : Startdatum der Statistikberechnung
Zeichenfolge endTime : Enddatum der Statistikberechnung
Gibt den Trend der Bestellung zurück (funktioniert nur bei Informationen und historischen Bestellungen)
Die Einstellungen:
int-ID
Zeichenfolge startTime : Startdatum der Trendberechnung
Zeichenfolge endTime : Enddatum der Trendberechnung
Gibt den Bestellverlauf zurück (funktioniert nur bei Informationen und historischen Aufträgen)
Die Einstellungen:
int-ID
Zeichenfolge startTime : Startdatum der Geschichte
Zeichenfolge endTime : Enddatum der Geschichte
Gibt das angegebene Objekt zurück
Die Einstellungen:
int id (leer, wenn es sich um eine Kreation handelt)
Zeichenfolgenname
Zeichenfolge logische ID
Zeichenfolge eqType
Zeichenfolgenreihenfolge
Zeichenfolgentyp
String-Subtyp
int eqLogic_id
int isHistorized = 0
String-Einheit = ‘’
Array-Konfiguration
Array-Vorlage
Array-Anzeige
Array HTML
intvalue=null
int isVisible = 1
Array-Alarm
Ermöglicht das Senden eines Werts an eine Bestellung
Die Einstellungen:
int-ID
Zeichenfolgenwert : valeur
Zeichenfolge datetime : (optional) Datum / Uhrzeit-Wert
Gibt die Liste aller Szenarien zurück
Gibt das angegebene Szenario zurück
Die Einstellungen:
Gibt den Export des Szenarios sowie das zurück menschlicher Name aus dem Skript
Die Einstellungen:
Ermöglicht das Importieren eines Szenarios.
Die Einstellungen:
int-ID : ID des zu importierenden Szenarios (leer bei Erstellung)
Zeichenfolge humanName : menschlicher Name des Szenarios (leer bei Erstellung)
Array-Import : Szenario (aus dem Feld Exportszenario::export)
Ändert den Status des angegebenen Szenarios.
Die Einstellungen:
int-ID
Zeichenfolgenstatus: \ [Run, Stop, aktivieren, deaktivieren ]
Ermöglicht das Abrufen eines Protokolls
Die Einstellungen:
Zeichenfolgenprotokoll : Name des abzurufenden Protokolls
String-Start : Zeilennummer, auf der mit dem Lesen begonnen werden soll
Zeichenfolge nbLine : Anzahl der wiederherzustellenden Zeilen
Ermöglicht das Schreiben in ein Protokoll
Die Einstellungen:
Zeichenfolgenprotokoll : Name des abzurufenden Protokolls
Zeichenfolgentyp : Protokolltyp (Debug, Info, Warnung, Fehler)
Zeichenfolge Nachricht : SMS zu schreiben
Zeichenfolge logische ID : logische ID der generierten Nachricht
Holen Sie sich die Jeedom-Protokollliste
Die Einstellungen:
Leeren Sie ein Protokoll
Die Einstellungen:
Ermöglicht das Löschen eines Protokolls
Die Einstellungen:
Ruft den Wert einer im Datenspeicher gespeicherten Variablen ab
Die Einstellungen:
Zeichenfolgentyp : Art des gespeicherten Werts (für Szenarien ist es Szenario)
id linkId : -1 für das globale (Wert für die Standardszenarien oder die Szenario-ID)
String-Schlüssel : Wertname
Speichert den Wert einer Variablen im Datenspeicher
Die Einstellungen:
Zeichenfolgentyp : Art des gespeicherten Werts (für Szenarien Es ist ein Szenario)
id linkId : -1 für global (Wert für Standardszenarien, oder die Szenario-ID)
String-Schlüssel : Wertname
gemischter Wert : Wert aufzuzeichnen
Gibt die Liste aller Nachrichten zurück
Ermöglicht das Schreiben in ein Protokoll
Die Einstellungen:
Zeichenfolgentyp : Protokolltyp (Debug, Info, Warnung, Fehler)
Zeichenfolge Nachricht : message
String-Aktion : action
Zeichenfolge logische ID : logicalId
Löschen Sie alle Nachrichten
Versuchen Sie, eine Anfrage mit einer Interaktion abzugleichen, führen Sie die Aktion aus und antworten Sie entsprechend
Die Einstellungen:
Abfrage (Anforderungsphrase)
int Antwort_cmd = NULL : Befehls-ID, die zum Antworten verwendet werden soll, Wenn nicht angegeben, gibt Jeedom die Antwort an Sie im JSON zurück
Gibt die vollständige Liste aller Interaktionen zurück
Stoppen Sie Jeedom
Starten Sie Jeedom neu
Lässt Sie wissen, ob der globale Zustand von Jeedom in Ordnung ist
Starten wir ein Jeedom-Update
Ermöglicht das Starten eines Backups von Jeedom
Liste der USB-Anschlüsse und Namen der daran angeschlossenen USB-Sticks
Installation / Update eines bestimmten Plugins
Die Einstellungen:
Löschen eines bestimmten Plugins
Die Einstellungen:
Gibt Informationen zum Plugin-Abhängigkeitsstatus zurück
Die Einstellungen:
Erzwingen Sie die Installation von Plugin-Abhängigkeiten
Die Einstellungen:
Gibt Informationen zum Status des Plugin-Daemons zurück
Die Einstellungen:
Zwinge den Dämon zu starten
Die Einstellungen:
Dämonenstopp erzwingen
Die Einstellungen:
Ändern Sie den Verwaltungsmodus des Dämons
Die Einstellungen:
Gibt eine Liste aller installierten Komponenten, ihrer Versionen und der zugehörigen Informationen zurück
Ermöglicht die Suche nach Updates
Ermöglicht das Aktualisieren von Jeedom und allen Plugins
Die Einstellungen:
Erzwingen Sie den (Neustart) des Jeedom DNS
Erzwingt das Anhalten des DNS Jeedom
Gibt alle Elemente der Timeline zurück
Gibt alle Ordner (Kategorie) der Timeline zurück
Gibt alle Elemente des angeforderten Ordners zurück
Die Einstellungen:
Gibt die Liste aller Benutzer zurück
Erstellen oder bearbeiten Sie einen Benutzer
Die Einstellungen:
int id (wenn edition)
String-Anmeldung
String-Passwort
Saitenprofil: [admin,benutzer,einschränken]
Hier ist ein Beispiel für die Verwendung der API. Für das folgende Beispiel ich benutze diese PHP-Klasse Dies vereinfacht die Verwendung der API.
Abrufen der Objektliste :
`{.php}
$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 ();
}
‘’
Ausführung eines Auftrags (mit der Option eines Titels und einer Nachricht)
`{.php}
$jsonrpc = new jsonrpcClient('#URL_JEEDOM#/core/api/jeeApi.php', #API_KEY#);
if ($ jsonrpc-> sendrequest ( ‚cmd::execCmd ', array (' id' => #cmd_id#, 'options '=> array (' title '=>' Cuckoo ',' message '=>' Es funktioniert')))){
Echo 'OK';
}else{
echo $ jsonrpc-> getError ();
}
‘’
Die API kann natürlich auch mit anderen Sprachen verwendet werden (nur ein Beitrag auf einer Seite)