NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg nein, es läuft die Influx V1. Das es an der Kommunikation mit InfluxDB liegt kann ich mir nicht vorstellen, kann ich das irgendwie testen? Mal ganz blöde Frage, ich zeichne seit Januar 2021 auf und nutze auch ebenso lange das Skript. Wertet das Skript auch rückwirkend aus? Könnte ich theoretisch die Datenpunkte des Skripts löschen und bekomme dann z.B. nach Neustart und erstem Lauf die Daten von bspw. 2021 wieder?
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@negalein
Aaaaber:
Es werden nicht alle Werte im Trial übermittelt, sondern nur zufällige und die werden "leicht" geändert!@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Es werden nicht alle Werte im Trial übermittelt, sondern nur zufällige und die werden "leicht" geändert!
das ist ja kacke
Schade und dann leider dito
Ich habe gerade keine Zeit (Projekt Balkonkraftwerk ), aber mittels des API-Key vom senden passiert wohl auch nichts? -
@schittl Ich weiß nicht wie viele hier einen DP60 nutzen, habe aber noch keine "Beschwerde"/Issue vernommen. Testen kann ich leider nichts.
Was sagt denn ein Raw-Datenstring aus (Service stoppen + im Verzeichnis ein
./wetterstation.sh --data
) [ggf. Userdaten unkenntlich machen]? -
@banza sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mal ganz blöde Frage, ich zeichne seit Januar 2021 auf und nutze auch ebenso lange das Skript. Wertet das Skript auch rückwirkend aus? Könnte ich theoretisch die Datenpunkte des Skripts löschen und bekomme dann z.B. nach Neustart und erstem Lauf die Daten von bspw. 2021 wieder?
Fangen wir erst mal hinten an. Gibt keine blöde Fragen, ist aber eine "blöde" Idee
Das wird nur zur Laufzeit ermittelt: einmal gelöscht = alles weg...Wenn du in den Objekten nachschaust, hast du dann Daten per Influx in den entsprechenden Datenpunkten?
Irgendwas muss sich ja April/Mai geändert haben wenn es vorher lief. Bei mir läuft es noch + sonst hat auch keiner bisher "gemeckert", muss ergo ein lokales Problem in deiner Umgebung sein.
Du kannst auch mal schauen was Influx so bietet. Zeile ~200 - 205 ändern (ist nur der '*/' von #205 --> #200)/* Debug-Consolenausgaben */ console.log('Daten ab ' + timeConverter(start)); console.log('Daten bis ' + timeConverter(end)); console.log('Erster Messwert: ' + new Date(result.result[0][0].ts).toISOString() + ' ***' + result.result[0][0].value); console.log('Letzter Messwert: ' + new Date(result.result[0][temps.length-1].ts).toISOString() + ' ***' + result.result[0][temps.length-1].value); console.log('Anzahl Datensätze: T_' + temps.length + '|W_' + wind.length + '|R_' + regen.length);
Dann schreibt er zur Laufzeit (01:03 Uhr default) bisserl was ins ioB-Log.
-
Funktioniert dann auch soweit (URL-Encoding bereits gefixt ) :
Nebel/Tau und Reif wohl aktuell eher nicht...
-
@SBorg Ich les ja hier relativ viel mit, bin aber nicht ganz sicher, ob ich nicht doch was überlesen habe. Ich hab aktuell die Version 2.18.0 drauf und läuft super. Lediglich in den Datenpunkten habe ich Probleme mit den Umlauten z.B. "lange sch�n". Im Quelltext sieht das sauber aus. Kann/muss ich das irgendwo anpassen?
Dann versuche ich mich auch mit der REST API. Was könnte ich da zur Zeit in deinem Script sehen/testen? (Ich habs bestimmt überlesen, sorry) . -
@rene55 Erstaunlich, da aber noch keiner "gemeckert" hat, scheint es nur ein lokales Problem zu sein. Wenn du aber einen Post hoch schaust, siehst du das gleiche Problem. Dies hat aber dort mehr etwas mit dem Aufruf zu tun.
Ich bin eigentlich gegen ein rumdoktoren, sondern mehr für eine Lösung/Erkennung des Fehlers.
Q&D: du könntest das "ö" durch einen URL-Encode ersetzen, dann müsste es auch bei dir funktionieren:%C3%B6
bzgl. Rest-API: der fehlt aktuell noch das gleichzeitige schreiben mehrerer States. Deswegen noch ohne Funktion im Skript, aber bei Nutzung des Updaters werden darüber, falls nötig, automatisch neue Datenpunkte im ioB erstellt (man braucht also nicht mehr den Umweg per wetterstation.js ersetzen + ausführen ).
-
@sborg Genau, rumpfuschen will ich hier ja auch nicht, daher ist encodieren nur eine kurzfristige Lösung bis zum nächsten Update. Ich meine aber, dass in den vorigen Versionen das richtig gewesen ist. EDIT: Hab gerade nochmal die Version 2.15.0 getestet. Hier kommt ein sauberes 'Skript läuft...'
REST-API ach so, hier ist also der Updater in Aktion. Hab ich (zu meinem Leidwesen) noch nie benutzt - wo du dir doch dazu so große Mühe gegeben hast.
(PS: Welches Balkonkraftwerk bzw. Wechselrichter baust du auf?) -
@sborg in der Influx sind die Daten richtig vorhanden, mit Grafana den Zugriff getestet, da passt alles
hier der Auszug aus dem Log von heute Nacht:
was ich noch gesehen habe, die Auswertung aktueller Monat passt auch überhaupt nicht, und bei Vorjahresmonat bekomme ich auch nichts:
Ich habe vor ein paar Tagen erst auf die neueste Version des Statistik-Scripts gewechselt, vielleicht passt's ja beim nächsten Monatswechsel wieder. Die Auswertung aktueller Monat sollte aber tagesaktuell sein?
-
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
EDIT: Hab gerade nochmal die Version 2.15.0 getestet. Hier kommt ein sauberes 'Skript läuft...'
"Witzig"
Daran habe ich von 2.15.0 bis 2.18.0 nix mehr geändert. Ich habe jetzt mal versuchsweise überall ein Encoding vorgenommen. Dürfte eigentlich keine Verschlimmbesserung sein. Ändert sonst nichts, sollte dann aber immer funktionieren. Test l%C3%A4uft...
Habe lange nach bezahlbarem und lieferbarem Material gesucht. Nach 2 (!) Tagen Lieferzeit stehen seit Freitag 2x 385Wp und ein Hoymiles HM-1500 (der war lieferbar und mit 349,- € vergleichsweise günstig) da. Jetzt muss ich mich noch um die Aufständerung für die Garage kümmern und auf diverse Elektronikteile warten (Vorsicherungen, DC-Breaker, Blitzschutz), Stecker, Kappe, Buchsen, MC4, Schutzmatten, Profilschienen mit Hammerkopfschrauben/Nutensteinen/Verbinder...
-
@banza sagte in [Linux Shell-Skript] WLAN-Wetterstation:
vielleicht passt's ja beim nächsten Monatswechsel wieder.
Glaube ich leider eher nicht.
Influx:Mir sieht das fast so aus als wären deine Daten nicht im passenden Format. Deswegen auch "{ack:true}" als Wert. Auch bei deinem aktuellen Monat tut sich lt. Zeitstempel schon länger nichts mehr, 31 Frosttage wäre dann wohl Nord- oder Südpol
...wobei 31 Tage am 21. des Monats auch nicht funktioniert...Deine "Datas" sollten eigentlich so aussehen:
Einzelner Monat im Detail ( wichtig: type und role ) :
und die Daten ( wichtig sind die [] zu Beginn und Ende ) :
Da einige Werte auf vorherigen Werten aufbauen bzw. übernommen werden, kommt es da natürlich zu weiteren Fehlern wenn die "Basis" nicht stimmt.
-
@sborg danke, ein Fehler ist dann schon eingegrenzt, bei mir ist ab 2022.03
{ "common": { "name": "Monatsstatistik für März 2022", "type": "string", "role": "json" }, "native": { "name": "Monatsstatistik für März 2022", "type": "string", "role": "json"
Jetzt ist die Frage, wie kann ich das für die nächsten Monate wieder richtig machen
edit: habe noch was gefunden, in einem alten Statistik-Skript (1.0.0) gibt es diese Zeile:
createState(PRE_DP+monatsdatenpunkt,'',{ name: "Monatsstatistik für "+monatsname[datum.getMonth()]+' '+datum.getFullYear(), **type: "object", role: "json"** }, () => { setState(PRE_DP+monatsdatenpunkt, json, true); });
in 1.2.0 heißt sie dann so:
createState(PRE_DP+monatsdatenpunkt,'',{ name: "Monatsstatistik für "+monatsname[datum.getMonth()]+' '+datum.getFullYear(), **type: "string", role: "json"** }, () => { setState(PRE_DP+monatsdatenpunkt, JSON.stringify(jsonSummary), true); });
-
@sborg Mach dir mal keine Gedanken um die Umlaute - solange nur ich das Phänomen habe. [Und Danke für die ZusatzInfo. Ich war nur Neugierig nach dem Wechselrichter, da gibt es bestimmt was zur Kopplung in den ioB.]
-
@banza nicht böse sein, aber kannst du die dinger in packen?
z.b.{ "common": { "name": "Monatsstatistik für März 2022", "type": "string", "role": "json" }, "native": { "name": "Monatsstatistik für März 2022", "type": "string", "role": "json"
ist leserlicher...
-
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mach dir mal keine Gedanken um die Umlaute - solange nur ich das Phänomen habe.
Habe ich aber
Das Encoding ist prinzipiell eh besser, dann läuft es überall. Test war erfolgreich, kommt dann ins 18er Release.
Für den Hoymiles gibt es Ahoy - ein Projekt aus dem MC-Forum. Da wird mittels eines ESPs und einem 2.4GHz-Modul der WR direkt ausgelesen + per MQTT an den ioB geschickt, Man kann sogar die ersten Einstellungen im WR vornehmen. Für ~5,- € kein Cloudzwang oä. -- nehme ich
-
@banza "Richtig" ist wie auf meinen Pics und das wird auch so vom Skript angelegt, In diesem Format werden aber auch die alten Daten gelesen.
Ich vermute mal, dass ich weiß was da im April schief lief. Nicht falsch verstehen, dass ist kein Vorwurf oder dergleichen, nur der Versuch zu erklären was passiert ist. Wenn es ein simpler Anwenderfehler war, kann jedem passieren und alles gut. Aber es könnte ja auch ein Fehler im Skript oder sonst was sein. Also bitte nicht persönlich nehmen
Kann es sein, dass du im April einfach "nur" die Version des Skriptes ausgetauscht hast ohne hier im Thread die Informationen zur Veröffentlichung diesbzgl. gelesen zu haben? Das würde nämlich dann deine(n) Fehler erklären.
Der Unterschied ist relativ simpel. Vorher wurde in einem "falschen" Format gespeichert und der JSC war dahingehend tolerant. Ist/wäre er heute auch noch, nur wie lange halt noch...? Deswegen habe ich (Stichwort Anpassung JSC 3.x im Versionstext) das Format so angepasst wie es richtig ist. Das Stand in der Ankündigung zu der neuen Version, auch wie man seine paar Monatsdaten von 2020 bis 04.2022 dafür anzupassen hat.
Wenn du also nur das Skript getauscht hast ohne die Anpassungen an den alten Datensätzen vorzunehmen, würde das alles erklärenDie korrekte Form (und so von der 1.2.0 erzeugt) ist :
und eben [] zu Beginn/Ende der Daten.
Ich habe es zwar nicht getestet, aber vermutlich steigt er wg. des falschen Formates bei dir am Monatsersten schon aus, bevor er die Daten des aktuellen Monates resettet. Zumindest wäre das seitens der Programmierreihen-/Ablauffolge so.
-
@sborg oha, danke, ich glaube, damit kannst du ganz gut recht haben. Anpassungen habe ich keine gemacht, ich habe im Github das neue Skript gesehen und kopiert, das war aber schon im Oktober, V1.0. Im April kam dann vermutlich V1.1.
Jetzt nur noch eine letzte Verständnisfrage, im Oktober hast du geschrieben, die Objektdaten müssten so geändert werden:
In der Antwort auf meine Frage dann so
Ich habe gesehen, dass bei mir von 01/2021 bis 09/2021 die Daten mit type=string waren, von 10/2021 bis 03/2022 dann mit type=object und ab 05/2022 wieder mit type=string.
Was ist die richtige Version? -
@banza Der Unterschied zwischen den beiden Versionen liegt einfach am Zeitpunkt (wie du weiter unten schon selbst festgestellt hast). Die 2021er (+ paar 2022er) können "Object" sein, da kommt es auf die entsprechend benutzte Scriptversion an.
Da gab es anfänglich etwas Konfusion zum neuen JSC 3.x wie das auszusehen hat, deswegen gab/gibt es da etliche verschiedene Ausführungen. Dass ich das Ganze auch nur Hobby mäßig mache, tat noch ein übriges dazu. Nicht immer weiß ich zu 100% was ich in Javascript tue...Tatsache ist aber, dass es "String" sein sollte ("Object" ist zwar in dem Falle eigentlich falsch, funktioniert aber [noch]).
Allerdings müssen alle Daten in ein "Object" konvertiert sein (macht das Script) und dementsprechend auch so gespeichert werden (das sind die "[ ]" am Anfang/Ende des JSON-Strings). -
Da keine offensichtlichen Fehler aufgetreten sind:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.18.0
- + Höhe der Wolkenbasis
- + Windrichtung der letzten 10 Minuten als Text
- + Unterstützung für DP10/WN35 Blattfeuchte-Sensor
- + Ausgabe der Skriptversion in Datenpunkt beim Start
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- aktuellen WS-Updater nutzen (Download falls älter als V2.12.1:
wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
) ./ws_updater.sh
im Installationsverzeichnis ausführen- Menüpunkt "4" wählen und die Fragen beantworten
- wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neue Datenpunkte .Info.Wolkenbasis, .Info.Shellscriptversion und .Windrichtung_Text_10min); bei aktivierter Rest-API wird der Datenpunkt automatisch im ioB angelegt
Update kann durchgeführt werden.
Die Release-Version ist mit dem letzten Beta-Release identisch! (Falls nicht sicher ob wirklich die letzte Version benutzt wird, sicherheitshalber bitte die ".sh" und ".sub" austauschen und den Service restarten.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mach dir mal keine Gedanken um die Umlaute - solange nur ich das Phänomen habe.
Habe ich aber
Das Encoding ist prinzipiell eh besser, dann läuft es überall. Test war erfolgreich, kommt dann ins 18er Release.Ich weiß, du hast es nicht eilig, aber ich habe das Encoding aus Versehen in die kommende 19er Version eingebaut
Die schiebe ich aber heute oder morgen als Beta nach, da es noch an den 850hpa-Werten hängt und es eh aktuell nicht weiter geht.