Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

Für allgemeine Software
Benutzeravatar
Gyvate
Offline
Beiträge: 2526
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#11

Beitrag von Gyvate »

bitte nicht mißverstehen:
ich erwarte ein gewissenes Maß an zielgerichteter Eigeninitiative hier.
Ich habe keine Lust, meine Zeit damit zu verbringen, Dir eine Lösung hier zu bauen, die Du dann nur noch an die entsprechenden Stellen kopierst - und Du hast weiterhin keine Ahnung, was Du und warum Du was getan hast.
Diesen Eindruck habe ich beim Lesen Deiner Fragen und Antworten gewonnen.
Dann kommst Du nämlich beim nächsten Sensorwert, der Dir nicht angezeigt wird, weil Du Dir einen neuen Sensor zugelegt hast, wieder an ...
Ich mag einfach diese Copy-and-Paste Mentalität nicht, die ich hier zu sehen glaube (kann mich allerdings auch täuschen).
Die von mir geschriebene weewx Doku in Deutsch hier im Forum gibt m.E., zusammen mit der Original-Doku, genügend Hinweise. Und, bei Gelegenheit, wenn ich die Zeit dazu habe, werde ich noch eine Architektur-Übersicht von weewx im WiKi ergänzen.

Du solltest schon grob verstehen, wie weewx funktioniert, welche Funktion die Konfigurationsdateien haben und welchen Sinn die entsprechenden Sektionen (Stanzas, das was in [ ...] steht) haben.

Weewx ist ein hochkomplexes Computerprogramm, aber eigentlich recht sauber strukturiert und ziemlich gut auch mit Beispielen dokumentiert - so man die Dokumentation auch liest.

Wenn hier jemand anders im Forum Lust, Laune und Muße hat, Dir alles fertig zu liefern, steht es denjenigen natürlich frei.
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
Benutzeravatar
Werner
Offline
Beiträge: 121
Registriert: 07 Dez 2020, 18:23
Wohnort: Lackenhäuser
Danksagung erhalten: 33 mal
Kontaktdaten:

Re: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#12

Beitrag von Werner »

Wenn hier jemand anders im Forum Lust, Laune und Muße hat, Dir alles fertig zu liefern, steht es denjenigen natürlich frei.
Die Lösung gibt es bereits:

https://www.pc-wetterstation.de/forum/v ... 26&t=10333
oder allgemein Weewx
https://www.pc-wetterstation.de/forum/v ... m.php?f=26

oder das Ganze auf Github:
https://github.com/WernerKr/Ecowitt-or- ... eason-skin
martin6546724554
Offline
Beiträge: 8
Registriert: 08 Jan 2024, 11:54
Hat sich bedankt: 3 mal

OT: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#13

Beitrag von martin6546724554 »

Gyvate hat geschrieben: 12 Jan 2024, 09:44 bitte nicht mißverstehen:
Ist OK. Du hast mir bereits weitergeholfen und daher möchte ich mal meine Sicht beschreiben.
Gyvate hat geschrieben: 12 Jan 2024, 09:44 ich erwarte ein gewissenes Maß an zielgerichteter Eigeninitiative hier.[
Ich habe es zuvor nicht erwähnt, um die Beiträge überschaubar zu halten, aber:
- Ich habe vor ca. einem Jahr beschlossen, mir eine Wetterstation anzuschaffen. Dann habe ich recherchiert, was es für Möglichkeiten gibt und mich für eine Lösung entschieden, die ich in meinem Heimnetzwerk per Internetbrowser an beliebigen Endgeräten darstellen kann.
- Ich habe recherchiert, welche Lösungen es gibt und mich für weewx auf dem Raspberry Pi entschieden.
- Ich habe einen Raspberry angeschafft und mich nebenbei eingelesen, wie ich den RP einrichte. Habe jetzt 2 RP zufriedenstellend im Einsatz für unterschiedliche Zwecke. Einer läuft 24/24 nur für die Wetterstation.
- Habe mich nebenbei eingelesen, wie ich weewx und einen Webserver auf dem RP installiere und einrichte. Läuft bis auf die hier besprochenen Kleinigkeiten.
- Habe das System nachträglich noch um ein paar Temperatursensoren erweitert. Da sie nicht angezeigt wurden, habe ich die weewx Doku weiter durchforscht und die passenden Einträge in den Konfigurationsdateien eingefügt. Läuft.
Gyvate hat geschrieben: 12 Jan 2024, 09:44 Ich habe keine Lust, meine Zeit damit zu verbringen, Dir eine Lösung hier zu bauen, die Du dann nur noch an die entsprechenden Stellen kopierst - und Du hast weiterhin keine Ahnung, was Du und warum Du was getan hast.
[..]
Ich mag einfach diese Copy-and-Paste Mentalität nicht, die ich hier zu sehen glaube (kann mich allerdings auch täuschen).
Ich habe jetzt über mehrere Monate immer wieder versucht, die Batteriewerte hinzubekommen. Hat halt leider nicht funktioniert. Denn:
- die weewx-Dokus sind nicht unbedingt in Umgangssprache verfasst und für Laien verständlich.
- bin kein Programmierer
- bin keine Informatiker
- habe keinerlei Ahnung von Python
- habe nur rudimentäre Programmierkenntnisse aus längst vergangenen Schultagen
- habe noch ein paar andere Verpflichtungen und mache das nur zum Spaß und nebenbei
martin6546724554
Offline
Beiträge: 8
Registriert: 08 Jan 2024, 11:54
Hat sich bedankt: 3 mal

Re: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#14

Beitrag von martin6546724554 »

Gyvate hat geschrieben: 12 Jan 2024, 09:44 Die von mir geschriebene weewx Doku in Deutsch hier im Forum gibt m.E., zusammen mit der Original-Doku, genügend Hinweise. Und, bei Gelegenheit, wenn ich die Zeit dazu habe, werde ich noch eine Architektur-Übersicht von weewx im WiKi ergänzen.
Habe diese Informationen bisher mittels der allgemein bekannten Suchmaschinen nicht gefunden.
Gyvate hat geschrieben: 12 Jan 2024, 09:44 Du solltest schon grob verstehen, wie weewx funktioniert, welche Funktion die Konfigurationsdateien haben und welchen Sinn die entsprechenden Sektionen (Stanzas, das was in [ ...] steht) haben.
Ich hätte jetzt behauptet, dass ich es grob verstehe. Einschränkungen s.o.

Aus meiner Sicht und mit den bisher gesammelten Erfahrungen würde ich sagen, dass das Thema der Batteriewerte deutlich über das Niveau "grob" hinausgeht.
Gyvate hat geschrieben: 12 Jan 2024, 09:44 Weewx ist ein hochkomplexes Computerprogramm, aber eigentlich recht sauber strukturiert und ziemlich gut auch mit Beispielen dokumentiert - so man die Dokumentation auch liest.
Hochkomplex ja.
Passende Beispiele habe ich halt nicht gefunden, die mich in die Lage versetzt hätten, das hinzubekommen.

Deshalb habe ich hier geschrieben. Und tatsächlich in der Hoffnung, eine Copy-Paste-Lösung zu bekommen. Denn:
- Manchmal sieht man den Wald vor lauter Bäumen nicht. Dann kann eine funktionierende Lösung von einem Wissenden die Augen öffnen.
- Man kann aus fremden Lösungen auch etwas lernen, wenn man sie übernimmt und hinterfragt. (Man munkelt ja, dass es sogar ein Land gibt, dass diese Methode systematisch mit einigem Erfolg anwendet ;-) ).

Immerhin habe ich jetzt dazugelernt, dass es eine erweiterte Version des interceptor gibt. Werde mich in den untenstehenden Links bei Gelegenheit mal weiter einlesen.
Benutzeravatar
Gyvate
Offline
Beiträge: 2526
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#15

Beitrag von Gyvate »

Der Treiber ist eine Sache: er stellt die Daten bereit. In der erweiterten Version des Interceptor-Treibers von Werner, die ich bereits in meiner ersten Antwort (Post #2) angeführt habe, werden auch alle z.Zt. von Ecowitt-Konsolen via Custom Server Funktion versendeten Daten erfasst und mit seiner erweiterten extensions.py alle passenden Einheiten zur Darstellung bereitgestellt.

Jetzt muss man die Skins von weewx (hier Beispiel Seasons-Skin) verstehen:
alle 5 Minuten (oder je nach geänderter Einstellung in weewx.conf) werden die vom Treiber bereitgestellten Daten in der weewx Datenbank abgespeichert, sofern es für die Variable (weewx Begriff observation) ein Datenfeld in der Datenbank gibt. Alle neueren weewx Installationen benutzen das wview_extended Datenbankschema, das auf einer Davis VP Wetterstation basiert. Wie bereits erwähnt findet sich das Schema in /usr/share/weewx/schemas.

Jetzt wiederhole ich unser WiKi, welches sich übrigens auch mit Google finden lässt (wiki/doku.php?id=wiki:software:weewx)-
Einfacher ist es, in der Kopfzeile jeder Forum-Webseite auf "WiKi" zu klicken.

weewx führt intern zwei Tabellen, eine sogenannte Loop-Tabelle und eine Archiv-Tabelle. Während des Archivintervalls werden die auflaufenden Daten in der Loop-Tabelle gemäss der Akkumulatordefinition für die jeweilige Beobachtung (Variable) gespeichert (min, max, avg, sum, ...). Wenn das Intervall vorbei ist, überträgt weewx den Inhalt der Loop Tabelle in die Archivtabelle - allerdings nur die Felder, die eine Entsprechung in der Archiv-Tabelle haben (die ja ein Abbild des Datenbankschemas ist). Alles, was in der Loop-Tabelle steht und für das es keine Entsprechung gibt, wird nicht übertragen und auch nicht abgespeichert. Trotzdem sind zum Zeitpunkt der nach dem Abspeichern erfolgenden Reporterstellung alle diese (Loop-)Werte noch vorhanden und können mit dem Präfix $current angesprochen und im Report dargestellt werden.Direkt nach dem Abspeichern laufen der Report- und Imagegenerator an und erzeugen gemäß Definition in skin.conf die Grafiken aus dem aktuell abgespeicherten Datensatz.

In der weewx-Skin werden noch zusätzlich zwei weitere Tabellen angezeigt:
die aktuellen Werte und die min/max Werte des Tages (der Woche, des Monats, des Jahres)
Die min/max Werte werden aus der Datenbank gelesen, die aktuellen Werte aus der Loop-Tabelle.
Daher kannst Du beispielsweise die Batteriewerte anzeigen, selbst wenn es dafür kein Feld in der Datenbank gibt, bzw. kein anderes, nicht-benutztes Feld zum Abspreichern verwendet wurde (Repurpose, Umwidmung).
Wenn Du eine Grafik sehen willst, kommst Du um die Benutzung eines Datenbankfeldes nicht herum.
State-of-the-Art ist die Anlage eines neuen zusätzlichen Datenbankfeldes = Erweiterung des Datenbankschemas.

Umwidmung eines vorhanden nicht-genutzten Feldes ist die Schnellvariante, für die Du nur die Loopvariable dem anderen Datenfeld zuweisen musst. Dies geschieht in der Sektion (Stanza) [StdCalibrate] [[Corrections]] von weewx.conf (oder in einer [field_map_extension] wo dann die Zuweisung
umzuwidmendes-Datenfeld = meine-Loopvariable
einzutragen ist; also z.B.
soilTemp1 = soilMoist5
(wenn fürs Abspeichern eines 5. Bodenfeuchtigkeitssensors das nicht benutzte Feld SoilTemp1 (Bodentemperatur1) benutzt werden soll).

Wenn ein neues Datenbankfeld mit gleichem Namen verwendet werden soll, muss die Zuweisung in eine [field_map_extension] eingetragen werden. (steht übrigens alles am Beispiel einer Elektrizitätsgröße in der weewx Doku).

Jetzt kommt es darauf an, welche weewx Version Du einsetzt - noch eine ältere 4.3 bis 4.5 Version und deren Konfigurationsdateien oder neuere Konfigurationsdateien (skin.conf und index.html.tmpl).
In der skin.conf wird angegeben, welche Grafiken für welche Zeiträume erstellt werden.
Für die neueren skin.conf gibt es, analog zu den anzuzeigenden Sensorwertverläufen auch eine eigene "Abteilung" für die Signale und Batterien. Es gibt nämlich im wview_extended Datenbankschema bereits 8 Signal und 8 Batteriefelder (signal1 - signal8 und batteryStatus1 - batteryStatus8) - sieht man auch, wenn man sich eine skin.conf > Version 4.9.0 anschaut
--> Stanza [DisplayOptions]
Eintrag: sensor_batteries = ....
Du musst also nur die Batteriestatus des Interceptortreibers, die Du haben willst, jeweils einem der batteryStatus Felder zuweisen (entweder in [StdCorrections] s.o. oder in einer [field_map_extension] - beides in weewx.conf).
z.B.
batteryStatus1 = w68bat
batteryStatus2 = wh40bat
Sobald jetzt der Reportgenerator abgespeicherte Werte in der Datenbank findet, wird er dazu eine Grafik erstellen.
Das wird am Anfang nur ein Punkt sein und danach ein länger werdender Strich.

Wenn Du einen "schönen Namen" angezeigt bekommen willst und nicht einfach nur batteryStatus1 und batteryStatus2, musst Du in der weewx.conf unter [StdReport] [[Defaults]] [[[Labels]]] diese Umbenennung hinzufügen - die dort vorhandenen Beispiele sind selbsterklärend. z.B. batteryStatus1 = WS68 Batterie etc.

Eine Änderung in weewx.conf wird erst nach einem Neustart von weewx aktiv. Änderungen in skin.conf und index.html.tmpl und Include-Dateien bereits beim nächsten Reportingzyklus ohne Neustart.

Dann sage ich mal FF und FÄ.
Zuletzt geändert von Gyvate am 13 Jan 2024, 02:26, insgesamt 5-mal geändert.
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
Benutzeravatar
Gyvate
Offline
Beiträge: 2526
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 381 mal
Kontaktdaten:

Re: OT: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#16

Beitrag von Gyvate »

martin6546724554 hat geschrieben: 12 Jan 2024, 18:55 - habe noch ein paar andere Verpflichtungen und mache das nur zum Spaß und nebenbei
meinst Du denn, den (wahrscheinlich meisten wenn nicht allen) anderen Forumsmitgliedern ginge es anders ... ?
Meines Wissens haben wir hier keine hauptberuftlichen Mitarbeiter, wenngleich engagierte Hobbyisten.
Wir "opfern" hier +/- alle unsere Freizeit....
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
martin6546724554
Offline
Beiträge: 8
Registriert: 08 Jan 2024, 11:54
Hat sich bedankt: 3 mal

Re: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#17

Beitrag von martin6546724554 »

Gyvate hat geschrieben: 13 Jan 2024, 01:56 Der Treiber ist eine Sache: er stellt die Daten bereit. In der erweiterten Version des Interceptor-Treibers von Werner, die ich bereits in meiner ersten Antwort (Post #2) angeführt habe,
[...]
Dann sage ich mal FF und FÄ.
Vielen Dank für die ausführliche Erklärung. 90% hatte ich schon mal gelesen, aber einige Zusammenhänge waren mir bisher trotzdem nicht klar. Ich werde berichten, wie es klappt.
martin6546724554
Offline
Beiträge: 8
Registriert: 08 Jan 2024, 11:54
Hat sich bedankt: 3 mal

Re: OT: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#18

Beitrag von martin6546724554 »

Gyvate hat geschrieben: 13 Jan 2024, 02:10
martin6546724554 hat geschrieben: 12 Jan 2024, 18:55 - habe noch ein paar andere Verpflichtungen und mache das nur zum Spaß und nebenbei
meinst Du denn, den (wahrscheinlich meisten wenn nicht allen) anderen Forumsmitgliedern ginge es anders ... ?
Meines Wissens haben wir hier keine hauptberuftlichen Mitarbeiter, wenngleich engagierte Hobbyisten.
Wir "opfern" hier +/- alle unsere Freizeit....
Nein, das war nicht als Aussage über andere Personen gemeint.
Ich wollte nur zum Ausdruck bringen, dass ich aufgrund begrenzter freier Zeit und der der Komplexität der Materie nicht mehr weitergekommen bin. Ich bin auf der Stelle getreten und hätte entweder viel mehr Zeit investieren müssen (mit unsicherern Erfolgsaussichten) oder über Nacht eine Erleuchtung haben müssen (auch eher unwahrscheinlcih). Inzwischen hatte der Spaß an der Sache mangels Erfolgserlebnis auch gelitten.
Deshalb habe ich gedacht, bevor ich es aufgebe, könnte ich hier im Forum einen externen Input bekommen.
kitzeckwetter
Offline
Beiträge: 7
Registriert: 16 Okt 2023, 18:23
Hat sich bedankt: 4 mal

Re: Eccowitt WS68 und WH40 Batteriestand mit weewx anzeigen

#19

Beitrag von kitzeckwetter »

Dann biete doch Geld wenn Du keine Lust hast dich damit zu beschäftigen. Vielleicht findet sich dann jemand der Dir aus dem Dilemma hilft, es ist nun mal so Open Source bedeutet nicht kostenloser Support. Und gerade was Weewx betrifft, das ist ein tolles Stück Software für lau und wenn sich dann User bereit erklären und auch noch eine Doku auf Deutsch schreiben dann gibt es 2 Möglichkeiten, entweder man setzt sich auf den Hintern und lernt.... oder man zahlt und hofft das sich jemand findet der gegen Bezahlung Support liefert. Bevor hier jemand auf Ideen kommt, ich nicht.
Davis VP2, Ecowitt GW2001, Ecowitt HP2550, WeeWx, Meteotemplate
Antworten