.. _`kognihome/tools/cgi`: CGI-Webservices =============== :Kontakt: Alexander Neumann :CITK: `kognihome-displayserver-extras `_ :Vorbedingung: Die CGI-Skripte benötigen :ref:`tools/kogniserver` bzw. die unter :ref:`tools/kogniconfig` hinterlegte Konfiguration, damit `KogniServer` die Skripte korrekt einbindet. :Quickstart: Die Skripte müssen nur an die konfigurierte Stelle kopiert werden. Dies kann durch das vorhandene :term:`Makefile` geschehen:: $ prefix=/vol/kognihome/releases/nightly make install Danach kann unter ``localhost:8181/cgi/`` (bei Standardeinstellungen für ``kogniserver``) das entsprechende Skript angesprochen werden. Wetterdaten abfragen -------------------- Wetterdaten werden mit dem Script ``weather`` verarbeitet. Der Dienstleister ist *OpenWeather*. Folgende Parameter werden benötigt: * lat -- Geografische Breite * lon -- Geografische Länge * unit (optional, default='metric') -- Einheit der Temperaturwerte ÖPNV-Informationen abfragen --------------------------- VRR-Daten können über das Skript ``station`` abgefragt werden. Der Echtzeitdatenmonitor der VRR beinhaltet under anderem auch Bielefeld (mobiel) und Köln. Akzeptierte Parameter sind: * id (integer) -- wird eine Stations-ID übergeben, ist die Antwort ein :term:`JSON`-Dokument mit Abfahrtsinformationen * station (String) -- wird ein Stations-String und *keine* ID übergeben, beinhaltet die Antwort eine Liste von Stationen mit dem übergebenen Namen und deren IDs. Anmerkung zum den Webservices ----------------------------- Beide Services arbeiten mit API-Keys, also indivualisierten Schlüssln, welche in den CGI-Scripts hinterlegt sind. Bitte machen Sie diese Skripte NICHT öffentlich zugänglich da ein Missbrauch der Schlüssel zu deren Sperrung führen kann. Außerdem kann es sein, dass die Schlüssel nach einer gewissen Zeit ihre Gültigkeit verlieren und neu beantragt werden müssen. Um diesen Fall zu verifizieren, müssen die REST-APIs einmal händisch mit dem Key angesprochen werden. Aus der Antwort des Dienstes sollte ersichtlich sein, ob der Key noch valide ist oder nicht.