NEWS
Fehler im script nach Update Adapter
-
Hi,
habe dein neues Script implementiert. Leider klappt es aber nicht so richtig (kosmetisch)
So sahen Meldungen aus als ich den kleinen error im Log hatte:
Amtliche WARNUNG vor GLÄTTE gültig vom 21.02.2020 00:08 Uhr bis 21.02.2020 08:00 Uhr Es muss oberhalb 400 m mit Glätte durch verbreitet überfrierende Nässe sowie geringfügigen Schneefall gerechnet werden.So wenn die Meldung aufgehoben wurde:
Die Wetterwarnung 'Amtliche WARNUNG vor STURMBÖEN gültig bis 21.02.2020 00:00' des DWD wurde aufgehobenNach ändern deiner ersten Anweisung dann so:
Die Wetterwarnung 'undefined gültig bis undefined' des DWD wurde aufgehobenJetzt mit dem neuen Script und der aktuellen DWD Adapter version in der auch etwas mit Zeit geändert wurde kommt jetzt das als Nachricht und auch als Ansage:
Amtliche WARNUNG vor WINDBÖEN gültig vom Tue Feb 25 2020 10:00:00 GMT+0100 (GMT+01:00) Uhr bis Tue Feb 25 2020 19:00:00 GMT+0100 (GMT+01:00) Uhr Es treten Windböen mit Geschwindigkeiten zwischen 50 km/h (14m/s, 28kn, Bft 7) und 60 km/h (17m/s, 33kn, Bft 7) aus südwestlicher Richtung auf.Hierbei ist das "GMT...." gelaber sehr unschön.
Kann man das irgendwie weg bekommen?
@wendy2702
Jo, heute abend ändere ich das. :) -
@wendy2702 nachdem ich im sayit die Sprache auf AWS Polly gestellt habe, kam nun auch eine Ansage
-
Bestellte Änderungen eingefügt. :)
Hab die Pushdiensteinstellung geändert sollte selbst erklärend sein.
Die Formatierung von Datum/Zeit ist oben im Script und kann angepasst werden.EDIT: die Pusheinstellungen hab ich geändert, weil mir die Fehlermeldungen wegen fehlendem SayIt auf den Keks gingen :)
-
@wendy2702
Ich sehe gerade das ich Home24 und SayIt in einen Topf geworfen habe. Man kann nur beides aktivieren oder deaktivieren. Macht das was? -
@wendy2702
Meinst du damit generell keine Ansage oder nur wenn alle Aufgehoben wurden? Ich erweitere das um Alexa und teste es/benutze es. -
Wenn ich das mal mit meine Telegramm Nachrichten vergleiche ist es etwas merkwürdig:
Gestern diese Warnungen bekommen und eine das Aufgehoben wurde:

Heute dann das:



Die Meldung Aufgehoben ist immer gleich, ohne Ansage und ohne das dazwischen eine neue Meldung kam.
-
Wenn ich das mal mit meine Telegramm Nachrichten vergleiche ist es etwas merkwürdig:
Gestern diese Warnungen bekommen und eine das Aufgehoben wurde:

Heute dann das:



Die Meldung Aufgehoben ist immer gleich, ohne Ansage und ohne das dazwischen eine neue Meldung kam.
@wendy2702
Das ist sehr merkwürdig. Ich sehe im Script keinen Grund für dieses Verhalten. Ich aktivere das mal bei mir und beobachte es. Wobei mein Neustart morgens um 5 sich aktuell nicht mit dem Skript verträgt. -
Ich habe aber auch um 18:20Uhr eine Warnmeldung bekommen, allerdings keine Ansage und keine Telegram Nachricht.

Machen Vielleicht die Zeitstempel ein Problem?
@wendy2702
Ne, ich hole die Information jetzt aus .object. Hab aber nichts an der Verwaltung dieser Daten geändert. Ich schaue später mal richtig rein. -
Gerade kommt eine Änderung der Warnungen: Sieht in den Objekten jetzt so aus:

In Telegram so:

Im Log das:
javascript.0 2020-02-26 20:00:09.030 error (25370) at Timer.processTimers (timers.js:223:10) javascript.0 2020-02-26 20:00:09.030 error (25370) at listOnTimeout (timers.js:263:5) javascript.0 2020-02-26 20:00:09.030 error (25370) at tryOnTimeout (timers.js:300:5) javascript.0 2020-02-26 20:00:09.030 error (25370) at ontimeout (timers.js:438:13) javascript.0 2020-02-26 20:00:09.030 error (25370) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2076:34) javascript.0 2020-02-26 20:00:09.030 error (25370) at Object.check (script.js.common.Ansagen.Ansage_Telegramm_DWD_5_Warnungen:199:25) javascript.0 2020-02-26 20:00:09.030 error (25370) Error in callback: ReferenceError: EMAiL is not definedVielleicht liegt es der nicht definierten Mail ?
-
Gerade kommt eine Änderung der Warnungen: Sieht in den Objekten jetzt so aus:

In Telegram so:

Im Log das:
javascript.0 2020-02-26 20:00:09.030 error (25370) at Timer.processTimers (timers.js:223:10) javascript.0 2020-02-26 20:00:09.030 error (25370) at listOnTimeout (timers.js:263:5) javascript.0 2020-02-26 20:00:09.030 error (25370) at tryOnTimeout (timers.js:300:5) javascript.0 2020-02-26 20:00:09.030 error (25370) at ontimeout (timers.js:438:13) javascript.0 2020-02-26 20:00:09.030 error (25370) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2076:34) javascript.0 2020-02-26 20:00:09.030 error (25370) at Object.check (script.js.common.Ansagen.Ansage_Telegramm_DWD_5_Warnungen:199:25) javascript.0 2020-02-26 20:00:09.030 error (25370) Error in callback: ReferenceError: EMAiL is not definedVielleicht liegt es der nicht definierten Mail ?
-
@wendy2702
Ich hab bei mir noch eine neustart sichere Version laufen, die stelle ich, wenn sie bis morgen abend sauber läuft, online. -
@wendy2702
Hatte heute morgen noch einen Fehler, aber seit dem läufts. -
@wendy2702
Hatte heute morgen noch einen Fehler, aber seit dem läufts.Denke jetzt ist alles ok:
EDIT: nö war noch was V9 ist aktuellÄnderungen ab dem ersten Posting:
- Alexa hinzugefügt
- Email hinzugefügt
- Sprachausgabe Datum geändert auf Tag, Monatsname, Stunde, Minute
- Filter für maximale Höhe
- Filter für minimales Gefahrenlevel
- Konfigurationsumgestaltung
- Daten werden aus Json (.object) gewonnen und nicht über die einzelnen States
- Startzeit für Sprachausgabe Normal + Wochenende in den Konfigurationsabschnitt verlegt.
Fehlerbehebung:
- Ausgelassene Nachrichten (telegram)
- undefinied in Zeitanzeigen (telegram)
- alle unnützen Timeouts rausgeworfen
- der Fehler der im ersten Post genannt wurde
- nach einem Restart wird erkannt ob Warnungen aufgehoben wurden.
- V8 request definition ist nicht mehr nötig
- V8 nach einem Restart wurden aufgehoben Nachrichten für gefilterte Warnungen ausgegeben
- V8 Zeileneinsprung korrigiert (kosmetisch Code)
- V9 Alle Warnungen aufgehoben wurde versendet, wenn der erste Eintrag gefiltert wurde.
- V9 von/bis Zeiten für Sprachausgabe so gestaltet, dass ich es nachvollziehen kann.
Bekannte Fehler:
- wenn während einem Restart neue Warnungen veröffentlicht werden, werden diese mal ausgegeben und mal nicht. Oder Präziser: Wenn der DWD nach einem Neustart aktualisiert bevor das Script initialisiert wurde, werden die Warnungen als "alte" Warnungen erkannt und ignoriert.
ToDo:
- Handlungsanweisungen ausgeben, wenn verfügbar.
- States auf Existenz überprüfen
Das war das Hinzufügen von ()0=> hätte besser function(){} empfohlen. Aber jetzt hab ich ein nettes Skript das auch ich nützlich finde :)
Kann aber noch immer Fehler enthalten, hab vorhin gesehen das mein DWD Adapter spinntAdapter neuinstalliert