NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
@ticaki
Ja klar, deins war ja die Vorlage.
Ich hab das umwandeln in ein Object vor dem schreiben rausgenommen. Denke das wird etwas RAM sparen und performanter sein.
Dann schreibe ich nur in die Datenpunkte, bei einer tatsächlichen Änderung. Das müsste IO einsparen, was bei speicherkarten nicht dumm ist. -
@megawaldi
Gute Idee, werde es mir nächstes Wochenende ansehen. Hab dieses keine Zeit.EDIT: Hab ich die Erlaubnis das in mein großes Skript einzubauen?
-
@ticaki
Klar. Gib dann mal ne Rückmeldung -
@megawaldi
Edit gelesen? -
@ticaki
Klar mach nur, ein großes Script das alles macht hab ich mir auch schon überlegt. Würde auch das mit den doppelten Datenpunkten in den einzelnen Scripten und dann nochmal in deinem Script lösen.
War mir nur zu stressig das selber umzusetzen -
Hab an dem DWD Standalone Skript etwas gewerkelt, könnt ihr ja mal testen. Die Warnungen beim Erstellen der States werde ich wohl auch noch verstehen und demnächst beheben können.
EDIT war noch ein Fehler drin, hab ihn ohne Anmerkung behoben
-
Hallo,
ich hab die Serveranfragen an DWD und UWZ ins Skript integriert. Der DWD schein soweit gut zu laufen, UWZ hab ich leider keine Warnungen zu. So das ich nicht weiß, ob da nicht noch ein paar Fehler drin sind. Falls es jemand testen will, findet man es hier.
Neue Konfigurationsmöglichkeiten:
// Standalone Datenquelle /* nur Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */ var dwdWarncellId = ''; // Deaktivieren mit '' var dwdBundesland = ''; // 3 Buchstaben // UWZ - Landeskennung - Postleitzahl UWZDE12345 var uwzWarncellId = ''; // Deaktivieren mit ''
Wenn WarncellID nicht '' ist wird die entsprechende interne Abfrage aktivert und z.B. dwd.0 nicht mehr beobachtet.
- Kein Netzwerk geht schon mal... dämlicher router
EDIT:
Version Alpha 2
- Standalone hatte keinen automatischen Nachrichtenversand
- UWZ: die Aktivierung des standalone Parts hat die andere Methode nicht deaktiviert.
- Log ergänzt
EDIT2:
hab gerade async await kapiert, muß das Skript noch darauf überprüfen. -
Hallo,
Alpha 3 ist online neue Funktionen:
- Eine zusätzliche Datenquelle für DWD so das Warnungen für die Gemeinde und nicht mehr für den ganzen Landkreis abgefragt werden können.
- Der Modus ist automatisch. man muß die Warncell nachschlagen und das Skript sucht in beiden Datenquellen nach der ID. Bei Fund schaltet es die andere Datenquelle ab.
- bei Gemeinden funktionieren die Alert States noch nicht und Höhenangaben habe natürlich keine Auswirkungen mehr. Gibt nicht viele Gemeinden die ihre Höhe ändern
Warncell-ID kann hier nachgeschlagen werden: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Alpha 3 ist online neue Funktionen:
23:14:50.964 info javascript.0 (7748) Stop script script.js.Sigi.UWZ_DWD_NINA9 23:14:51.089 info javascript.0 (7748) Start javascript script.js.Sigi.UWZ_DWD_NINA9 23:14:51.096 info javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: registered 0 subscriptions and 0 schedules 23:14:51.097 error javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: ReferenceError: DWD2 is not defined 23:14:51.097 error javascript.0 (7748) at script.js.Sigi.UWZ_DWD_NINA9:418:24 23:14:51.097 error javascript.0 (7748) at script.js.Sigi.UWZ_DWD_NINA9:2845:3
-
Recht hast du:
in zeile 116 muß
const DWD2 = 8; // only for request
eingefügt werden, das sieht dann so aus:
const DWD = 1; const UWZ = 2; const NINA = 4; const DWD2 = 8; // only for request
hatte ich vergessen.
-
Sieht schon besser aus.
javascript.0 2021-11-05 23:35:59.418 info script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule javascript.0 2021-11-05 23:35:59.136 info script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST javascript.0 2021-11-05 23:35:59.073 info script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:8153.694522928418 javascript.0 2021-11-05 23:35:59.069 info Start javascript script.js.Sigi.UWZ_DWD_NINA9 javascript.0 2021-11-05 23:35:58.513 info script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:7213.070693352865 javascript.0 2021-11-05 23:35:58.513 info Stop script script.js.Sigi.UWZ_DWD_NINA9 javascript.0 2021-11-05 23:35:58.423 info script.js.Sigi.UWZ_DWD_NINA9: Neustart durch Skripts wird ausgeführt! javascript.0 2021-11-05 23:35:58.134 info script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule javascript.0 2021-11-05 23:35:57.840 info script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST javascript.0 2021-11-05 23:35:57.677 info script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:7213.070693352865 javascript.0 2021-11-05 23:35:57.669 info Start javascript script.js.Sigi.UWZ_DWD_NINA9 javascript.0 2021-11-05 23:35:55.671 info script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:4056.6884127745693 javascript.0 2021-11-05 23:35:55.670 info Stop script script.js.Sigi.UWZ_DWD_NINA9 javascript.0 2021-11-05 23:35:55.313 warn at processImmediate (internal/timers.js:463:21) javascript.0 2021-11-05 23:35:55.313 warn at Immediate._onImmediate (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1967:33) javascript.0 2021-11-05 23:35:55.312 warn State "javascript.0.wetterwarnung.data.uwz.warning4.object" not found javascript.0 2021-11-05 23:35:55.310 warn at processImmediate (internal/timers.js:463:21) javascript.0 2021-11-05 23:35:55.310 warn at Immediate._onImmediate (C:\Program Files\iobroker\Home\node_modules\iobroker.javascript\lib\sandbox.js:1967:33) javascript.0 2021-11-05 23:35:55.298 warn State "javascript.0.wetterwarnung.data.dwd.warning4.object" not found javascript.0 2021-11-05 23:35:55.005 info script.js.Sigi.UWZ_DWD_NINA9: Neustart durch Skripts wird ausgeführt! javascript.0 2021-11-05 23:35:54.783 info script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule javascript.0 2021-11-05 23:35:54.412 info script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST javascript.0 2021-11-05 23:35:53.687 info script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:4056.6884127745693 javascript.0 2021-11-05 23:35:53.646 info Start javascript script.js.Sigi.UWZ_DWD_NINA9 javascript.0 2021-11-05 23:35:53.593 info Stop script script.js.Sigi.UWZ_DWD_NINA9
- Skriptstart:
23:38:28.014 info javascript.0 (7748) Stop script script.js.Sigi.UWZ_DWD_NINA9 23:38:28.015 info javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Skripts gestoppt: ID:8153.694522928418 23:38:28.126 info javascript.0 (7748) Start javascript script.js.Sigi.UWZ_DWD_NINA9 23:38:28.138 info javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Skripts gestartet: ID:5654.143748022449 23:38:28.481 info javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: Add UWZ/DWD warning to database. id: dwd.0.warning.object headline: Amtliche WARNUNG vor FROST 23:38:29.420 info javascript.0 (7748) script.js.Sigi.UWZ_DWD_NINA9: registered 7 subscriptions and 1 schedule
-
Ich werde das demnächst auf async umstellen, aktuell dauert das beenden des Skript so lange das es noch zeit hat Fehler wegen States auszulösen.
-
Alpha 4
-CreateStateAsync() eingefügt
-AlertStates sollten gehen. -
@ticaki
Ganzes Skript ändern, oder ab 123456? -
@sigi234 12345
-
Was soll ich denn hier machen:
2021-11-06 21:41:02.990 - error: javascript.0 (1880) script.js.common.dwd_uwz_nina_warnungen: Alexa - Serial HIER_SERIENNUMMER ist fehlerhaft. Überpüfen! Object ID:alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
Ich find da keinen Fehler. Die HIER_SERIENNUMMER ist jedenfalls richtig.
-
@thomas-braun sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
Die Fehlermeldung bedeutet das er den State
alexa2.0.Echo-Devices.HIER_SERIENNUMMER.Commands.announcement
nicht finden kann. gibts vielleicht kein announcement unter der id oder ist dein Alexa nicht alexa2.0 ?
Am einfachsten kopierst du den State aus der Fehlermeldung in der Objekte-Ansicht oben in das Suchfeld für States.
-
Aus dem Log:
javascript.0 (1880) script.js.common.dwd_uwz_nina_warnungen: Alexa - Serial G090LF1072420LXG ist fehlerhaft. Überpüfen! Object ID: alexa2.0.Echo-Devices.G090LF1272420LXG.Commands.announcement
Aus der Objekt-Übersicht:
alexa2.0.Echo-Devices.G090LF1272420LXG.Commands.announcement
Stimmt für mich...
-
Ich habe jetzt nur noch ein Echo-Device drin, zuvor zwei. Jetzt wird der zwar nicht mehr angemeckert, aber dafür wird das skript nun im Sekundentakt neugestartet.
[Edit: Typo gehabt, läuft jetzt]
-
@thomas-braun
Gut