Ankündigung

Einklappen
Keine Ankündigung bisher.

Logikbaustein 19909_Unwetterzentrale_V1.8

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

    HS/FS Logikbaustein 19909_Unwetterzentrale_V1.8

    Gerade in den letzten beiden Tagen waren rechtzeitige Unwetterwarnungen mal wieder ausgesprochen hilfreich.

    Markisen, Gartenmobiliar und Pflanzen sind meist "sehr dankbar", wenn man sie rechtzeitig einfährt oder in Sicherheit bringt.

    Dafür steht im Downloadbereich jetzt mein Logikbaustein 19909_Unwetterzentrale_V1.0 (mit Bytecode, Quellcode enthalten!) zur Verfügung, der für eine beliebige deutsche Postleitzahl die Webseite der Unwetterzentrale abfragt und die vorhandenen Meldungen als 14-byte Textobjekt für einen E-Mail und/oder SMS-Versand zur Verfügung stellt.

    Darüberhinaus wird die Anzahl der vorhandenen Meldungen an einem weiteren Ausgang zur Verfügung gestellt.

    Vor dem Triggern des Bausteins empfiehlt es sich, den "alten Meldungstext" in ein weiteres KO zu speichern, um nach der Abfrage das Ergebnis mit dem vorherigen vergleichen zu können.
    Erfahrungsgemäß bleibt die Zahl der Meldungen oft gleich, obwohl sich der Inhalt verändert hat (z.B. durch eine Erhöhung der Warnstufe).

    Und so sieht das dann z.B. aus:

    Code:
    Unwetterwarnungen für Radevormwald
    Radevormwald (42477)
    
    Vorwarnung vor Gewitter, Warnstufe Rot erwartet
    
     gültig von: Montag, 6. Juni 2011, 11:00 Uhr 
     gültig bis: Montag, 6. Juni 2011, 23:00 Uhr
     gültig für: alle Höhenstufen
    
    
    Montag heftige Gewitter, lokal mit Starkregen, Hagel und Sturmböen möglich
    Diese Vorwarnung wurde am Sonntag, 5. Juni 2011, 21:12 Uhr zuletzt aktualisiert.
    
    
    Anzahl Meldungen:  1
    Code:
    Unwetterwarnungen für Hude (Oldenburg)
    Hude (Oldenburg) (27798)
    
    Unwetterwarnung Stufe  Rot vor Gewitter
    
     gültig von: Montag, 6. Juni 2011, 21:50 Uhr 
     gültig bis: Montag, 6. Juni 2011, 23:20 Uhr
     gültig für: alle Höhenstufen
    
    
    kräftiges Gewitter mit Starkregen, (Hagel und Sturmböen sind möglich)
    Diese Warnung wurde am Montag, 6. Juni 2011, 21:55 Uhr zuletzt aktualisiert.
    
    Hude (Oldenburg) (27798)
    
    Vorwarnung vor Gewitter, Warnstufe Rot erwartet
    
     gültig von: Montag, 6. Juni 2011, 11:00 Uhr 
     gültig bis: Montag, 6. Juni 2011, 23:00 Uhr
     gültig für: alle Höhenstufen
    
    
    Montag heftige Gewitter, lokal mit Starkregen, Hagel und Sturmböen möglich
    Diese Vorwarnung wurde am Sonntag, 5. Juni 2011, 21:12 Uhr zuletzt aktualisiert.
    
    
    Anzahl Meldungen:  2
    Fragen, Wünsche und Anregungen sind willkommen!

    Download hier: https://knx-user-forum.de/downloads.php?do=file&id=395
    Gruss aus Radevormwald
    Michel

    #2
    Im beigefügten Screenshot mal ein Beispiel zur "Verdrahtung" im GLE.

    In der Ausgangsbox (Unwetterzentrale abfragen) am Telegrammgenerator wird der aktuelle Text in das KO "Text alt" gespeichert, um für den nachfolgenden Vergleich zur Verfügung zu stehen.
    Angehängte Dateien
    Gruss aus Radevormwald
    Michel

    Kommentar


      #3
      Dank dir Michel,

      so ungetestet aber gehen die regex nicht zusammen ? am besten in den init ?

      Code:
      self.makePlain = re.compile(r'<.*?>|&nbsp;|\r|\n|#+(?:\s+)')
      
      und dann in der Funktion
      
      self.makePlain.sub("",Ergebnis)
      Nils
      xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

      Kommentar


        #4
        Keine Ahnung, Version 1.0

        Kann sein, daß das klappt, aber wenn du dir mal den Quelltext einer Meldungsseite (z.B. Unwetterwarnungen für Radevormwald) anguckst...

        IMHO sind da mehrere aufeinanderfolgende Schritte notwendig, um zum passenden Ergebnis zu kommen. Reguläre Ausdrücke sind eh´ nicht mein Steckenpferd.

        Und auf die eine oder andere Sekunde kommt es ja sicher auch nicht an; das Ergebnis zählt
        Gruss aus Radevormwald
        Michel

        Kommentar


          #5
          Gerade getestet: geht, zumindest lokal
          Code:
          Unwetterwarnungen für RadevormwaldRadevormwald (42477)    Vorwarnung vor Gewitter, Warnstufe Rot erwartet
               gültig von: Montag, 6. Juni 2011, 11:00 Uhr    gültig bis: Montag, 6. Juni 2011, 23:00 Uhr   
          gültig für: alle Höhenstufen     Montag heftige Gewitter, lokal mit Starkregen, Hagel und Sturmböen möglich
          Diese Vorwarnung wurde am Sonntag, 5. Juni 2011, 21:12 Uhr zuletzt aktualisiert.
          Man dankt!

          Bau ich ggfs. in einer späteren Version ein.
          Gruss aus Radevormwald
          Michel

          Kommentar


            #6
            Zitat von Michel Beitrag anzeigen
            Und auf die eine oder andere Sekunde kommt es ja sicher auch nicht an; das Ergebnis zählt
            bin gerade beim optimieren wie ich aus 3 Funktionaufrufen an time.localtime über lambda einem machen kann , da das __import__ ja jedesmal das Modul lädt....
            Nils
            xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

            Kommentar


              #7
              Viel mehr ärgert mich, daß ich die Umlautkonvertierung nicht hinbekomme.

              Mit "string.replace(ergebnis,alt,neu) ging´s jedenfalls nicht; nur lokal in IDLE
              Gruss aus Radevormwald
              Michel

              Kommentar


                #8
                Ja die Umlaute ..... das liegt daran, das die seite in UTF8 geladen wird und iso8859-1 im HS läuft. am einfachsten ist es wenn du die Strings in Unicode wandelst.

                data = urllib.......
                udata = data.decode('UTF8')
                print udata.encode('iso8859-1')

                im Logikdebugger die Funktion console ziemlich oben macht sowas

                .... Hat der DWD da etwa keine Entities ?
                Nils
                xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

                Kommentar


                  #9
                  Gibt es bezüglich der Umlaute da nicht auch eine Logik - denke nur an Yahoo Wettervorhersage ...

                  Bitte nicht steinigen wenn Blödsinn ....

                  LG
                  Thomas

                  Kommentar


                    #10
                    Doch, auch dafür habe ich bereits einen Baustein im Downloadbereich.
                    Ein nachgeschalteter Baustein 19903_Webseitentext formatieren.hsl sorgt für eine lesbare Version bei Umlauten.
                    Doch wäre es sinnvoller, wenn das bereits im Baustein passiert. Spart lästiges Verdrahten im GLE.

                    Ich arbeite daran....
                    Gruss aus Radevormwald
                    Michel

                    Kommentar


                      #11
                      Hört mir bitte auf mit Umlauten, 8859-1, dem Super UTF-8 und der Realität dazwischen (Grütze wird immer irgendwo angezeigt) -> damit habe ich das komplette letztze WE verbracht!

                      Ergo: Diskussionswürdig aber ich bleib dabei: Alles >ASCII 7Bit gehört gesetzlich verboten, das wär das einfachste
                      Und Webabfragen sollten entweder in UTF-8 reinkommen (was die DWD ist) - besser als strukturietes Format, sonst wird das nie auf Dauer was..

                      Im Ernst: Scherz/Wunsch/Traum beiseite:
                      Sorry Michel aber eine Webseite zu parsen halte ich nach wie vor halt für temporäres Flickwerk.
                      (und wenn der DWD dürfte würde er ja auch die Daten - in roh - liefern können und wollen! Da sollte nur jeder von uns mal einen Brief/Mail an den Bundestagsabgeordneten schreiben!! Weil der steuerfinanzierte DWD erstellt&hat die Daten, darf sie aber nicht detailiiert rausgeben weil eine Lobby von ausBEUTHern, der die Wetterdaten gern verkaufen würde, bisher stärker ist)
                      Das ist eigentlich das einzige Problem bei den (Un)Wetterdaten: die die es haben dürfen nicht (die wissen es nämlich erheblich genauer als 50km-"Landkreis", siehe yr.no) und die die es wollen bekommen es nicht..
                      Einziger Weg: weiter quängeln, beschweren..

                      Makki
                      EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                      -> Bitte KEINE PNs!

                      Kommentar


                        #12
                        Makki, war sicher schon spät.

                        Sonst wäre dir aufgefallen, daß
                        • die geparste Seite von der Unwetterzentrale und nicht dem DWD ist.
                          Die Unwetterwarnungen waren in der Vergangenheit genau dann nicht abrufbar, als die wichtig waren. (Serverüberlast)
                        • die Unwetterzentrale nicht landkreisgenau, sondern bereits ortsbezogen warnt.
                          Zitat von FAQ der UWZ
                          Für welche Gebiete werden Warnungen veröffentlicht?
                          Seit Sommer 2011 veröffentlicht die Unwetterzentrale ihre Warnungen postleitzahlengenau. Es handelt sich dabei um die gängigen Postleitzahlgebiete, über welche die Hauspost zugestellt wird. Während die im Sommer 2008 eingeführten sogenannten Naturräume noch Postleitzahlgebiete zu angenommenen Gebieten gleicher Wetterbedingungen zusammenfassten, kann die Unwetterzentrale nun ganz individuell pro Postleitzahlgebiet Warnungen ausgeben. Anstatt 1.000 Naturräume werden nun rund 8.250 Postleitzahlengebiete individuell bewarnt. Dieses innovative Warnsystem ist einzigartig und trägt nochmals zur Qualitätssteigerung der Warnungen bei.
                        Gruss aus Radevormwald
                        Michel

                        Kommentar


                          #13
                          ** Update **

                          Dank der Unterstützung durch Nils gibt der Baustein an Ausgang 1 jetzt auch die Umlaute korrekt aus und steht im Downloadbereich zur Verfügung.
                          Ein nachgeschalteter Baustein zur Umwandlung entfällt.

                          To do:
                          • Baustein vergleicht selbstständig auf veränderte Meldungen
                          • bekommt 2 weitere Ausgänge:
                            neue Meldung(en) sbC -> 1/0
                            keine Meldung(en) sbC-> 1/0
                          • neuer Eingang: zum direkten Triggern der Warn- oder Aufhebungsmail
                          Gruss aus Radevormwald
                          Michel

                          Kommentar


                            #14
                            Du hast die Version nicht erhöht

                            Zitat von makki Beitrag anzeigen
                            Hört mir bitte auf mit Umlauten, 8859-1, dem Super UTF-8 und der Realität dazwischen (Grütze wird immer irgendwo angezeigt) -> damit habe ich das komplette letztze WE verbracht!
                            am besten intern gleich nach Eingang alles nach unicode wandeln, und bei Ausgabe das gewünschte Encoding wählen oder sys.stdout.encoding.
                            Nils
                            xxAPI² - HTML5 Client für den Gira Homeserver (Status: Beta / Visuclient = 80% / xxAPI¹ Funktionen = 100% / zusätzlich: Slider/Drehknöpfe/Balken/mausnahe Popups/.... ) - Installation: Logikbaustein nach Start Triggern / Startlink auf der Debugseite

                            Kommentar


                              #15
                              Das hab ich in der Tat mit wettergefahren.de* verwechselt! Klingt gut, wird mal beobachtet

                              Makki

                              *Die aber auch in Hochlastzeiten bisher immer mit einer Fallback-Abfrage zuverlässig erreichbar war..
                              Hat trotzdem was gutes die Verwechslung, weil ich hab gerade festgestellt, das ich diese Abfrage mit Fallback wohl so nie hochgeladen hab, wird nachgeholt..
                              EIB/KNX & WireGate & HS3, Russound,mpd,vdr,DM8000, DALI, DMX
                              -> Bitte KEINE PNs!

                              Kommentar

                              Lädt...
                              X