NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Das ist, glaube ich, auch nicht das erwartete Ergebnis, oder ?
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das ist, glaube ich, auch nicht das erwartete Ergebnis, oder ?
fast! mach mal jetzt nur
nc -nlvw 1 -p 80
-
root@iobrokerraspi:/home/iobroker# nc -nlvw 1 -p 80 Listening on [0.0.0.0] (family 2, port 80) Connection from 192.168.178.187 11914 received! GET /weatherstation/updateweatherstation.php?ID=IRETHW1&PASSWORD=xxxxxxxx&indoortempf=71.8&indoorhumidity=41&tempf=47.1&humidity=98&temp1f=47.9&humidity1=98&dewptf=46.6&windchillf=47.1&absbaromin=29.75&baromin=29.72&windspeedmph=2.9&windgustmph=3.8&winddir=55&windspdmph_avg2m=2.5&winddir_avg2m=88&windgustmph_10m=2.0&windgustdir_10m=94&dailyrainin=0.37&weeklyrainin=0.47&monthlyrainin=0.51&solarradiation=0.0&UV=1&dateutc=2020-12-15%2019:12:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0 Accept: */* Host: rtupdate.wunderground.com Connection: Close
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du hast das Protokoll auf der WS nicht auf ecowitt umgestellt. Das musst du noch machen.
-
@a200 Habe ich jetzt geändert:
Jetzt ist Alles kaputt:
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 Habe ich jetzt geändert:
nein, hast du nicht. du muss es in der WS-APP
unter Punkt 2 einstellen. Alle andere Einstellungen kannst du so behalten. Erst dann wird deine WS das ecowitt Protokoll verwenden und wird wieder alles gut sein. Im Worst-Case schalten wir wieder zurück. Also keine Sorgen -
@a200 Jetzt drehen wir uns irgendwie im Kreis. Bei meinem Einstieg in dieses Thema begann ich damit, dass ich keine unterstützte Apps für diese WS gefunden habe.
Mein Dialog, der bei der Ersteinrichtung von der WS zur Verfügung gestellt wird, sieht wie folgt aus:
Wo soll ich da das Protokoll umstellen ?
-
@Legoracer70 ok. jetzt verstehe ich. Du best DER Typ! Also. Deine WS unterstützt nur wundergroud und kein ecowitt also das POST-Protokoll. Damit kannst du aber gut leben. Aber:
- Deine WS sendet keine Infos zu der Regenmenge. Dieser Wert wird aber für weitere Berechnungen von @SBorg benötigt was zu den Fehlermeldungen führt. (negativ)
- Daten deines DP50 Sensor werden bei anderen Stationen nur über POST gesendet, bei dir jedoch bei GET. Ich kann das Skript so anpassen, dass du auch die Wert aus dem DP50 bekommst. (positiv)
- Deine WS sendet noch andere Werte, die bei dir jedoch anders heißen als bei den übrigen WS. Aber auch das lässt sich anpassen.
Gedulde dich ein wenig. Stelle deine Conf-Datei wieder auf die vorherigen Einstellungen. Ich schau wie aufwendig es wird das zu patchen.
-
@a200 ok
-
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 ok
Also ich gehe davon aus, dass deine WS wieder Daten sendet. Wenn das der Fall ist, dann geht es weiter:
- In wetterstation.conf stelle:
ANZAHL_DP50=1
- cp wetterstation.sub wetterstation.sub.org
- Die Datei wetterstation.sub bearbeiten:
a) Zeile 119 (if [ $WS_PROTOKOLL = 1 ]; then echo -e "$GR keine $WE"; else echo -e "\n"; fi) löschen
b) ab Zeile 581 bearbeiten und die Zeilen wie folgt auskommentieren.
581 # if [ $WS_PROTOKOLL = "1" ]; then 582 # MAXDEVICES=22 583 # else 584 MAXDEVICES=$(( 31 + $ANZAHL_DP50 * 6 + ANZAHL_DP100 * 4 )) 585 # fi Schau mal ob das so läuft.
-
@a200 Soweit Alles angepasst.
Hier kommt das Ergebnis:
Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=22.22&javascript.0.Wetterstation.Aussentemperatur=8.50&javascript.0.Wetterstation.Taupunkt=8.22&javascript.0.Wetterstation.Chillfaktor=8.50&javascript.0.Wetterstation.Innenfeuchtigkeit=41&javascript.0.Wetterstation.Aussenfeuchtigkeit=98&javascript.0.Wetterstation.Wind=1.77&javascript.0.Wetterstation.Wind_max=2.57&javascript.0.Wetterstation.Windrichtung=72&javascript.0.Wetterstation.Druck_absolut=1008.46&javascript.0.Wetterstation.Druck_relativ=1007.45&javascript.0.Wetterstation.Regen_Tag=10.1&javascript.0.Wetterstation.Regen_Woche=12.9&javascript.0.Wetterstation.Regen_Monat=13.7&javascript.0.Wetterstation.Regen_Jahr=0&javascript.0.Wetterstation.Sonnenstrahlung=0.0&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Zeitstempel=15.12.2020%2021:57:59&javascript.0.Wetterstation.DP50.1.Temperatur=9.11&javascript.0.Wetterstation.DP50.1.Feuchtigkeit=97&javascript.0.Wetterstation.Regenstatus=&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Windrichtung_Text=ONO
DATA von Wetterstation:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=72.0&indoorhumidity=41&tempf=47.3&humidity=98&temp1f=48.4&humidity1=97&dewptf=46.8&windchillf=47.3&absbaromin=29.78&baromin=29.75&windspeedmph=1.1&windgustmph=1.6&winddir=72&windspdmph_avg2m=1.1&winddir_avg2m=91&windgustmph_10m=0.7&windgustdir_10m=87&dailyrainin=0.4&weeklyrainin=0.51&monthlyrainin=0.54&yearlyrainin=0&solarradiation=0.0&UV=0&dateutc=2020-12-15%2020:57:59&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0Entspricht das den Erwartungen ?
-
@Legoracer70 Das ist jetzt schon besser. Du hast deinen Zusatzsensor. Die Probleme mit der Zeile 255 kommen von dem fehlenden Regenwert. Zu den Berechnungen wird dir @SBorg mehr sagen können. Sonst sieht es gar nicht so schlecht aus. Dementsprechend solltest du deine Werte auch im IoBroker sehen. Fehlt dir noch ein Wert, oder sind die vollständig?
Diese Werte liefert deine WS:
- indoortempf=72.0&
- indoorhumidity=41&
- tempf=47.3&
- humidity=98&
- temp1f=48.4&
- humidity1=97&
- dewptf=46.8&
- windchillf=47.3&
- absbaromin=29.78&
- baromin=29.75&
- windspeedmph=1.1&
- windgustmph=1.6&
- winddir=72&
- windspdmph_avg2m=1.1&
- winddir_avg2m=91&
- windgustmph_10m=0.7&
- windgustdir_10m=87&
- dailyrainin=0.4&
- weeklyrainin=0.51&
- monthlyrainin=0.54&
- solarradiation=0.0&
- UV=0&
- dateutc=2020-12-15%2020:57:59&
Und die meisten davon werden verarbeitet und an IoBroker gesendet (). Jetzt kannst du versuchen herauszufinden welche Werte nicht verarbeitet werden (). Imho brauchst du diese nicht.
-
@a200 Sieht erstmal ganz gut aus
Ich werde das morgen mal etwas genauer betrachtenDanke erstmal
-
Servus,
das hab ich schon alles probiert. ohne Erfolg.
Es funktioniert ja, wenn ichs einmal starte, wenn dann aber mal kurz der Strom weg ist, wird das Script beim NEustart nicht mit gestartet.
-
@Grantlhaua den cronjob richtig eingerichtet?
-
ich hab vor ein paar tagen alles mithilfe der anleitung kontrolliert und keinen Fehler gefunden. Ich denke das ist irgend ne Kleinigkeit, die falsch ist.
-
@Grantlhaua hmm, mir ist gestern der proxmox rechner abgekackt, nach neustart hat sich das script allerdings wieder gestartet...
deswegen meine frage nach dem cron. -
ich poste mal bei Gelgenheit was ich alles gemacht und eingetragen hab. Vielleicht findet ihr den Fehler.
Danke!
-
@Legoracer70 Ich schau mir das mal an, sollte lösbar sein
@Grantlhaua Pauschal könnte man es auch vom "System" wegnehmen und im "User"-Content laufen lassen. Wenn aber sonst alles unter "System" läuft, ist es mehr als fraglich warum dann gerade beim booten der Start hier nicht funktionieren soll bzw. es dann gerade als "User" laufen sollte.
Es gäbe (zumindest mal als Versuch) auch die Möglichkeit den Start als cronjob anzulegen:sudo crontab -e
Dann als letztes einfügen (er wartet dann 60 Sekunden bis er den Service startet)@reboot sleep 60 && systemctl start wetterstation.service
Wichtig ist auch zeile Nr. 2 mit einfügen (bzw. eine Leerzeile anhängen. Die Cronjob-Tabelle muss immer mit einer Leerzeile enden)!
Eigentlich müsste man ins Log schauen. Dort sollte man sehen woran es hängt.
-
Hallo,
bei mir sind schon seit einigen Tagen die Datenpunkte
"0_userdata.0.Statistik.Wetter.aktueller_Monat.Temperatur_Durchschnitt"
und
"0_userdata.0.Statistik.Wetter.VorTag.Temperatur_Durchschnitt"
identisch miteinander. Sie werden jeden Tag neu beschrieben, aber eben beide immer mit dem selben Wert. Das ist doch so nicht normal oder?