NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
den hier kennst du wahrscheinlich - ich finde die idee nicht schlecht im video - ob sowas hier im projekt brauchbar oder sinnvoll ist, weiß ich nicht - https://www.youtube.com/watch?v=90hAbXesXNw
-
@Latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
versuche ich mich im SMD löten
Lötkolben oder korrektes Equipment
@liv-in-sky Jo, the english guy with the switzer akzent
Zwar nicht von Ikea, aber die Idee habe ich schon bei Anderen von anderen Anbietern gesehen. Ich weiß halt nicht wie UV stabil, Hitze- und Kältebeständig, usw. das auf Dauer ist (auch die Elektronikkomponenten hinsichtlich UV). Aber die Schweiz passt Klima technisch ganz gut zu uns. Einen Versuch wäre es wert.
Aktuell benötigt nur der BH1750 freie Sicht nach "draußen", aber vielleicht werden die Wolkensensoren etc. auch mal günstiger... -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Lötkolben oder korrektes Equipment
Heißluft, doch wohl etwas zu heiß
-
Wenn ich noch etwas anmerken dürfte...
Die Grammatik bei "#Tendenz berechnen" ab Zeile 280 in der aktuellen Sub is okay aber in "#Wetter erfassen und bestimmen" ab Zeile 294 muss ich immernoch bei jedem Update die Anfangsbuchstaben der Adjektive von groß zu klein ändern.Betrifft konkret die Zeilen 296 bis 298. Hier die Zeilen nach meiner Änderung:
#Wetter erfassen und bestimmen if [ "$LUFTDRUCK" -le "980" ]; then WETTER_AKTUELL="Stürmisch, Regen"; fi if [ "$LUFTDRUCK" -gt "980" ] && [ "$LUFTDRUCK" -le "1000" ]; then WETTER_AKTUELL="regnerisch"; fi if [ "$LUFTDRUCK" -gt "1000" ] && [ "$LUFTDRUCK" -le "1020" ]; then WETTER_AKTUELL="wechselhaft"; fi if [ "$LUFTDRUCK" -gt "1020" ] && [ "$LUFTDRUCK" -le "1040" ]; then WETTER_AKTUELL="sonnig"; fi if [ "$LUFTDRUCK" -gt "1040" ]; then WETTER_AKTUELL="Trocken, Gewitter"; fi
Ansonsten meine Hochachtung für die hervorragende Arbeit!
-
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wenn ich noch etwas anmerken dürfte...
Immer (+ jeder Andere auch)
Ist geändert und hält Einzug in die nächste Version.
Das lustige daran, dass stammt nicht mal von mir. Hatte ich mit den Werten von den Meteorologen kopiert und nur für die "bash" umgeschrieben.
Aber im Deutschunterricht hat es bei mir auch nur zu einer "3" gereicht. Deswegen noch die Frage ob nicht auch "stürmisch" und "trocken" Adjektive sind und klein geschrieben werden müssten? -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Deswegen noch die Frage ob nicht auch "stürmisch" und "trocken" Adjektive sind und klein geschrieben werden müssten?
Korrekt, du kommst der zwei in Deutsch näher
-
Sorry, falls die Frage schon mal beantwortet wurde, aber die Suche nach "Wetterstation Zeitstempel" über 1634 Beiträge brachte mich hier nicht weiter
Habe gerade auf ein neues Proxmox und LXC umgestellt und musste somit auch das Wetterskript neu installieren.
In dem Zuge habe ich von 1.3 auf 1.4 upgedatet und in der Wetterstation sagte mir das System, ich könne auf Firmware 1.5.4 updaten, was ich auch getan habe. In der Änderung stand etwas von Zeitumstellung oder so.Langer Rede kurzer Sinn, nur daher ist mir jetzt aufgefallen, dass im Datenpunkt Zeitstempel die Uhrzeit als GMT sein dürfte, weil sie eine Stunde hinter unserer zurück liegt.
Hat es hier vielleicht wegen der neuen Firmware eine Änderung ergeben, die mir entgangen ist oder habe ich ggf. einen Fehler auf meiner Seite???
-
Verlangt auch keiner, und wenn fragen in einem Forum unerwünscht sind braucht es auch kein Forum
@Berchemer sagte in [Linux Shell-Skript] WLAN-Wetterstation:Hat es hier vielleicht wegen der neuen Firmware eine Änderung ergeben, die mir entgangen ist oder habe ich ggf. einen Fehler auf meiner Seite???
Meines Wissens nein, bzw. es läuft wie vorher, und dann leider ja, sieht nach einem Fehler deinerseits aus...
Da ich mal davon ausgehe das dein Display die korrekt Zeit anzeigt, was sagt denn ein timedatectl auf deinem LXC aus?um 11:25 Uhr ausgeführt (CET und Time Zone müssen hier stimmen):
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
timedatectl
Danke
Shame on me... Bei mir war tatsächlich GMT als Zeitzone eingestellt
Eingabe von
sudo timedatectl set-timezone Europe/Berlin
löste das Problem
-
@Berchemer Wenn es nur immer so einfach wäre...
Aber wie heißt es so schön: "Hauptsache es lüppt widda..." -
Ich habe vor kurzem die V1.5.0 fertiggestellt und bin mit den Tests soweit zufrieden.
Es gibt eigentlich nur eine Neuerung:- Support für Verschlüsselung mittels HTTPS
- und in dem Zusammenhang Authentifizierung mittels User/Passwort
Eine weitere Neuerung, deswegen auch hier zuerst diese Vorabankündigung (die V1.5.0 erscheint dann am Wochenende), ist ein "Mini-Updater". Ich habe mir zwar Gedanken über einen richtigen Updater gemacht, allerdings das Konzept bis auf weiteres verworfen. Offen gestanden ist das WLAN-Skript eigentlich ziemlich "End-of-Live", was nicht heißen soll ich mache nichts mehr dran oder stelle es ein, aber die ggf. Neuerungen sind doch eher sehr überschaubarer Natur
Da ist es einfacher die paar Dateien zu ersetzen undTaDa
den "ws-updater" zu nutzen.
Updateanweisungen (ab V1.5.0) für zukünftige Versionen:
- die wetterstation.sub und die wetterstation.sh ersetzen
- den ws-updater.xxx (xxx=Version für den er gilt) ausführbar machen (zB.
chmod +x ws-updater.xxx
) - den ws-updater.xxx im Installationsverzeichnis des Wetterstation-Skriptes ausführen
./ws-updater.xxx
Mittels des Updaters wird die wetterstation.conf dann auf die korrekte Version/Änderungen gepatcht. Es müssen dann ggf. nur noch die neuen Einstellungen geändert werden.
Beispiel: ws-updater.140 --> der funktioniert nur von V1.4.0 auf V1.5.0 (es sind keine Versionssprünge möglich wie zB. von V1.4.0 direkt auf V1.6.0). Der Updater überprüft aber sicherheitshalber einige der korrekten Voraussetzungen (nicht alle und ich möchte davon abraten "auf biegen und brechen" zu versuchen ihn für andere Versionen zu nutzen).
Ich empfehle natürlich vorher ein Backup der *.conf zu machen, denn sollte die HDD/SDD gerade beim schreiben der Datei einen "Hänger" haben, oder Strom fällt aus, oder... ist sie zu 100% beschädigt. Dann wünsche ich den Usern von OSEM schon viel Vergnügen beim erneuten einrichten der Sensoren... -
@SBorg Moin, heute kam die WH3000. Leider habe ich Probleme sie mit deinem Skript zum Laufen zu bringen. Aktuelle Situation:
- In der WS-View App werden die Werte angezeigt. (FW: GW1000A_V1.6.3) IP=19.2.168.10.225
- Unter Customized:
a) Enable,
b) Wunderground,
c) 192.168.10.60 (IP des Linux Rechners auf dem ich dein Script ausführe. nicht des IoBroker),
d) /weatherstation/updateweatherstation.php?
e) mmm
f) cbatest
g) 8181
h) 60
4. IP des IoBrokers ist die 19.168.10.61
5. Die Fehlermeldung kommt ca. 2 Sekunden nach dem Aufruf:
Was mache ich falsch? Dank für deine Unterstützung.
-
@a200 2. Zeile (bei #5 Fehlermeldung) .... ? Open...
Offensichtlich hast du eine "falsche" netcat-Version (100% wenn du Proxmox nutzt). Schau mal in der WiKi --> FAQ (dann brauche ich es hier nicht zu erklären). Wenn das nicht weiter hilft einfach wieder melden -
@SBorg DAS war die Lösung! Jetzt geht es!
-
Der netcat-Fehler müsste sich auch irgendwie abfangen/abfragen lassen...!? Ist zwar für die kommende V1.5.0 zu spät, aber muss ich mir mal paar Gedanken dazu machen
-
@SBorg - Weitere Probleme! Bei denen du wahrscheinlich schnell helfen kannst kannst.
- in der WS-View App wird mir die Außentemp. mit 2,3°C angezeigt. In IoBroker steht die Außentemperatur auf 30,55. Die Werte in IoBroker sind IMHO etwas seltsam:
Was mache ich jetzt falsch?
[ { "id": "javascript.0.Wetterstation.Innentemperatur", "val": 2.22 }, { "id": "javascript.0.Wetterstation.Aussentemperatur", "val": 30.55 }, { "id": "javascript.0.Wetterstation.Taupunkt", "val": 0.27 }, { "id": "javascript.0.Wetterstation.Chillfaktor", "val": 2.22 }, { "id": "javascript.0.Wetterstation.Innenfeuchtigkeit", "val": 300 }, { "id": "javascript.0.Wetterstation.Aussenfeuchtigkeit", "val": 0 }, { "id": "javascript.0.Wetterstation.Wind", "val": 0 }, { "id": "javascript.0.Wetterstation.Wind_max", "val": 0 }, { "id": "javascript.0.Wetterstation.Windrichtung", "val": 0 }, { "id": "javascript.0.Wetterstation.Windrichtung_Text", "val": "N\n" }, { "id": "javascript.0.Wetterstation.Druck_absolut", "val": 0 }, { "id": "javascript.0.Wetterstation.Druck_relativ", "val": 0 }, { "id": "javascript.0.Wetterstation.Regenrate", "val": 0 }, { "id": "javascript.0.Wetterstation.Regen_Tag", "val": 506.4 }, { "id": "javascript.0.Wetterstation.Regen_Woche", "val": 0 }, { "id": "javascript.0.Wetterstation.Regen_Monat", "val": 1739.9 }, { "id": "javascript.0.Wetterstation.Regen_Jahr", "val": 1422.4 }, { "id": "javascript.0.Wetterstation.Sonnenstrahlung", "val": 29.775 }, { "id": "javascript.0.Wetterstation.UV_Index", "val": 1 }, { "id": "javascript.0.Wetterstation.Regenstatus", "val": "kein Regen" }, { "id": "javascript.0.Wetterstation.UV_Belastung", "val": "gering" }, { "id": "javascript.0.Wetterstation.Zeitstempel", "val": "28.11.2020 16:45:58" } ] Messwerteblock: 36.0 87 32.5 36.0 300 0.00 0.00 0.000 0.000 0.000 0.000 0.000 19.94 0 68.5 56 29.775 1 now GW1000A_V1.6.3 Temperatur Innen : 2.22 °C Temperatur Aussen : 30.55 °C Taupunkt : .27 °C Chill-Faktor : 2.22 °C Luftfeuchte Innen : 300 % Luftfeuchte Aussen : 0.00 % Windgeschwindkeit : 0 km/h max. Windgeschwindkeit : 0 km/h Windrichtung : 0.000 ° Windrichtung : N Luftdruck absolut : 0 hPa Luftdruck relativ : 0 hPa Regenrate : 0 mm/h Regenstatus : kein Regen Regen Tag : 506.4 mm Regen Woche : 0 mm Regen Monat : 1739.9 mm Regen Jahr : 1422.4 mm Sonnenstrahlung : 29.775 W/m² UV-Index : 1 Zeitstempel : 28.11.2020 16:45:58 Firmware : GW1000A_V1.6.3 Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=2.22 &javascript.0.Wetterstation.Aussentemperatur=30.55 &javascript.0.Wetterstation.Taupunkt=.27 &javascript.0.Wetterstation.Chillfaktor=2.22 &javascript.0.Wetterstation.Innenfeuchtigkeit=300 &javascript.0.Wetterstation.Aussenfeuchtigkeit=0.00 &javascript.0.Wetterstation.Wind=0 &javascript.0.Wetterstation.Wind_max=0 &javascript.0.Wetterstation.Windrichtung=0.000 &javascript.0.Wetterstation.Windrichtung_Text=N &javascript.0.Wetterstation.Druck_absolut=0 &javascript.0.Wetterstation.Druck_relativ=0 &javascript.0.Wetterstation.Regenrate=0 &javascript.0.Wetterstation.Regen_Tag=506.4 &javascript.0.Wetterstation.Regen_Woche=0 &javascript.0.Wetterstation.Regen_Monat=1739.9 &javascript.0.Wetterstation.Regen_Jahr=1422.4 &javascript.0.Wetterstation.Sonnenstrahlung=29.775 &javascript.0.Wetterstation.UV_Index=1&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=gering&javascript.0.Wetterstation.Zeit stempel=28.11.2020 16:45:58 DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=68.5&indoorhumidity=56&baromin=29.775&lowbatt=1&dateutc=now&softwaretype=GW100 0A_V1.6.3&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /opt/Projekte/WLAN-Wetterstation IPP: 192.168.10.61:8187 WS_PORT: 8181 WS_POLL: 45 PRE_DP: javascript.0.Wetterstation Script-Version: V1.4.0 Config-Version: V1.4.0 Sub-Version: V1.4.0 root@proxmox:/opt/Projekte/WLAN-Wetterstation#
Problem wie bei Berchemer, dass die Uhrzeit falsch ist. Allerdings habe ich die TZ auf beiden Linux-Systemen geprüft.
IoBroker hat auch die richtige Uhrzeit, aber im DP wird eine Stunde vor angezeigt.
Es war die falsche TZ in der Station.
Viel schlimmer, nach der ersten Ausführung, die erfolgreich ist geht der Service baden:
Debug=true in der Config-Datei hat das Skript nur einmal ausgeführt. Ich Depp! Sorry und danke!
- in der WS-View App wird mir die Außentemp. mit 2,3°C angezeigt. In IoBroker steht die Außentemperatur auf 30,55. Die Werte in IoBroker sind IMHO etwas seltsam:
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Was mache ich jetzt falsch?
Kann ich dir leider beantworten und
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bei denen du wahrscheinlich schnell helfen kannst kannst
und noch ein leider, denn nein. Dein Problem ist bei Firmware zu sehen: GW1000A_V1.6.3
Du nutzt wahrscheinlich Zusatzsensoren oder das Gateway?
Da sieht der Datenstring leider anders aus und mein Skript kommt da durcheinander. Ich hatte zwar von Ecowitt Samples versprochen bekommen, aber nach > 3 Monaten kommt da wohl nichts mehr.
Du kannst mir aber mal die Ausgabe von (Passwort und Station-ID kannst du "x-en")./wetterstation.sh --data
posten, ev. kann ich es auch so ändern.
Oder du nimmst, falls du NodeRED nutzt, den Flow von @lemuba -
Ich nutze DP1500 Wi-Fi Wetterserver USB-Dongle + WH3000SE + DP50
root@proxmox:/opt/Projekte/WLAN-Wetterstation# ./wetterstation.sh --data Connection to 192.168.10.61 8187 port [tcp/*] succeeded! Warte maximal 96 Sekunden auf Datenpaket der Wetterstation... Listening on [0.0.0.0] (family 2, port 8181) Connection from ESP_B4FA02.marekki.de 29897 received! GET /weatherstation/updateweatherstation.php?ID=xxx&PASSWORD=xxx&tempf=34.9&humidity=90&dewptf=32.2&windchillf=34.9&winddir=297&windspeedmph=0.00&windgustmph=0.00&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.000&yearlyrainin=0.000&solarradiation=0.00&UV=0&indoortempf=68.7&indoorhumidity=57&baromin=29.775&lowbatt=1&dateutc=now&softwaretype=GW1000A_V1.6.3&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0
Wenn ich das richtig sehe, dann wurde die Reihenfolge und auch die Anzahl der Parameter verändert. Sauber wäre jetzt nach den Strings zu suchen und so sauber den URL zu parsen.
-
Jupp, dein 1. Wert ist zB die Aussentemperatur.
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Sauber wäre jetzt nach den Strings zu suchen und so sauber den URL zu parsen.
Das werde ich auch so umsetzen. Bisher gab es keinen Grund auch noch die Bezeichnungen auszuwerten, da der 1. Wert immer die Innentemperatur war, der 2. immer....
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Jupp, dein 1. Wert ist zB die Aussentemperatur.
Das werde ich auch so umsetzen. Bisher gab es keinen Grund auch noch die Bezeichnungen auszuwerten, da der 1. Wert immer die Innentemperatur war, der 2. immer....
Ja, das habe ich gesehen:
if [ "$i" -ge "0" ] && [ "$i" -lt "4" ]; then convertFtoC; fi
jetzt stimmt es nicht mehr. jetzt sind es 0,2,3 und 14! Na ja, wie ist das bei anderen Stationen? Senden die alle die gleichen Parameter in der gleichen Reihenfolge?