Seite 2 von 2

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 04 Dez 2021, 12:33
von Gyvate
den
iface = eth0
bzw.
iface = wlan0
Eintrag in weewx.conf [Interceptor] Sektion nicht vergessen.
Den erwähnt Matthew nämlich nicht, aber an dem hakt es oft. 8-)

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 04 Dez 2021, 15:52
von joachimF
Weewx neuinstalliert, kein Problem .

Interceptor nach
https://github.com/matthewwall/weewx-interceptor

Installation

0) install weewx, select 'Simulator' driver OK

http://weewx.com/docs/usersguide.htm#installing

1) download the interceptor driver

wget -O weewx-interceptor.zip https://github.com/matthewwall/weewx-in ... master.zip OK

2) install the driver

sudo wee_extension --install weewx-interceptor.zip OK

3) configure the driver

sudo wee_config --reconfigure --driver=user.interceptor --no-prompt OK


3a) weewx.conf geändert

[Station]

# Set to type of station hardware. There must be a corresponding stanza
# in this file with a 'driver' parameter indicating the driver to be used.
station_type = Interceptor

[Interceptor]
# This section is for the network traffic interceptor driver.

# The driver to use:
driver = user.interceptor

# Specify the hardware device to capture. Options include:
# acurite-bridge - acurite internet bridge, smarthub, or access
# observer - fine offset WH2600/HP1000/HP1003, ambient WS2902
# lw30x - oregon scientific LW301/LW302
# lacrosse-bridge - lacrosse GW1000U/C84612 internet bridge
# ecowitt-client - any hardware that uses the ecowitt protocol
# wu-client - any hardware that uses the weather underground protocol
# device_type = acurite-bridge
device_type = ecowitt-client
port = 80
iface = eth0


3b)
PYTHONPATH=bin python3 /usr/share/weewx/user/interceptor.py --device=ecowitt-client --mode=listen --port=80
Traceback (most recent call last):
File "/usr/share/weewx/user/interceptor.py", line 302, in <module>
import weewx.drivers
ModuleNotFoundError: No module named 'weewx'


4) start weewx

#sudo /etc/init.d/weewx start
sudo systemctl start weewx

weewx.log

INFO __main__: Initializing weewx version 4.5.1
INFO __main__: Using Python 3.9.2 (default, Feb 28 2021, 17:03:44) #012[GCC 10.2.1 20210110]
INFO __main__: Platform Linux-5.10.0-9-amd64-x86_64-with-glibc2.31
INFO __main__: Locale is 'de_DE.UTF-8'
INFO __main__: PID file is /var/run/weewx.pid
INFO __main__: Using configuration file /etc/weewx/weewx.conf
INFO __main__: Debug is 0
INFO weewx.engine: Loading station type Interceptor (user.interceptor)
: Starting weewx weather system: weewx.
INFO user.interceptor: driver version is 0.53
INFO user.interceptor: device type: ecowitt-client
INFO user.interceptor: mode is listen
INFO user.interceptor: listen on :80
ERROR weewx.engine: Import of driver failed: [Errno 98] Die Adresse wird bereits verwendet (<class 'OSError'>)
CRITICAL weewx.engine: **** Traceback (most recent call last):
CRITICAL weewx.engine: **** File "/usr/share/weewx/weewx/engine.py", line 119, in setupStation
CRITICAL weewx.engine: **** self.console = loader_function(config_dict, self)
CRITICAL weewx.engine: **** File "/usr/share/weewx/user/interceptor.py", line 315, in loader
CRITICAL weewx.engine: **** return InterceptorDriver(**config_dict[DRIVER_NAME])
CRITICAL weewx.engine: **** File "/usr/share/weewx/user/interceptor.py", line 2522, in __init__
CRITICAL weewx.engine: **** self._device = self.DEVICE_TYPES.get(self._device_type)(**stn_dict)
CRITICAL weewx.engine: **** File "/usr/share/weewx/user/interceptor.py", line 2297, in __init__
CRITICAL weewx.engine: **** super(EcowittClient, self).__init__(
CRITICAL weewx.engine: **** File "/usr/share/weewx/user/interceptor.py", line 429, in __init__
CRITICAL weewx.engine: **** self._server = Consumer.TCPServer(address, port, handler)
CRITICAL weewx.engine: **** File "/usr/share/weewx/user/interceptor.py", line 584, in __init__
CRITICAL weewx.engine: **** TCPServer.__init__(self, (address, int(port)), handler)
CRITICAL weewx.engine: **** File "/usr/lib/python3.9/socketserver.py", line 452, in __init__
CRITICAL weewx.engine: **** self.server_bind()
CRITICAL weewx.engine: **** File "/usr/lib/python3.9/socketserver.py", line 466, in server_bind
CRITICAL weewx.engine: **** self.socket.bind(self.server_address)
CRITICAL weewx.engine: **** OSError: [Errno 98] Die Adresse wird bereits verwendet
CRITICAL __main__: Unable to load driver: [Errno 98] Die Adresse wird bereits verwendet
CRITICAL __main__: **** Exiting...

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 04 Dez 2021, 15:55
von Gyvate
der Port darf nicht bereits von einer anderen Anwendung benutzt werden.
Port 80 ist i.d.R. der Webserver (Apache, nginx).
Besser 8000 oder so benutzen.

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 04 Dez 2021, 16:29
von Werner
@Joachim,

der Teststring sollte so lauten (vorausgesetzt der Customserver ist auf port 8000 eingestellt):
sudo PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py --device=ecowitt-client --mode=listen --port=8000

sudo kann eventuell weggelassen werden.

Wenn Weewx schon mit dem Treiber läuft, kommt beim Teststring so ein Fehler zum Schluss:

OSError: [Errno 98] Address already in use

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen [gelöst]

Verfasst: 04 Dez 2021, 17:23
von joachimF
Port 80 ist i.d.R. der Webserver (Apache, nginx).
Besser 8000 oder so benutzen.
8000 macht keine Fehlermeldung mehr
sudo PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/interceptor.py --device=ecowitt-client --mode=listen --port=8000

Wenn Weewx schon mit dem Treiber läuft, kommt beim Teststring so ein Fehler zum Schluss

mapped packet: {'dateTime': 1638633642, 'usUnits': 1, 'pressure': 29.253, 'outHumidity': 90.0, 'inHumidity': 43.0, 'outTemp': 51.1, 'inTemp': 73.8, 'windSpeed': 0.0, 'windGust': 0.0, 'windDir': 49.0, 'radiation': 0.0, 'rain': None, 'rainRate': 0.0, 'UV': 0.0}

Danke für die Hilfe :thumbup:
Weewx ist nun auch OK

Kann dieadd_ecowitt_data.zip auch die mysql-DB erweitern?
und ich werde auf die ecowitt.zip umstellen.

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 04 Dez 2021, 19:44
von Werner
@Joachim,
Kann dieadd_ecowitt_data.zip auch die mysql-DB erweitern
Ja.

Ich hab mir jetzt ein Herz genommen und hab für den geänderten Interceptor Treiber und allen notwendigen
Dateien eine weewx-Installations-Datei erstellt.

https://www.pc-wetterstation.de/weewx/w ... ceptor.zip
Datei downloaden auf den RasPi hochladen, in das Verzeichnis wechseln, wohin hochgeladen und mit
sudo wee_extension --install=weewx-interceptor.zip
installieren.
In der weewx.conf kann/sollte man den vorhandenen Eintrag bei
[DataBindings]
[[wx_binding]]
schema = schemas.wview.schema
"#schema" = schemas.wview_ecowitt.schema -> wird so von Interstallation eingetragen!
Ändern zu
#schema = schemas.wview.schema
schema" = schemas.wview_ecowitt.schema
Eventuell auch den Datenbanknamen von weewx.sdb zu weewx_ecowitt.sdb

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 04 Dez 2021, 22:56
von joachimF
@Wener,
Ich hab mir jetzt ein Herz genommen und hab für den geänderten Interceptor Treiber und allen notwendigen
Dateien eine weewx-Installations-Datei erstellt.
Kann ich diesen Interceptor über den alten installieren?

In der install.py ist der port 8080 eingetragen => auch im custom server dann ändern?

Auf der Weewx Seite wird der Lightning Sensor nicht angezeigt. Beim Stöbern habe ich mal gelesen, daß in der ??weewx.conf?? ein Eintrag zugefügt werden muß. Leider habe ich mir die Stelle nicht notiert.

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 05 Dez 2021, 10:10
von Gyvate
joachimF hat geschrieben: 04 Dez 2021, 22:56 @Wener,
Ich hab mir jetzt ein Herz genommen und hab für den geänderten Interceptor Treiber und allen notwendigen
Dateien eine weewx-Installations-Datei erstellt.
Kann ich diesen Interceptor über den alten installieren?

In der install.py ist der port 8080 eingetragen => auch im custom server dann ändern?

Auf der Weewx Seite wird der Lightning Sensor nicht angezeigt. Beim Stöbern habe ich mal gelesen, daß in der ??weewx.conf?? ein Eintrag zugefügt werden muß. Leider habe ich mir die Stelle nicht notiert.
Viele Wege führen nach Rom !

install.py ist "nur" eine Installationsroutine.

Die wesentlichen Stellen sind [Interceptor] section in weewx.conf (wo install.py ggf. einen Eintrag macht] und in WS View.
Ich würde, da port 8000 ja klappte und in WS View bereits eingestellt ist, den Port in weewx.conf ändern (sofern die Installationsroutine dort eine Änderung vorgenommen hat bzw. eine neue weewx.conf geliefert hat. - Das sollte man immer überprüfen ;) ).

Warum ?
Dann habe ich selbst Hand angelegt und weiss, was ich wo getan habe (und nicht irgendeine Installationsroutine, die natürlich irgendetwas eintragen muss). 8-)

Die Skin (Webseite) zeigt nur an, wofür Einträge (Labels) in skin.conf und index.html.tmpl (mit dazugehörigen Include-Dateien *.inc) zum Anzeigen gemacht sind. Ist kein Label definiert, wird der Datenbankname angezeigt (natürlich nur, wenn die Anzeige auch vorgesehen ist bzw. wenn es dazu, zur Sensorvariablen, Daten gibt *)).
Die Überschriften bzw. der Text können an verschiedenen Stellen definiert bzw. überschrieben werden:
Hierarchie: weewx.conf, skin.conf, index.html.tmpl (links überschreibt rechts) - das ist die "weewx-Philosophie".

*) typischer Eintrag:

Code: Alles auswählen

#if $current.outtemp.has.data
       ................... 
## zeige, je nach Stelle auf der Webseite, Label und Werte (bzw. Überschrift und Bildchen)

#end if
d.h. wenn keine Daten, dann keine Anzeige (weder Label noch Werte noch Bildchen)

Re: HP1000SE PRO Ultrasonic - WeeWX-welche Einstellungen

Verfasst: 05 Dez 2021, 16:43
von Werner
@Joachim
Kann ich diesen Interceptor über den alten installieren?
Ja - ausser Du möchtest alle notwendigen Änderungen in der weewx.conf selbst machen.
In der install.py ist der port 8080 eingetragen => auch im custom server dann ändern?
Ist belanglos was in der install.py eingetragen ist.
Den beim Installieren einer Erweiterung oder Treibers werden vorhandene Einträge in der weewx.conf
nicht überschrieben.
Ausserdem wird vorher dabei immer eine Sicherung der vorhandenen weewx.conf angelegt (Änderungsdatum angehängt)
Auf der Weewx Seite wird der Lightning Sensor nicht angezeigt. Beim Stöbern habe ich mal gelesen
wenn Du meine weewx-interceptor.zip Datei installierst, wird das mit erledigt
-> ist der Abschnitt [Interceptor] [[sensor_map_extensions]] lightning_distance = lightning usw.
und alle möglichen Sensordaten (sofern vorhanden) werden mit dem geänderten Seasons-Skin angezeigt.
Beispiel von mir (ich hab aber nicht nur den Lightning Sensor) :
https://www.pc-wetterstation.de/wetter/weewx2

Diesen Eintrag in der weewx.conf solltest Du ändern:
windBatteryStatus = wh80batt
Ausser Du hast auch einen WS80-Sensor.