NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@negalein Danke
Die 250 Öcker müsste aber jeder abdrücken...Wenn sich paar zuverlässige Enthusiasten finden, könnte man auch über eine Mini-Datenbank nachdenken. Man lädt sich die Karte vom nächsten Tag herunter, findet die Temperatur für die Region/Land und den entsprechenden dam-Wert (was ich so gesehen habe ist der in Europa gleich) und ruft dann eine URL mit den beiden Werten auf: http://muster.de/wetter.php&id=123456&temp=14&dam=155®ion=xxxxxx
ID: damit nicht jeder x-beliebige Scherzbold Daten schicken kann...
Bei den Mitternachtjobs/start des Skriptes wird die abgefragt und dann die Berechnungen durchgeführt.Problem dabei: schwach anfangen, und dann gaaannz stark nachlassen...
Erst jeder jaja, und dann nach paar Monaten ist kaum noch einer dabei. -
-
@sborg
Ja das funktioniert ohne "&ack=true". Danke.Was mir noch aufgefallen ist. Beim DP60 erscheinen direkt in Ecowitt andere Werte wie in ioBroker. Kann es sein das, dass das Protokoll beim "Other Server" falsche Werte liefert? Ecowitt habe ich ja eingestellt. Wie stellt sich das Problem dar:
Bei Ecowitt habe ich einen Alert definiert, wo ich auch informiert werde bei einem Gewitter. Im Protokoll steht aber im Debug immer ein uraltes Datum.
Ist das vllt schon bekannt? Ich nutze einen DP1500 mit V1.7.5. In WS View + Ecowitt Website steht 08/15/2022. Der Timestamp beim Debug sagt aber nur 20.05.2022.
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bei windy.com ist es billiger und da bekommste viele Parameter
das wäre doch was. Gratis noch dazu.
Mit 500 Requests/Tag kommt jeder locker in der Trial aus. -
@negalein
Aaaaber:
Es werden nicht alle Werte im Trial übermittelt, sondern nur zufällige und die werden "leicht" geändert! -
@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
-
@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...