Treiber unter Weewx liefert "invalid " Werte

Für allgemeine Software
wedder_man
Offline
Beiträge: 13
Registriert: 06 Jul 2023, 09:45
Wohnort: Chiemgau

Re: Treiber unter Weewx liefert "invalid " Werte

#11

Beitrag von wedder_man »

Scheint zu passen..
2023-08-04_11-34-11-34-28-Screenshot.png
2023-08-04_11-34-11-34-28-Screenshot.png (10.11 KiB) 352 mal betrachtet
Richtung wird jetzt auch angezeigt.
Ich lass das aber erst mal so "offen" und schau mir das die nächsten Tage an.
Denke aber das passt dann so.
Vielen Dank für Euren Input. :prayer:
wk893b
Offline
Beiträge: 134
Registriert: 23 Jan 2022, 09:13
Danksagung erhalten: 10 mal

Re: Treiber unter Weewx liefert "invalid " Werte

#12

Beitrag von wk893b »

@wk893b: die Anweisung lautet in Sprache übersetzt:
mache die Zuweisung a = b wenn b < 114 anderenfalls a = None (NULL)
da fehlt m.E. nichts, auch kein ":" - siehe funktionierendes Beispiel oben
Ok, wer heilt hat Recht!
Ich gebe mich bis zum Beweis des Gegenteils geschlagen, auch wenn die Syntax nicht logisch erscheint.
In deutscher Sprache übersetzt, würde ich analog von einer etwas verdrehten Satzstellung ausgehen.

Das Beispiel stammt aus '#1:
if wso == 0 and wsv == 0:
packet['windSpeed'] = ws
if packet['windSpeed'] is not None:
packet['windSpeed'] *= 3.6 # weewx wants km/h
packet['windDir'] = wd
else:
log.info('invalid wind reading: speed=%s dir=%s overflow=%s invalid=%s'
% (ws, wd, wso, wsv))
packet['windSpeed'] = None
packet['windDir'] = None
Das erscheint vom Aufbau her doch logischer.
Offensichtlich scheint Python in dieser Hinsicht wesentlich schmerzfreier zu sein als PHP.
Viele Grüße

wk893b


https://bh.wetter-alarm.de/
Benutzeravatar
Gyvate
Offline
Beiträge: 2525
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: Treiber unter Weewx liefert "invalid " Werte

#13

Beitrag von Gyvate »

kein Problem - der Doppelpunkt hat in Python mehrfache Bedeutung/Verwendung.
Im Code-Beispiel, auf das Du Dich beziehst, dient er dem Einrücken dessen, was zwischen if und else (in verschiedenen Zeilen) steht. Meine Schreibweise ist die Variante, das in einer Zeile zu schreiben. Dann gibt es auch keine(n) Doppelpunkt(e).
Für eine Zeile in weewx.conf ist das m.M.n. hinnehmbar. In einem größeren Code-Stück ist die ":"-Variante (dann aber auch mehrzeilig und eingerückt) sicher übersichtlicher.
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Antworten