Leistungsmerkmale HTTP-API / REST-API
Schnellübersicht
Leistungsmerkmale ohne Limits
Der Timberwolf Server ermöglicht die besonders einfache Integration von externen Geräten und Servern, die Funktionen über HTTP-/REST-API zur Verfügung stellen bzw. abrufen. Es werden nahezu alle* gängigen Protokollvarianten und Datenformate mit vielfältigen Konfigurationsmöglichkeiten unterstützt.
Zusätzlich steht eine umfangreiche Diagnoseunterstützung bereit.
Der Timberwolf Server kann sowohl in der Rolle als HTTP-Client und / oder auch in der Rolle als HTTP-Server genutzt werden.
Firmware Die Funktion als HTTP-Server steht ab IP8 zur V 4.5 oder neuer zur Verfügung
Unterstützte HTTP Protokolle: HTTP/1.1 und HTTP/2 plus drei verschlüsselte Varianten. Das jeweils anzuwendende Protokoll wird bei Requests auf externe HTTP-Server automatisch erkannt.
Unterstützte Kompressionsalgorithmen: ohne, deflate, gzip (wird bei Requests auf externe HTTP-Server automatisch erkannt).
Unterstützte Verschlüsselung: Unterstützt wird Transport Layer Security (“TLS”) für HTTP/1.1 und HTTP/2 mit folgenden Versionen
TWS als Client: TLS 1.1, TLS 1.2 für ausgehende Anfragen (wird automatisch ausgehandelt)
TWS als Server: TLS 1.1, TLS 1.2 für eingehende Anfragen
Zertifikatsprüfung bei verschlüsselten Verbindungen: Jeweils pro Ressource zuschaltbar
Unterstützte Authentifizierungen:
Basic Authentication
API-Key (in den drei Varianten im Header, in der URI, im Body)
Bearer Token
Digest Authentication für TWS als HTTP-Client - ab IP 8 zur V 4.5
Parallele HTTP Subsysteme: Für jedes Subsystem können getrennte Timeouts eingerichtet werden. Jedes Subsystem zeichnet seine Statistik in Zeitserien für eine optimale Diagnose bei Nichterreichen von externen Ressourcen auf. Dazu
Rolle als HTTP-Client: Es können beliebig* viele HTTP-Client-Subsysteme eingerichtet und parallel zueinander betrieben werden
Rolle als HTTP-Server: Es kann EIN HTTP-Server-Subsystem eingerichtet und parallel zu einem oder mehreren HTTP-Client-Subsystemen eingerichtet und betrieben werden
Unbeschränkte Anzahl angesprochener Server und Ressourcen: Über alle HTTP-Client-Subsysteme hinweg können beliebig* viele externe Server, Geräte und deren Ressourcen angesprochen werden. Ohne künstliche Grenze*.
Unbeschränkte Anzahl von Datenpunkten: Die Anzahl der maximal konfigurierbaren Datenpunkte ist nicht durch eine künstliche Grenze beschränkt*.
Einfache Einrichtung durch grafische Benutzeroberfläche: Die Einrichtung der Funktionen erfolgt über eine responsive Web-APP, die mit fast jedem Endgerät mit Browser genutzt werden kann. Die Einrichtung wird unterstützt durch leicht bedienbare Assistenten, interaktive Hilfetexte, Plausibilitätsprüfungen und eine kontextsensitive Online-Hilfe sowie Diagnose-Anzeigen im Kommunikationsmonitor und Rückmeldungen in Echtzeit.
Konvertierung und Umrechnung von Datenformaten: Die im Body übermittelten Datenformate lassen sich fast beliebig in interne Datenformate des Timberwolf Servers konvertieren. Dies ist auch in umgekehrter Richtung beim Übertragen von Werten auf die HTTP-/REST-API Ressource (in der Anfrage) möglich.
Beliebige Verknüpfungen der Datenpunkte: Jeder HTTP-/REST-API Datenpunkt kann im Timberwolf Server fast beliebig* mit jedem anderen Datenpunkt in einer n:m Beziehung verknüpft werden. Damit können diese Datenpunkte mit vielen anderen Datenpunkten gleicher oder anderer Technologien wie z.B. - je nach Server-Modell, Ausstattung, Firmwareversion und Lizenz - KNX, 1-Wire, DMX, Zeitserien, Logik, Visu. MQTT, Modbus, HTTP-/REST-API, ekey sowie über IFTTT mit Produkten von 850+ Herstellern usw. verbunden werden. Mit nur drei Klicks.
Automatische Konvertierung: Konvertierungen von Datentypen bei Verknüpfung zu anderen Protokollen und Diensten erfolgen weitgehend automatisch.
Eine umfangreiche Doku zum neuen Subsystem “HTTP-/REST-API als Server” gibt es auch im Forum unter https://forum.timberwolf.io/viewtopic.php?t=5985
*Erklärung zu "beliebig" und "keine Beschränkung": In der Firmware des Timberwolf Servers sind keine künstlichen Limits implementiert, die über sich technisch ergebende Grenzen hinaus gehen.
Technischen Grenzen sind z.B. die verfügbaren Bandbreiten der Bussysteme und Schnittstellen, die Fähigkeiten der angesprochenen Endgeräte, der Adressumfang und die Datentransportfähigkeiten der jeweiligen Protokolle, die Kompatibilität der jeweiligen Datentypen, die erlaubten Datenflussrichtungen sowie die sich aus der gesamten Konfiguration des Timberwolf Servers ergebende Systemlast.
Der Verzicht auf vorgegebene Beschränkungen bedeutet nicht, dass jede denkbare Konfiguration in jeder Kombination und in jedem Umfang möglich ist. Wir glauben an die Mündigkeit und das Verständnis der Nutzer und erlauben durch weitgehenden Verzicht auf vorgegebene Limits, die verfügbaren Systemressourcen des Timberwolf Servers und der angeschlossenen Geräte im selbst gewählten Umfang zu nutzen.