NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@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...
-
@Negalein
Wäre noch interessant wo das Steuerzeichen her kam. Ich editiere auch mittels Notepad++ und schiebe Dateien mit WinSCP hin und her. Außerdem hast du es bei der sub/sh ja auch nicht, warum dann gerade beim Patcher...?
Naja, wenn Einzelfall, wayne ... -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wäre noch interessant wo das Steuerzeichen her kam. Ich editiere auch mittels Notepad++ und schiebe Dateien mit WinSCP hin und her. Außerdem hast du es bei der sub/sh ja auch nicht, warum dann gerade beim Patcher...?
Ja, wäre intressant.
Ich machs auch so wie du.Wie aktiviere ich das in Notepad++, dass ich die Steuerzeichen sehe?
-
@Negalein
Ansicht >> Symbole anzeigen >> alle Zeichen anzeigenIst jetzt zwar schon von der kommenden V2er, aber man sieht nur "LF" (LineFeeds wie unter Linux nötig). Da war bei dir hinter "...bash" noch zusätzlich ein "CR" (CarriageReturn; Windows halt...)
-
@SBorg Das mache gerne
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Negalein
Wäre noch interessant wo das Steuerzeichen her kam. Ich editiere auch mittels Notepad++ und schiebe Dateien mit WinSCP hin und her. Außerdem hast du es bei der sub/sh ja auch nicht, warum dann gerade beim Patcher...?
Naja, wenn Einzelfall, wayne ...Das kommt bei der Übertragung. Wie überträgst du die Dateien von Win nach Unix? Binär oder Ascii?
-
@a200 Dann hätte er es aber auch bei der wetterstation.sh / sub haben müssen. Komisch...
btw: musste noch was fixen, aber nicht unbedingt dein Fehler, zumindest konnte es dir nicht auffallen. Chillfaktor + Taupunkt funktionierten nicht -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Da war bei dir hinter "...bash" noch zusätzlich ein "CR" (CarriageReturn; Windows halt...)
stimmt. Das CR ist in jeder Zeile.
Wie kann ich das in Notepad++ umgehen?
Das CR kommt auch bei einer Datei, die noch nicht gespeichert wurde.
Ich kopiere den Inhalt zB aus deiner Github-Datei raus und füge es in Notepad++ ein. -
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das kommt bei der Übertragung.
Ist sofort da, wenn ich in eine neue (noch nicht gespeicherte) Datei den kopierten Inhalt einfüge.
-
@Negalein im notepad++ sieht man unten das Format: Windows (CR LF) oder Unix (LF) dort kannst du es auch umschalten. ansonsten kannst du auch bei Save As... Das Format auswählen. zB. Unix (bash....)
-
@Negalein ...und/oder bei neuer Datei in den Einstellungen von "Windows CR LF" umstellen:
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
im notepad++ sieht man unten das Format: Windows (CR LF) oder Unix (LF) dort kannst du es auch umschalten.
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
und/oder bei neuer Datei in den Einstellungen von "Windows CR LF" umstellen:
Danke, habs gleich umgestellt.
-
...und weil es so schön war und euch nicht langweilig wird...
@a200 + meiner einer proudly presents
Neue Beta des WLAN-Wetterstation-Skriptes auf GitHub V2.0.0
- + Unterstützung des Gateways und Zusatzsensoren (@a200)
- + Protokoll (wunderground oder ecowitt) wählbar
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 V2.0.0 unterstützt entweder das Wunderground- oder Ecowitt-Protokoll (umstellen per WS View App + Einstellung in der conf; WiKi-Doku folgt). 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).Wenn man bei WU bleibt, sollte man bestenfalls keine Änderung bemerken. Bei Ecowitt kommen DPs hinzu, andere fallen leider weg. Muss jeder selbst entscheiden was ihm wichtig ist. Wegen neuer Datenpunkte ist diesmal auch ein Update des JS-Skriptes (wetterstation.js) nötig. Wer ein Gateway + DP50/100 - Sensoren nutzt/nutzen möchte, muss dies in der conf explizit aktivieren/konfigurieren und zusätzlich im JS noch GATEWAY=true; setzen damit die nötigen DPs angelegt werden.
Das verhalten des "Kommunikationsfehlers" hat sich dahingehend geändert, dass nun bei 10 aufeinanderfolgenden Fehlern erst ein false ausgelöst wird. Dies wird auch nicht automatisch resettet (außer beim Neustart des Skriptes).
Das sollte dann in etwa (bei 30 Sekunden Intervall der Station) einer 5 minütigen Empfangsunterbrechung entsprechen. Ich denke mal, da kann man dann wirklich von einem Problem wie bspw. leeren Batterien etc. reden......und jetzt viel Spaß beim testen. Da der Umbau, wenn auch so nicht offensichtlich, recht umfangreich war, sind ev. noch Fehler zu erwarten (eigentlich nur falsche/fehlende Werte, also bitte hier ein besonderes Augenmerk darauf).
-
@SBorg Sieht schon besser aus. Hier kommen meine ersten Ergebnisse:
Jetzt muss der Experte das auswerten