NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Hallo @SBorg
Hast du geplant die Solarenergie auch noch per Differenz der Datenpaketzeit zu messen?
Und ist es korrekt, dass es den Datenpunkt "Sonnenscheindauer Gestern als Text" nicht gibt? -
@SBorg Hallo, ich weiß zwar noch nicht genau, wie ich es nun doch endlich hin bekommen habe, aber die Umleitung funktioniert jetzt:
Beim folgendem Aufruf kommt Folgendes raus:
Da ich ohne App bzw. Display arbeite, welchen Stationsnamen muss ich hier eintragen ?
Muss ich noch etwas verbiegen ?
-
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hallo @SBorg
Hast du geplant die Solarenergie auch noch per Differenz der Datenpaketzeit zu messen?
Und ist es korrekt, dass es den Datenpunkt "Sonnenscheindauer Gestern als Text" nicht gibt?Aktuell wg. akuten Freizeitmangels nein. Ist auch nicht so tragisch, da die Messdifferenz der Sensoren sowieso recht groß ist. Wenn also der Pollintervall richtig eingestellt ist passt es so auch schon. Von daher Prio niedrig.
...und ja, wollte bisher niemand. Kannst aber bei Bedarf einen Issue auf GitHub erstellen. -
@Legoracer70
Du hast in der conf etwas zu viel gelöscht, es muss korrekt lauten: WS_ID=IRETHW1
Deswegen auch Fehler in Zeile 22
Ferner musst du anstelle von Port 1080 den Port 80 nutzen (weil du ohne Einstellmöglichkeit an eine Standard-Website sendest. Die laufen auf Port 80). Wählen kannst du hier nicht.Versuch am besten erst mal nur mit
./wetterstation.sh --data
ob/bis du dann einen Datenstring bekommst. -
@SBorg said in [Linux Shell-Skript] WLAN-Wetterstation:
./wetterstation.sh --data
Alles soweit in der Conf angepasst und ./wetterstation.sh --data ausgeführt:
Muss ich das als SU ausführen ? -
@SBorg Als SU sieht es so aus:
-
Hier die Daten. Da steht inactive...
-
@Legoracer70 ~45.8k, immerhin sendet/empfängt er was. Soweit zum positiven. Negativ fällt leider auf, dass es keine Standard-URL wie bei Angabe eines "eigenen Servers" ist. Da hilft dann nur die Netzwerkkommunikation mittels eines Sniffers (bspw. Wireshark) mit zuschneiden. Dafür fehlt mir aktuell einfach die Zeit. Unwahrscheinlich, aber immerhin möglich, dass sie an einen speziellen Port senden oder eine spezielle API nutzen (beim "Eigenen" rufen sie ein PHP-Skript auf und geben per URL die Parameter/Messwerte mit).
-
@Grantlhaua Ok, der ist im wahrsten Sinne des Wortes "tot"...
Wie sieht denn dein Systemd-Skript aus:cat /etc/systemd/system/wetterstation.service
Username oä. im Pfad bitte "xxx"-enParallel dazu löst dies ev. auch schon dein Problem, einfach nochmal aus- und wieder einschalten:
systemctl disable wetterstation
, dann wiedersystemctl enable wetterstation
-
Die V1.6.0 steht zum Download bereit (identisch mit der Beta-Version):
Neues Release des WLAN-Wetterstation-Skriptes auf GitHub V1.6.0
- + Patch (@a200) für neuere Firmwareversionen (V1.6.3) speziell bei Nutzung eines Gateways
- ~ Reset des Error-Kommunikationszählers
- + Prüfung bei Option "-v" ob 'bc' und 'jq' installiert sind
- ~ Option "n" bei netcat hinzugefügt
Wie immer zu finden im GitHub
Bitte die neue Update-Routine beachten (siehe WiKi). Ihr erspart euch damit das händische konfigurieren der wetterstation.conf
Die in Kürze erscheinende V2.0.0 Beta hat dann einen "breaking change" + größere Änderungen unter der Haube, was ihr aber so nicht großartig bemerken werdet, außer ihr ändert dann aktiv das Protokoll. In letzter Sekunde trat noch ein Fehler auf, der aber schon im letzten Test ist, sonst hätte ich sie bereits heute gepublished...
Die V2.0.0 unterstützt dann entweder das Wunderground- oder Ecowitt-Protokoll. Leider hat jedes Vor- und Nachteile. Warum es hier Differenzen gibt ist mir nicht klar, aber bei Ecowitt gibt es bspw. keinen Chillfaktor/Taupunkt, dafür aber eine Gesamtregenmenge usw.
Die maßgebliche Änderung (thx @a200 ) betrifft aber die Unterstützung des Gateways mit Zusatzsensoren (aktuell DP50 und DP100).
Den Löwenanteil an der V2.0.0 geht hier auf das Konto von @a200 -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die V1.6.0 steht zum Download bereit (identisch mit der Beta-Version):
Servus
Hätte es soeben mit dem Update von 1.5.0 auf 1.6.0 versucht.
Schaffe es nicht.
dietpi@DietPi:~$ cd /home/iobroker dietpi@DietPi:/home/iobroker$ ls wetterstation.conf wetterstation.sh wetterstation.sub ws_updater.sh dietpi@DietPi:/home/iobroker$ chmod +x ./ws_updater.sh dietpi@DietPi:/home/iobroker$ ./ws_updater.sh -bash: ./ws_updater.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden dietpi@DietPi:/home/iobroker$ ws_updater.sh -bash: ws_updater.sh: Kommando nicht gefunden. dietpi@DietPi:/home/iobroker$ .ws_updater.sh -bash: .ws_updater.sh: Kommando nicht gefunden. dietpi@DietPi:/home/iobroker$
-
@SBorg Hallo, ich bin in der Zwischenzeit schon etwas weiter gekommen. Im PH habe ich gesehen, dass meine Wetterstation folgende Adresse immer wieder anfunkte:
rtupdate.wunderground.com
Seitdem ich diese Adresse in der Hosts hinterlegt habe, bekomme ich auch WerteWas mich aber noch wundert, dass einige Werte passen und andere zum Beispiel gar nicht:
Ein Beispiel-String sieht wie folgt aus:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=71.2&indoorhumidity=40&tempf=46.6&humidity=95&temp1f=47.3&humidity1=96&dewptf=45.2&windchillf=46.6&absbaromin=29.7&baromin=29.67&windspeedmph=0.4&windgustmph=0.7&winddir=68&windspdmph_avg2m=1.3&winddir_avg2m=36&windgustmph_10m=1.3&windgustdir_10m=27&dailyrainin=0.24&weeklyrainin=0.34&monthlyrainin=0.38&yearlyrainin=0&solarradiation=49.39&UV=1&dateutc=2020-12-15%2012:41:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0
Muss ich weitere Einstellungen treffen ?
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die V1.6.0 steht zum Download bereit (identisch mit der Beta-Version):
Servus
Hätte es soeben mit dem Update von 1.5.0 auf 1.6.0 versucht.
Schaffe es nicht.
dietpi@DietPi:~$ cd /home/iobroker dietpi@DietPi:/home/iobroker$ ls wetterstation.conf wetterstation.sh wetterstation.sub ws_updater.sh dietpi@DietPi:/home/iobroker$ chmod +x ./ws_updater.sh dietpi@DietPi:/home/iobroker$ ./ws_updater.sh -bash: ./ws_updater.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden dietpi@DietPi:/home/iobroker$ ws_updater.sh -bash: ws_updater.sh: Kommando nicht gefunden. dietpi@DietPi:/home/iobroker$ .ws_updater.sh -bash: .ws_updater.sh: Kommando nicht gefunden. dietpi@DietPi:/home/iobroker$
Wie hast du die Dateien auf dein System kopiert? Du scheinst ^M in deinen Skripten zu haben. Diese entstehen wenn Dateien aus der dos-Welt auf Unix-übertragen werden.
Versuche folgendes zu machendos2unix ws_updater.sh dos2unix wetterstation.sub dos2unix wetterstation.sh ./ws_updater.sh
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
-bash: ./ws_updater.sh: /bin/bash^M: Defekter Interpreter: Datei oder Verzeichnis nicht gefunden
Wundert mich, denn bei einem "defekten Interpreter" dürfte auch das normale WLAN-Skript nicht laufen...
Stutzig macht mich "^M" was nach einem Steuerzeichen aussieht. Ich habe gerade nochmal auf GitHub nachgeschaut, da endet die erste Zeile korrekt. Ev. mit einem Windows-Editor gearbeitet? -
@Legoracer70 Sehr schön
Warte mal heute oder morgen auf die V2.0.0-Beta, damit sollten dann die Werte korrekt sein -
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Versuche folgendes zu machen
dietpi@DietPi:~$ cd /home/iobroker dietpi@DietPi:/home/iobroker$ dos2unix ws_updater.sh -bash: dos2unix: Kommando nicht gefunden. dietpi@DietPi:/home/iobroker$
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ev. mit einem Windows-Editor gearbeitet?
Nö, immer nur mit Notepad++
hier der Inhalt der ws_updater.sh
#!/bin/bash UPDATE_VER=V1.5.0 backup() { echo -e "\n Lege Sicherungskopie der wetterstation.conf an..." cp ./wetterstation.conf ./wetterstation.conf.backup } FEHLER() { clear if [ "$UPDATE_VER" == "$VERSION" ]; then echo -e "\n Version ist aktuell, nothing do do...\n"; exit 0; fi echo -e "\n Updater ist \e[31mnur\e[0m für Versionen ab V1.4.0 !\n" exit 1 } ######################################################################################## #Patch Version V1.4.0 auf V1.5.0 PATCH140() { backup echo -e "\n Patche wetterstation.conf auf V1.5.0 ..." sed -i '/^.#Port der Wetterstation/i \ #Protokoll (HTTP oder HTTPS) \/ default: HTTP\n WEB=HTTP\n\n #User-Authentifizierung falls benutzt; sonst leer lassen\n AUTH_USER=\n AUTH_PASS=\n' ./wetterstation.conf sed -i 's/### Settings V1.4.0/### Settings V1.5.0/' ./wetterstation.conf echo -e " Fertig...\n" } VERSION=$(cat ./wetterstation.conf|grep "### Settings V"|cut -d" " -f3) case ${VERSION} in V1.4.0) PATCH140 ;; *) FEHLER esac exit 0
-
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
hier der Inhalt der ws_updater.sh
Die Steuerzeichen siehst du so nicht, außer du schaltest es bspw. beim Editor ein
sudo apt install dos2unix
, dann nochmals konvertieren. -
@Legoracer70 Ich würde gerade beschließen, dass du das Projekt unterstützt
Wenn es dann mit der 2er funktioniert, meinst du, so als kleiner Support, du könntest das "erfahrene, erlebte, wie auch immer..." in eine kurze Schriftform bringen (falls Pics nötig auch bitte diese ), damit ich es in die WiKi für andere Willige mit aufnehmen kann? -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
sudo apt install dos2unix, dann nochmals konvertieren.
läuft
dietpi@DietPi:/home/iobroker$ ./ws_updater.sh 'bc' installiert: ✓ 'jq' installiert: ✓ Lege Sicherungskopie der wetterstation.conf an... Patche wetterstation.conf auf V1.6.0 ... Fertig...