Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

Antwort erstellen

Bestätigungscode
Gib den Code genau so ein, wie du ihn siehst; Groß- und Kleinschreibung wird nicht unterschieden.
Smilies
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 29 Mai 2025 17:08

Muss die Datenbank dann nochmal neu aufgebaut werden?
Da ich jetzt nicht weiß, was alles in DEINER Datenbank steht, ist es schwer diese Frage zu beantworten.

Es gibt auf Github auch eine Batchdatei für die V5 (gibt es dort auch für V4),
https://github.com/WernerKr/Ecowitt-or- ... data_v5.sh

welche alle notwendigen Datenbankfelder ergänzt, damit dürften die fehlenden Felder hinzugefügt werden.
Bei vorhandenen Feldern kommt eben dann eine entsprechende Meldung.
... und natürlich die Datenbank vorher sichern
Sonnenscheindauer bleibt trotzdem bei knapp 1,5 Minuten.
Liegt das am Archiv-Intervall?
Ja, den die Bar-Länge bezieht sich auf das Archiv-Intervall.

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 29 Mai 2025 14:11

Wo liegt den die Datei "wview_ecowitt.py" ?
Unter V5.1.0 funktioniert es jedenfalls bei mir unter /etc/weewx/bin/schemas
Die Datei liegt bei mir auch unter /etc/weewx/bin/schemas, da funktioniert sie aber nicht.
Ich habe sie jetzt mal testweise zu den Standardschemas nach /usr/share/weewx/schemas kopiert, dort wird sie erkannt und funktioniert.
Muss die Datenbank dann nochmal neu aufgebaut werden?

copy_always = bat*.png
oder einmalig bei dieser Einstellung:
copy_once = seasons.css, seasons.js, favicon.ico, font/*.woff, font/*.woff2, bat*.png
Diese Einstellungen sind in der skin.conf vorhanden, die Grafiken wurden aber nicht in den Webspace kopiert.
Ich habe diese manuell kopiert, jetzt werden die Grafiken angezeigt.

Es scheint aber so zu sein, dass das Archiv-Intervall 1 Minute ist:
Dann ändern in der skin.conf

[[[daysunshine]]]
color = "#ea078b"
plot_type = bar
yscale = 0.0, 15, 2.5
[[[[sunshine_time]]]]
data_type = sunshineDur / 60
y_label = "Minuten"
label = Sonnenschein

Diesen Eintrag "yscale = 0.0, 15, 2.5" ändern z.B. auf yscale = 0.0, 5, 1
Das ist richtig, das Archiv-Intervall ist 1 Minute.
Die Zeitachse wird jetzt größer angezeigt, die angezeigte Sonnenscheindauer bleibt trotzdem bei knapp 1,5 Minuten.
Liegt das am Archiv-Intervall?

Vielen Dank für Deine Hilfe!

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 29 Mai 2025 12:34

schemas.wview_ecowitt.schema funktioniert zwar immer noch nicht, aber alle Sensoren und Grafiken werden dargestellt.
Wo liegt den die Datei "wview_ecowitt.py" ?
Unter V5.1.0 funktioniert es jedenfalls bei mir unter /etc/weewx/bin/schemas

Wenn die Grafiken nicht dargestellt werden, liegt es sehr wahrscheinlich daran, dass die Dateien
Batt?.png nicht auf dem Webspace vorhanden sind.

Mit diesen Einstellungen (in der skin.conf)
werden diese auf den Webspace kopiert!

Code: Alles auswählen

[CopyGenerator]

    # List of files to be copied only the first time the generator runs
    copy_once = seasons.css, seasons.js, favicon.ico, font/*.woff, font/*.woff2 

    # List of files to be copied each time the generator runs
    copy_always = bat*.png
    
copy_always = bat*.png
oder einmalig bei dieser Einstellung:
copy_once = seasons.css, seasons.js, favicon.ico, font/*.woff, font/*.woff2, bat*.png

Oder einmalig aus dem skin-Ordner auf den Webspace kopieren!

Für die richtige Sonnenscheindauerdarstellung ist dieser Eintrag notwendig in der "de.conf":

Code: Alles auswählen

[Units]
    [[Groups]]
       group_hour = hour
       group_deltatime = hour
oder besser in der weewx.conf

Code: Alles auswählen

[StdReport]
 [[Defaults]]
    [[[Units]]]
      [[[[Groups]]]]
          group_hour = hour
          group_deltatime = hour
Wahrscheinlich ist "group_hour = hour" nicht notwendig, weiß im Moment aber nicht, warum ich diesen Eintrag habe.

Es scheint aber so zu sein, dass das Archiv-Intervall 1 Minute ist:
Dann ändern in der skin.conf

Code: Alles auswählen

        [[[daysunshine]]]
           color = "#ea078b"
           plot_type = bar
	    yscale = 0.0, 15, 2.5
           [[[[sunshine_time]]]]
              data_type = sunshineDur / 60
              y_label = "Minuten"
              label = Sonnenschein
Diesen Eintrag "yscale = 0.0, 15, 2.5" ändern z.B. auf yscale = 0.0, 5, 1

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 29 Mai 2025 11:28

Nach längerer Testphase läuft alles soweit stabil und unauffällig.

schema = schemas.wview_ecowitt.schema funktioniert zwar immer noch nicht, aber alle Sensoren und Grafiken werden dargestellt.

Nur die Darstellung der Batteriesymbole und Sonnenscheinzeit funktioniert nicht richtig.

Die Batteriesymbole werden trotz aktueller sensors.inc und seasons.css nicht angezeigt:
Spannung.PNG
Spannung.PNG (7.72 KiB) 501 mal betrachtet

Die Sonnenscheindauer wird zu kurz dargestellt:
Sonnenschein.PNG
Sonnenschein.PNG (7.24 KiB) 501 mal betrachtet

Wie kann ich die beiden Darstellungen anpassen?

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 22 Apr 2025 12:25

So, gestern Abend Weewx doch nochmal neu installiert mit der aktualisierten weewx-interceptor.zip.

Weewx ließ sich (trotz vorhandener "wview_ecowitt.py") auch dieses mal nur mit "schema = schemas.wview_extendend.schema" zum laufen bringen, ansonsten kommt diese Fehlermeldung:

Code: Alles auswählen

ModuleNotFoundError: No module named 'schemas.wview_ecowitt'

Dafür trat der "AttributeError: sunshineDur" nicht mehr auf.

Auf den ersten Blick werden aber alle Sensoren korrekt angezeigt.

Komischerweise funktioniert mein existierendes System mit "schema = schemas.wview_ecowitt.schema".
Keine Ahnung, was beim Testsystem quer läuft.

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 21 Apr 2025 20:24

sunshineDur ist ein Datenbank Feld des weewx_ecowitt schema
und wird mit der Erweiterung sunrainduration.py,
befüllt, wenn diese Erweiterung auch aktiviert ist.

Code: Alles auswählen

[Engine]
    [[Services]]
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate, user.sunrainduration.SunshineDuration
Geändert habe ich bzw. hinzugefügt die historygenerator3.py
da in der skin.conf darauf verwiesen wird.

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 21 Apr 2025 18:14

Du verwendest anscheinend nicht den neuesten Installations-Satz des Interceptor-Treibers.
Da jetzt das Skin-Verzeichnis SeasonsEcowitt benutzt wird.
https://github.com/WernerKr/Ecowitt-or- ... eason-skin
Genau diesen Link habe ich für die Installation verwendet, dort die weewx-interceptor.zip.

Die Datei "wview_ecowitt.py" bei mir im Verzeichnis /etc/weewx/bin/schemas auch vorhanden.

Das umbennenen in historygenerator3.py hat funktioniert, dafür kommt jetzt:

Code: Alles auswählen

AttributeError: sunshineDur
obwohl in die sunrainduration.py in /etc/weewx/bin/user vorhanden ist.

Ich glaub ich lass es für heute.... :?

Ich sehen gerade, Du hast die weewx-interceptor.zip geändert.
Was ist da jetzt anders?

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 21 Apr 2025 17:37

Du verwendest anscheinend nicht den neuesten Installations-Satz des Interceptor-Treibers.
Da jetzt das Skin-Verzeichnis SeasonsEcowitt benutzt wird.
https://github.com/WernerKr/Ecowitt-or- ... eason-skin
Weewx lief aber erst dann, als ich

Code: Alles auswählen
schema = schemas.wview_ecowitt.schema
zu
Dann ist die Datei "wview_ecowitt.py" bei Dir nicht im Verzeichnis /etc/weewx/bin/schemas
vorhanden!
Ohne dem richtigen Schema werden Dir viele Grafiken nicht angezeigt, da ein notwendiger Datenbank-Eintrag dazu fehlt.

... benenne historygenerator_color.py zu historygenerator3.py um

Besser Du holst Dir von Github die aktuelle Installations-Datei und installierst noch einmal.
Wichtig! Da in der weewx.conf vorhandene Einträge nicht ersetzt werden können, schreibt die Installation die neuen Einträge mit z.B. schema_new = schemas.wview_ecowitt.schema
Zur Nutzung muss das "_new" entfernt werden - und den vorhanden Eintrag umbenennen z.B. zu _old

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 21 Apr 2025 16:54

Hallo Werner,

heute bin ich endlich dazu gekommen weiter zu probieren, der Garten hatte erst mal vorrang.

Ich habe heute auf einem Testsystem Weewx komplett neu installiert und dann gemäß Deiner Anleitung https://github.com/WernerKr/Ecowitt-or- ... /tree/main den Interceptor Treiber installiert.

Weewx lief aber erst dann, als ich

Code: Alles auswählen

schema = schemas.wview_ecowitt.schema
zu

Code: Alles auswählen

schema = schemas.wview_extendend.schema
geändert habe.


Jetzt habe ich aber noch ein anderes Problem:
Die SeasonsMy Skin bring eine Fehlermeldung wegen fehlender

Code: Alles auswählen

ModuleNotFoundError: No module named 'user.historygenerator3'
Die historygenerator3.py existiert in weewx/bin/user/ aber nicht, nur historygenerator.py, historygenerator4.py, historygenerator42.py, historygenerator_color.py und historygenerator_colour.py
Ändert man die skin.conf auf eine dieser Dateien ab, kommt die Fehlermeldung:

Code: Alles auswählen

KeyError: 'colours'
bzw.

Code: Alles auswählen

KeyError: 'HistoryColors'
Was muss denn hier verwendet werden?

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 18 Mär 2025 15:08

Bei mir steht es auf "sum"
Allerdings habe ich zusätzlich in der weewx.conf

Code: Alles auswählen

[StdCalibrate]
    
 [[Corrections]]
  lightning_distance_save = lightning_distance if lightning_distance is not None else None
  lightning_distance = lightning_distance if lightning_strike_count > 0 else None

Damit wird die letzte Entfernung angezeigt.
Bei keinem neuen Blitz aber in der Enfernungs-Grafik "nichts"

Und in der Grafik mit der Entfernung, wird diese Grafik immer angezeigt,
da jetzt in der index.html.tmpl die Abfrage auf neue Daten auskommentiert ist.

Code: Alles auswählen

            ##if $day.lightning_distance.has_data
            <img src="daylightningdistance.png"        alt="$obs.label.lightning_distance"/>
            ##end if

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 18 Mär 2025 09:42

weewex.conf ist auf den Interceptor Treiber umgestellt und scheint auf den ersten Blick zu funktionieren.
Muss bei dieser Kombination aus Interceptor und GW1000 Treiber ebenfalls der Eintrag von

Code: Alles auswählen

[Accumulator]
[[lightning_strike_count]]
extractor = sum
auf

Code: Alles auswählen

[Accumulator]
[[lightning_strike_count]]
extractor = last
abgeändert werden, so wie hier erwähnt https://www.pc-wetterstation.de/forum/v ... 26&t=10333?

Nächster Schritt wird dann die Umstellung der Skin-Datei.

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 17 Mär 2025 10:19

Das heißt, ich müsste nur die interceptor.py in /etc/weewx/bin/user speichern und dann gemäß Deiner Anleitung die weewx.conf umstellen?
So ist es.

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 16 Mär 2025 19:07

Vielen Dank für die Erklärung :)
Das heißt, ich müsste nur die interceptor.py in /etc/weewx/bin/user speichern und dann gemäß Deiner Anleitung die weewx.conf umstellen?
Aktuell bekommt WeeWx die Daten über den GW1000 Treiber mit der Ecowitt-Erweiterung und der Seasons-Skin-Änderung (allerdings schon ältere Version) von einem WH2650A.
Ich bin aber gerade am umrüsten, es läuft ein GW3000 mit FOSHKplugin mit aktueller Beta im Probebetrieb, das soll dann zukünftig WeeWx und andere Dienste versorgen.
Ich werde die nächsten Tage mal probieren umzustellen.

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von Werner » 16 Mär 2025 18:19

Du kannst beide Treiber gleichzeitig nutzen:
Interceptor Treiber bei Station eintragen und den GW1000-Treiber zusätzlich bei Engine, Services
Das komplette Mapping macht der Interceptor Treiber.

Wenn Du nicht FOSHplugin nutzt, ist das dies beste Lösung, da nur der GW1000 auch die Signale
liefert.
Bei Verwendung von der aktuellen Beta von FOSHKplugin kann man das Übermitteln auch der Signale
und anderer Einstellungen bekommen, die sonst nur der GW1000-Treiber liefert.
Hier wird bei der Custom-Server Einstellung der Port 8576 verwendet!
Wenn jetzt FOSHKplugin verwendet wird, muss bei Custom-Server ein anderer Port z.B. 8080 verwendet werden (hier nur die zusätzlichen Eintragungen in der foshkplugin.conf)
Einstellungen in der
foshkplugin.conf:

Code: Alles auswählen

[Config]
LBH_PORT = 8080

[Export]
ADD_SIGNAL = True
ADD_MORE = True

[Forward-5]
FWD_ENABLE = True
FWD_CMT = Weewx5 Interceptor
FWD_URL = http://192.168.0.135:8576/data/report/
FWD_OPTION = blacklist=False
FWD_INTERVAL = 
FWD_IGNORE = 
FWD_TYPE = EW
FWD_SID = 
FWD_PWD = 
FWD_STATUS = True
FWD_MQTTCYCLE = 0
FWD_EXEC = 

weewx.conf:

Code: Alles auswählen

[Station]
    #station_type = GW1000
    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 = ecowitt-client
    port = 8576		# Den Port den Du bei Custom-Server gewählt hast
    iface = eth0		# wenn via LAN - hier LAN aktiv
    #iface = wlan0 		# wenn via WLAN 

[Engine]
    # The following section specifies which services should be run and in what order.
    [[Services]]
        data_services = user.gw1000.Gw1000Service
Wenn nur noch der Interceptor-Treiber genutzt werden soll
wie oben und hier den gw1000 - Treiber entfernen:

Code: Alles auswählen

[Engine]
    [[Services]]
        data_services = ,
Auf Github findest Du dazu auch die geänderten Skin-Dateien (Season)
https://github.com/WernerKr/Ecowitt-or- ... /SeasonsMy

Hier ist nur der Interceptor-Treiber in Kombination mit FOSHKplugin im Einsatz:
https://www.pc-wetterstation.de/wetter/weewx1/

Es ist alles vorhanden was der GW1000 liefern würde und eben noch mehr, z.B. Station AutoUpgrade, Station newVersion

Was natürlich dazu auch notwendig ist - die Datenbank zu erweitern:
V5.x

Code: Alles auswählen

weectl database add-column ldsbatt1 --type=REAL -y
weectl database add-column depth_ch1 --type=REAL -y
weectl database add-column thi_ch1 --type=REAL -y
weectl database add-column air_ch1 --type=REAL -y
weectl database add-column wh54_ch1_sig --type=REAL -y
V4.x

Code: Alles auswählen

sudo echo "y" | wee_database --add-column=ldsbatt1 --type=REAL
sudo echo "y" | wee_database --add-column=depth_ch1 --type=REAL
sudo echo "y" | wee_database --add-column=thi_ch1 --type=REAL
sudo echo "y" | wee_database --add-column=air_ch1 --type=REAL
sudo echo "y" | wee_database --add-column=wh54_ch1_sig --type=REAL

Re: Mein modifizierter Interceptor Treiber unterstützt jetzt auch den Ecowitt LDS Sensor

von rsgaf » 16 Mär 2025 16:27

Schade.
Wie stelle ich am besten vom gw1000 0.6.2kw auf den modifizierten Interceptor Treiber um, ohne mir dabei meine ganze Konfiguration zu zerschießen?

Nach oben