NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra
ich denke der Fehler liegt beischedule('0 0 * * *', Werte_Reset);
müsste
schedule('0 0 * * *', Werte_Reset()); oder schedule('0 0 * * *', function(){Werte_Reset();});
schau mal hier wegen der Einstellung des schedule
also beim ersten kommt
javascript.0 (878) script.js.Wetter.Temp-Min-Max: schedule callback missing
beim zweiten wird nicht gemoppert, mal sehen was morgen im Protokoll steht
-
@Boronsbruder, Fehler war heute Morgen wieder aber nicht schlimm, Script deaktiviert
da ich den Tip von @SBorg jetzt genommen habe.@SBorg, läuft jetzt. Was ich aber nicht ganz verstehe ist das die max. Temperatur von der
tatsächlichen Temperatur um ca. 6 °C abweicht. Berechnest Du das aus den letzten 24 Stunden?
Dann würde dies bei mir, da es ja um den heutigen Tag geht, nicht passen sage ich jetzt mal.
Oder habe ich alter Sack hier einen Gedankenfehler -
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Fehler war heute Morgen wieder aber nicht schlimm, Script deaktiviert
da ich den Tip von @SBorg jetzt genommen habe.Der wird auch bleiben
2021-08-24 01:03:00.772 - error: javascript.0 (878) script.js.Wetter.Statistik-Wetterstation: error: TypeError: Cannot read property '0' of null
Man beachte die Uhrzeit (1:03 Uhr) und script.js.Wetter.Statistik-Wetterstation ...
Das kommt vom Statistik-Skript, nicht von dem Min-/Max-Temp Skript@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Berechnest Du das aus den letzten 24 Stunden
Jepp, siehe Bezeichnung ...der letzten 24h...
Einen "echten" Tageswert habe ich bis dato nicht drin, da dass wieder Auslegungssache ist. Im Grunde kann es einen Max-/Minwert erst ab 0:00 Uhr des Folgetages geben, denn ab da liegen auch erst alle Messwerte des (nun vergangenen) Tages vor. Korrekt müsste es dann bspw. "bisheriger Max/Minwert" oä. lauten. Es kann ja bspw. um 23:55 Uhr ein neuer Tiefstwert erreicht werden. Ist zwar dann nur noch 5 Minuten gültig, aber eben ein neuer Tiefstwert für den aktuellen Tag.
Da das aber nichts desto Trotz zwei simple Datenbankabfragen sind (im Gegensatz zu dem JS mit dauerndem Triggern und Vergleich der aktuellen mit gespeicherten Werten), kann ich dir/euch aber die zwei Werte recht einfach liefern (zB. bei den 15-Minuten Jobs) -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Fehler war heute Morgen wieder aber nicht schlimm, Script deaktiviert
da ich den Tip von @SBorg jetzt genommen habe.Der wird auch bleiben
Nix da, Fehler muß weg
2021-08-24 01:03:00.772 - error: javascript.0 (878) script.js.Wetter.Statistik-Wetterstation: error: TypeError: Cannot read property '0' of null
Man beachte die Uhrzeit (%(#ff0000)[1:03 Uhr]) und script.js.%(#ff0000)[Wetter.Statistik-Wetterstation] ... Das kommt vom Statistik-Skript, nicht von dem Min-/Max-Temp Skript ;)
Jow du hast recht. Da schaut man 100mal drauf und überliest es trotzdem weil man sich an
anderer Stelle festgebissen hat
Und was sehe ich, das Script ist auch noch von dir. Ne ne mein Freund so geht das aber nicht@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Berechnest Du das aus den letzten 24 Stunden
Jepp, siehe Bezeichnung ...der letzten 24h...
Einen "echten" Tageswert habe ich bis dato nicht drin, da dass wieder Auslegungssache ist. Im Grunde kann es einen Max-/Minwert erst ab 0:00 Uhr des Folgetages geben, denn ab da liegen auch erst alle Messwerte des (nun vergangenen) Tages vor. Korrekt müsste es dann bspw. "bisheriger Max/Minwert" oä. lauten. Es kann ja bspw. um 23:55 Uhr ein neuer Tiefstwert erreicht werden. Ist zwar dann nur noch 5 Minuten gültig, aber eben ein neuer Tiefstwert für den aktuellen Tag.
Da das aber nichts desto Trotz zwei simple Datenbankabfragen sind (im Gegensatz zu dem JS mit dauerndem Triggern und Vergleich der aktuellen mit gespeicherten Werten), kann ich dir/euch aber die zwei Werte recht einfach liefern (zB. bei den 15-Minuten Jobs)Ja, das wäre klasse wenn Du dies machen würdest. Bisheriger Max/Min wäre für mich sinnvoller
wobei die Zwei letzten 24h Min/max natürlich auch gebraucht werden, die kommen dann in den
VIS-Bereich von gestern. -
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Und was sehe ich, das Script ist auch noch von dir. Ne ne mein Freund so geht das aber nicht
...
Ja, das wäre klasse wenn Du dies machen würdest.Nach dieser infamen Diskriminierung meinerseits: nö, keine Lust...
...aber im Alter wird man ja bekanntlich nicht nur weise...
und lt. Grafana
ich lade es relativ zeitnah auf GitHub als V2.9.0, allerdings ohne große Beta-Release Ankündigung.
Den Statistik-Fehler habe ich auf der toDo-Liste, allerdings mit geringer Prio, da nur 1x täglich und ohne sonstige Auswirkungen (aktuell auch keine Idee was er da nicht lesen kann...)
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nach dieser infamen Diskriminierung meinerseits: nö, keine Lust...
...aber im Alter wird man ja bekanntlich nicht nur weise...
Du sagst es
und lt. Grafana
ich lade es relativ zeitnah auf GitHub als V2.9.0, allerdings ohne große Beta-Release Ankündigung.Das ging aber schnell, ich verbeuge mich Sir @SBorg
Den Statistik-Fehler habe ich auf der toDo-Liste, allerdings mit geringer Prio, da nur 1x täglich und ohne sonstige Auswirkungen (aktuell auch keine Idee was er da nicht lesen kann...)
Kein Problem
-
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das ging aber schnell, ich verbeuge mich Sir @SBorg
Ist halt eine "simple" Datenbankabfrage, mehr nicht. Deswegen lässt sich es auch einfach und zügig umsetzen.
Ist auf GitHub --> sh + sub ersetzen, js ebenfalls und einmalig ausführen wg. neuer Datenpunkte, Service neu starten.
conf + updater bleiben aktuell gleichSo richtig testen konnte ich es nicht, da heute der Höchst- u. Tiefswert bei mir war, somit sind die Werte von "Heute" mit denen "der letzten 24h" identisch
Aber die Abfrage läuft von "heute 0:00 Uhr" bis "jetzt", sollte also eigentlich funktionieren -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das ging aber schnell, ich verbeuge mich Sir @SBorg
Ist halt eine "simple" Datenbankabfrage, mehr nicht. Deswegen lässt sich es auch einfach und zügig umsetzen.
Egal, manch einer braucht für sowas 2 Wochen
Ist auf GitHub --> sh + sub ersetzen, js ebenfalls und einmalig ausführen wg. neuer Datenpunkte, Service neu starten.
conf + updater bleiben aktuell gleichHatte ich sofort gemacht
So richtig testen konnte ich es nicht, da heute der Höchst- u. Tiefswert bei mir war, somit sind die Werte von "Heute" mit denen "der letzten 24h" identisch
Aber die Abfrage läuft von "heute 0:00 Uhr" bis "jetzt", sollte also eigentlich funktionierenWarten wir mal bis morgen Abend oder Übermorgen, dann sieht man ja ob es richtig läuft
Danke @SBorg -
Sieht IMHO gut aus:
btw: Hätte man mich aktuell gefragt, wäre ich davon ausgegangen, dass es genau vor einem Jahr deutlich wärmer war. So kann man sich irren
-
Moin, bei mir jetzt auch
-
-
Ich habe noch eine Änderung vorgenommen (noch nicht auf GitHub), aber heute Nacht verpeilt den Erfolg oder Misserfolg zu kontrollieren.
Unter Umständen kann es eine ganze Zeit nach Mitternacht dauern bis Werte angezeigt werden. "Null" ist nicht das gewünschte Ergebnis. Mit der Änderung wird (oder sollte) solange Influx nichts liefert (zB. Werte stehen noch im RAM und sind noch nicht geschrieben) die aktuelle Aussentemperatur als Min/Max angezeigt werden.Bei nur einem Messwert, bzw. bis sich auch mal der Wert ändert, ist Min/Max (und Avg) sowieso gleich. Erst mit der 1. Wertänderung gibt es ein "echtes" Min/Max/Avg wenn ihr wisst was ich meine.
...und nochmals: wenn was fehlt, einfach nachfragen. Mehr als "Nein" kann ja nicht passieren
Entweder aus technischer Sicht, Aufwand oder Sinnlosigkeit ich wüsste gerne ob vor 200 Tagen um 0:23 Uhr die Sonne schien... (würde mit 0% Wahrscheinlichkeit umgesetzt werden)
Ich kann halt nur nicht immer "wann" und "ob" versprechen -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Entweder aus technischer Sicht, Aufwand oder Sinnlosigkeit ich wüsste gerne ob vor 200 Tagen um 0:23 Uhr die Sonne schien... (würde mit 0% Wahrscheinlichkeit umgesetzt werden)Ok, dann nehmen wir 199 Tage
Sorry, konnte ich mir jetzt nicht verkneifen
Und Danke nochmal für die tolle Arbeit und deinen Support -
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Sorry, konnte ich mir jetzt nicht verkneifen
Och bisserl Spaß muss auch sein...
if $Anfrage and $User == "Nashra" then delete $Anfrage
happens -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Sorry, konnte ich mir jetzt nicht verkneifen
Och bisserl Spaß muss auch sein...
if $Anfrage and $User == "Nashra" then delete $Anfrage
happens -
@SBorg - Moin. Ich versuche jetzt auf influx2 zu migrieren und habe ein Problem an dem du nicht ganz unschuldig bist!
Ich habe die meine Daten aus v1 mit:
influx_inspect export \ -database <database-name> \ -out <output-file-path> \ -lponly
exportiert um sie dann mir:
influx write \ --bucket <bucket-name> \ --file <path-to-line-protocol-file>
in der v2 zu importieren. (siehe: https://docs.influxdata.com/influxdb/v2.0/upgrade/v1-to-v2/manual-upgrade/#migrate-time-series-data )
jetzt bekomme ich eine Meldung:
Error: Failed to write data: unable to parse 'javascript.0.Wetterstation.Wetter_aktuell value="stürmisch, Regen': unbalanced quotes.
Ein Blick in die Datei verrät gleich:
javascript.0.Wetterstation.Wetter_aktuell value="stürmisch, Regen " 1609109126391000000
dass am Ende des Strings ein Zeilenumbruch erstellt wird. Bei Zeilen mit nur einem Wort als String stört ihn das aber gar nicht. d.h. diese Zeile ist ok.
javascript.0.Wetterstation.Wetter_aktuell value="regnerisch " 1609075829705000000
Die erste Bitte ist, ob du es prüfen könntest und ggf. mit tr den unnötigen Zeilenwechsel entfernen.
Die zweite ist: mir bei dem sed Befehl helfen, bei dem das \n am Ende einer Zeile entfernt wird, aber nur wenn die Zeile mit einem Buchstaben endet.Das habe ich mit:
#!/bin/bash while read LINE do if [[ $(echo $LINE| grep -Po '.(?=.{0}$)') =~ [a-z] ]]; then echo $LINE | tr -d '\n' else echo $LINE fi done < $1
Danke und Gruß,
a200.ps. ich hoffe, dass der Bezug zu deinem Skript ausreichend ist.
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
und habe ein Problem an dem du nicht ganz unschuldig bist!
Nur im Sinne von "ohne Skript gäbe es das Problem nicht"
Es ist kein direkter Fehler vom Skript/mir, so richtig erklären warum kann ich es auch nicht. Die Routine ist immer dieselbe, nur der Text ändert sich halt:
Zuerst in Anführungszeichen wie er es per Fehler an meckert: geht nicht...
noch --- Minuten geht, warum aber, ist auch nur Text aus mehreren Worten...
dauert noch xx Minuten geht wieder nicht...
lange schön geht auch nicht, könnte aber an Umlauten liegen, wobei die anderen hatten keine drin + ging auch nicht...
gleichbleibend ein Wort + ohne Umlaute, geht aber auch nicht...
...und warum zum Teufel geht dann dauert max. 1 Minute wieder?
Es folgen Versuche mit "Ticks". Die funktionieren jetzt zwar, stehen dann aber mit im Datenpunkt drinunflätiger KraftausdruckIrgendwie kriegt der Simple-API - Adapter da was in den falschen Hals und interpretiert, warum und wann auch immer, die Tab-Stops des Shell-Skriptes (es sind keinerlei Steuerzeichen innerhalb der Werte vorhanden!) als CR. Das wieso mal oder mal nicht... Keine Ahnung, die Lösung ist aber zumindest einfach (für die V2.9.0 zukünftig dann geändert):
Suche in der sub bei ~#433 nach#build Data-String IOB_WDATA=$(cat <<-EOD ${DP_WETTER_TREND}=${WETTER_TREND} &${DP_DRUCK_TENDENZ}=${PNOW} &${DP_WETTER_AKTUELL}=${WETTER_AKTUELL} &${DP_WETTERDATA}=${DRUCKWERTE[*]} EOD )
und entferne die Tab-Stops (wichtig: EOD und ) müssen weiterhin mit einem Tab-Stop eingerückt bleiben):
#build Data-String IOB_WDATA=$(cat <<-EOD ${DP_WETTER_TREND}=${WETTER_TREND}&${DP_DRUCK_TENDENZ}=${PNOW}&${DP_WETTER_AKTUELL}=${WETTER_AKTUELL}&${DP_WETTERDATA}=${DRUCKWERTE[*]} EOD )
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ps. ich hoffe, dass der Bezug zu deinem Skript ausreichend ist.
Passt doch, und wenn nicht ist es auch nicht weiter tragisch
-
Hey, was ich die Tage vergessen hatte zu erwähnen....
Bei Temperatur_Jahresdurchschnitt_max/min kommt bei mir nichts
-
@nashra bei mir schon...