FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Wettermodule => Thema gestartet von: Brice am 29 Mai 2019, 14:55:10

Titel: Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 29 Mai 2019, 14:55:10
Da es für kurze Zeit die WS3080 günstig zu erwerben gab (https://forum.fhem.de/index.php/topic,100783.0/all.html) und der Thread im Bereich Anfängerfragen nicht geeignet ist, um Erfahrungen auszutauschen, eröffne ich dieses Thema.

Zitat von: Brice am 28 Mai 2019, 19:43:23
Kurze Rückmeldung:
Die WS3080 wurde am Sonnabend geliefert, seit heute werden Daten nach FHEM geliefert, ..... Eingebunden über pywws per livelog, die größten Schwierigkeiten hatte ich mit der weather.ini.

Die Abweichungen der Daten im Vergleich zu meiner KS300 sind marginal, soweit ein Vergleich heute möglich ist..... Aber die KS300 zickt bei der Regenmessung und wird weichen.

Zitat von: Gunter1710 am 29 Mai 2019, 09:07:24
.....
Wo ich leider ein großes Problem habe ist der Helligkeitssensor  :-\. Der zeigt bei mir sehr hohe Werte an (z.B. bei Sonne ca. 150.000 Lux). Zum Vergleich hab ich noch einen Helligkeitssensor an einem Wemos D1 hängen. Kann das sein, dass in pywws ein Formelfehler eingebaut ist, oder ist das nur mein Sensor? Wie sind eure Erfahrungen?
Bei Sonne ohne Wolkenbedeckung habe ich derzeit 104 kLux, die 150 kLux habe ich noch nicht gesehen, allerdings läuft das Reading erst seit ca. 2 Stunden. Könnte ich mir aber vorstellen, dass die 150 kLux auch erreicht werden.

Zitat von: Gunter1710 am 29 Mai 2019, 09:07:24
Es würde mich freuen wenn noch andere Forumsmitglieder  8) von ihren Erfahrungen berichten.

Aus diesem Grund habe ich den Thread eröffnet :-)

edit: Dateianhang beigefügt
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 29 Mai 2019, 15:35:14
@Brice: Hatte ich gar nicht bemerkt, dass der andere Thread im Anfängerfragen Bereich war. Gute Idee ein neues Thema zu eröffnen.
Ich habe meine Screenshot angehängt.
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 30 Mai 2019, 14:38:15
Sieht gut aus  :)

Ich habe noch eine Herausforderung, da der Daemon für das LiveLoging nach einem Reboot des Pi nicht automatisch startet. Wie machst du das, per Cronjob?

Die Installation und Einrichtung von pywws hat einige Zeit benötigt. Hauptsächlich habe ich mich an diese englische Anleitung (https://pywws.readthedocs.io/en/latest/guides/index.html) gehalten. Wenn ich meine eigene Doku klar habe, könnte ich ja mal das Wiki erweitern...

Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 31 Mai 2019, 08:55:58
Ich hab jetzt die SIGNALduino Konfiguration rausgeschmissen, da ich nur ein mal am Tag Daten bekommen habe.

Zu meiner pywws Installation:
Angefangen hatte ich mit diesem Artikel
https://test-wetterstation.de/pywws-wettersoftware-fuer-usb-wireless-wetterstationen
darin wird die pywws Installation ganz gut beschrieben. Leider lässt die Beschreibung m.E. am Ende nach. Insbesondere wird nicht richtig beschrieben wie man es ohne Cron Job einrichtet.

Dann bin ich aber auf diesen Artikel gestoßen
https://pywws.readthedocs.io/en/latest/guides/livelogging.html
Hier wird unter "Using systemd" ganz gut beschrieben wie man ein systemd einrichtet. Damit funktioniert es bei mir zuverlässig.

Anbei noch meine ws3600.txt und die ws3080.txt


Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 12 Juni 2019, 22:15:20
Hallo,

ich versuche nun auch schon ein paar Tage lang, die WS3080 per pywws in FHEM einzubinden.
Dank eurer Hinweise werden die Daten auch schon von pywws  per USB auf meinen Server geholt.
per systemd Anleitung werden die Daten im Verzeichnis des extra angelegten Systemusers unter
home/pywws/data/raw/2019/2019-06  angelegt.

Aber die Definition in FHEM funktioniert nun nicht. Die Information aus der commandref passen nicht wirklich.

Ich habe aus der open3600.zip  das Programm fetch3600 unter /usr/local/bin kopiert.
Der Versuch:
define myWS3080 WS3600 "/usr/local/bin/fetch3600" 
bringt aber nur Fehler:
WS3600(Err): Can't start /usr/local/bin/fetch3600: No such file or directory
fetch3600 braucht doch bestimmt noch eine config Datei oder muss ich doch nur die Daten mit Cat ... in der definition aufrufen ?

An der Stelle bin ich lost :-(
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 13 Juni 2019, 07:37:22
Zitat von: Reinemann67 am 12 Juni 2019, 22:15:20
Aber die Definition in FHEM funktioniert nun nicht. Die Information aus der commandref passen nicht wirklich.

Ich habe aus der open3600.zip  das Programm fetch3600 unter /usr/local/bin kopiert.
Der Versuch:
define myWS3080 WS3600 "/usr/local/bin/fetch3600" 
bringt aber nur Fehler:
WS3600(Err): Can't start /usr/local/bin/fetch3600: No such file or directory
fetch3600 braucht doch bestimmt noch eine config Datei oder muss ich doch nur die Daten mit Cat ... in der definition aufrufen ?

An der Stelle bin ich lost :-(

Ich arbeite nicht mit fetch3600.
Wenn pywws die raw Daten anlegt, dann sollte der systemd über das template (ws3600.txt oder wie bei mir ws3060.txt) das hoffentlich bei dir in /home/pywws/weather/templates/ liegt regelmäßig die für FHEM lesbare Datei in /home/pywws/weather/tmp/output/ schreiben.

Dann musst du nur noch das Device anlegen mit
define myWS3080 WS3600 cat /home/ pywws /weather/tmp/output/ ws3600.txt (oder wie auch immer deine Output Datei heißt)


Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 13 Juni 2019, 22:55:27
ok, jetzt verstehe ich auch den Unterschied der Überschriften in dem Wiki "direkt angeschlossen" und "über pywws angeschlossen" und die Readme aus dem open3600.

Bin auch wieder ein paar Schritte weiter. Musste mein Verzeichnis  data Verzeichnis noch von /home/pywws nach /home/pywws/weather verschieben

In /home/pywws/weather/templates  liegt die ws3080.txt  (welche ich hier im thread runtergeladen habe)

in /home/pywws/weather/data liegt die weather.ini
[paths]
work = work = /home/pywws/weather/tmp
datastoretype = filedata
templates = /home/pywws/weather/templates/
graph_templates = /home/pywws/weather/graph_templates/
modules = /home/pywws/weather/modules/

[config]
usb activity margin = 3.0
ws type = 3080
pressure offset = 13.6
frequent writes = False
gnuplot version = 4.2
gnuplot encoding = iso_8859_1
day end hour = 9, False
logdata sync = 1
rain day threshold = 0.2
template encoding = iso-8859-1

[hourly]
services = []
text = ['ws3080.txt']
plot = []
...

per sudo service pywws start den service pywws neu gestartet

per define myWS3080 ws3600  "cat /home/pywws/weather/templates/ws3080.txt"  konnte ich in FHEM das Device anlegen.

Status geht zuerst auf initialized, dann erscheinen aber keine Werte in den sondern nur die Platzhalter:

DTime          #idx #idx    2019-06-13 22:04:00
Dew-Point    #calc          2019-06-13 22:07:00

bei genauer Prüfung ist der Dienst doch nicht korrekt gestartet

und im /var/log/syslog  steht:
Jun 13 22:46:19 zeppe-web pywws-livelog[4012]: TypeError: '<' not supported between instances of 'NoneType' and 'datetime.datetime'
Jun 13 22:46:19 zeppe-web systemd[1]: pywws.service: Main process exited, code=exited, status=1/FAILURE
Jun 13 22:46:19 zeppe-web systemd[1]: pywws.service: Failed with result 'exit-code'.
Jun 13 22:46:19 zeppe-web systemd[1]: pywws.service: Service hold-off time over, scheduling restart.
Jun 13 22:46:19 zeppe-web systemd[1]: pywws.service: Scheduled restart job, restart counter is at 4.
Jun 13 22:46:19 zeppe-web systemd[1]: Stopped pywws weather station live logging.
Jun 13 22:46:19 zeppe-web systemd[1]: Started pywws weather station live logging.
Jun 13 22:46:19 zeppe-web pywws-livelog[4026]: pywws.logger:pywws version 19.4.0, build 1652 (d36d35b)
Jun 13 22:46:20 zeppe-web kernel: [273343.282271] usb 2-5: reset full-speed USB device number 10 using ohci-pci
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]: Traceback (most recent call last):
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:   File "/usr/local/bin/pywws-livelog", line 11, in <module>
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:     load_entry_point('pywws==19.4.0', 'console_scripts', 'pywws-livelog')()
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:   File "/usr/local/lib/python3.6/dist-packages/pywws/livelog.py", line 130, in main
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:     return live_log(args[0])
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:   File "/usr/local/lib/python3.6/dist-packages/pywws/livelog.py", line 75, in live_log
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:     datalogger = pywws.logdata.DataLogger(context)
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:   File "/usr/local/lib/python3.6/dist-packages/pywws/logdata.py", line 100, in __init__
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]:     while saved_date < self.last_stored_time:
Jun 13 22:46:20 zeppe-web pywws-livelog[4026]: TypeError: '<' not supported between instances of 'NoneType' and 'datetime.datetime'
Jun 13 22:46:20 zeppe-web systemd[1]: pywws.service: Main process exited, code=exited, status=1/FAILURE
Jun 13 22:46:20 zeppe-web systemd[1]: pywws.service: Failed with result 'exit-code'.
Jun 13 22:46:20 zeppe-web systemd[1]: pywws.service: Service hold-off time over, scheduling restart.
Jun 13 22:46:20 zeppe-web systemd[1]: pywws.service: Scheduled restart job, restart counter is at 5.


was komisch ist, da dies ja gestern noch funktionierte :-(
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 14 Juni 2019, 08:07:59
Zur besseren Lesbarkeit bitte immer für Code, logausgaben etc...Code Tags (das # im Editor über den Smilies) verwenden.

Die weather.ini scheint fehlerhaft zu sein, ist das alles, was du dort drin stehen hast? Du musst schon mitgeben, von welchem Template in welche Datei geschrieben werden soll.

Da du "ws3080.txt" nutzt, schau dir mal die weather.ini (https://forum.fhem.de/index.php/topic,100783.msg944124.html#msg944124) von Gunter1710 an, dann sollte es dir klarer werden.
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 18 Juni 2019, 07:25:36
Vielen Dank für den Hinweis.
Ich habe mir die weather.ini angesehen und auch ein paar Zeilen korrigiert.
Die war dann fast mit dem Beispiel identisch (ausser underground)
Es ist aber immer wieder der Fehler

Jun 18 07:15:04 zeppe-web pywws-livelog[6528]:     while saved_date < self.last_stored_time:
Jun 18 07:15:04 zeppe-web pywws-livelog[6528]: TypeError: '<' not supported between instances of 'NoneType' and 'datetime.datetime'
J


im syslog vorhanden.
Dann habe ich die weather.ini noch mal komplett gelöscht.
Nach dem nächsten Startversuch wurde eine neue angelegt, in der ich nur den ws type angepasst habe.

[paths]
work = /tmp/pywws
datastoretype = filedata

[config]
usb activity margin = 3.0
ws type = 3080


also sehr rudimentär - aber derselbe Fehler in der syslog
ich überlege, ob ich eine andere Version als die python3.6 nehmen sollte. (obwohl es ja schon mal auf diesem system lief)

ok, muss erst mal zur Arbeit. 

Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 18 Juni 2019, 07:43:24
Hallo Reinemann67,

das klingt eher als wenn in deiner Template datei (ws3600.txt oder ws3080.txt) ein Fehler wäre.
Schick doch mal beide Dateien (weather.ini und wsxxxx.txt), dann können wir uns die anschauen.

Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 18 Juni 2019, 07:55:12
Kleiner Erfahrungsbericht:
Ich habe Probleme mit dem Datenspeicher. Das wirk sich wie folgt aus:
Wenn ich das Erfassungsintervall auf 5 Min stelle bekomme ich in FHEM auch alle 5 Min einen neuen Wert. Leider ist der Speicher dann nach ein paar Tagen voll und es kommen keine Werte mehr. Wenn ich das Erfassungsintervall auf 4 Stunden stelle bekomme ich nur alle 4 Stunden ein Wert.
Laut Anleitung soll der älterste Wert mit dem neusten Wert überschrieben werden sofern der Speicher voll ist. Dennoch bekomme ich keine Werte bis ich den Speicher lösche.

Wie sind eure Erfahrungen?
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: knopf_piano am 18 Juni 2019, 13:53:11
das intervall schreibt dir entsprechend dem wert ins EEPROM. Wenn du das Intervall auf 5 min läßt ist der irgendwann totgeschrieben, war bei mir so (not logging data) und keine Werte wurden mehr geliefert.
starte den pywws-logging-daemon, dann bekommst zu alle 45s Werte. ich mach das mittlerweile per mqtt. siehe pywws-doku. Mein intervall steht auf 30min
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 18 Juni 2019, 14:24:48
@Reinemann67
Da liegt doch einiges schief. Wie von mir schon erwähnt, deine weather.ini ist so nicht vollständig. Zunächst sind die Angaben zu den Pfaden nicht komplett. Also zumindest eintragen
Bei mir sieht das so aus, bei dir musst du dies anpassen:
[paths]
templates = /home/pi/weather/templates/
graph_templates = /home/pi/weather/graph_templates/
work = /home/pi/weather/data/
local_files = /home/pi/weather/results/
datastoretype = filedata
modules = /home/pi/weather/modules/

wobei die Einträge für graph_templates, local_files und modules für meine Konfiguration uninteressant sind.

Ich gehe davon aus, dass du ein Verzeichnis Templates eingerichtet hast und in dieses Verzeichnis das im Wiki beschriebene Template ws3800.txt abgelegt hast.

Dann gibt es in der ini-Datei den Bereich [copy]. Dort wird festgelegt, wo die Output-Datei liegt. Sieht bei mir wie folgt aus:
[copy]
directory = /home/pi/weather/data


In die Bereiche der weather.ini [live], [logged], [hourly], [12 hourly] und [daily] schreibst du was passieren soll. Ich nutze die Methode [logged], damit werden alle 48 Sekunden die aktuellen Daten in die Output-Datei geschrieben. Sieht bei mir wie folgt aus:
[logged]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []

Template und Output-Datei haben bei mir denselben Namen (ws3600.txt), musst du ggfls ändern.
Dann die Def in FHEM, bei mir wie folgt:
define <Device> WS3600 "cat /home/pi/weather/data/ws3600.txt" <Interval>

Ich hoffe, die Erklärung ist korrekt, bei mir läuft es so.

Aufgrund des neuen Beitrags von knopf_piano:

Meine Erfahrung: Speicher ist lt. Anzeige voll, es wird jedoch 75% Memory im Display der WS3080 angezeigt, Daten kommen. pywws-logging-daemon ist aktiviert, die Daten werden in FHEM alle 120 Sekunden abgerufen. Läuft so seit dem 29.05.2019. Also ich habe kein Problem.
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 19 Juni 2019, 07:37:41
Nun habe ich mal einfach alles in meine weather.ini übernommen inkl. Umbenennung in ws3600.txt :

[paths]
templates = /home/pywws/weather/templates/
graph_templates = /home/pywws/weather/graph_templates/
work = /home/pywws/weather/data/
local_files = /home/pywws/weather/results/
datastoretype = filedata
modules = /home/pywws/weather/modules/

[config]
usb activity margin = 3.0
ws type = 3080

[copy]
directory = /home/pywws/weather/data

[logged]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []


In der /home/pywws/weather/templates/ws3600.txt steht
#locale "False"#
#timezone local#

Date #idx "%d-%h-%Y"#

Time #idx "%H:%M:%S"#

Ti #temp_in "%.1f"#

To #temp_out "%.1f"#

DP #calc "dew_point(data['temp_out'], data['hum_out'])" "%.1f"#

WC #calc "apparent_temp(data['temp_out'], data['hum_out'], data['wind_ave'])" "%.1f"#

RHi #hum_in "%d"#

RHo #hum_out "%d"#

#! aenderung#
DIR #wind_dir "%.0f" "-" "winddir_degrees(x)"#

DIRtext #wind_dir "%s" "-" "winddir_text(x)"#

WS #wind_ave "%.1f"#

WG #wind_gust "%.1f"#

RP #rel_pressure "%.0f"#

Tendency #pressure_trend "%s" "" "pressure_trend_text(x)"#

Forecast #calc "Zambretti(params, data)" "%s"#

IL #illuminance "%.0f"#

UV #uv "%.0f"#

#raw#
Rtot #rain "%0.1f"#

R1h #calc "rain_hour(data)" "%.1f"#

R24h #calc "rain_day(data)" "%.1f"#



Der Fehler bleibt :-(
Ist evtl. meine neu erworbene WS3080 von ELV nicht kompatible ist mit der  WS3600.txt ?

Vielen Dank für eure Zeit !
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 19 Juni 2019, 19:05:18
Es gibt hier mehrere WS3080 von ELV, die über das Modul WS3600 laufen, daher: kompatibel = ja

Irgendetwas läuft bei dir falsch. Halte dich an die englische Anleitung (https://pywws.readthedocs.io/en/latest/guides/getstarted.html), damit fährst du am besten. Meine funktionierende weather.ini sieht so aus:

Edit 20.06.2019: mir fällt gerade auf, dass seit ca. 46 Stunden die Außentemperatur nicht mehr geschrieben wird. Irgendwie hat sich meine weather.ini geändert, evt. weil ich Zeilen auskommentiert hatte. Ich korrigiere diese im Laufe der nächsten Zeit und stelle die dann wieder rein.
Sorry
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 20 Juni 2019, 13:38:44
Es wurden gar keine aktuellen Daten mehr geschrieben, die weather.ini hatte ein Datum vom 19.06.2019 00:01. Warum auch immer. Die gestern gepostete ini-Datei konnte nicht funktionieren.

Mir ist das nicht aufgefallen, da ich noch eine KS300 habe, die immer noch das führende Device ist.. Dass das Licht gestern nicht eingeschaltet wurde (kommt vom Lichtsensor der WS3080) war mir nicht aufgefallen.

Meine jetzt wieder funktionierende weather.ini:

config]
usb activity margin = 3.0
ws type = 3080
day end hour = 0, True
logdata sync = 1
frequent writes = False
template encoding = iso-8859-1
gnuplot version = 4.2
gnuplot encoding = iso_8859_1
asynchronous = False
rain day threshold = 0.2
pressure offset = 0.0
language = de

[paths]
templates = /home/pi/weather/templates/
graph_templates = /home/pi/weather/graph_templates/
work = /home/pi/weather/data/
local_files = /home/pi/weather/results/
datastoretype = filedata
modules = /home/pi/weather/modules/

[live]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []

[logged]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []

[copy]
directory = /home/pi/weather/data

[Zambretti]
north = True
baro upper = 1050.0
baro lower = 950.0


[hourly]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []

[12 hourly]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []

[daily]
services = [('copy', 'ws3600.txt')]
text = ['ws3600.txt']
plot = []
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 20 Juni 2019, 14:07:37
Zitat von: Brice am 20 Juni 2019, 13:38:44
Es wurden gar keine aktuellen Daten mehr geschrieben, die weather.ini hatte ein Datum vom 19.06.2019 00:01. Warum auch immer. Die gestern gepostete ini-Datei konnte nicht funktionieren.

Mir ist das nicht aufgefallen, da ich noch eine KS300 habe, die immer noch das führende Device ist.. Dass das Licht gestern nicht eingeschaltet wurde (kommt vom Lichtsensor der WS3080) war mir nicht aufgefallen.

Meine jetzt wieder funktionierende weather.ini:


Ahh, hatte mich schon gewundert  ;)
Ich habe auch gemerkt, das kleine Änderungen an der weather.ini dazu führen kann, dass keine Daten mehr geschrieben werden.
Wollte pywws auf MQTT umstellen und hab nur die Zeilen von pywws (https://pywws.readthedocs.io/en/latest/api/pywws.service.mqtt.html) eingefügt und schon ging gar nix mehr.

Dann wieder alles Rückgängig gemacht und schon lief es wieder. Vielleicht hab ich am WE ein wenig Zeit zum optimieren.
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 20 Juni 2019, 21:21:13
@Brice  ja irgendwie hatten die Kommentare des vorausgehenden Beitrages nicht zur weather.ini gepasst.
Zwischenzeitlich funktioniert es nun auch endlich bei mir.
Ich habe noch mal das gesamte Verzeichnis des Users nach pywws kopiert, bei dem der Dienst zuerst auch funktioniert hat.
Nachdem der Dienst dann unter Verwendung der Daten des users pywws lief, bin ich die weather.ini durchgegangen. Am Ende musste ich noch meinen Aufruf in FHEM korrigieren, sodass ich auch die korrekte Output-Datei verwende.
Ich würde das alles auch noch mal zusammenschreiben und am liebsten den Wiki Beitrag zur ws3600 erweitern. Spricht da irgendetwas dagegen ?

Vielen Dank noch einmal für die Unterstützung !

Michael
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 04 Juli 2019, 15:43:55
Ich habe gerade das Problem, dass keine Daten mehr geschrieben werden. Änderungen in der weather.ini hatte ich nicht vorgenommen. Status.ini endet mit

[data]
ptr = 0050c4,2019-07-04 03:26:02

[pending]
copy = []

[last update]
logged = 2019-07-04 03:26:02
hourly = 2019-07-04 03:01:02
daily = 2019-07-03 22:00:29
12 hourly = 2019-07-03 22:00:29
live = 2019-07-04 03:27:41


Starten des Service mit

sudo systemctl status pywws.service ergibt

● pywws.service - pywws weather station live logging
   Loaded: loaded (/etc/systemd/system/pywws.service; static; vendor preset: enabled)
   Active: active (running) since Thu 2019-07-04 15:39:04 CEST; 1s ago
Main PID: 7119 (pywws-livelog)
   CGroup: /system.slice/pywws.service
           └─7119 /usr/bin/python /usr/local/bin/pywws-livelog -v -l systemd /home/pi/weather/data/

Jul 04 15:39:04 FHEMProd_RPi3 systemd[1]: Started pywws weather station live logging.


RPi ist schon rebootet.

Hat jemand eine Idee?
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 05 Juli 2019, 12:50:03
Kurze Rückmeldung: es gibt keinen Zugriff auf den USB-Port

usb.core.USBError: [Errno 19] No such device (it may have been disconnected)
usb1.USBErrorAccess: LIBUSB_ERROR_ACCESS [-3]
usb1.USBErrorTimeout: LIBUSB_ERROR_TIMEOUT [-7]


Warum das zu nachtschlafender Zeit passiert ist, entzieht sich meiner Kenntnis. Ich versuche bereits seit gestern, das Problem zu lösen, bisher ohne Erfolg.
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 05 Juli 2019, 13:05:56
Meins läuft auch seit dem 29.06 nicht mehr. Auch mitten in der Nacht um 2:00 Uhr hat es den Geist aufgegeben.
Ich hab daraufhin den Speicher vom Display gelöscht -> Kein Erfolg
Dann hab ich die Batterien raus genommen -> jetzt warte ich, das die Zeit wieder in Sync ist.
Kann dann morgen früh mehr sagen.

Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 05 Juli 2019, 14:19:03
Problem doch noch nicht gelöst :)


Ich habe keine Ahnung, was da passiert ist. Die Zeit der Wetterstation ist noch nicht synchronisiert.

Edit: nach dem manuellen Starten des daemon läuft es jetzt erst einmal
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 17 Juli 2019, 07:10:25
Auch bei mir hatte die Wetterstation am 11.07 ca. 23:50 Uhr auf einmal keine Daten mehr geliefert.
Zuerst dachte ich, es liegt am vollem Speicher der Basisstation.
Am Ende habe ich dann auch den daemon bzw. die ganze virtuelle Maschine (virtualbox) inkl. FHEM neu gestartet und es läuft wieder.

Ich werde auch weiter beobachten . . .

Reine
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 19 Juli 2019, 13:21:14
Kurios: heute wurde der Wert von Rain-total auf 0.0 zurückgesetzt2019-07-19_07:00:00 myWS3080 Rain-total: 65.4
2019-07-19_07:03:00 myWS3080 Rain-total: 0.0
Titel: WS3080 steigt regelmäßig aus
Beitrag von: Brice am 16 November 2019, 17:04:59
Meine WS3080 steigt recht regelmäßig mit der Datenübertragung zum RPi4 aus, weil der USB-Anschluß nicht mehr verfügbar ist. Die lezten Meldungen zeigen:

2019-11-15 16:19:08:pywws.weatherstation:setting sensor clock 44.8256
2019-11-15 16:19:08:pywws.weatherstation:sensor clock drift -6.56939 -0.314924
2019-11-15 22:04:01:pywws.weatherstation:setting station clock 1.37174
2019-11-15 22:04:01:pywws.weatherstation:station clock drift -1.18924 -0.103641
2019-11-16 05:18:17:pywws.weatherstation:status {'rain_overflow': False, 'lost_connection': True}
2019-11-16 05:18:23:pywws.weatherstation:status {'rain_overflow': False, 'lost_connection': False}
2019-11-16 06:28:04:pywws.weatherstation:status {'rain_overflow': False, 'lost_connection': True}
2019-11-16 06:28:47:pywws.weatherstation:status {'rain_overflow': False, 'lost_connection': False}
2019-11-16 08:16:41:pywws.livelog:[Errno 19] No such device (it may have been disconnected)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/pywws/livelog.py", line 84, in live_log
    logged_only=(not tasks.has_live_tasks())):
  File "/usr/local/lib/python2.7/dist-packages/pywws/logdata.py", line 247, in live_data
    for data, ptr, logged in self.ws.live_data(logged_only=logged_only):
  File "/usr/local/lib/python2.7/dist-packages/pywws/weatherstation.py", line 549, in live_data
    new_ptr = self.current_pos()
  File "/usr/local/lib/python2.7/dist-packages/pywws/weatherstation.py", line 711, in current_pos
    self._read_fixed_block(0x0020), self.lo_fix_format['current_pos'])
  File "/usr/local/lib/python2.7/dist-packages/pywws/weatherstation.py", line 767, in _read_fixed_block
    result += self._read_block(mempos)
  File "/usr/local/lib/python2.7/dist-packages/pywws/weatherstation.py", line 755, in _read_block
    new_block = self.cusb.read_block(ptr)
  File "/usr/local/lib/python2.7/dist-packages/pywws/weatherstation.py", line 344, in read_block
    if not self.dev.write_data(buf):
  File "/usr/local/lib/python2.7/dist-packages/pywws/device_pyusb1.py", line 133, in write_data
    timeout=50)
  File "/usr/lib/python2.7/dist-packages/usb/core.py", line 1043, in ctrl_transfer
    self.__get_timeout(timeout))
  File "/usr/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
    timeout))
  File "/usr/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
USBError: [Errno 19] No such device (it may have been disconnected)


Seit 10 Tagen ist die Wetterstation an einen aktiven USB-Hub angeschlossen. Vorher waren die Ausstiege auch kürzer.

Hat jemand ähnliche Probleme und einen Tipp für mich?
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Reinemann67 am 01 Februar 2020, 23:42:33
Nachdem auch bei mir die Übertragung immer wieder unterbrochen war, bin ich nun wieder auf den Empfang per Signalduino umgestiegen.
Hat auch wieder einen Tag gedauert, aber jetzt kommen die Daten alle 3 min rein.
Pywws kann ich wieder deinstallieren.
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 04 März 2020, 15:48:13
Hallo Brice,

ich habe nach langer Zeit mal wieder meine Wetterstation in Betrieb genommen. Nachdem ich die status.ini gelöscht habe und pywws neu installiert habe, konnte ich für ein paar Tage Daten empfangen. Nur habe ich seit Vorgestern auch den USB-Fehler. Ich bekomme den USB Port gar nicht mehr zum laufen.

hast du zu deinem USBError eine Lösung gefunden?

Zitat von: Brice am 16 November 2019, 17:04:59
Meine WS3080 steigt recht regelmäßig mit der Datenübertragung zum RPi4 aus, weil der USB-Anschluß nicht mehr verfügbar ist. Die lezten Meldungen zeigen:

USBError: [Errno 19] No such device (it may have been disconnected)

Seit 10 Tagen ist die Wetterstation an einen aktiven USB-Hub angeschlossen. Vorher waren die Ausstiege auch kürzer.

Hat jemand ähnliche Probleme und einen Tipp für mich?


Was meinst du mit?

Zitat von: BriceLetztendlich habe ich die udev-Regel neu aufgesetzt und siehe da, einmal wurden die Daten geschrieben, seitdem nicht mehr

Gruß
Gunter
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Brice am 04 März 2020, 17:44:49
Das USB-Problem hatte ich nicht in den Griff bekommen, allerdings bin ich seit gestern mit einer anderen Lösung unterwegs, dazu gleich mehr.

Zunächst hatte ich  (https://www.elektronik-kompendium.de/sites/raspberry-pi/2206111.htmnach%20dieser%20Anleitung) die Abschaltung bei Überschreitung der Strombegrenzung von 600 mA eingerichtet, es gab aber zeitweise immer noch den Fehler. Danach einen aktiven USB-Hub beschafft, auch keine Änderung. Der Hub ist wieder abgebaut.

Als nächstes nach dieser Anleitung (https://www.computerhilfen.de/info/usb-reset-am-raspberry-pi-usb-ports-zuruecksetzen.html) die Möglichkeit zum USB-Reset eingerichtet. Damit konnte ich zumindest ohne die Wetterstation stromlos zu machen den betreffenden USB-Port resetten und dann den Daemon neu starten.

Seit gestern habe ich das Logging nach diesem Beitrag (https://forum.fhem.de/index.php/topic,61682.msg690661.html#msg690661) umgestellt. Mal schauen, was jetzt passiert. Dazu muss ich noch einen Cronjob erstellen.

Den Ausfall lasse ich mir über ReadingsWatcher (https://forum.fhem.de/index.php?topic=49408.0) über Telegram melden, ist für die WS3080 aber auch erst seit gestern aktiv.

Mich ärgert die WS3080, da diese als Ersatz für die nicht mehr taufrische KS300 gekauft wurde. Die habe ich bisher noch nicht abgebaut und daher 2 Masten auf dem Balkon  ::)

Stefan
Titel: Antw:Modul WS3600 / Austausch zur WS3080
Beitrag von: Gunter1710 am 05 März 2020, 07:42:44
Danke erst mal. Ich werde mir das am Wochenende mal näher anschauen.
Irgendwie hatte ich mir das auch einfacher vorgestellt mit der WS3080.
Ich hatte auch noch mal versucht die WS3080 mit einem Signalduino auszulesen, aber auch hier bekomme ich keine Verbindung zur Wetterstation.