NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.
Nochmal wie oben, anstelle von
console.log(helper);
nun aberconsole.log(typeof(formathelp));
Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüpptMoin, Linux mit
Admin 5.2.3
JS 5.2.13
Node.js v14.18.2
NPM 6.14.15
Hosts 3.3.22javascript.0 377 2022-02-05 11:01:30.065 info Stop script script.js.Wetter.Statistik-Tabelle-LivInSky javascript.0 377 2022-02-05 11:01:25.477 error at main (script.js.Wetter.Statistik-Tabelle-LivInSky:158:3) javascript.0 377 2022-02-05 11:01:25.477 error at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:50:15) javascript.0 377 2022-02-05 11:01:25.477 error at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:819:29) javascript.0 377 2022-02-05 11:01:25.477 error at script.js.Wetter.Statistik-Tabelle-LivInSky:58:56 javascript.0 377 2022-02-05 11:01:25.477 error at JSON.parse (<anonymous>) javascript.0 377 2022-02-05 11:01:25.477 error script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12 javascript.0 377 2022-02-05 11:01:25.468 info script.js.Wetter.Statistik-Tabelle-LivInSky: registered 2 subscriptions and 1 schedule javascript.0 377 2022-02-05 11:01:25.448 info Start javascript script.js.Wetter.Statistik-Tabelle-LivInSky
Nachtrag:
habe die eckigen Klammern mal entfernt im json und das alte Skript
gestartet, Daten werden angezeigt.Nachtrag2:
ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
steht "kalte_Tage": 52, -
@nashra Hmm, ok, dann eben anders...
Neues JS, egal wo und wie es heißt mit folgendem Inhalt:
let t="0_userdata.0.Statistik.Wetter.Data.2022.01"; let wert=getState(t).val; let test=JSON.parse(wert.substring(1, wert.length-1)); console.log(typeof(t)); console.log(wert); console.log(test);
Bei #1 ggf. den Pfad anpassen, die Daten aber bitte vom Januar 2022 belassen (gerne aber auch mal mit bspw. Juni 2021 gegenchecken).
Erwarteter Output für 01.2022 wäre:string [{"Tiefstwert": ... }] {'Tiefstwert': ... }
Wichtig sind nur "string" (Juni 21 sollte hier "object" liefern), dass die eckigen Klammern entfallen und
"
durch'
ersetzt wurde.Ich kann leider bei mir nichts simulieren, denn dazu müsste ich wissen was der Fehler ist. Dann könnte ich ihn aber auch gleich beseitigen...
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
steht "kalte_Tage": 52,Ich weiß nicht wie lange schon und warum überhaupt, aber das Problem scheint älter. Da es nicht immer auftritt ist es wohl ein Timing-Problem. Teil 1 läuft noch während Teil 2 schon was von Teil 1 möchte...
Geändert habe ich es bereits, muss aber bis zum nächsten 1. warten ob es auch funktioniert. -
Also folgendes
15:44:39.706 error javascript.0 (115229) script.js.Wetter.Test: SyntaxError: Unexpected token ] in JSON at position 327 15:44:39.706 error javascript.0 (115229) at script.js.Wetter.Test:3:15 15:44:39.706 error javascript.0 (115229) at script.js.Wetter.Test:9:3
ändere ich den Pfad auf 2020.01 kommt dies
15:48:17.997 info javascript.0 (115229) Start javascript script.js.Wetter.Test 15:48:18.011 info javascript.0 (115229) script.js.Wetter.Test: string 15:48:18.011 info javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -1.77, "Hoechstwert": 12.27, "Temp_Durchschnitt": 2.95, "Max_Windboe": 40.39, "Max_Regenmenge": 22.3, "Regenmenge_Monat": 165.6, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 10, "kalte_Tage": 26, "Eistage": 0, "sehr_kalte_Tage": 0 } ] 15:48:18.011 info javascript.0 (115229) script.js.Wetter.Test: {'Tiefstwert':-1.77,'Hoechstwert':12.27,'Temp_Durchschnitt':2.95,'Max_Windboe':40.39,'Max_Regenmenge':22.3,'Regenmenge_Monat':165.6,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':10,'kalte_Tage':26,'Eistage':0,'sehr_kalte_Tage':0} 15:48:18.011 info javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
sorry aber das kapier ich nicht
-
@nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...
Kommentiere mal #3 aus (
//
voranstellen)://let test=...
Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...
Kommentiere mal #3 aus (
//
voranstellen)://let test=...
Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.
16:27:05.629 info javascript.0 (115229) Start javascript script.js.Wetter.Test 16:27:05.631 info javascript.0 (115229) script.js.Wetter.Test: string 16:27:05.631 info javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -4.77, "Hoechstwert": 14.88, "Temp_Durchschnitt": 4.58, "Max_Windboe": 38.46, "Max_Regenmenge": 12.9, "Regenmenge_Monat": 145.3, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 13, "kalte_Tage": 52, "Eistage": 0, "sehr_kalte_Tage": 0 } ] 16:27:05.632 info javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules 16:27:05.632 error javascript.0 (115229) script.js.Wetter.Test: ReferenceError: test is not defined 16:27:05.632 error javascript.0 (115229) at script.js.Wetter.Test:7:13 16:27:05.632 error javascript.0 (115229) at script.js.Wetter.Test:9:3
-
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
let test=wert.join());
16:40:20.426 info javascript.0 (115229) Start javascript script.js.Wetter.Test 16:40:20.432 error javascript.0 (115229) script.js.Wetter.Test compile failed: at script.js.Wetter.Test:3
-
@nashra Mist, eine Klammer zu viel...
let test=wert.join();
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra Mist, eine Klammer zu viel...
let test=wert.join();
16:43:33.321 info javascript.0 (115229) Start javascript script.js.Wetter.Test 16:43:33.345 info javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules 16:43:33.347 error javascript.0 (115229) script.js.Wetter.Test: TypeError: wert.join is not a function 16:43:33.347 error javascript.0 (115229) at script.js.Wetter.Test:3:15 16:43:33.347 error javascript.0 (115229) at script.js.Wetter.Test:9:3
-
@nashra Keine Ahnung was bei dir schief läuft...
Muss ich mir im stillen Kämmerlein paar Gedanken dazu machen. Melde mich dann so am 30. Februar wiederAls Q&D nimm halt aktuell die alte Version und lösche die
[]
heraus (sind ja auch wieder schnell eingefügt ). -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra Keine Ahnung was bei dir schief läuft...
Muss ich mir im stillen Kämmerlein paar Gedanken dazu machen. Melde mich dann so am 30. Februar wiederAm 31. würde mir eher passen
Als Q&D nimm halt aktuell die alte Version und lösche die
[]
heraus (sind ja auch wieder schnell eingefügt ).Ok, mache ich, Danke erstmal
-
Moin @SBorg
bei mir funktioniert auf einmal die Übertragung an Wetter.com nicht mehr.
In der conf ist die ID und Passwort eingetragen aber der DP steht auf false.
Von Hand auf true geändert aber beim nächsten aktualisieren geht er wieder auf false.
Aufgefallen ist mir dies als ich bei Wetter.com meine Station überprüfen wollte
und dort "Wetterdaten sind noch nicht vorhanden" angezeigt wurde. Wie lange
das jetzt schon so ist kann ich nicht genau sagen, aber es hatte mal funktioniert. -
@nashra +1
-
@nashra Moin, moin. So ca. 2-3 Tage. War kurz vor dem Wochenende tot. Hat wohl keiner bei denen gemerkt, und beim letzten Ausfall haben sie übers WE auch nichts gefixt. Geht vermutlich morgen dann irgendwann wieder.
Einfach abwarten und bis zum 31. Februar Tee trinken -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Einfach abwarten und bis zum 31. Februar Tee trinken
Nix Tee, lieber lecker Bierchen
-
Bierpause beendet, läuft seit ~11:30 Uhr wieder
-
@sborg verdammet! grad ein gutes flaschbier aufgemacht...
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bierpause beendet, läuft seit ~11:30 Uhr wieder
Jow
-
wetter.com ist aber mit Abstand der "unzuverlässigste" Dienst (gerade wenn es Freitags ausfällt ist es das ganze WE über tot). windy hatte IMO noch keinen Ausfall und OSeM war mal paar Stunden bisher Offline. WU und Ecowitt konnte ich bisher auch nichts negatives feststellen.
-
@sborg is mir schnubbe.
auf der startseite hab ich forecast7
auf der rollopage windy
und bei den grafana-charts ja noch das script von der wetterstation...