Gira X1: Abruf der Notfallapotheke

In der Visu des Gira X1 wollte ich die aktuelle Notfallapotheke des Tages sehen. Und so gehts.

Hinweis: Ich besitze keinen X1 mehr und kann daher keine Hilfestellung bei aktuellen Problemen geben.

Werbung


Du brauchst dazu folgende Elemente:

  • Eingang
  • HTTP Web Request Logikbaustein
  • XML/JSON Parser Logikbaustein
  • Textformatierer Logikbaustein
  • Ausgang

Via des Eingangs triggerst du den Abruf der Webseite. Daher sollte dies um 09:05 Uhr CET (z.B. via Zeitschaltuhr) erfolgen, da um ~09:00 die Apotheken aktualisiert werden.

Den Web Request Baustein konfigurierst du wie folgt:

  • URL:
    http://apothekenfinder.mobi/interface/json.php?device=web&source=not&search=POSTLEITZAHL

    (wobei POSTLEITZAHL durch deine persönliche zu ersetzen ist)

  • Methode:
    GET
  • Authorization:
    Keine
  • Eigene Header setzen:
    Anzahl eigener Header: 2
  • Header #1:
    Referer: http://apothekenfinder.mobi/
  • Header #2:
    X-Requested-With: XMLHttpRequest

Den XML/JSON Parser Baustein konfigurierst du wie folgt:

  • Anzahl der Pfade und Ausgänge:
    8
  • Pfad 1:
    /root/result/item[1]/name
  • Pfad 2:
    /root/result/item[1]/street
  • Pfad 3:
    /root/result/item[1]/plz
  • Pfad 4:
    /root/result/item[1]/place
  • Pfad 5:
    /root/result/item[1]/distance
  • Pfad 6:
    /root/result/item[1]/start
  • Pfad 7:
    /root/result/item[1]/end
  • Pfad 8:
    /root/result/item[1]/number
  • Art der Pfadauswahl 1-8:
    Erster Treffer als Text

Den Textformatierer Baustein konfigurierst du wie folgt:

  • Anzahl der Ausgänge und Formatvorlagen:
    1
  • Formatvorlage 1:
    {Name:S}|{Street:S},{Plz:I} {Ort:S}|F: {Number:S}

Nun verbindest du die Bausteine wie folgt:

  • Ausgang des Eingangs auf Trigger des Web Requests
  • Antwort des Web Requests auf Input des XML/JSON Parsers
    • Ausgang 1 des XML/JSON Parsers auf Name des Textformatierer Bausteins
    • Ausgang 2 des XML/JSON Parsers auf Street des Textformatierer Bausteins
    • Ausgang 3 des XML/JSON Parsers auf Plz des Textformatierer Bausteins
    • Ausgang 4 des XML/JSON Parsers auf Ort des Textformatierer Bausteins
    • Ausgang 8 des XML/JSON Parsers auf Number des Textformatierer Bausteins
  • Ausgang 1 des Textformatierer Bausteins auf den Eingang des Ausgangs

Den Ausgang würde ich auf einen Variablen Datenpunkt mit Typ „Text“ legen – so kann man ihn schnell in einer Kachel anzeigen lassen. Wer aufgepasst hat, hat gesehen dass ich die Ausgänge 5,6,7 des XML/JSON Parsers nicht nutze – das kann man natürlich noch einbauen (Distanz zur Apotheke und Gültigkeitszeitraum der Meldung).

So siehts dann Gesamt im GPA aus:

Veröffentlicht von

Uli

IT-Nerd und Admin

5 Gedanken zu „Gira X1: Abruf der Notfallapotheke“

    1. Bin ich bei dir – in dem Falle war früher keine Umleitung (ich poste gerade verschiedenes was ich früher im Einsatz hatte da ich den X1 abgebe). Der X1 kann leider kein modernes TLS, insofern fällt das wohl nun weg (ausser man setzt auf einen Proxy). Für FHEM gibts im HTTPMOD modul ein passendes Template. Hier sollte man daher gar nicht selber rumschrauben 🙂

      1. Home Assistant muss ich mir auch mal anschauen 🙂
        Ich nutze aktuell ioBroker und openHAB parallel, möchte aber früher oder später zu einem migrieren. Vielleicht wirds ja dann auch Home Assistant…

      1. Na klar. Ich wollte ursprünglich von FHEM auf X1 wechseln um weniger externe abhängigkeiten zu haben. Dank dessen dass Gira das Entwicklersystem nicht sehr unterstützt (sorry ein uraltes DotNet Framework ist einfach keine Basis für mich) gibt es zuwenig Addons und man muss oft was zusammenfrickeln. Also habe ich mich wieder etwas umgesehen, ein paar Funktionen in KNX nativ implementiert und den Rest nun in Home Assistant implementiert. Leider lief das gleich so gut, dass der Wert des X1 nun gleich … null ist. Ich habe mit deutlich weniger Zeitaufwand ein deutlich besseres System implementiert.

Schreibe einen Kommentar zu Uli Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

I accept that my given data and my IP address is sent to a server in the USA only for the purpose of spam prevention through the Akismet program.More information on Akismet and GDPR.