roe-dl / weewx-DWD

Darstellung von Wettersymbolen in WeeWX sowie Vorhersage- und Warndaten herunterladen und für WeeWX und Web-Darstellung aufbereiten
GNU General Public License v3.0
19 stars 4 forks source link

weewx.conf location #2

Closed Nubi273 closed 2 years ago

Nubi273 commented 2 years ago

Ich grüße Sie,

ich versuche gerade, Ihr Paket der Wetterwarnungen in meine weewx Installation zu implementieren. Ich bin bis zu dem Punkt erfolgreich angelangt, wo die die weewx.conf gepflegt werden muss.

Ich habe nun schon einige Stellen versucht, jedoch startet weewx nicht mehr, wenn ich die weewx.conf um:

[DeutscherWetterdienst] ....

erweitere. An welcher Stelle haben Sie Ihre weewx.conf gepflegt?

Würde mich über eine Antwort sehr freuen.

Viele Grüße aus Bonn,

Nubi

roe-dl commented 2 years ago

Dazu müßte ich den ganzen Abschnitt von [DeutscherWetterdienst] sehen. Bitte noch ein paar Zeilen davor und danach. Auf den ersten Blick würde ich einen Syntaxfehler in weewx.conf vermuten.

Nubi273 commented 2 years ago

Haben Sie vielen Dank für die schnelle Rückmeldung!

Mein vollständiger Abschnitt für die weewx.conf ist der folgende:

[DeutscherWetterdienst] path='/home/weewx/skins/neowx-material/dwd' [[warning]] icons='/home/weewx/skins/neowx-material/dwd/warn_icons_50x50' states='Bonn','Nordrhein-Westfalen' [[[counties]]] 'Stadt Bonn'='BN'

Edit: Er nimmt die Tabs raus wenn ich hier mit copy+paste arbeite. Alles unterhalb von DeutscherWetterdienst ist im Original selbstverständlich ordentlich eingerückt.

Die Quizfrage ist, wo genau in der weewx.conf ich diesen platzieren muss. Ich habe wie gesagt schon ein wenig herumprobiert mit dem Resultat, dass weewx nicht mehr startet, sobald ich diesen Abschnitt hinein kopiert habe.

roe-dl commented 2 years ago

Zunächst einmal wäre anzumerken, daß 'Bonn' kein Staat ist. Es können dort wirklich nur Staaten aus dieser Liste stehen.

Da der Abschnitt mit einfachen Klammern gekennzeichnet ist ([DeutscherWetterdienst]), muß er auch auf der obersten Ebene stehen, d.h. nicht eingerückt irgendwo dazwischen. Das ist der Grund, warum ich gebeten hatte, noch ein paar Zeilen vor nach dem DWD-Abschnitt mitzuschicken, damit man das sieht. Es ist ein Unterschied, ob es heißt:

[DeutscherWetterdienst]
    path='/home/weewx/skins/neowx-material/dwd'
    ...

oder

    [DeutscherWetterdienst]
        path='/home/weewx/skins/neowx-material/dwd'
        ...

Ich habe den Abschnitt einfach ans Ende der Datei gesetzt.

Der Pfad bei icons muß relativ (!) zu der Seite sein, wo die Icons dargestellt werden. Dieser Pfad bezieht sich auf den Web-Server, nicht auf den WeeWX-Server.

Um hier Ausschnitte im Original darzustellen, kann man jeweils drei Backticks (Accent grave) davor und dahinter setzen. Dann wird der Text dazwischen unverändert und in Schreibmaschinenschrift wiedergegeben.

Nubi273 commented 2 years ago

Da haben Sie natürlich vollkommen Recht, Bonn ist selbstverständlich kein Staat :-)

Haben Sie ebenfalls vielen Dank für den Hinweis, dass der Pfad von icons auf den Webserver zu zeigen hat, das wäre mir später dann ebenfalls auf die Füße gefallen.

Ich habe nun meinen Abschnitte ebenfalls an das Ende meiner weewx.conf gesetzt:


[Engine]

    The following section specifies which services should be run and in what order.
    [[Services]]
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate, user.crt.CumulusRealTime
        xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS, user.mqtt.MQTT, user.owm.OpenWeatherMap
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport
[CumulusRealTime]
    filename = /home/weewx/telemetry/realtime_wetterdaten.txt
    unit_system = METRIC        # options are US, METRIC, METRICWX

[DeutscherWetterdienst]
    path='/home/weewx/skins/neowx-material/dwd'
    [[warning]]
        icons='/dwd/warn_icons_50x50'
        states='Nordrhein-Westfalen'
        [[[counties]]]
              'Stadt Bonn'='BN'

Egal wie ich es anstelle, auf oberer Ebene mag er meine weewx.conf nicht akzeptieren und weewx nicht starten. Ich werde da aber auch selbst noch ein wenig forschen. Haben Sie vielen Dank für die Infos!

roe-dl commented 2 years ago

Ein relativer Pfad ist ohne / am Anfang.

Ansonsten sieht es gut aus. Also müssen wir uns jetzt mit den Logs beschäftigen. Bitte setzen Sie debug=1 in weewx.conf, starten WeeWX neu und posten den Inhalt von /var/log/syslog, wobei Sie Benutzernamen und Paßwörter in dem Log vorher durch etwas Unverfängliches ersetzen.

Nubi273 commented 2 years ago

Wenn ich meine DWD Konfig an das Ende oder Anfang (auf erster Ebene setze) startet er die weewx Instanz nicht. Debug steht auf 1 und im syslog steht dazu leider nicht so wahnsinnig viel:

Dec 21 13:54:04 weewxserver weewx[549823]: ..... ...done. Dec 21 13:54:04 weewxserver systemd[1]: weewx.service: Succeeded. Dec 21 13:54:04 weewxserver systemd[1]: Stopped LSB: weewx weather system. Dec 21 13:54:05 weewxserver CRON[549887]: (CRON) info (No MTA installed, discarding output) Dec 21 13:54:47 weewxserver systemd[1]: Starting LSB: weewx weather system... Dec 21 13:54:47 weewxserver weewx[550071]: * Starting weewx weather system weewx Dec 21 13:54:48 weewxserver weewx[550093]: Error parsing config file: Invalid line (',# WEEWX CONFIGURATION FILE') (matched as neither section nor keyword) at line 2. File /home/weewx/weewx.conf Dec 21 13:54:48 weewxserver weewx[550093]: Traceback (most recent call last): Dec 21 13:54:48 weewxserver weewx[550093]: File "/home/weewx/bin/weewxd", line 88, in main Dec 21 13:54:48 weewxserver weewx[550093]: config_path, config_dict = weecfg.read_config(options.config_path, list(args)) Dec 21 13:54:48 weewxserver weewx[550093]: File "/home/weewx/bin/weecfg/init.py", line 142, in read_config Dec 21 13:54:48 weewxserver weewx[550093]: config_dict = configobj.ConfigObj(config_path, Dec 21 13:54:48 weewxserver weewx[550093]: File "/usr/lib/python3/dist-packages/configobj.py", line 1229, in init Dec 21 13:54:48 weewxserver weewx[550093]: self._load(infile, configspec) Dec 21 13:54:48 weewxserver weewx[550093]: File "/usr/lib/python3/dist-packages/configobj.py", line 1318, in _load Dec 21 13:54:48 weewxserver weewx[550093]: raise error Dec 21 13:54:48 weewxserver weewx[550093]: configobj.ParseError: Invalid line (',# WEEWX CONFIGURATION FILE') (matched as neither section nor keyword) at line 2. File /home/weewx/weewx.conf Dec 21 13:54:48 weewxserver weewx[550071]: ...fail! Dec 21 13:54:48 weewxserver systemd[1]: weewx.service: Control process exited, code=exited, status=1/FAILURE Dec 21 13:54:48 weewxserver systemd[1]: weewx.service: Failed with result 'exit-code'. Dec 21 13:54:48 weewxserver systemd[1]: Failed to start LSB: weewx weather system. Dec 21 13:55:01 weewxserver CRON[550123]: (anubis273) CMD (python3 /home/weewx/scripte/sunwait_doublepicture.py # Sunwait - Tagsueber werden Wetterbilder erstellt fuer Zeitraffer & Website) Dec 21 13:55:04 weewxserver CRON[550122]: (CRON) info (No MTA installed, discarding output)

Für mich als Nicht-Entwickler kann ich den Fehler auf meine weewx.conf nicht so wirklich herleiten. Ganz offensichtlich ist die weewx.conf fehlerhaft aber schlau werde ich da nicht draus. Fakt ist, wenn ich

[DeutscherWetterdienst]
    path='/home/weewx/skins/neowx-material/dwd'
    [[warning]]
        icons='dwd/warn_icons_50x50'
        states='Nordrhein-Westfalen'
        [[[counties]]]
              'Bonn'='BN'

Aus meiner weewx.conf streiche, startet weewx fehlerfrei. Für den Moment ist meine Zeit zum testen leider abgelaufen. Vielleicht schaffe ich es später wieder mich dran zu setzen. Stressen Sie sich bitte nicht zu antworten :-)

Viele Grüße aus Bonn!

roe-dl commented 2 years ago

Oh, I finde dieses Log sehr redselig. Bitte schicken Sie mal die ersten 10 Zeilen von weewx.conf. Weiterhin: Welchen Editor benutzen Sie?

Nubi273 commented 2 years ago

Noch bin ich zuhause....

Oh Schande über mich! Als ich Ihnen die ersten Zeilen kopieren wollte habe ich gesehen, dass an erster Stelle ein Komma Stand:

,WEEWX CONFIGURATION FILE

Copyright (c) 2009-2021 Tom Keffer <tkeffer@gmail.com>
See the file LICENSE.txt for your rights.

This section is for general configuration information.

Set to 1 for extra debug info, otherwise comment it out or set to zero
debug = 1

Dieses habe ich entfernt und nun startet weewx auch. Das ist mir jetzt wirklich peinlich!

Ich verwende den CotEditor am Mac um meine Files zu editieren. Bin bisher ganz gut damit gefahren. Wenn ich Windows verwende, dann Notepad++

Jetzt wo mein weewx fehlerfrei läuft, kann ich (hoffentlich) heute Abend damit fortfahren, die Wetterwarnungen in meine Seite einzubauen :-) Wetter

Haben Sie ganz vielen Dank für Ihre Unterstützung!

roe-dl commented 2 years ago

Das war die spannende Zeile im Log:

Dec 21 13:54:48 weewxserver weewx[550093]: Error parsing config file: Invalid line (',# WEEWX CONFIGURATION FILE') (matched as neither section nor keyword) at line 2. File /home/weewx/weewx.conf
roe-dl commented 2 years ago

Ich würde mal noch anmerken, daß ich es für unwahrscheinlich halte, daß der Deutsche Wetterdienst für "Bonn" oder "Stadt Bonn" eigene Wetterwarnungen herausgibt. Ich vermute, man wird dort "Rhein-Sieg-Kreis" schreiben müssen.

Nubi273 commented 2 years ago

Ich sitze jetzt gerade tatsächlich wieder dran weil ich beabsichtige, die Wetterwarnungen in das HTML Template einzubauen. Entweder verstehe ich es nicht richtig, oder ich mache was falsch:

 <div class="col-sm-6">
    <p style="font-size:110%">Wetterwarnungen</p>
    #include raw "dwd/warn-BN.inc"
  </div>

Wenn wir gerade nicht aneinander vorbei reden, dann bietet der DWD tatsächlich für Bonn Wetterwarnungen an: Bonn

Ich bin leider kein Entwickler oder FrontEnd Designer und tue mich gerade leider etwas schwer bei der Umsetzung. Ich wollte Sie nur deswegen nicht gleich schon wieder stören.

Edit: Es hat jetzt funktioniert, auf meiner Wetterseite werden nun Wetterwarnungen angezeigt. Problem welches ich aktuell noch habe ist, dass das public_html Verzeichnis und somit die Webseite nicht mit aktuellen Daten versorgt wird. Alle Daten die vom DWD angeholt werden, landen im skins/neowx-material/dwd Verzeichnis. Ich beobachte das jetzt mal. Sollten sich die Wetterwarnungen nicht automatisch aktualisieren, werde ich mir mit einem Skript helfen, welches stündlich das dwd Verzeichnis aus skins nach public_html kopiert. Wenn es dort liegt, landet es automatisch auf der Website.

Haben Sie vielen Dank für Ihre Unterstützung und Grüße aus Bonn.

roe-dl commented 2 years ago

Ich habe gerade nachgesehen: Sie haben Recht, es gibt tatsächlich "Bonn" als Eintrag, und auch in dieser Schreibweise.

Ihr Beispiel ist richtig. Wenn es nicht funktioniert, dann wären das die nächsten Fragen:

roe-dl commented 2 years ago

Als ich meine Antwort geschrieben habe, gab es das #Edit noch nicht.

Die Dateien *.inc müssen nicht auf den Web-Server kopiert werden.

Für die Wetterkarte ist eine Ergänzung in skin.conf nötig:

[CopyGenerator]
    ...
    copy_always = ...,dwd/bwk_bodendruck_na_ana.png

Ansonsten bin ich mir nicht sicher, ob ich das Problem wirklich verstanden habe.

Nubi273 commented 2 years ago

Ja, da haben sich unsere Antworten überschnitten. Dann haben Sie mein Problem verstanden und beantwortet. Ich dachte, dass ich die .inc Dateien immer manuell bereitstellen muss. Wenn dies nicht erforderlich ist, passt jetzt alles, danke :-)