Webservice-Daten im Gira X1 nutzen: der TerraBytes XML-/JSON-Parser

0
7

Zuletzt aktualisiert am 25.07.2026 von Torsten

Wettervorhersage, Energieverbrauch, Gerätestatus oder Messwerte: Viele Dienste liefern ihre Daten als XML oder JSON. Damit diese Informationen in einer Gira-X1-Logik nutzbar werden, müssen die benötigten Werte zuverlässig aus dem vollständigen Dokument herausgelöst werden.

Genau dafür gibt es den TerraBytes XML-/JSON-Parser für Gira X1 und L1. Der Logikbaustein nimmt XML- oder JSON-Daten als Text entgegen, wählt Inhalte mit XPath aus und stellt die Ergebnisse an separaten Ausgängen zur Verfügung.

Was der Logikbaustein kann

Eine Parser-Instanz verarbeitet bis zu 50 XPath-Ausdrücke. Für jeden Pfad wird unabhängig festgelegt, wie das Ergebnis ausgegeben werden soll:

  • erster Treffer als Text,
  • erster Treffer als Zahl,
  • mehrere Treffer als verketteter Text,
  • Summe mehrerer Zahlen,
  • kleinster oder größter Zahlenwert,
  • Skalierung eines numerischen Ergebnisses,
  • Textvorsatz oder eigener Trenner für Textausgaben.

Damit wird aus einem umfangreichen Webservice-Dokument genau der Wert, den eine Visualisierung, ein KNX-Datenpunkt oder eine nachfolgende Logik benötigt.

Drei typische Anwendungsfälle

Wetterdaten auswerten

Aus einer XML-Wettervorhersage lassen sich zum Beispiel die Niederschlagswerte der nächsten vier Zeiträume auswählen und direkt aufsummieren:

/weatherdata/forecast/time[position()<5]/precipitation/@value

Parallel kann ein zweiter Pfad Temperaturwerte als Textreihe für die Visualisierung oder als Minimum beziehungsweise Maximum ausgeben.

Energie und Leistung skalieren

Liefert eine Geräteschnittstelle Leistung in Milliwatt, liest der Parser den Zahlenwert und rechnet ihn mit dem Skalierungsfaktor 0,001 direkt in Watt um. Ein zusätzlicher Rechenbaustein ist dafür nicht erforderlich.

Zustände mehrerer Geräte zusammenfassen

Mit einem XPath-Filter können beispielsweise alle Geräte mit aktivem Alarm ausgewählt werden. Die Namen werden mit einem frei wählbaren Trenner zu einer verständlichen Meldung verbunden:

/devicelist/device[./alert/state="1"]/name

So funktioniert JSON

JSON wird intern in eine XML-Struktur überführt und anschließend ebenfalls per XPath ausgewertet. Deshalb beginnen JSON-Pfade mit /root. Elemente eines JSON-Arrays werden über /item angesprochen.

Beispiel:

{
  "room": "Küche",
  "values": [19.5, 20.0, 20.5]
}

Der Raum steht unter /root/room, die drei Messwerte unter /root/values/item.

Wichtig: JSON-Schlüssel müssen als XML-Namen verwendbar sein. Schlüssel, die etwa mit einer Zahl beginnen, sollten vor dem Parser umbenannt werden. Wenn ein Webservice sowohl XML als auch JSON anbietet, ist XML für diesen Baustein meist die robustere Wahl.

Fehler sichtbar statt still übergehen

Ungültige Eingaben, fehlerhafte Pfade und nicht lesbare Zahlen werden am Ausgang Laufzeitfehler gemeldet. Bei einem Fehler bleibt der betroffene Datenausgang unverändert. So kann die Logik gezielt auf Störungen reagieren, ohne unbemerkt mit einem falschen Ersatzwert weiterzuarbeiten.

Installation und Voraussetzungen

Benötigt werden:

  • Gira Project Assistant,
  • Gira X1 oder L1 beziehungsweise die GPA-Simulation,
  • ein Baustein oder eine andere Quelle, die das XML-/JSON-Dokument als Text bereitstellt,
  • eine passende TerraBytes-Lizenz auf dem Produktivgerät.

Nach der Installation des signierten Logic-Node-Pakets wird der Baustein auf ein Logikblatt gezogen. Danach werden Eingabeformat, Anzahl der Ausgänge, XPath-Pfade und Verarbeitungsarten eingestellt. Die GPA-Simulation ist automatisch freigeschaltet und eignet sich für den ersten Funktionstest.

Dokumentation und Betrieb

Zum Paket gehören:

  • integrierte GPA-Hilfe,
  • ausführliches Benutzerhandbuch,
  • Administratorhandbuch,
  • mehrere XML- und JSON-Beispiele,
  • integrierte Lizenz- und Updateprüfung.

Die Parserfunktion selbst stellt keine Verbindung zu den ausgewerteten Webservices her. Das Eingangsdokument wird durch einen separaten Logikbaustein bereitgestellt.

Fazit

Der TerraBytes XML-/JSON-Parser verbindet offene Webservice-Daten mit der Gira-Logikwelt. Er eignet sich besonders dann, wenn nicht das gesamte Dokument, sondern wenige konkrete Texte, Zustände oder Messwerte benötigt werden – nachvollziehbar per XPath und ohne individuelle Parserprogrammierung.

Jetzt Produktdetails und Lizenzoptionen ansehen:

Vorheriger ArtikelWetterdaten und PV-Prognosen im Gira X1 mit OpenMeteo

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein