Ankündigung

Einklappen
Keine Ankündigung bisher.

DWD Plugin

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

  • callidomus
    antwortet
    Hallo,

    Zitat von Lapheus Beitrag anzeigen
    dafür wäre nett wenn in der __init__.py folgendes ergänzt wird (bei mir Zeile 237):
    habe ich gemacht.
    Die Zeile 160 ist aber noch die Alte.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Polenvorhersage eingefügt

    Hallo zusammen,

    habe ins Wiki noch die Pollenvorhersage eingefügt.

    @mknx:

    dafür wäre nett wenn in der __init__.py folgendes ergänzt wird (bei mir Zeile 237):

    Code:
                                elif day.tag == 'tomorrow':
                                    forecast[day1][kind.tag] = value
    +                            elif day.tag == 'dayafter_to': # einfügen
    +                               forecast[day2][kind.tag] = value # einfügen
                                else:
                                    logger.debug("unknown day: {0}".format(day.tag))
    Dann klappt es auch mit dem Wert "Übermorgen".
    So funktionierte es für mich, habe nur mal Gräser und Roggen eingebaut, aber die anderen sollten leicht zu ergänzen sein.
    Beachtet die angepassten Items und die wetter.py.

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Hmm, das ist nicht schön...

    Wenn man das auf ein Leerzeichen reduziert, werden die mehrteiligen Werte geteilt.

    Wie kann man solche Zeilen eleganter parsen???

    Entscheidend ist die Zeile für Münster: hinter Flh. ist EIN Leerzeichen, der Split Befehl macht dann aber aus "leichter Regen" auch zwei Werte.

    Könnte man auch nach X Zeichen ausschneiden?

    Auschnitt

    Code:
    SXDL99 DWAV 081814
    
    Wetterbeobachtungen von Freitag, 08.08.2014, 20 Uhr
    
    -----------------------------------------------------------------------------------------------------------------------------
    
    Station            Höhe   Luftd.     TT   Tn12   Tx12    RR1   RR12  SSS  DD   FF   FX  Wetter/Wolken                 Böen
    
    -----------------------------------------------------------------------------------------------------------------------------
    
    Münster/Osnabr.-Flh. 48   1009.3   20.6   16.4   26.4    0.0     0     0  SW   14  ---  leichter Regen                ---
    
    Hannover-Flh.        59   1010.6   23.4   14.8   25.9    0.0     0     0   O   11  ---  heiter                        ---

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Die Datei die runtergeladen wird hat nur bei "Münster/Osnabr.-Flh." am Ende EIN Leerzeichen. Wenn nun die __init__.py nicht editiert wird, können die Zuordnungen für die aktuellen Werte nicht richtig geparst werden. Das gilt halt nur für diesen einen Ort.

    Du kannst im Verzeichnis \plugins\dwd die Datei anpassen. Beim nächsten update z.B. per git geht die Änderung allterdings verloren.

    Einen Kommentar schreiben:


  • ErKi
    antwortet
    Hallo Lapheus

    ich habe das jetzt nicht ausprobiert was passiert, wenn man das in der __init__.py ändert ob das für die anderen Städten Auswirkungen hat, dass es nicht mehr geht oder so? Ich habe davon leider keine Ahnung. Aber die __init__.py kann man doch bestimmt im develop branch ändern oder? Ach ich habe keine Ahnung nicht böse sein wenn das nicht der Fall ist

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Hi,

    hab das DWD Wiki mal aktualisiert, hoffe das ist verständlich.

    @mknx: Änderst Du noch den Code in der __init__.py in Zeile 160

    Das kann ich nicht.

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Lapheus,

    Zitat von Lapheus Beitrag anzeigen
    [/CODE]@mknx: Kann ich das selbst im Wiki anpassen?
    jeder Github-Benutzer kann das Wiki verändern.

    Momentan ist es bei mir ein bisschen eng die Änderungen zu Verfolgen. Es wäre schön wenn Du da dran bleiben könntest.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • ErKi
    antwortet
    Vielen Dank

    Hallo Lapheus,

    danke jetzt geht es (mit der Ausnahme von Böhen und Wolken/Wind in der Vorhersage dort steht dann einfach nichts aber das stört nicht so).
    Bei mir tauch das Problem mit dem aufteilen des Wetters nicht auf. (Ich habe die Änderung in der __init__.py nicht vorgenommen)
    Mein einzigstes Problem ist, dass der DWD keine Wetterstation hier in Bielefeld hat, die Aktuell und Vorhersagen macht. Bis dahin werde ich mich mit Bad Lippspringe und Münster zufrieden geben. Münster ist zwar Wettertechnisch weiter weg aber eine schöne Stadt.
    Dann von mir auch
    Gute Nacht

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Einen noch hinterher...

    Beim Parsen der aktuellen Werte gibt es noch ein Problem.
    Der Wert "Wetter/Wolken" kann auch mehrere Worte enthalten, wie z.B. "gering bewölkt" oder "Dunst oder flacher Nebel".
    Das Scipt ordnet nun "gering" dem "Wetter/Wolken" zu und "bewölkt" wird "Böen" zugeordnet.

    Kann man dem Split Befehl hier mit geben er soll auf zwei Leerzeichen splitten, dann sollte es gehen.

    Einen Kommentar schreiben:


  • Lapheus
    antwortet
    Hi,

    bei mir läuft es jetzt.

    Für den Standort "Münster/Osnabr.-Flh." muss folgendes in der __init__.py in Zeile 160 geändert werden (statt zwei Leerzeichen nur eins!), ist der längste Bezeichner und da ist nur ein Leerzeichen am Ende:

    Code:
    -                space = re.compile(r'  +')
    +                space = re.compile(r' +')
    @ErKi:

    Es sollte meine ich so heissen:

    Code:
    # Zusammenfassung für die Startseite
    sh.wetter.vorhersage.d0(forecaststring(sh.wetter.vorhersage.d0, forecast, images))
    sh.wetter.vorhersage.d1(forecaststring(sh.wetter.vorhersage.d1, forecast, images))
    Dann geht es, zumindest bei mir.

    Vielleicht sollte ins Wiki noch der Hinweis das man sich die Dateien, die geparst werden, mal per Hand runterlädt und dann entsprechend folgende Zeilen anpasst:

    Hier mit für mich passenden Werten.
    Code:
    current = sh.dwd.current('Münster/Osnabr.-Flh.')
    forecast = sh.dwd.forecast('Nordwest', 'Münster')
    uvi = sh.dwd.uvi('Osnabrück')
    @mknx: Kann ich das selbst im Wiki anpassen?

    Was mir noch aufgefallen ist: Die Vorhersage Daten sollte man nur passend abfragen. Um bestimmte Uhrzeiten (23:30 Uhr) gibt es z.B. keine Daten_Nordwest_frueh. Da steht folgendes drin:

    Code:
    Der gewählte Termin ist nicht mehr verfügbar.
    Bitte wählen Sie einen Vorhersagetermin in der Zukunft.
    Vielleicht kann man das auch noch abfangen, dafür ist es mir jetzt aber zu spät, da nach zu schauen.

    Gute Nacht.

    Einen Kommentar schreiben:


  • ErKi
    antwortet
    Danke und nun das nächste Problem

    Hallo,

    danke MaxPfromLE diese Fehler Meldung taucht nun nicht mehr auf. (An die die das u' löschen wollen: dort nur das u löschen, das ' lassen und es gibt auch u")

    Jetzt bekomme ich die Fehlermeldung:

    Code:
    2014-08-06 21:50:51,528 DEBUG    wetter       Item wetter.temperatur = 19.6 via Logic None None -- item.py:__update:363
    2014-08-06 21:50:51,537 DEBUG    wetter       Item wetter.luftdruck = 1013.9 via Logic None None -- item.py:__update:363
    2014-08-06 21:50:51,546 DEBUG    wetter       Item wetter.windgeschwindigkeit = 7 via Logic None None -- item.py:__update:363
    2014-08-06 21:50:51,554 DEBUG    wetter       Item wetter.windrichtung = SO via Logic None None -- item.py:__update:363
    2014-08-06 21:50:51,562 DEBUG    wetter       Item wetter.wetter = --- via Logic None None -- item.py:__update:363
    2014-08-06 21:50:51,569 INFO     wetter       {datetime.datetime(2014, 8, 6, 12, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')): ['', '', ''], datetime.datetime(2014, 8, 6, 18, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')): ['', '', '']} -- wetter.py:<module>:96
    2014-08-06 21:50:51,585 ERROR    wetter       Logic: wetter, File: /usr/smarthome/logics/wetter.py, Line: 109, Method: <module>, Exception: 'SmartHome' object has no attribute 'heute' -- scheduler.py:_task:334
    Traceback (most recent call last):
      File "/usr/smarthome/lib/scheduler.py", line 327, in _task
        exec(obj.bytecode)
      File "/usr/smarthome/logics/wetter.py", line 109, in <module>
        sh.heute.wetter(forecaststring(sh.heute.datum(), forecast, images))
    AttributeError: 'SmartHome' object has no attribute 'heute'
    (An bei die Informationen für aktuelle Temperatur, Niederschlag, Luftdruck, Windrichtung und Windgeschwindigkeit (wie man im Debug sieht) kann man in der VISU nun sehen. Bei Wetter steht --- weiß nicht ob das so sein soll)

    Ich habe jetzt mal versucht die Zeilen 109 und 110 auszukommentieren:
    Code:
    sh.heute.wetter(forecaststring(sh.heute.datum(), forecast, images))
    sh.morgen.wetter(forecaststring(sh.morgen.datum(), forecast, images))
    zu
    Code:
    #sh.heute.wetter(forecaststring(sh.heute.datum(), forecast, images))
    #sh.morgen.wetter(forecaststring(sh.morgen.datum(), forecast, images))
    dann folgt keine Fehlermeldung:
    Code:
    2014-08-06 21:44:49,541 DEBUG    wetter       Item wetter.temperatur = 19.6 via Logic None None -- item.py:__update:363
    2014-08-06 21:44:49,550 DEBUG    wetter       Item wetter.luftdruck = 1013.9 via Logic None None -- item.py:__update:363
    2014-08-06 21:44:49,558 DEBUG    wetter       Item wetter.windgeschwindigkeit = 7 via Logic None None -- item.py:__update:363
    2014-08-06 21:44:49,570 DEBUG    wetter       Item wetter.windrichtung = SO via Logic None None -- item.py:__update:363
    2014-08-06 21:44:49,578 DEBUG    wetter       Item wetter.wetter = --- via Logic None None -- item.py:__update:363
    2014-08-06 21:44:49,585 INFO     wetter       {datetime.datetime(2014, 8, 6, 6, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')): ['', '', ''], datetime.datetime(2014, 8, 6, 18, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')): ['', '', ''], datetime.datetime(2014, 8, 6, 12, 0, tzinfo=tzfile('/usr/share/zoneinfo/Europe/Berlin')): ['', '', '']} -- wetter.py:<module>:96
    2014-08-06 21:44:49,601 DEBUG    wetter       Item wetter.vorhersage = ['<li data-role="list-divider">Wednesday<p class="ui-li-aside">06.08.2014</p></li>'] via Logic None None -- item.py:__update:363
    aber danach ist mit Wetter abrufen Schluss und sehe genauso viel wie mit Fehlermeldung. auskommentieren bringt also leider nichts.

    Einen Kommentar schreiben:


  • MaxPfromLE
    antwortet
    nach etwas tieferer Einarbeitung in Python habe ich nun alle u' gelöscht und es funktioniert. Die u' sind, soweit ich es verstanden habe, Unicode-Einleitungen, welche aber seit Python 3 nicht mehr nötig sind.

    Einen Kommentar schreiben:


  • ErKi
    antwortet
    Bei mir das gleiche

    Ich habe das gleiche Problem nachdem ich den Abend bis jetzt versucht habe das Plugin zum laufen zu kriegen. Und kriege die gleichen Fehlermeldungen wie MaxP.

    Aber vorher hatte ich noch folgende Fehlermeldung:
    Code:
    2014-07-30 01:16:39,612 ERROR    Main         Exception: invalid syntax (wetter_warnungen.py, line 7) -- logic.py:generate_bytecode:121
    Traceback (most recent call last):
      File "/usr/smarthome/lib/logic.py", line 119, in generate_bytecode
        self.bytecode = compile(code, self.filename, 'exec')
      File "/usr/smarthome/logics/wetter_warnungen.py", line 7
        mport dateutil.relativedelta
                     ^
    SyntaxError: invalid syntax
    konnte ich aber selber beheben da es nicht mport sondern import heißt (denke ich jetzt mal) das steht dann hier (https://github.com/mknx/smarthome/wiki/DWD) in der Wiki Falsch.

    LG Erik

    Einen Kommentar schreiben:


  • MaxPfromLE
    antwortet
    Syntax Error

    Hallo zusammen,

    ich versuche seit Tagen, das DWD-Plugin zum Laufen zu bekommen, allerdings bekomme ich im LOG immer folgende Fehler:

    Code:
    2014-07-29 21:31:51 ERROR    Main         Exception: invalid syntax (wetter.py, line 13)
    Traceback (most recent call last):
      File "/usr/smarthome/lib/logic.py", line 119, in generate_bytecode
        self.bytecode = compile(code, self.filename, 'exec')
      File "/usr/smarthome/logics/wetter.py", line 13
        u'bewölkt': '26.png',
                  ^
    SyntaxError: invalid syntax
    2014-07-29 21:31:51 ERROR    Main         Exception: invalid syntax (wetter_warnungen.py, line 26)
    Traceback (most recent call last):
      File "/usr/smarthome/lib/logic.py", line 119, in generate_bytecode
        self.bytecode = compile(code, self.filename, 'exec')
      File "/usr/smarthome/logics/wetter_warnungen.py", line 26
        warnungen.append(u'<li><p style="font-weight:bold;">{2}</p><p>{3}</p><p class="ui-li-aside">{0:%a %H:%M}<br />{1:%a %H:%M}</p></li>'.format(warning['start'], warning['end'], warning['kind'], warning['desc']))
                                                                                                                                           ^
    SyntaxError: invalid syntax
    Ich habe den Code aus dem Wiki so übernommen. Was kann da falsch sein?

    Grüße
    MaxP.

    Einen Kommentar schreiben:


  • latesurfer
    antwortet
    Hallo,

    Zitat von micblue Beitrag anzeigen
    Sorry aber komme hier irrgendwie nicht weiter.

    Die Items wurden ja in der wetter.py festgelegt

    items = { d0: sh.wetter.vorhersage.d0, d1: sh.wetter.vorhersage.d1, d2: sh.wetter.vorhersage.d2, d3: sh.wetter.vorhersage.d3}wobei d0 wahrscheinlich für heute steht und d1 für morgen
    Das ist richtig. d0 steht für heute und d1 für morgen.

    Müsste dann folgender Ausdruck:
    sh.heute.wetter(forecaststring(sh.heute.datum(), forecast, images)) sh.morgen.wetter(forecaststring(sh.morgen.datum(), forecast, images))Durch sowas ersetzt werden?
    sh.d0.wetter(forecaststring(sh.d0.datum(), forecast, images)) sh.d1.wetter(forecaststring(sh.d1.datum(), forecast, images))
    Dann muss der Ausdruck natürlich so lauten:
    sh.wetter.vorhersage.d0(forecaststring(sh.wetter.v orhersage.d0, forecast, images))
    sh.wetter.vorhersage.d1(forecaststring(sh.wetter.v orhersage.d1, forecast, images))

    Hat bei mir so funktioniert.

    Einen Kommentar schreiben:

Lädt...
X