NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@gerald123 Das wird dann schwierig. "bc" gibt es dann nicht für die Synology/Distri. Ohne geht es aber nicht, denn damit wird die Umrechnung der Maßeinheiten auf das metrische System durchgeführt. Versuche mal im Terminal "gcc" ob da was passiert. Wenn das funktioniert, oder es sich nachinstallieren lässt, könntest du aus den Quellen von "bc" mit einem Befehl dir bc für die Synology selbst "bauen". https://www.gnu.org/software/bc/ und http://www.c-howto.de/tutorial/einfuehrung/compiler/linux/
-
@SBorg Danke für den Vorschlag werde ich am Abend mal Testen.
Kann ich nicht die Umrechnung erst im IoBroker machen und dadurch den bc Befehl weglassen? -
@SBorg
Kleine Anmerkung noch. Ich glaub, dass UV-Index und Sonnenstrahlung vertauscht sind.Ich hätte im Moment einen UV-Index von 204.66 (ab 11 wäre ja schon extrem) und eine Strahlung von 0.531 W/m². Wobei mir der Wert auch zu niedrig vorkommt. Auf der Anzeige der Wetterstation steht bei mir ein Wert für den UV-Index von 2.
Edit: Der UV-Index ist bei mir wohl der Wert für den Zeitstempel. Zumindest steht bei mir an Position 18 die 2.
-
@unltdnetworx sagte in [Linux Shell-Skript] WLAN-Wetterstation:
UV-Index von 204.66 (ab 11 wäre ja schon extrem) und eine Strahlung von 0.531 W/m²
Bei meiner Wetterstation ist der UV-Index = Strahlung dividiert durch 100 ganzzahlig abgerundet. Möglicherweise ist bei deiner Station die Übertragung der Daten in der Reihenfolge anders (was mich zwar ein wenig wundert)?
-
Messwerteblock: 73.9 45.5 41.5 45.5 34 86 0.0 0.0 127 28.406 29.918 0.000 0.059 0.059 0.531 0.531 204.66 2 Temperatur Innen : 23.27 °C Temperatur Aussen : 7.50 °C Taupunkt : 5.27 °C Chill-Faktor : 7.50 °C Luftfeuchte Innen : 34 % Luftfeuchte Aussen : 86 % Windgeschwindkeit : 0 km/h max. Windgeschwindkeit : 0 km/h Windrichtung : 127 ° Luftdruck absolut : 961.94 hPa Luftdruck relativ : 1013.14 hPa Regen aktuell : 0 mm Regen Tag : 1.4 mm Regen Woche : 1.4 mm Regen Monat : 13.4 mm Sonnenstrahlung : 0.531 W/m² UV-Index : 204.66 Zeitstempel : 27.01.2020 03:00:00
Edit: Ich glaube, dass der letzte Wert mit 0.531 "Regen Jahr" wäre und dann alles einen Wert nach unten rutscht und somit kein Timestamp gemeldet wird. Oder es noch weitere Werte geben würde.
-
@unltdnetworx
kann es sein, dass du einen zusätzlichen Regenwert bekommst? Die 0.531 entsprechen der Gesamtregenmenge. Vielleicht solltest du den Befehl aus dem Script alleinstehend ausführen nc -lv -p WS_PORT , mit WS_PORT als dein angegebener Port, und die Antwort posten. Die erhaltenen Daten sind mit "&" getrennt. -
@Latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Vielleicht solltest du den Befehl aus dem Script alleinstehend ausführen nc -lv -p WS_PORT , mit WS_PORT als dein angegebener Port, und die Antwort posten. Die erhaltenen Daten sind mit "&" getrennt.
Wie gut, dass ich das in die V0.1.2 schon eingebaut habe
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
V0.1.2
, kann die Version dann auch schon für Weltfrieden sorgen?
-
@gerald123 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kann ich nicht die Umrechnung erst im IoBroker machen und dadurch den bc Befehl weglassen?
Müsste eigentlich gehen. Ändere in der wetterstation.sh bei "#Data zerlegen..." mal in
#if [ "$i" -ge "0" ] && [ "$i" -lt "4" ]; then convertFtoC; fi #if [ "$i" -eq "6" ] || [ "$i" -eq "7" ]; then convertMPHtoKMH; fi #if [ "$i" -eq "9" ] || [ "$i" -eq "10" ]; then convertLuftdruck; fi #if [ "$i" -ge "11" ] && [ "$i" -lt "15" ]; then convertInchtoMM; fi
ab, also nur eine "#" davor.
-
@SBorg
Falscher Beitrag. -
@Latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
V0.1.2
, kann die Version dann auch schon für Weltfrieden sorgen?
Ne, aber für besseres Wetter
Die V0.1.2 beta kann jetzt auch getestet werden. Dazu auf GitHub den Branch auf "beta" umstellen.
Javascript nicht vergessen --> gibt einen neuen Datenpunkt
*.conf --> es muss auch die ID der Wetterstation eingetragen werdenBei fünf Übertragungsfehlern wird der neue Datenpunkt "true" und bleibt bis er entweder von euch resettet wird, oder das Skript neu gestartet wurde (hier wird er auf "false" gesetzt) auf "true".
-
Definitiv hat meine WH4000SE den Datenpunkt "Regen_Jahr" mehr. Gerade das Skript mal erweitert und es klappt jetzt auch mit korrektem Timestamp, UV-Index, etc.
-
@SBorg
Willst du das in das Skript aufnehmen? Müsste dann aber abgefangen werden, wenn jemand den Wert nicht hat. -
Gerne, wollte eben schon darum bitten
Mir schwebt noch ein Konfigpunkt "Modell" vor, ev. gibt es ja (später) noch mehr Unterschiede. -
@SBorg Soll ich einen Pull Request machen? Dann zieh ich mir kurz die beta und bau noch mal um. Oder einfach nur den geänderten Code?
-
@unltdnetworx Wie du magst. Ich habe keine eigene Station, deswegen ist die V0.1.2 bisher kpl. ungetestet. Also keine Ahnung ob ich ev. was verbockt habe, zumindest in der simuluerten Version hat es funktioniert
Also bau es ruhig mal ein und teste -
@SBorg
Die Beta läuft übrigens einwandfrei. Hab jetzt meine Werte noch ergänzt, aber keine Weiche eingebaut. Pull-Request gestellt. -
Was muss ich jetzt alles beachten wenn ich die Beta ausprobieren will?
-
@unltdnetworx Danke Kannst du mir mal ein Beispieldatenpaket (Passwort x-en ) posten? Dann kann ich mir mal Gedanken machen wie man es in ein Skript packt und simulieren. bash ist halt keine echte Programmiersprache. Ich will aber auch nicht x separate Skripte pflegen.
@Rushmed Eigentlich nur wie oben beschrieben. Neues Javascript wg. zusätzlichem Datenpunkt ausführen. Die conf nach deinen Werten konfigurieren (jetzt zusätzlich noch die Station-ID). Dann sollte es laufen. Bei derzeit fünf aufgetretenen Datenpaket-Fehlern (falsches Format, verstümmelt, gar kein Paket) sollte der neue Datenpunkt "_Kommunikationsfehler" true werden.
-
@SBorg Habe gestern noch weiter getestet, leider geht bei mir auch der Befehl nc nicht.
Auch dieser Befehl wird im Docker nicht gefunden.
Gibt es noch eine ander Möglichkeit die Daten abzufragen?