Code Monkey home page Code Monkey logo

wlan-wetterstation's Issues

Update Prozess

Hallo es wäre doch klasse in dem Wiki eine kurze Einleitung einzubinden, welche Dateien ich tauschen muss, um auf die neue Variante upzudaten.

Habe vor wenigen Tagen V1.2.0 bei mir installiert.
Kann ich meine Config weiter verwenden? Muss ich alle Dateien, oder nur bestimmte. Denke auch das man das DP-Skript neu reinkopieren und ausführen muss. :)

Da wäre etwas Info zu doch klasse?

Danke im Voraus!

Docker Support

Hi @SBorg2014,

vielen Dank für dein Script. Es funktioniert wunderbar mit meiner CHILITEC CTW-902.

Um dein Script in meine bestehende Docker Umgebung einzubinden, habe ich ein docker-compose file geschrieben.

Wenn du Lust hast, kannst du es gerne in die Anleitung mit aufnehmen, da es dem einen oder anderen bestimmt weiterhelfen kann.

Hier eine kurze Beschreibung:

Die 3 Dateien (wetterstation.conf, wetterstation.sh,wetterstation.sub) in einen Ordner mit dem Namen "wetterstation" im gleichen Pfad wie das "docker-compose.yml" file ablegen und entsprechend der eigenen Konfiguration bearbeiten. Dieser Ordner wird dann im Docker Compose eingebunden und unter /opt/wetterstation im Linux Container gemountet.

Zum Starten, einfach das Dockerfile im Anhang mit dem Befehl "docker-compose up" im gleichen Ordner starten.
Github erlaubt den Dateityp ".yml" nicht. Daher muss die hier hochgeladene Datei von "docker-compose.txt" in "docker-compose.yml" umbenannt werden.

Falls der Port in der "wetterstation.conf" angepasst wurde, müssen auch die Ports im "docker-compose.yml" angepasst werden.

docker-compose.txt

Viele Grüße
Daniel

Many log entries in daemon.log

Hi,

there are a lot of log entries in the daemon.log:

Dec 11 17:09:32 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 7224 received!
Dec 11 17:09:35 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:09:59 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 36302 received!
Dec 11 17:10:02 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:10:31 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 34567 received!
Dec 11 17:10:34 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:11:03 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 15790 received!
Dec 11 17:11:06 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:11:32 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 36617 received!
Dec 11 17:11:35 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:11:51 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 44360 received!
Dec 11 17:11:54 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:12:23 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 39445 received!
Dec 11 17:12:26 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:12:39 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 13641 received!
Dec 11 17:12:42 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:13:11 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 35319 received!
Dec 11 17:13:14 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:13:32 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 46116 received!
Dec 11 17:13:35 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)

Is it possible to deactivate it? I dont think that this kind of information is useful in this kind of log file

wetterstation.sh bringt syntax error

Ich habe die ELV WS980WiFi Wetterstation eingebunden. Beim Aufruf von ./wetterstation.sh --debug werden einige Daten an ioBroker gesendet, aber am Anfang des Skripts kommen Fehlermeldungen syntax error
image

Bei Abfrage des Service mit systemctl status wetterstation erscheint auch das das Skript die Melungen syntax error bringt
image

Wetterstation.sh funktioniert nach Update auf v2.0.17 nicht mehr

Hi,

nach einem eigentlich erfolgreichen Update auf v2.0.17 bekomme ich beim debug-Aufruf nur folgende Meldung in einem endlos loop:

(standard_in) 1: syntax error
./wetterstation.sh: Zeile 198: get_DATA: Kommando nicht gefunden.
./wetterstation.sh: Zeile 326: debuging: Kommando nicht gefunden.
(standard_in) 1: syntax error
./wetterstation.sh: Zeile 198: get_DATA: Kommando nicht gefunden.
./wetterstation.sh: Zeile 326: debuging: Kommando nicht gefunden.

Fehlermeldung seit JS-Controller 3.3.x

Wo muss ich im Script was ändern damit diese Meldung im LOG nicht mehr kommt?

`

simple-api.0 2021-08-09 12:13:36.088 info (18475) State value to set for "javascript.0.Wetterstation.Info.Hitzeindex" has to be type "string" but received type "number"
`

Datenpunkte 'Temperatur.xx.Min_24h'

Zuerst Danke für das tolle Dashboard. In einem Panel fehlen mir allerdings die Werte für "Statistik.Temperatur.Außen.Min_24h" und "Statistik.Temperatur.Außen.Max_24h". Die konnte ich bisher nirgends finden. Muss ich da noch etwas hinzubasteln?

Update auf V2.16.0 schlägt fehl

Hi, beim Versuch mittels ws_updater.sh von V2.15.0 auf V2.16.0 zu kommen passiert bei mir folgendes:

`

     Auswahlmenü für WLAN-Wetterstation:
    _____________________________________


     [1] im aktuellen Verzeichnis installieren

     [2] als Service einrichten

     [3] Konfigurationsdatei patchen

     [4] Update ausführen


     [E] Exit



     Ihre Auswahl: [1-4]: 4

┌────────────────────────┐
│ │
│ WS-Updater V2.16.0 │
│ │
└────────────────────────┘

'bc' installiert: [✓]
'jq' installiert: [✓]
'dc' installiert: [✓]
'unzip' installiert: [✓]
'patch' installiert: [✓]

Zugriff auf 'Rest-API' im ioBroker: [✗]
(Dies ist kein Problem, es können nur keine neuen Datenpunkte bei Bedarf automatisch angelegt werden.
Dies muss im Fall neuer Datenpunkte per 'wetterstation.js' von Hand im ioBroker erfolgen.)

Aktuelle Version (latest) auf GitHub: V2.16.0 vom 12.07.2022
Version im aktuellen Verzeichnis : V2.15.0

Informationen zum Release V2.16.0:
─────────────────────────────────────────────────────────────

Neu/Änderungen im Release:

  • Windrichtung der letzten 10 Minuten für alle Stationen (benötigt wird dafür nun noch 'dc')
  • durchschnittliche Windgeschwindigkeit der letzten 10 Minuten für alle Stationen
    ~ Bugfix gelegentlicher "jq parse"-Fehler
    ~ Bugfix Regenmenge des meteorologischen Sommers aktualisiert sich nicht

Soll ein Update von WLAN-Wetterstation durchgeführt werden? [J/N]: J

Führe Update aus...

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 34484 100 34484 0 0 66700 0 --:--:-- --:--:-- --:--:-- 66700
Archive: tmp.zip
V2.16.0
inflating: wetterstation.js
inflating: wetterstation.sh
inflating: wetterstation.sub
inflating: ws_updater.sh
./ws_updater.sh: Zeile 2: $'\r': Kommando nicht gefunden.
./ws_updater.sh: Zeile 4: $'\r': Kommando nicht gefunden.
./ws_updater.sh: Zeile 11: $'\r': Kommando nicht gefunden.

┌────────────────────────┐
│ │
WS-Upda │ V2.15.0
│ │
└────────────────────────┘

./ws_updater.sh: Zeile 17: $'\r': Kommando nicht gefunden.
./ws_updater.sh: Zeile 37: Syntaxfehler beim unerwarteten Wort $'{\r'' '/ws_updater.sh: Zeile 37: checker() {

`

Zeile 687: [: : Ganzzahliger Ausdruck erwartet - Portadresse des socket.io scheint nicht "verträglich"

Guten Abend,

ich bin durch die Installation so weit sehr gut durchgekommen und es hat alles geklappt - insbesondere Dank der hervorragenden Beschreibung. Der Test ist allerdings erfolglos.

Der Port meiner socket.io Instanz in ioBroker ist 8084 - warum-auch-immer NICHT der Standard 8087
Trage ich "8087" erscheint erwartungsgemäß "...connection refused"
Bei "8084" erscheint:

Connection to 192.168.178.121 8084 port [tcp/*] succeeded!
parse error: Invalid numeric literal at line 1, column 4
(standard_in) 1: syntax error
(standard_in) 1: syntax error
/home/iobroker/wetterstation.sub: Zeile 687: [: : Ganzzahliger Ausdruck erwartet.
parse error: Invalid numeric literal at line 1, column 4
(standard_in) 1: syntax error
(standard_in) 2: syntax error
/home/iobroker/wetterstation.sub: Zeile 339: /86400: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist "/86400").

Wie bei Issue #6 habe ich es schon mit netcat-openbsd versucht - leider ohne Erfolg.

Hast du evtl. noch eine Idee?

Communication failure not reset

Hallo.
Hatte heute Nacht eine Kommunikationsstörung auf meinem WLAN, das das Script auch korekt mit setzten von Objekt
'_Kommunikationsfehler' auf 'true' berichtete.
Leider steht dieser DP immer noch auf 'true', auch obwohl die Kommunikation wieder funktioniert und alle DP richtig gelesen bzw. zum ioBroker geschrieben werden.

Kurze Codeanalyse hat gezeigt, dass der 'DP_KOMFEHLER' nur beim Script-Start in Prozedur 'setup()' auf 'false' resetiert wird, nicht aber im laufenden Betrieb wenn der Ausfallszähler '$KOMFEHLER' wieder '0' erreicht hat.

Weiters: der Ausfallszähler zählt ja bei nicht empfangenen Daten bis in's Unendliche, bei korrektem Datenempfang wird dann dieser Zähler wieder bei jedem korrektem Datenempfang bis auf '0' zurückgezählt. Also: je länger der Ausfall, umso länger muss er auch wieder bis '0' zurückzählen...

fast vergessen: Script-Version 2.11.0

lg
Manfred

Zusatzesensor

Erstmal Vielen Dank für das Projekt, echt eine tolle Arbeit.

Habe eine DNT WeatherScreen PRO.

Die Integration der Anlage hat soweit geklappt.
Nur leider bekomme ich den Zusatzsensor für Außen nicht integriert.

Der passt zu keiner im Script genannten Type.

Sensor:

Temp & Feuchte mit DCF77
DNT000005

Hat jemand zufällig eine gute Idee?

Zeile 536: [: : Ganzzahliger Ausdruck erwartet.

Ich bekomme das Script nicht zum laufen.....die Ports scheinen zu passen, IPs auch, 2 bis 3 mal habe ich nach zig Fehlermeldungen auch die korrekten Werte übermittelt bekommen, aber in der Regel habe ich den folgenden Output 👍

root@debHubobel:[/home/carsten/Scripts]:./wetterstation.sh --debug
debhubobel [10.0.1.59] 9087 (?) open
(standard_in) 1: syntax error
(standard_in) 1: syntax error
/home/carsten/Scripts/wetterstation.sub: Zeile 536: [: : Ganzzahliger Ausdruck erwartet.
listening on [any] 8876 ...
no connection : Connection timed out

Messwerteblock:

Temperatur Innen : °C
Temperatur Aussen : °C
Taupunkt : °C
Chill-Faktor : °C
Luftfeuchte Innen : %
Luftfeuchte Aussen : %
Windgeschwindkeit : km/h
max. Windgeschwindkeit : km/h
Windrichtung : °
Windrichtung :
Luftdruck absolut : hPa
Luftdruck relativ : hPa
Regenrate : mm/h
Regenstatus :
Regen Tag : mm
Regen Woche : mm
Regen Monat : mm
Regen Jahr : mm
Sonnenstrahlung : W/m²
UV-Index :
Zeitstempel :
Firmware :

Datenstring für ioBroker:

DATA von Wetterstation:

Debug VAR:
Installationsverzeichnis: /home/carsten/Scripts
IPP: 10.0.1.59:9087 WS_PORT: 8876 WS_POLL: 35 PRE_DP: javascript.0.Wetterstation
Script-Version: V1.3.1 Config-Version: V1.3.0 Sub-Version: V1.3.0

Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

Vielen Dank für Hilfe!

openSenseMap

Hey, soweit ich das sehe funktioniert die Anlage der "senseBox" in einen vorhandenen Account nicht. Das Skript meldet das erfolgreiche einloggen und die erfolgreiche anlage, jedoch ist auf der Website die SenseBox nicht aufrufbar sodass id und token nicht kopiert werden können. Was benötigst du zum debuggen oder kannst du das selbst für dich einmal testen?

Einige Daten werden ab 19 Uhr nicht mehr aktualisiert - iobroker

Hallo,

leider werden einige Daten ab 19 Uhr im Info Channel nicht mehr aktualisiert (schon vor dem Update). Ich hoffe, es ist im Screenshot zu erkennen. Zudem ich auf die Version 1.53 von easyweather upgedated habe und es steht immer noch die 1.50 dort... restart der wetterstation.sh habe ich durchgeführt.
image

Es hat den Anschein, als ob einige Berechnungen nicht mehr durchgeführt werden. Sonnenscheindauer_Tag bleibt jeden Tag bei 40647 stehen... komisch..

Die Daten empfängt das Skript auf jeden fall...

Connection to 192.168.178.97 8087 port [tcp/*] succeeded!
Listening on [0.0.0.0] (family 2, port 1080)
Connection from ESP-E39300.fritz.box 16868 received!
[
{
"id": "javascript.0.Wetterstation.Innentemperatur",
"val": 37.5
},
{
"id": "javascript.0.Wetterstation.Aussentemperatur",
"val": 29
},
{
"id": "javascript.0.Wetterstation.Taupunkt",
"val": 10.22
},
{
"id": "javascript.0.Wetterstation.Chillfaktor",
"val": 29
},
{
"id": "javascript.0.Wetterstation.Innenfeuchtigkeit",
"val": 20
},
{
"id": "javascript.0.Wetterstation.Aussenfeuchtigkeit",
"val": 31
},
{
"id": "javascript.0.Wetterstation.Wind",
"val": 1.77
},
{
"id": "javascript.0.Wetterstation.Wind_max",
"val": 1.77
},
{
"id": "javascript.0.Wetterstation.Windrichtung",
"val": 261
},
{
"id": "javascript.0.Wetterstation.Windrichtung_Text",
"val": "W\n"
},
{
"id": "javascript.0.Wetterstation.Druck_absolut",
"val": 984.42
},
{
"id": "javascript.0.Wetterstation.Druck_relativ",
"val": 1008.94
},
{
"id": "javascript.0.Wetterstation.Regenrate",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Regen_Tag",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Regen_Woche",
"val": 2.3
},
{
"id": "javascript.0.Wetterstation.Regen_Monat",
"val": 2.3
},
{
"id": "javascript.0.Wetterstation.Regen_Jahr",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Sonnenstrahlung",
"val": 45.51
},
{
"id": "javascript.0.Wetterstation.UV_Index",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Regenstatus",
"val": "kein Regen"
},
{
"id": "javascript.0.Wetterstation.UV_Belastung",
"val": "keine"
},
{
"id": "javascript.0.Wetterstation.Zeitstempel",
"val": "06.08.2020 19:54:26"
}
]

Messwerteblock: 99.5 84.2 50.4 84.2 20 31 1.1 1.1 261 29.070 29.794 0.000 0.000 0.091 0.091 0 45.51 0 2020-08-06%2017:54:26 EasyWeatherV1.5.2

Temperatur Innen : 37.50 °C
Temperatur Aussen : 29.00 °C
Taupunkt : 10.22 °C
Chill-Faktor : 29.00 °C
Luftfeuchte Innen : 20 %
Luftfeuchte Aussen : 31 %
Windgeschwindkeit : 1.77 km/h
max. Windgeschwindkeit : 1.77 km/h
Windrichtung : 261 °
Windrichtung : W
Luftdruck absolut : 984.42 hPa
Luftdruck relativ : 1008.94 hPa
Regenrate : 0 mm/h
Regenstatus : kein Regen
Regen Tag : 0 mm
Regen Woche : 2.3 mm
Regen Monat : 2.3 mm
Regen Jahr : 0 mm
Sonnenstrahlung : 45.51 W/m²
UV-Index : 0
Zeitstempel : 06.08.2020 19:54:26
Firmware : EasyWeatherV1.5.2

Datenstring für ioBroker:
javascript.0.Wetterstation.Innentemperatur=37.50
&javascript.0.Wetterstation.Aussentemperatur=29.00
&javascript.0.Wetterstation.Taupunkt=10.22
&javascript.0.Wetterstation.Chillfaktor=29.00
&javascript.0.Wetterstation.Innenfeuchtigkeit=20
&javascript.0.Wetterstation.Aussenfeuchtigkeit=31
&javascript.0.Wetterstation.Wind=1.77
&javascript.0.Wetterstation.Wind_max=1.77
&javascript.0.Wetterstation.Windrichtung=261
&javascript.0.Wetterstation.Windrichtung_Text=W
&javascript.0.Wetterstation.Druck_absolut=984.42
&javascript.0.Wetterstation.Druck_relativ=1008.94
&javascript.0.Wetterstation.Regenrate=0
&javascript.0.Wetterstation.Regen_Tag=0
&javascript.0.Wetterstation.Regen_Woche=2.3
&javascript.0.Wetterstation.Regen_Monat=2.3
&javascript.0.Wetterstation.Regen_Jahr=0
&javascript.0.Wetterstation.Sonnenstrahlung=45.51
&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Zeitstempel=06.08.2020 19:54:26

DATA von Wetterstation:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=99.5&tempf=84.2&dewptf=50.4&windchillf=84.2&indoorhumidity=20&humidity=31&windspeedmph=1.1&windgustmph=1.1&winddir=261&absbaromin=29.070&baromin=29.794&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.091&monthlyrainin=0.091&yearlyrainin=0&solarradiation=45.51&UV=0&dateutc=2020-08-06%2017:54:26&softwaretype=EasyWeatherV1.5.2&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0

Debug VAR:
Installationsverzeichnis: /home/iobroker
IPP: 192.168.178.97:8087 WS_PORT: 1080 WS_POLL: 60 PRE_DP: javascript.0.Wetterstation
Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0

Falls ich noch was wegen der Fehlersuche tun, kann sag einfach bescheid.

Freue mich über eine Rückmeldung. ;-)

VG Tom

Grafana Dashboards

@SBorg2014: very nice Grafana dashboards.
Would you mind sharing it with us?
Especially, I'm interested in your visualisation for windspeed and direction.

Daten an Windy werden nicht übertragen?

Hi,
meine Station taucht in Windy nicht auf. Wie kann ich prüfen, ob alles korrekt verläuft?

Die Wetterstation schreibt erfolgreich in ioBroker. Bei Windy habe ich eine Station angemeldet. Aber irgendwie wird da nichts übertragen. Im ioBroker unter Objekte / javascript / 0 / Wetterstation / Info / Windy steht der Parameter auf false. In der wetterstation.sh auf true.
Stehe irgendwie gerade auf dem Schlauch.

Statistik am Monatsersten nicht vollständig

Hallo,
Auf der Suche nach dem fehlenden Vortages-Regenwert bin ich darauf gestoßen, dass jeweils am Monatsersten das Script mit 'return' abgebrochen wird, ohne die restlichen Statistiken zu rechnen. Es kommt auch im Log keine Entsprechende Meldung dass 'Auswertung durchgeführt' wäre.
Ist dies so gewollt? Ich denke nicht.....

lg
Manfred

Daten werden übertragen, aber nicht in iobroker übergeben

Hi und Danke für den Adapter! Hab das soweit jetzt zum laufen gebracht. Allerdings werden von meiner Station folgende Daten übergeben:

PASSKEY=67739703DBA3AE1C297E2E2A5082776D&stationtype=WH2650A_V1.6.3&dateutc=2021-04-07+19:43:39&tempinf=75.6&humidityin=31&baromrelin=31.379&baromabsin=28.815&tempf=32.0&humidity=92&winddir=210&windspeedmph=0.89&windgustmph=3.36&maxdailygust=13.65&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.000&yearlyrainin=0.000&totalrainin=0.000&wh65batt=0&wh25batt=0&freq=868M&model=WH2650

Diese werden aber weder in der Konsole beim debug angezeigt, noch in die Datenpunkte in iobroker übertragen. Mach ich was falsch oder.... :)

JavaScript error after Statistik-script update

Hallo,
nach einem Update von 2.6.0 auf 2.10.0 bekomme ich regelmäßig beim Durchlaufen vom Statistik-Script folgende Fehlermeldung:

2021-12-16 01:03:00.069 - debug: javascript.0 (23274) sendTo "query" to system.adapter.influxdb.0 from system.adapter.javascript.0: select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1639522800000000000 AND time <= 1639609199000000000; select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1639522800000000000 AND time <= 1639609199000000000; select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1639522872000000000 AND time <= 1639609199000000000

2021-12-16 01:03:00.073 - info: javascript.0 (23274) script.js.common.Wetterstatistik_1_0_0: Auswertung durchgeführt...

2021-12-16 01:03:00.910 - error: javascript.0 (23274) script.js.common.Wetterstatistik_1_0_0: error: TypeError: Cannot read property '0' of null

(debug vom Javascript-Adapter ist aufgedreht)

hast Du eine Idee woran dies liegen kann?

Danke,
lg
Manfred

Testergebnis Script

Hi!

Hat etwas gedauert, schaut aber gut aus soweit. Anbei die Ausgabe (leider ohne Farbe ;) )

`Listening on [0.0.0.0] (family 2, port 80)
Connection from 10.0.0.35 37735 received!
[
{
"id": "javascript.0.Wetterstation.Innentemperatur",
"val": 24.38
},
{
"id": "javascript.0.Wetterstation.Aussentemperatur",
"val": -1.5
},
{
"id": "javascript.0.Wetterstation.Taupunkt",
"val": -5.88
},
{
"id": "javascript.0.Wetterstation.Chillfaktor",
"val": -1.5
},
{
"id": "javascript.0.Wetterstation.Innenfeuchtigkeit",
"val": 38
},
{
"id": "javascript.0.Wetterstation.Aussenfeuchtigkeit",
"val": 72
},
{
"id": "javascript.0.Wetterstation.Wind",
"val": 0.32
},
{
"id": "javascript.0.Wetterstation.Wind_max",
"val": 1.77
},
{
"id": "javascript.0.Wetterstation.Windrichtung",
"val": 286
}
]

Messwerteblock: 24.38 -1.50 -5.88 -1.50 38 72 .32 1.77 286

Temperatur Innen : 24.38 °C
Temperatur Aussen : -1.50 °C
Taupunkt : -5.88 °C
Chill-Faktor : -1.50 °C
Luftfeuchte Innen : 38 %
Luftfeuchte Aussen : 72 %
Windgeschwindkeit : .32 km/h
max. Windgeschwindkeit : 1.77 km/h
Windrichtung : 286 °
Luftdruck absolut : 983.81 hPa
Luftdruck relativ : 1044.33 hPa
Regen aktuell : 0 mm
Regen Tag : 0 mm
Regen Woche : .9 mm
Regen Monat : .9 mm
Sonnenstrahlung : 0.00 W/m²
UV-Index : 0
Zeitstempel : 28.12.2019 20:14:29

Datenstring für ioBroker:
javascript.0.Wetterstation.Innentemperatur=24.38&javascript.0.Wetterstation.Aussentemperatur=-1.50&javascript.0.Wetterstation.Taupunkt=-5.88&javascript.0.Wetterstation.Chillfaktor=-1.50&javascript.0.Wetterstation.Innenfeuchtigkeit=38&javascript.0.Wetterstation.Aussenfeuchtigkeit=72&javascript.0.Wetterstation.Wind=.32&javascript.0.Wetterstation.Wind_max=1.77&javascript.0.Wetterstation.Windrichtung=286&prettyPrint

`

Problem Wetterwarnungen

Es scheint, dass der Vergleich zwischen Taupunkt und Außentemperatur falsch herum ist.
In der Funktion do_Wetterwarnung():
if [ 1 -eq "$(echo "${MESSWERTE[2]} < ${MESSWERTE[1]}" | bc -l)" ]; then
Wobei
MESSWERTE[1] = Außentemperatur
MESSWERTE[1] = Taupunkt
Dieses statement ist true, wenn der Taupunkt niedriger ist als die Außentemperatur.
Wenn ich es richtig verstanden habe, muss der Taupunkt aber über der Außentemperatur liegen, damit es Tau/Nebel oder Reif gibt.
D.h. richtig wäre dann:
if [ 1 -eq "$(echo "${MESSWERTE[1]} < ${MESSWERTE[2]}" | bc -l)" ]; then

Mir ist es deshalb aufgefallen, weil wir gerade dauerhaft Temperaturen unter 0,5°C haben, was das Kriterium für Reif ist, und bei mir dauerhaft Reif ausgegeben wird, obwohl der Taupunkt die ganze Zeit unter der Außentemperatur liegt.

jq: error (at <stdin>:7): Cannot iterate over null (null)

Hallo, mein Server meldet plötzlich folgenden Fehler "jq: error (at :7): Cannot iterate over null (null)" und es kommt keine Kommunikation zu Stande. Was kann das sein ?
Ich habe bereits auf 2.10 umgestellt
Bin etwas ratlos
Danke im Voraus

Debian 10 - Start wetterstation.sh hängt, falls netcat-traditional installiert

Hi,

danke für die tolle Software - ich habe gestern das ganze auf einer Debian 10 VM installiert, und dabei festgestellt, dass das Shell-Skript bei der Prüfung auf netcat-openbsd hängen bleibt, wenn das Paket "netcat-traditional" installiert ist (z.b. auch parallel zur openbsd-Variante). Nach Entfernen des Paketes ging es dann sofort. Das könnte vielleicht noch in die checks eingebaut werden.

LUX

Servus
Zuerst mal danke für dieses mega Projekt! Tolle Arbeit!

Würde noch LUX aus zusätzlichen Datenpunkt vorschlagen.

Zur Umrechnung aus der Sonnenenergie hab ich folgende Beschreibung in den "froggit Wetterstation" Dokumenten gefunden:

Der Standardumrechnungsfaktor, basierend auf der Wellenlänge für helles
Sonnenlicht, beträgt 126,7 Lux / w/m2. Diese Variable kann von Photovoltaikexperten
basierend auf der interessierenden Lichtwellenlänge eingestellt werden, ist aber für die
meisten Besitzer von Wetterstationen für typische Anwendungen, wie z.B. die
Berechnung der Verdampfung und der Effizienz des Solarmoduls, genau.

Ich denke diese 126,7 solltest du als config hinterlegen, sodass diese bei bedarf angepasst werden kann.

LG und guten Rutsch

Probleme bei installation in QNAP Docker

Sorry erst mal das ich hier n Issue aufmache.
Aber ich hoffe du kannst mir helfen.
Ich hab auf einer QNAP in der Containerstation n Docker mit iobroker laufen.
Ich geh nun per Putty auf die QNAP und von dort mit docker exec -i -t iobroker-1 bash in den Docker.
Per Host Share hab ich ein Verzeichnis im Docker zugänglich den ich per FileStation mit den nötigen Files (conf sh js usw) versorge.
Wenn ich nun per (sudo) ./wetterstation.sh --debug starte, bekomm ich nur:

root@iobroker:/opt/iobroker/transfer# sudo ./wetterstation.sh
/opt/iobroker/transfer/wetterstation.conf: line 4: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 7: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 10: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 13: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 16: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 19: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 23: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 26: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 29: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 32: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 35: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 40: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 42: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 56: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 58: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 59: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 60: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 67: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 70: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 73: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 76: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 79: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 82: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 83: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 84: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 87: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 90: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 93: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 96: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 100: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 104: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 105: $'\r': command not found
")syntax error: invalid arithmetic operator (error token is "
: integer expression expectedstation.sub: line 577: [: 30

  • 6 + ANZAHL_DP100 * 4 : syntax error: invalid arithmetic operator (error token * 6 + ANZAHL_DP100 * 4 ")

ist ungültig. Bitte die Einagbe in wetterstation.conf korrigieren

root@iobroker:/opt/iobroker/transfer#

Daten kommen von der Wetterstation aber an, und das Config file hab ich auch entsprechend angepasst.
Wo könnte hier der Fehler liegen? Ich muss sagen ich bin bei Linux und auch Dockern ziemlich neu, wenn auch EDV technisch sicher kein Depp :)

ACK wird nicht auf true gesetzt

Hi @SBorg2014,

vielen Dank für das Script. Es funktioniert einwandfrei.
Allerdings wird leider beim Update der Werte das ACK-Flag nicht auf true gesetzt. Dadurch funktioniert zum Beispiel der Statistics Adapter nicht.

Ich habe das jetzt momentan für die benötigten Werte über ein Javascript Script gelöst, das nach jedem Update das ACK auf true setzt. Es wäre schön, wenn es direkt mit deinem Script funktionieren würde.

Danke und viele Grüße
Daniel

Log file?

Ich habe alles erfolgreich eingerichtet und es kommt auch so ... 20 Minuten lang updates im iobroker an und nichts mehr. Wenn ich den Service dann neu starte läuft es wieder ca 20 Minuten.

Gibt es irgendwo ein LogFile in dem ich nach Fehlern suchen könnte oder wie kann ich dem auf den Grund gehen?

Mein iobroker läuft auf dem gleichen RaspberryPi wie das weatherstation.sh und ich habe es als system service eingerichtet.

Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

hoi hoi,
hab hier jetzt einiges gelesen, finde zu meinem problem leider nichts

bei mir kommt wenn ich in der konsole den befehl ./wetterstation.sh --debug eingebe manchmal
"Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?"
und ein anderes mal funktioniert es. woran könnte das liegen?

und automatisch an den broker senden tut garnicht

ich danke im vorraus

Anbindung auch über RFLink möglich?

Ich weiß es ist off-topic, aber vielleicht bist Du im Rahmen Deiner "Forschung" auch schon darüber gestolpert...

Ich würde mir gerne die Wetterstation als "Sonsor only" kaufen: https://www.conrad.de/de/p/eurochron-ec-3802394-kombi-sensor-1901197.html
Um sie dann mit diesem Projekt: http://www.rflink.nl/blog2/devlist
Über einen ESP32: https://youtu.be/oYfbEyzT-Gs

Direkt MQTT Messages senden zu lassen (die dann über IOTStack in eine Influx-DB gespeist werden und mit Grafana visualisiert werden)...

Bisher habe ich davon noch genau NICHTS umgesetzt - aber vielleicht hast Du ja auch schon überlegt ob man direkt auf der Proprietären Schnittstelle zur "Basis" lauschen könnte ... evtl würde hier auch Niederschlag schneller angezeigt, denn als Regensensor für die Markiese wollte ich die Wetterdaten auch gerne nutzen.

Gruß,
Gilbert

Problem mit openSenseMap Upload bei USE_AVG_WIND auf true

Ich glaube da sind 2 Probleme beim Upload zu openSenseMap.
Aktuell sieht das so aus:

	let ii=0
	unset OSeM_DATA
	for i in "${SENSEBOX_IDSENSOR[@]}"
	do

        #Windgeschwindigkeit aktuell oder per 10 Minuten-Durchschnitt
         if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 7 ]; then
           if [ ! -z ${WIND_AVGSPEED_10M} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGSPEED_10M}\"}"
            elif [ ! -z ${MESSWERTE[27]} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[27]}\"}"
            else
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
           fi
          else
           OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
         fi

        #Windrichtung aktuell oder per 10 Minuten-Durchschnitt
         if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 8 ]; then
           if [ ! -z ${WIND_AVGANGEL_10M} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGANGEL_10M}\"}"
            elif [ ! -z ${MESSWERTE[26]} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[26]}\"}"
            else
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
           fi
          else
           OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
         fi


         let ii++
	done

Punkt 1:
if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 7 ]; then
if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 8 ]; then
${i} ist die Sensor-ID und nicht der Schleifenzähler, d.h. es müsste ${ii} sein

Punkt2:
Jetzt wird es etwas komplizierter.
Wir haben 2 Haupt if Schleifen, eine für Windgeschwindigkeit und eine für Windrichtung.
Beide haben einen else-Zweig.
Wenn jetzt beispielsweise USE_AVG_WIND auf true steht und die Schleife beim Counter 7 landet, dann geht er zwar in den ersten if-Block und nimmt dann einen 10 min Durchschnittswert der Windgeschwindigkeit. Leider geht er dann aber auch in den else Block der 2. if Schleife, die eigentlich für die Windrichtung ist, und hängt den Wert wieder mit dem normalen Windgeschwindigkeitswert auch noch an. OSeM nimmt dann den letzten der beiden Werte.

Ich habe jetzt mal die ganze for Schleife etwas umrangiert und die sieht jetzt bei mir so aus:

        let ii=0
        unset OSeM_DATA
        for i in "${SENSEBOX_IDSENSOR[@]}"
        do

          #Windgeschwindigkeit aktuell oder per 10 Minuten-Durchschnitt
          if [ ${USE_AVG_WIND} == "true" ]; then
            if [ ${ii} == 7 ]; then
              if [ ! -z ${WIND_AVGSPEED_10M} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGSPEED_10M}\"}"
                #echo -e "OSeM Upload - use calculated 10 min average speed - ${i}: ${WIND_AVGSPEED_10M}"
              elif [ ! -z ${MESSWERTE[27]} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[27]}\"}"
                #echo -e "OSeM Upload - use 10 min average speed directly from weatherstation - ${i}: ${MESSWERTE[27]}"
              else
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
                #echo -e "OSeM Upload - use normal speed - ${i}: ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
              fi

            #Windrichtung aktuell oder per 10 Minuten-Durchschnitt
            elif [ ${ii} == 8 ]; then
              if [ ! -z ${WIND_AVGANGEL_10M} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGANGEL_10M}\"}"
                #echo -e "OSeM Upload - use calculated 10 min average direction - ${i}: ${WIND_AVGANGEL_10M}"
              elif [ ! -z ${MESSWERTE[26]} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[26]}\"}"
                #echo -e "OSeM Upload - use 10 min average direction directly from weatherstation - ${i}: ${MESSWERTE[26]}"
              else
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
                #echo -e "OSeM Upload - use normal direction - ${i}: ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
              fi
            else
               OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
               #echo -e "OSeM Upload - AVG_WIND true - ${i}: ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
            fi
          else
             OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
             #echo -e "OSeM Upload - AVG_WIND false - ${i}:  ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
          fi

          let ii++
        done

Ich habe bei mir USE_AVG_WIND in der config auf true und meine Wetterstation liefert direkt die 10 min Durschnittswerte.
Bei mir scheint es jetzt so zu gehen.
Ich habe in jedem if Statement mal echos eingebaut, aber deaktiviert.
Falls das jemand bei sich prüfen will, kann man die ganzen echos einfach wieder aktivieren und dann im syslog checken, ob er in die richtigen if Statements springt.

Bresser 7 in 1 Zusätzliche Sensoren

Für die Bresser 7 in 1
lassen sich bis zu 6 zusätzliche Sensoren (Temperatur + Luftfeuchtigkeit) installieren.
An Wunderground werden diese Daten mit übertragen.
Code Auszug:
soiltemp2f=34.8&soilmoisture2=99&soiltemp3f=45.1&soilmoisture3=60&soiltemp4f=25.8&soilmoisture4=96.
Stellt man in wetterstation.conf Zusatzsensor DP100 auf aktiv (1,2.... ,8) wird von diesen Sensoren nur die Luftfeuchtigkeit
ausgelesen. Eine Abfrage auf "soiltemp(X)" erfolgt nicht, sicher auch nicht beabsichtigt.
Meine Bitte wäre diese Zusatzsensoren der Bresser Wetterstation mit auszuwerten.

Credentials für Simple API-Adapter

Verbesserungsvorschlag:
Hinzufügen von Benutzername und Kennwort des Simple API-Adapters um auch passwortgeschütze ioBroker Installationen befüttern zu können.

Der String zum Übertragen an ioBroker müsste dann nur um &user=UsernameAusIobroker&pass=PasswordAusIobroker ergänzt werden.

Bei der Gelegenheit könnte auch http/https variabel gestaltet werden.

Statistik 'Regen Vortag'

Hallo,

Bin mir nicht sicher ob dies wirklich ein Bug ist oder ich was falsch mache.

Mein Problem:
Statistik-Sctipt Version 1.1.1
im Datenpunkt 'VorTag.Regenmenge' steht 'null', falls es am Vortag nicht geregnet hat.
Influx ignoriert dies und speichert somit leider nichts ab (also auch nicht '0,0').
Damit ist die Statistik vom Vortag nicht korrekt auszuwerten.

Ich denke, hier müsste das Statistiksript prüfen, ob die Berechnung gültig ist:
Max_Regenmenge = Math.max(...regen);
da kommt nämlich '.Infinite' raus, falls keine Datensätze für Regeneinträge vorhanden sind.

2022-06-15 01:03:00.031 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Auswertung durchgeführt...
2022-06-15 01:03:00.423 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Daten ab 14. Jun 2022 00:00:00
2022-06-15 01:03:00.424 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Daten bis 14. Jun 2022 23:59:59
2022-06-15 01:03:00.424 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Erster Messwert: 2022-06-13T22:01:03.506Z ***13.5
2022-06-15 01:03:00.424 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Letzter Messwert: 2022-06-14T21:59:58.802Z ***13.61
2022-06-15 01:03:00.425 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Anzahl Datensätze: T_1287\|W_1403\|R_0

und
setState(PRE_DP+'.VorTag.Regenmenge', Max_Regenmenge, true);
schreibt dann eben scheinbar 'null' auf den Datenpunkt.
Und Influx mach dann eben nix:

Additionally, InfluxDB do not support "null" values, so these are not written at all into the DB.

Quelle: https://github.com/ioBroker/ioBroker.influxdb

kann auch sein, das ich was falsch eingestellt habe, aber auch der Switch 'Zero- oder Nullwerte ignorieren (==0)' ändert gar nichts am Verhalten.

Danke,
lg
Manfred

Zeitstempel in UTC; fix nötig?

Da der Zeitstempel direkt von der WLAN-Station gelesen wird, ist dieser nur in UTC.
Bei Winterzeit sind wir aber UTC +1, Sommerzeit (wie und wann das auch immer mal anders wird) UTC +2
Diese Umrechnung wird vom Display vorgenommen.
Sollte der Zeitstempel also bei UTC bleiben, oder anhand des verarbeitenden Systems auf UTC +1/2 automatisch geändert werden (z.B. in der *.conf UTC=+1)

Solarenergie_Tag auf zwei Datenpunkte aufteilen

Hi,
nach fast einem Jahr zufriedener Nutzung dieses schönen Projekts habe ich mal in meine InfluxDB geschaut und die Datenpunkte pro Measurement ausgewertet. The winner was: "Solarenergie_Tag" mit etwas über 500k Datenpunkten.
Da der Wert bei jeder Messung steigt, erzeugt eigentlich jede Nachricht von der Wetterstation einen neuen Eintrag.
Dabei interessiert ja nur der letzte Wert des Tages.
Wäre es möglich, einen "neuen Datenpunkt" : SolarenergieVortrag_gesamt (oder so ähnlich) einzufügen, der einmalig/Tag, bei Deinen Mitternachtsverrechnungen mit dem Wert von Solarenergie_Tag beschrieben wird? Dann könnte man den sich ständig ändernden Datenpunkt einfach von der Aufzeichnung ausschließen und hätte trotzdem mit 365 Datenpunkten das jeweilige Tagesmaximum zum Aufzeichnen ?

Vielen lieben Dank !

ws_updater.sh problem in Version 2.11.1

Hallo und vielen lieben Dank für diese tolle Implementierung um die Wetterstationen an den IoB zu koppeln.
Allerdings habe ich seit dem Update auf V2.11.1 folgendes Problem,
wenn ich die ws_update.sh ausführe, erhalte ich folgende Ausgabe:

 ┌────────────────────────┐
 │                        │
 WS-Upda  │ V2.11.1
 │                        │
 └────────────────────────┘

ws_updater.sh: Zeile 17: $'\r': Kommando nicht gefunden.
ws_updater.sh: Zeile 18: $'\r': Kommando nicht gefunden.
ws_updater.sh: Zeile 19: $'\r': Kommando nicht gefunden.
ws_updater.sh: Zeile 20: Syntaxfehler beim unerwarteten Wort `$'{\r''
's_updater.sh: Zeile 20: `checker() {
foo

Der Fehler scheint von dem Code: ${BL} das als BL='\e[1;36m' definiert ist zu stammen, entferne ich ihn, läuft das Script wieder.
Vielleicht kannst Du das bei Gelegenheit mal anschauen.
Vielen lieben Dank !

Vorjahres-Monat Statistik geht schief

Hallo.
Heute nach bei der Statistikauswertung folgende log-Einträge:

javascript.0 2023-02-01 01:03:00.244 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Regentage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.243 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Tropennaechte" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.242 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Wuestentage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.241 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.sehr_kalte_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.240 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Eistage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.239 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.kalte_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.239 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Frost_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.238 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.heisse_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.236 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Sommertage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.236 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.warme_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.235 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Regenmenge_Monat" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.234 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Max_Regenmenge" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.233 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Max_Windboe" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.232 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Temperatur_Durchschnitt" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.230 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Hoechstwert" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.229 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Tiefstwert" has to be type "number" but received type "object"

die dazugehörigen Objekte zeigen daher nur Schrott an:
grafik
Benutzte script-Version: v1.3.0

danke
lg Manfred

Trockenperiode ist immer 0 Tage

Hallo,

alle Werte in Bezug auf Trockenperiode (egal ob Jahreswerte oder Rekordwerte) werden mit 0 Tage angezeigt.
Ich kann mit Sicherheit sagen, dass es nicht jeden Tag geregnet hat. ;-)
image

Bitte um Check bzw. Erklärung.

Danke!

lg

Konflikt mit WeeWx

Hallo,
habe die WLAN Wetterstation auf einem Raspberry Pi4 mit einer Frogitt HP1000SE-PRO_Pro_V1.7.8 auf IOBroker zum Laufen gebracht. Sieht richtig gut aus.
ABER ... auf dem gleichen Raspberry läuft WeeWX, genauer gesagt lief. Es scheint da einen Konflikt zu geben, der WeeWx hindert. Könnte es ein Konflikt mit den Ports sein? WeeWx / der Interpreter für die Froggit hat die Daten über den Port 8000 ausgelesen. Hatte ich diesen Port auch in WLAN- Wetterstation eingestellt bekam ich die Info, daß die Verbindung belegt sein. Dann habe ich den Port in WLAN Wetterstation und der Frogitt geändert und die Verbindung zum IOBroker ging.
Unabhängig davon hängt aber WeeWx im main loop. Ist das Problem bekannt?
Hier kurz der Status von WeeWX:

pi@raspberrypi:~ $ systemctl status weewx

  • weewx.service - LSB: weewx weather system
    Loaded: loaded (/etc/init.d/weewx; generated)
    Active: active (running) since Thu 2022-12-29 07:02:59 CET; 22min ago
    Docs: man:systemd-sysv-generator(8)
    Process: 454 ExecStart=/etc/init.d/weewx start (code=exited, status=0/SUCCESS)
    Tasks: 3 (limit: 4915)
    CPU: 1.249s
    CGroup: /system.slice/weewx.service
    `-680 python3 /usr/share/weewx/weewxd --daemon --pidfile=/var/run/weewx.pid /etc/weewx/weewx.conf

Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: PWSweather: Posting not enabled.
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: CWOP: Posting not enabled.
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: WOW: Posting not enabled.
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: AWEKAS: Data will be uploaded for user jernst
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.engine: 'pyephem' detected, extended almanac data is available
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO main: Starting up weewx version 4.9.1
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.manager: Starting backfill of daily summaries
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.manager: Daily summaries up to date
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.engine: Starting main packet loop.

Und hier der Statuns von Wetterstation:

pi@raspberrypi:~ $ systemctl status wetterstation

  • wetterstation.service - Service für ioBroker Wetterstation
    Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2022-12-29 07:02:55 CET; 30min ago
    Main PID: 459 (wetterstation.s)
    Tasks: 5 (limit: 4915)
    CPU: 2min 5.455s
    CGroup: /system.slice/wetterstation.service
    |- 459 /bin/bash /home/pi/wetterstation/wetterstation.sh
    |-17524 /bin/bash /home/pi/wetterstation/wetterstation.sh
    |-17525 timeout 66 nc -nlvw 1 -p 2242
    |-17526 tail -1
    `-17527 nc -nlvw 1 -p 2242

Dez 29 07:02:55 raspberrypi systemd[1]: Started Service für ioBroker Wetterstation.
Dez 29 07:02:56 raspberrypi wetterstation.sh[550]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Network is unreachable
Dez 29 07:03:41 raspberrypi wetterstation.sh[974]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Connection refused
Dez 29 07:04:11 raspberrypi wetterstation.sh[1093]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Connection refused
Dez 29 07:04:41 raspberrypi wetterstation.sh[1254]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Connection refused
Dez 29 07:05:11 raspberrypi wetterstation.sh[1319]: Connection to 192.168.222.172 8087 port [tcp/*] succeeded!

Danke
Jürgen

Daten kommen von DP1500 Pro nicht an

Hallo, ich habe doe WLAN Wetterstation soweit installiert und im IOBroker die Datenpunkte angelegt nach Anleitung - sieht alles gut aus.

Ebenso habe ich mit WS View konfiguriert.

Leider kommen aber keine Daten an

Connection to 192.168.1.201 8087 port [tcp/*] succeeded!

Warte maximal 66 Sekunden auf Datenpaket der Wetterstation...

Listening on [0.0.0.0] (family 2, port 1080)

Da kommt nichts.
Wo könnte ich noch suchen?

Trennung von "Poll_Intervall" und "IoBroker Update Intervall"

Bei mir scheint das "Poll Intervall" (bei einer Sainlogic WS3500) irgendwie nicht so recht zu funktionieren: Obwohl sowohl in der wetterstation.conf ein WS_POLL-Intervall von 120 Sekunden hinterlegt ist und ich auch die Wetterstation mit dem "Custom Service" analog konfiguriert habe, bekomme ich im IoBroker öfters Updates im Abstand von weniger als 30 sec.

In Summe würden mir für die meisten Werte eigentlich Update-Intervalle (im IoBroker, wo ich diese Werte auch logge) von ca. 5 Minuten reichen. Allerdings möchte ich natürlich die Maximal/Minimal-Messwerte möglichst genau haben, was für kurze Update-Zyklen spricht.

Daher die Frage ob Du eine Chance für folgenden Feature-Request siehst:

  • Das Poll-Intervall so belassen wie es ist, wo man dann natürlich möglichst "kleine" Werte verwenden würde
  • Einführung eines zusätzlichen Parameters: IoB Update Intervall

Für die meisten "IST"-Werte, würde einfach bei Eintreffen eines Telegramms geprüft ob das IoB Update Intervall bereits erreicht wurde und wenn ja, erfolgt nur dann ein Update der Messwerte.

Für die "Min/Max" Werte, wäre ein "caching" innerhalb dieses Zeitfensters sehr cool, d.h. dass z.B. Windgeschwindigkeit maximal bei jedem erhaltenen Telegramm 'lokal' aktualisiert wird, wenn der gemeldete Wert höher ist, als der bereits bekannte, wird er erhöht. Und bei Erreichen des "IoB_Update-Intervalls" würde dann der höchste in dem Zeitfenster gemeldete Wert übermittelt.

Die Einführung könnte man auch für die meisten user "minimalinvasiv" machen: Wenn kein "IoB Update Interval" festgelegt ist, wird dafür das WS_POLL intervall genutzt - dann ändert sich eigentlich nichts, außer dass bei den Benutzern ggf. durch das Caching auch die "Max" Werte genauer werden.

Unplausible Werte aus Wetterstation

Hallo,

zunächst einmal Vielen Dank für die Spitzenanleitung und die "WLAN-Wetterstation". Die Installation hat super geklappt und ich bekomme endlich alle Werte aus meiner Wetterstation (Renkforce WH2600). Womit ich aktuell noch ein wenig kämpfe ist das OpenSense-Skript. Das Anlegen der Werte/Sensoren etc. funktioniert soweit. Nur die Einbindung des Skriptes erzeugt bei mir aktuell noch ein paar Fragezeichen. Das Problem hier liegt vermutlich zwischen den Ohren ;). Aber nochmal: Auf genau diese "WLAN-Wetterstation" habe ich gewartet und bin darüber höchst erfreut.

Nun zu meinem eigentlichen Problem, weswegen ich hier poste:
Die WLAN-Wetterstation läugt nun seit mehreren Tagen, so dass ich inzwischen ganz passable Verläufe angezeigt bekomme. Was mir allerdings aufgefallen ist, dass zu manchen Zeiten die Werte ins Bodenlose fallen. Durch die automatische Skalierung werden dadurch die "normalen" Verläufe nicht mehr wirklich erkennbar. Ich habe versucht durch das Setzen eines "Min-values" im Objekt einen Wert <0 zu verhindern, doch aus irgendeinem Grund funktioniert das nicht.
grafik

Nun könnte ich zwar die Skalen der Diagramme manuell bei 0 begrenzen, doch eine Auswertung eines Min/Max/Mittelwertes der Werte über einen bestimmten Zeitraum liefert aufgrund der Extremwerte falsche Werte.

Woran könnte das liegen? Die Wetterstation hat einen Innen- einen Außensensor. Beide sind über Funk mit der Basisstation verbunden. Die Extremwerte treten aber nur bei Werten der Außenstation auf (s. Screenshot unten). Kann das an der Verbindung des Außensensors liegen, d.h. keine Verbindung = Extremwert? Wie ließe sich solch ein Extremwert verhindern?

Über eine Einschätzung oder Anregung deiner-/eurerseits wäre ich dankbar.

Gruß, Fabian

grafik

GW 2000 Datenpunkte unvollständig

Hi!

Ich nutze eine GW200 mit einem WS90. Die Datenpunkte für Regen unter WS90 werden befüllt. Die unter Wetterstation nicht. Zwei Beispiele:
javascript.0.Wetterstation.WS90.1.jaehrliche_Regenmenge wird befüllt. javascript.0.Wetterstation.Regen_Jahr dagegen nicht.

Abgeholt werden die Informationen:

Connection to 192.168.178.106 8087 port [tcp/*] succeeded!

/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
[
{
"id": "javascript.0.Wetterstation.Innentemperatur",
"val": 17.8
},
{
"id": "javascript.0.Wetterstation.Aussentemperatur",
"val": 8
},
{
"id": "javascript.0.Wetterstation.Taupunkt",
"val": 4.77
},
{
"id": "javascript.0.Wetterstation.Gefuehlte_Temperatur",
"val": 8
},
{
"id": "javascript.0.Wetterstation.Innenfeuchtigkeit",
"val": 50
},
{
"id": "javascript.0.Wetterstation.Aussenfeuchtigkeit",
"val": 80
},
{
"id": "javascript.0.Wetterstation.Wind",
"val": 4.31
},
{
"id": "javascript.0.Wetterstation.Wind_max",
"val": 7.91
},
{
"id": "javascript.0.Wetterstation.Windrichtung",
"val": 125
},
{
"id": "javascript.0.Wetterstation.Druck_absolut",
"val": 990.58
},
{
"id": "javascript.0.Wetterstation.Druck_relativ",
"val": 990.58
},
{
"id": "javascript.0.Wetterstation.Sonnenstrahlung",
"val": 0
},
{
"id": "javascript.0.Wetterstation.UV_Index",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Zeitstempel",
"val": "13.01.2023 07:12:43"
},
{
"id": "javascript.0.Wetterstation.Info.FW_Version",
"val": "GW2000A_V2.2.0"
},
{
"id": "javascript.0.Wetterstation.Windboeen_max",
"val": 16.91
},
{
"id": "javascript.0.Wetterstation.Info.Wetterstation_Gateway",
"val": "GW2000A"
},
{
"id": "javascript.0.Wetterstation.WS90.1.aktuelle_Regenrate",
"val": 0
},
{
"id": "javascript.0.Wetterstation.WS90.1.aktuelle_Regenmenge",
"val": 16.103
},
{
"id": "javascript.0.Wetterstation.WS90.1.stuendliche_Regenmenge",
"val": 0
},
{
"id": "javascript.0.Wetterstation.WS90.1.taegliche_Regenmenge",
"val": 0.609
},
{
"id": "javascript.0.Wetterstation.WS90.1.woechentliche_Regenmenge",
"val": 17.805
},
{
"id": "javascript.0.Wetterstation.WS90.1.monatliche_Regenmenge",
"val": 19.71
},
{
"id": "javascript.0.Wetterstation.WS90.1.jaehrliche_Regenmenge",
"val": 19.71
},
{
"id": "javascript.0.Wetterstation.WS90.1.Spannung_GoldCap",
"val": 2.4
},
{
"id": "javascript.0.Wetterstation.WS90.1.Firmwareversion",
"val": 126
},
{
"id": "javascript.0.Wetterstation.WS90.1.Batterie",
"val": 3.06
},
{
"id": "javascript.0.Wetterstation.Regenstatus",
"val": ""
},
{
"id": "javascript.0.Wetterstation.UV_Belastung",
"val": "keine"
},
{
"id": "javascript.0.Wetterstation.Windrichtung_Text",
"val": "SO"
},
{
"id": "javascript.0.Wetterstation.Info.Hitzeindex",
"val": ""
}
]

Messwerteblock: 17.80 8.00 4.77 8.00 50 80 4.31 7.91 125 990.58 990.58 0.00 0 13.01.2023%2007:12:43 GW2000A_V2.2.0 16.91 GW2000A rrain_piezo 0 erain_piezo 16.103 hrain_piezo 0 drain_piezo .609 wrain_piezo 17.805 mrain_piezo 19.710 yrain_piezo 19.710 ws90cap_volt 2.4 ws90_ver 126 wh90batt 3.06

Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)!

Temperatur Innen : 17.80 °C
Temperatur Aussen : 8.00 °C
Taupunkt : 4.77 °C
Gefühlte Temperatur : 8.00 °C
Luftfeuchte Innen : 50 %
Luftfeuchte Aussen : 80 %
Windgeschwindigkeit : 4.31 km/h
Windgeschwindigkeit 10min : km/h
Windböengeschwindigkeit : 7.91 km/h
max. Windböe : 16.91 km/h
Windrichtung : 125 °
Windrichtung : SO
Windrichtung 10min : °
Luftdruck absolut : 990.58 hPa
Luftdruck relativ : 990.58 hPa
Regenrate : mm/h
Regenstatus :
Regen seit Regenbeginn : mm
Regen Stunde : mm
Regen Tag : mm
Regen Woche : mm
Regen Monat : mm
Regen Jahr : mm
Regen Gesamt : mm
Sonnenstrahlung : 0.00 W/m²
UV-Index : 0
Zeitstempel : 13.01.2023 07:12:43
Firmware : GW2000A_V2.2.0
Batteriestand: :
Gateway-Modell : GW2000A

Zusatzsensoren:

rrain_piezo : 0
erain_piezo : 16.103
hrain_piezo : 0
drain_piezo : .609
wrain_piezo : 17.805
mrain_piezo : 19.710
yrain_piezo : 19.710
ws90cap_volt : 2.4
ws90_ver : 126
wh90batt : 3.06

Datenstring für ioBroker:
javascript.0.Wetterstation.Innentemperatur=17.80&javascript.0.Wetterstation.Aussentemperatur=8.00&javascript.0.Wetterstation.Taupunkt=4.77&javascript.0.Wetterstation.Gefuehlte_Temperatur=8.00&javascript.0.Wetterstation.Innenfeuchtigkeit=50&javascript.0.Wetterstation.Aussenfeuchtigkeit=80&javascript.0.Wetterstation.Wind=4.31&javascript.0.Wetterstation.Wind_max=7.91&javascript.0.Wetterstation.Windrichtung=125&javascript.0.Wetterstation.Druck_absolut=990.58&javascript.0.Wetterstation.Druck_relativ=990.58&javascript.0.Wetterstation.Sonnenstrahlung=0.00&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Zeitstempel=13.01.2023%2007:12:43&javascript.0.Wetterstation.Info.FW_Version=GW2000A_V2.2.0&javascript.0.Wetterstation.Windboeen_max=16.91&javascript.0.Wetterstation.Info.Wetterstation_Gateway=GW2000A&javascript.0.Wetterstation.WS90.1.aktuelle_Regenrate=0&javascript.0.Wetterstation.WS90.1.aktuelle_Regenmenge=16.103&javascript.0.Wetterstation.WS90.1.stuendliche_Regenmenge=0&javascript.0.Wetterstation.WS90.1.taegliche_Regenmenge=.609&javascript.0.Wetterstation.WS90.1.woechentliche_Regenmenge=17.805&javascript.0.Wetterstation.WS90.1.monatliche_Regenmenge=19.710&javascript.0.Wetterstation.WS90.1.jaehrliche_Regenmenge=19.710&javascript.0.Wetterstation.WS90.1.Spannung_GoldCap=2.4&javascript.0.Wetterstation.WS90.1.Firmwareversion=126&javascript.0.Wetterstation.WS90.1.Batterie=3.06&javascript.0.Wetterstation.Regenstatus=&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Windrichtung_Text=SO&javascript.0.Wetterstation.Info.Hitzeindex=

DATA von Wetterstation:
PASSKEY=xxxxxx&stationtype=GW2000A_V2.2.0&runtime=753417&dateutc=2023-01-13+06:12:43&tempinf=64.04&humidityin=50&baromrelin=29.252&baromabsin=29.252&tempf=46.40&humidity=80&winddir=125&windspeedmph=2.68&windgustmph=4.92&maxdailygust=10.51&solarradiation=0.00&uv=0&rrain_piezo=0.000&erain_piezo=0.634&hrain_piezo=0.000&drain_piezo=0.024&wrain_piezo=0.701&mrain_piezo=0.776&yrain_piezo=0.776&ws90cap_volt=2.4&ws90_ver=126&wh90batt=3.06&freq=868M&model=GW2000A

Debug VAR:
Installationsverzeichnis: /home/wetter/wetterstation
IPP: 192.168.178.106:8087 WS_PORT: 1080 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation
WEB: HTTP WS_PROT: Ecowitt

Zusatzsensoren:
DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
WH31: 0 || WS90: 1

Script-Version: V2.20.0 Config-Version: V2.20.0 Sub-Version: V2.20.0

Wenn ich noch mehr Infos liefern kann, gerne.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.