Ankündigung

Einklappen
Keine Ankündigung bisher.

Googlewetter per Logik(urllib)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    HS/FS Googlewetter per Logik(urllib)

    Da ja irgendwie niemand einen Verwendungszweck für die nun schon des öfteren erwähnte Logikfunktion KNXUF_urllib hatte, hab ich mir gedacht mal ein kleines Beispiel dafür zu schreiben.

    Die eigentliche Logikfunktion wird nur beim starten in die Variable SN[1] geladen und kann dann einfach über SN[1].open verwendet werden.

    z.B. in diesem Beispiel ein
    Code:
    5012|0|"(EC[1] or EC[2]) and len(EN[1])>0"|"SN[1].open('http://www.google.com/ig/api?weather='+EN[1],lang=EN[2])"|""|9|0|2|0
    wird von Google's Wetter API das Wetter für den an E1 angebenen Ort geholt (Ortname oder PLZ). Über EN[2] kann ein Header an die Googleserver gesendet werden (Accept Language) der sagt welche Sprache gewünscht ist(2 Zeichen Länderkürzel - en/de/fr/es).
    Die Seite wird dann sowohl zum Debug an Ausgang 9, als auch auf SN[2] zur weiteren Verarbeitung gesendet.

    Danach folgt eine (simple) Regex mit der die Inhalte als optionale Angaben in sogenannte Named-groups geteilt. Der Vorteil der optionalen Angaben ist, dass wenn ein Teil der Informationen fehlt oder anders als erwartet sind, schlägt die Abfrage NICHT fehl wie bei der HS Webabfrage.

    Wenn ein bischen Zeit ist, ist angedacht das ganze 2 gestaffelt zu machen. Die erste Abfrage per urllib im Baustein holt erstmal vom KNX-Forenserver eine gültige Regex und führt erst danach die eigentliche Webabfrage durch. Versehen mit einer Kontrolle ob der Regex erfolgreich ist wäre auch möglich bei Versagen das aktuelle Regexmuster erneut vom Forenserver zu laden, und vielleicht auch diverse Info's mit zu übermitteln.
    Dann könnte auf Forenserver Seite beim erhalten mehrerer dieser FAILED Meldungen eine Benachrichtigung an die Betreuer der Webabfrage geschickt werden, sodass diese das Regexmuster anpassen und die Abfrage nach kurzer Zeit wieder automatisch überall funktioniert. -- Ohne Experten und HS Neustart --

    Die Werte an E1 und E2 können natürlich zur laufzeit geändert werden und aktualisieren sich sofort.
    Angehängte Dateien
    Nils

    aktuelle Bausteine:
    BusAufsicht - ServiceCheck - Pushover - HS-Insight

    #2
    Hallo

    Nicht, dass ich kein Interesse hätte. Mir wars einfach zu hoch, habs nicht kapiert wie es im detail funktionieren soll.

    Hoffe, dass ich es jetzt anhand des Beispiels verstehe und werde versuchen es einzubauen.

    Danke! , Holger
    ECMACOM GmbH
    Konzeption, Planung, Implementation, Unterhalt
    www.ecmacom.ch
    www.knxshop4u.ch

    Kommentar


      #3
      Ich weiß ich bin nicht gerade als Erklärbär geboren worden
      Nils

      aktuelle Bausteine:
      BusAufsicht - ServiceCheck - Pushover - HS-Insight

      Kommentar


        #4
        Bist ja auch kein Bärliner....

        Aber vielleicht hilft ja Bärbel

        LG
        EPIX
        ...und möge der Saft mit euch sein...
        Getippt von meinen Zeigefingern auf einer QWERTZ Tastatur

        Kommentar


          #5
          Hallo Nils

          Was ist das für ein Fehler bei dem die Googlewetter Logik hier abbricht?

          Code:
          ## Abbruch bei Fehler
          5012|1|"str(type(SN[3])).find('SRE_Match') == -1"|""|""|0|0|0|0
          Gruss, Holger
          ECMACOM GmbH
          Konzeption, Planung, Implementation, Unterhalt
          www.ecmacom.ch
          www.knxshop4u.ch

          Kommentar


            #6
            Zitat von eckerho1 Beitrag anzeigen

            Was ist das für ein Fehler bei dem die Googlewetter Logik hier abbricht?

            Code:
            ## Abbruch bei Fehler
            5012|1|"str(type(SN[3])).find('SRE_Match') == -1"|""|""|0|0|0|0
            Wenn SN[3] kein Regex Match ist sonder durch die Initialisierung vielleicht vom Typ Float ist dann abruch um zu verhindern das SN[3].group fehlschlägt
            Nils

            aktuelle Bausteine:
            BusAufsicht - ServiceCheck - Pushover - HS-Insight

            Kommentar


              #7
              Aha
              Danke
              ECMACOM GmbH
              Konzeption, Planung, Implementation, Unterhalt
              www.ecmacom.ch
              www.knxshop4u.ch

              Kommentar

              Lädt...
              X