NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@iobroker_Alex ich weiss nicht seit wann du die Daten loggst und wie zwischenzeitlich ein Datenpunkt vom Wert geändert/geschrieben wurde.
mean ist ein (Mittel/Durchschnittswert), du könntest z.b. auch auf Distinct ändern, damit hättest du den direkten aktuellen Wert, was aber im Graphen etwas "scheisse" aussieht.
Letztendlich kenne ich mich mit der Materie auch noch nicht so gut aus und bin selbst am lernen/üben.
Info findest du unter anderem Hier -
Da hat sich ein Fehler in der Datei eingeschlichen , schau mal rein :
-
@Glasfaser habs grad gesehen und eigentlich nichts dran geändert, selbst wenn ich die Textdatei neu rein ziehe, kommt der gleiche Fehler.
-
und was passiert , wenn du es über Notepad erstellst !?
-
-
-
Bei mir ist wieder der Updatewurm drin.
Hab die conf editiert, alle drei Dateien ins entsprechende Verzeichnis kopiert und die DP angelegt.
Debug funktioniert:pi@Servazamba:~/Wetterstation $ ./wetterstation.sh --debug Listening on [0.0.0.0] (family 2, port 9999) Connection from ESP-4F2AD3.fritz.box 33653 received! [ { "id": "Wetterstation.0.Innentemperatur", "val": 24.61 }, { "id": "Wetterstation.0.Aussentemperatur", "val": 18.61 }, { "id": "Wetterstation.0.Taupunkt", "val": 1.22 }, { "id": "Wetterstation.0.Chillfaktor", "val": 18.61 }, { "id": "Wetterstation.0.Innenfeuchtigkeit", "val": 36 }, { "id": "Wetterstation.0.Aussenfeuchtigkeit", "val": 31 }, { "id": "Wetterstation.0.Wind", "val": 7.88 }, { "id": "Wetterstation.0.Wind_max", "val": 9.33 }, { "id": "Wetterstation.0.Windrichtung", "val": 332 }, { "id": "Wetterstation.0.Windrichtung_Text", "val": "NNW\n" }, { "id": "Wetterstation.0.Druck_absolut", "val": 1020.93 }, { "id": "Wetterstation.0.Druck_relativ", "val": 1027.63 }, { "id": "Wetterstation.0.Regenrate", "val": 0 }, { "id": "Wetterstation.0.Regen_Tag", "val": 0 }, { "id": "Wetterstation.0.Regen_Woche", "val": 0.5 }, { "id": "Wetterstation.0.Regen_Monat", "val": 0.7 }, { "id": "Wetterstation.0.Regen_Jahr", "val": 0 }, { "id": "Wetterstation.0.Sonnenstrahlung", "val": 150.96 }, { "id": "Wetterstation.0.UV_Index", "val": 1 }, { "id": "Wetterstation.0.Regenstatus", "val": "--" }, { "id": "Wetterstation.0.Zeitstempel", "val": "15.04.2020 18:24:55" } ] Messwerteblock: 76.3 65.5 34.2 65.5 36 31 4.9 5.8 332 30.148 30.346 0.000 0.000 0.020 0.031 0 150.96 1 2020-04-15%2016:24:55 EasyWeatherV1.4.9 Temperatur Innen : 24.61 °C Temperatur Aussen : 18.61 °C Taupunkt : 1.22 °C Chill-Faktor : 18.61 °C Luftfeuchte Innen : 36 % Luftfeuchte Aussen : 31 % Windgeschwindkeit : 7.88 km/h max. Windgeschwindkeit : 9.33 km/h Windrichtung : 332 ° Windrichtung : NNW Luftdruck absolut : 1020.93 hPa Luftdruck relativ : 1027.63 hPa Regenrate : 0 mm/h Regenstatus : -- Regen Tag : 0 mm Regen Woche : .5 mm Regen Monat : .7 mm Regen Jahr : 0 mm Sonnenstrahlung : 150.96 W/m² UV-Index : 1 Zeitstempel : 15.04.2020 18:24:55 Firmware : EasyWeatherV1.4.9 Datenstring für ioBroker: Wetterstation.0.Innentemperatur=24.61 &Wetterstation.0.Aussentemperatur=18.61 &Wetterstation.0.Taupunkt=1.22 &Wetterstation.0.Chillfaktor=18.61 &Wetterstation.0.Innenfeuchtigkeit=36 &Wetterstation.0.Aussenfeuchtigkeit=31 &Wetterstation.0.Wind=7.88 &Wetterstation.0.Wind_max=9.33 &Wetterstation.0.Windrichtung=332 &Wetterstation.0.Windrichtung_Text=NNW &Wetterstation.0.Druck_absolut=1020.93 &Wetterstation.0.Druck_relativ=1027.63 &Wetterstation.0.Regenrate=0 &Wetterstation.0.Regen_Tag=0 &Wetterstation.0.Regen_Woche=.5 &Wetterstation.0.Regen_Monat=.7 &Wetterstation.0.Regen_Jahr=0 &Wetterstation.0.Sonnenstrahlung=150.96 &Wetterstation.0.UV_Index=1&Wetterstation.0.Regenstatus=--&Wetterstation.0.Zeitstempel=15.04.2020 18:24:55 DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=76.3&tempf=65.5&dewptf=34.2&windchillf=65.5&indoorhumidity=36&humidity=31&windspeedmph=4.9&windgustmph=5.8&winddir=332&absbaromin=30.148&baromin=30.346&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.020&monthlyrainin=0.031&yearlyrainin=0&solarradiation=150.96&UV=1&dateutc=2020-04-15%2016:24:55&softwaretype=EasyWeatherV1.4.9&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /home/pi/Wetterstation IPP: 192.168.178.20:8087 WS_PORT: 9999 WS_POLL: 16 PRE_DP: Wetterstation.0 Script-Version: V1.2.0 Config-Version: V1.2.0 Sub-Version: V1.2.0
Habe das script und auch den Server neu gestartet und der Status sagt Folgendes:
pi@Servazamba:~ $ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-04-15 18:54:00 CEST; 3min 28s ago Main PID: 12677 (wetterstation.s) Tasks: 5 (limit: 4915) Memory: 3.1M CGroup: /system.slice/wetterstation.service ├─12677 /bin/bash /home/pi/Wetterstation/wetterstation.sh ├─14025 /bin/bash /home/pi/Wetterstation/wetterstation.sh ├─14026 timeout 38 nc -lvw 1 -p 9999 ├─14027 sed -n 1 p └─14028 nc -lvw 1 -p 9999 Apr 15 18:55:07 Servazamba wetterstation.sh[12677]: Connection from ESP-4F2AD3.fritz.box 28890 received! Apr 15 18:55:08 Servazamba wetterstation.sh[12677]: Listening on [0.0.0.0] (family 2, port 9999) Apr 15 18:55:33 Servazamba wetterstation.sh[12677]: Connection from ESP-4F2AD3.fritz.box 48113 received! Apr 15 18:55:35 Servazamba wetterstation.sh[12677]: Listening on [0.0.0.0] (family 2, port 9999) Apr 15 18:55:54 Servazamba wetterstation.sh[12677]: Connection from ESP-4F2AD3.fritz.box 31309 received! Apr 15 18:55:55 Servazamba wetterstation.sh[12677]: Listening on [0.0.0.0] (family 2, port 9999) Apr 15 18:56:26 Servazamba wetterstation.sh[12677]: Connection from ESP-4F2AD3.fritz.box 45655 received! Apr 15 18:56:27 Servazamba wetterstation.sh[12677]: Listening on [0.0.0.0] (family 2, port 9999) Apr 15 18:56:58 Servazamba wetterstation.sh[12677]: Connection from ESP-4F2AD3.fritz.box 3830 received! Apr 15 18:56:59 Servazamba wetterstation.sh[12677]: Listening on [0.0.0.0] (family 2, port 9999)
Leider kommen im Broker keine Daten an.
EDIT:
Ferflixtundzugenäht, ich muss wohl immer erstmal einen Forenbeitrag schreiben bis es läuft.
Habe nichts gemacht außer mal die Objekte Ansicht zu verlassen und wieder zurück zu kehren.
Jetzt gehts. -
@iobroker_Alex Dann funktioniert es eigentlich genau so wie es sollte: Zwei aufeinander folgende Datenpakete nicht empfangen = Zähler um eins erhöhen. Zähler größer oder gleich 5 = Kommunikationsfehler --> true
Müsstest du die Timeouts in den Griff kriegen oder den "Kommunikationsfehler" einfach ignorieren. Wichtig ist er nicht, sollten bspw. die Batterien leer sein, siehst du es auch so wenn keinerlei Daten zB auf dem Display mehr ankommen@crunchip
Ich empfehle eher mit HTML-Codes zu arbeiten, funktioniert besser (Export) als direkt mit Unicode:
Sind allerdings hier nicht "deine", ich nutze einen etwas breiteren Doppelpfeil.@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Habe nichts gemacht außer mal die Objekte Ansicht zu verlassen und wieder zurück zu kehren.
Das habe ich seit irgendeinem Update auch öfters (bei allen Objekten) und bin schon darauf reingefallen. Früher aktualisierten sich die Objekte immer, jetzt bei mir nur noch wenn der Tab im Browser auch der aktive ist
Und @ALL: ihr wolltet es ja so haben
Neue Version auf GitHub (kpl. alles tauschen)...- UV-Belastung zusätzlich als Text
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ihr wolltet es ja so haben
jetzt, wo ich grad vorhin erst aktualisiert hab aber hab ja UV schon gemappt
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
eher mit HTML-Codes zu arbeiten
ja, hab vorhin schon mal gesucht, aber nicht die passenden gefunden, wollte (Pfeil und Bogen) Pfeile, aber noch nicht für alle Richtungen gefunden
-
Guten Morgen, alles getauscht, läuft.
Aber bei mir kommt nach dem Start bei Wetter Trend "noch---Minuten"
und ca. 3-4 Minuten später steht dann wieder "dauert noch 165 Minuten"
Skript läuft nicht über Cron sondern wird gestartet mit systemctl start wetterstationIm Temp...
-
@Nashra hatte das Problem auch,
selbe mit dem Sonnenschein, funktionierte mit diesem nichtSteuern kann man das Skript dann folgendermaßen: Start: sudo systemctl start wetterstation Stop: sudo systemctl stop wetterstation Neustart (zB. bei Änderungen): sudo systemctl restart wetterstation Status: sudo systemctl status wetterstation
erst als ich vorhin den Rechner neu gestartet habe, zählten die Sonnenstunden
-
Die "Sonnenstunden-Tag" (die anderen auch, nur wäre das erst am Sonntag bzw. Monatsende aufgefallen) haben noch einen Fehler. Die werden falsch resettet und nicht korrekt gespeichert. Solange man das Skript nicht vor der ersten Messung des neuen Tages neu startet fällt es auch nicht auf.
Gefixte Version auf GitHub (sub tauschen + restart genügt)
@Nashra Da will mir nix so Recht dazu einfallen. Pauschal läuft es, und die Sonnenstunden funktionieren 1:1 nach dem selben Prinzip, und die sehen lt. deinem Screeny gut aus. Die Wetterdaten befüllt er auch, sonst wäre der letzte Wert bei dir nicht "1018".
100% ist das System so aber auch nicht. Der String mit Messwerten ist schon recht lang, Simple-API nicht sonderlich schnell und wenn man in den paar Sekunden die er alle 15 Minuten die Daten wegschreibt das Skript neu startet, sind die Daten uU tatsächlich mal weg. So viel "Glück" kannst du aber gar nicht haben, dass das bei dir dauernd der Fall wäre...
Ev. stimmt deine Systemzeit nicht (wie mir gerade beim tippen einfällt), denn die Daten dürfen nur max. 1h alt sein. Gib im Terminal mal eindate +%s
ein, kopiere die ausgegebene Zahl (bei putty genügt mit der rechten Maustaste markieren) und gib sie bei unixtime.de ein. Stimmt die?
-
Unixtime ist korrekt. Ich tausch mal eben die sub und mache einen Restart, mal sehen was passiert.
-
Dann müsste in den Wetterdaten zumindest "11 10 9 8....1018" stehen, wenn es funktioniert
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Dann müsste in den Wetterdaten zumindest "11 10 9 8....1018" stehen, wenn es funktioniert
Da steht jetzt 1 1018 1018 1017 1017 1018 1018 1017 1017 1017 1017 1017
Edit: beim Restart stand vorhin "noch 15 Minuten" und jetzt zeigt er den letzten Wert (gleichbleibend) an
-
@Nashra Ja, ne is klar, dein Screenshot war ja auch vor 5 Stunden...
Das wäre so eigentlich OK und er müsste in ~ 5 Minuten (13:45 Uhr) normal laufen.EDIT zum Edit wäre/ist dann ok. Also ev. hast du doch immer den ungünstigsten Augenblick erwischt.
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra Ja, ne is klar, dein Screenshot war ja auch vor 5 Stunden...
Das wäre so eigentlich OK und er müsste in ~ 5 Minuten (13:45 Uhr) normal laufen.EDIT zum Edit wäre/ist dann ok. Also ev. hast du doch immer den ungünstigsten Augenblick erwischt.
Das Glück habe ich fast immer bei sowas. Mal sehen was er beim nächsten Mal macht, so oft gibt es ja
keinen kompletten Neustart. -
Selbst das sollte/müsste er eigentlich können. Kritisch ist es nur zur vollen Viertelstunde um 0/15/30/45 Minuten, denn da schreibt er den Wetterdaten-String.
Aber im Grunde wenn es läuft startet man auch nicht mehr dauernd. Die Alternative wäre es lokal zu speichern, dass freut aber dann User mit SD-Karten. Oder viel mehr die Hersteller über den gestiegenen Umsatz wg. defekter SD-Karten. -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Selbst das sollte/müsste er eigentlich können. Kritisch ist es nur zur vollen Viertelstunde um 0/15/30/45 Minuten, denn da schreibt er den Wetterdaten-String.
Ok, werde ich dann mal beachten d.h. wenn ich dann daran denke
Aber im Grunde wenn es läuft startet man auch nicht mehr dauernd. Die Alternative wäre es lokal zu speichern, dass freut aber dann User mit SD-Karten. Oder viel mehr die Hersteller über den gestiegenen Umsatz wg. defekter SD-Karten.
Wie wäre es mit einem true/false in der config hierfür, nutze eine SSD
-
Sonnenstunden mal integriert, weiß aber noch nicht so recht