top of page

Cockpit-XP API (Einstieg)

  • 26. Jan.
  • 2 Min. Lesezeit

Seit der Version V3.7 steht euch in Cockpit-XP eine API zur Verfügung. Die Verbindung zu Cockpit-XP ist dabei per REST-API als auch per MQTT möglich. Zusätzlich wurde ein kleiner Webserver integriert, in dem ihr auch dort abgelegte Dateien (HTML/CSS) Netzwerkseitig aufrufen könnt.


Hinweis: Alle Daten sind weiterhin NUR in eurem Netzwerk verfügbar! Es findet keine Übertragung ins Internet statt. Wir bieten euch erstmal nur die technische Möglichkeit an. Von uns entwickelte Tools/Apps/Widgets folgen mit weiteren Updates.


Warum?


Durch die API steht euch die Möglichkeit zur Verfügung externe Programme/Tools einzubinden und auf aktuelle Renndaten zuzugreifen. Auch das Auslösen von Events ist per API möglich. Folgende Szenarien lassen sich Problemlos darstellen:


-> Erstelle dir eigene Widgets/Apps auf Basis HTML/CSS. Diese sind im kompletten privaten Netzwerk verfügbar

-> Steuere deine Beleuchtung mit deinem SmartHome-System passend zum Rennstatus (per MQTT)

-> Binde einen Microcontroller ein (Arduino/ESP32/etc.) und steuere Motoren, Lichter und Sensoren.


Wie?


Im ConfigCenter in den Erweiterten Einstellungen könnt ihr die Cockpit-XP API aktivieren. Solltet ihr bereits einen Webserver auf eurem Rechner installiert haben, besteht hier auch die Möglichkeit einen anderen Port auszuwählen.


Nützlich ist auch das Logging. Dies lässt sich direkt hier aktivieren:

Im Datenverzeichnis von Cockpit wird dann die Datei LogOnline.txt erzeugt.
Im Datenverzeichnis von Cockpit wird dann die Datei LogOnline.txt erzeugt.


Nach aktivieren der API und Neustart von Cockpit-XP wird sich vermutlich eure Firewall melden. Die Freigabe hier, betrifft nur euer Netzwerk in dem ihr gerade angemeldet seit.


Unter \ProgramData\Cockpit-V2 sollte es nun auch einen "www" Ordner geben. Dieser Ordner ist zusätzlich übers Netzwerk freigegeben.




REST-API


Die entsprechende Dokumentation für alle aktuell verfügbaren API-Endpunkte findet ihr hier:


Der Aufruf der API findet zum lesen per GET statt. Die Antwort erhaltet ihr im JSON-Format. Ein einfacher Test ist direkt über den Browser möglich. Dazu entweder localhost oder die IP-Adresse nutzen:

Ihr habt auch die Möglichkeit per POST Aktionen in Cockpit-XP auszuführen. Folgendes ist bereits umgesetzt:

-> Simulieren eines Buttons

-> Bestrafung

-> Starten eines Addons in Cockpit-XP!


REST-API in lokalen WebApps nutzen


Wollt ihr die API in lokalen WebApps (per HTML) einbinden, sollte die entsprechende Datei im "www"-Ordner abgelegt werden und über die IP-Adresse des PCs aufgerufen werden:




Ein direkter Aufruf der .hmtl Seite ist ebenfalls möglich (Dann nur lokal).


MQTT


Cockpit-XP fungiert als MQTT-Broker. Ihr müsst nichts weiteres installieren. Folgende Topics werden dabei von Cockpit-XP published:



Wir nutzen dabei den Standart-MQTT Port 1883.


All unsere Topics hängen an unseren internen Audio oder Addon Events. Dies bedeutet, dass parallel dazu auch der MQTT-Topic beschrieben wird. Viele Events sollten euch deshalb bereits bekannt vorkommen (Falls ihr bereits eigene Addons entwickelt habt).



Wie gehts weiter?


Hier folgen Zeitnah noch weitere Anleitungen. Wie binde ich das in mein SmartHome ein? Wie steuere ich damit ein LED-Licht per ESP32?


Viel Spaß!



bottom of page