NEWS
[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$
-
@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...
-
@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: