NEWS
Test Adapter Weather-Warnings
-
im Adapter Ordner /admin liegt das was du in Instanzen konfigurieren kannst. Da ist es nicht weit bis zum "im Admin" kannst du dieses und jenes.
Meine damit in der Konfiguration kann ich alle übersetzen, aber in common.states steht ein Array mit ['allDays',...] Da muß ich gleich beim erstellen die Übersetzungen eintragen. Mache ich wohl noch. Wenns fertig ist muß du den State halt löschen, damit der mit DE Übersetzungen drin erstellt wird.
Wollte eher wissen ob die "Art" wie ich es umgesetzt habe ok ist.
Nochwas
Das kommt in der Beschreibung vielleicht nicht so richtig rüber:
Der State "isSpeakAllowed" ist sowohl ein Anzeige als auch ein Befehlsstate. Der spiegelt wieder ob es erlaubt ist Sprachausgaben zu senden, sowie das dieser umschaltbar ist. Der wird vom Adapter nur gesetzt wenn
- das Value sich verändert und
- die Automatik an ist und
- Wenn eine Ruheperiode beginnt oder endet.
Das bedeutet was ich oben geschrieben habe, wenn ihr Ruhe wollt. Diesen aktivieren und beim nächsten automatischen Ende einer Ruheperiode wird der wieder auf true gesetzt.
-
Jetzt verstanden
Wäre es nicht übersichtlicher wenn man inerhalb einer "Profilbezeichnung" direkt die zeiten für die einzelnen Tage einstellen kann und nicht mehrmals die "Profilbezeichnung" hinzufügen muss.
-
@chris76e
Bestimmt, kann mal morgen gucken. Das ist dann "Tabellen in einem Accordion" - hab dat noch net versucht.
Accordion ist das was ich für die Sounds bei Alexa nutze.Hoffe nur das es, dann keinen Fehler gibt, weil die Config dann von den Typen her nicht mehr stimmt.
-
@rtwl sagte in Test Adapter Weather-Warnings:
Vielleicht kannst du dir Innsbruck (47.2360/11.3673) einfügen und beobachten. Dort gibt es für morgen eine Warnung. Und wie ich ZAMG mittlerweile kenne wird da öfters mal der Zeitraum der Warnung aktualisiert.
Meine letzte Antwort war am ende quark. Ich checke nur die warnid, das brauche ich aber um warnungen wiederzuerkennen. Hab jetzt zusätzlich noch das level eingefügt. Also warnid und level == vorhandener, dann wird das als vorhandene Warnung angesehen. (gilt nur für zamg pro coordinaten paar)
Hab auch noch den type hinzugefügt. Kann ja sein dass Warnid für unterschiedliche Typen gleich ist.
EDIT: update
- im Admin Konfigurationsdialog neue Option für ZAMG: "Warnungen gelten nach jeder Änderung am Datensatz als neu."
Da wird der ganze Datensatz verglichen und wenn auch nur ein Leerzeichen sich verändert hat, ist es einen neue Warnung und die alte wird aufgehoben.
EDIT: Im Moment versuche ich halt zu verbessern was ihr berichtet. Richtig mit erfolg testen kann ich das im Winter wenn ihr da unten 1000 Meldungen wegen der Kälte in den Bergen habt. Falls ihr mal eine Kurzfristige Gewitterwarnung habt, könntet ihr auch die "Die Speicherung der Rohdatenhistorie" aktivieren und mir nach Ende den Inhalt zu kommen lassen. Hier neigt DWD dazu alle 15 Minuten geänderte Daten bereitzustellen. Wegen dem selben Gewitter nur mit geänderten Zeiten... Ehrlich ich höre doch das es Gewittert und ne Warnung das es noch immer da ist, halte ich nicht wirklich für informativ.
-
Das hier müsste von jemandem getestet werden bevor ich es übernehmen.
- Die Art wie die Konfig bereinigt wird, angepasst
- sollte die Ruhezeiten entfernen, damit sie kompatibel mit dem neuen Datenformat sind
- sollte sonst nix kaputt machen
Bitte vorher die Konfiguration des Adapters sichern.
https://github.com/ticaki/ioBroker.weather-warnings/tree/testing
Dann prüfen ob alles so ist wie vorher und nur die Ruhezeiten weg sind.
Die neue Art der Ruhezeiten sollte auch funktionieren, fehlen aber noch Übersetzungen bis ihr zu der Konfigänderung und der Art wie die Ruhezeiten jetzt sind sagt.
Die ganzen Plus auf der Seite sind etwas unschön geht aber nicht anders. eines der + Fügt ein neues Profil ein, in dem Profil erzeugt das + einen neuen Eintrag für die Tabelle
Zu der Frage:
Wie sichere ich meine Konfiguration?
Im Konfigurationsdialog des Adapters auf das Downloadsymbol klicken:Der Adapter muß von Hand restartet werden und wird sich 1 mal neustarten.
-
Test:
weather-warnings.0 2023-10-28 18:30:20.613 info ZAMG activated. Retrieve data. weather-warnings.0 2023-10-28 18:30:20.613 info ZAMG activated. Retrieve data. weather-warnings.0 2023-10-28 18:30:20.610 info ZAMG activated. Retrieve data. weather-warnings.0 2023-10-28 18:30:20.534 info Refresh Interval: 15 minutes weather-warnings.0 2023-10-28 18:30:20.533 info [provider] Silent time added: Profil: Mo-So start: 22 end: 23 days: ["0","1","2","3","4","5","6"] weather-warnings.0 2023-10-28 18:30:20.532 info [provider] Silent time added: Profil: Sa-So start: 7 end: 17 days: ["0","6"] weather-warnings.0 2023-10-28 18:30:20.531 info [provider] Silent time added: Profil: Mo-Fr start: 10 end: 12 days: ["1","2","3","4","5"] weather-warnings.0 2023-10-28 18:30:20.613 info ZAMG activated. Retrieve data. weather-warnings.0 2023-10-28 18:30:20.613 info ZAMG activated. Retrieve data. weather-warnings.0 2023-10-28 18:30:20.610 info ZAMG activated. Retrieve data. weather-warnings.0 2023-10-28 18:30:20.534 info Refresh Interval: 15 minutes weather-warnings.0 2023-10-28 18:30:20.533 info [provider] Silent time added: Profil: Mo-So start: 22 end: 23 days: ["0","1","2","3","4","5","6"] weather-warnings.0 2023-10-28 18:30:20.532 info [provider] Silent time added: Profil: Sa-So start: 7 end: 17 days: ["0","6"] weather-warnings.0 2023-10-28 18:30:20.531 info [provider] Silent time added: Profil: Mo-Fr start: 10 end: 12 days: ["1","2","3","4","5"] weather-warnings.0 2023-10-28 18:30:16.218 info starting. Version 0.4.4 (non-npm: ticaki/ioBroker.weather-warnings#testing) in C:/SmartHome/node_modules/iobroker.weather-warnings, node: v18.18.2, js-controller: 5.0.15 weather-warnings.0 2023-10-28 18:29:44.951 info terminating weather-warnings.0 2023-10-28 18:29:44.432 warn Terminated (UNCAUGHT_EXCEPTION): Without reason weather-warnings.0 2023-10-28 18:29:44.431 info terminating weather-warnings.0 2023-10-28 18:29:44.428 error writedp try to create a state without object informations. weather-warnings.0 2023-10-28 18:29:44.427 error Error: writedp try to create a state without object informations. at Library.writedp (C:\SmartHome\node_modules\iobroker.weather-warnings\src\lib\library.ts:208:23) at WeatherWarnings.onStateChange (C:\SmartHome\node_modules\iobroker.weather-warnings\src\main.ts:553:22) at WeatherWarnings.emit (node:events:517:28) at Immediate.<anonymous> (C:\SmartHome\node_modules\@iobroker\js-controller-adapter\src\lib\adapter\adapter.ts:11223:53) at processImmediate (node:internal/timers:476:21) weather-warnings.0 2023-10-28 18:29:44.306 error unhandled promise rejection: writedp try to create a state without object informations. weather-warnings.0 2023-10-28 18:29:44.305 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
Habe 3 Profile angelegt.
Dann in den DP auf ein Profil gestellt. -
@sigi234
Mit der Konfiguration war aber alle ok, nach den Adapterrestarts? -
@ticaki sagte in Test Adapter Weather-Warnings:
@sigi234
Mit der Konfiguration war aber alle ok, nach den Adapterrestarts?Ja
Ev. mag er Leerzeichen im Profilname nicht?Blödsinn:
Mo-So
-
https://github.com/ticaki/ioBroker.weather-warnings/tree/testing
Ohne den Fehler. Mit besserem Aktualisieren der common.states.
Heißt dein Letzter Beitrag das er Mo-So nicht als Profilname mag?
-
@ticaki sagte in Test Adapter Weather-Warnings:
Heißt dein Letzter Beitrag das er Mo-So nicht als Profilname mag?
Nein, alles ok
-
@ticaki sagte in Test Adapter Weather-Warnings:
Ohne den Fehler. Mit besserem Aktualisieren der common.states.
Beim ersten setzten ok, dann keine Reaktion mehr.
-
hahaha... Hab das kopiert von den buttons die immer auf false gesetzt werden.
Nochmal von dem Link oben, ich füge jetzt die übersetzungen hinzu.
-
@ticaki sagte in Test Adapter Weather-Warnings:
hahaha... Hab das kopiert von den buttons die immer auf false gesetzt werden.
Nochmal von dem Link oben, ich füge jetzt die übersetzungen hinzu.
Läuft
-
update
v0.4.5 auf dem Weg ins latest
- Alexa: Zeilenumbruch wird raus gefiltert. Verhindert das die Lautstärke eingestellt wird.
- Ruhezeiten wie oben besprochen verändert.
- paar Übersetzungen verbessert.
- für ZAMG eine "gibt mir einfach alles" Option hinzugefügt.
- und alles andere was ich vergessen habe.
Ach wenn ihr doppelte Profilnamen verwendet, Ist es euer Problem wenn ihr nicht wisst was was ist. Der Adapter kann die auseinander halten.
EDIT. Die Übersetzung für den ZAMG Knopf fehlt noch.
-
habe die aktuelle version installiert, vorher meine beiden einträge für die sprachpause gelöscht und adapter neugestartet.
Habe jetzt kommt dieser Fehler
weather-warnings.0 2023-10-28 20:22:01.593 warn setTimeout called, but adapter is shutting down weather-warnings.0 2023-10-28 20:22:01.592 debug [dwd-105370000] Got 0 warnings from server weather-warnings.0 2023-10-28 20:22:01.404 warn Terminated (UNCAUGHT_EXCEPTION): Without reason weather-warnings.0 2023-10-28 20:22:01.403 info terminating weather-warnings.0 2023-10-28 20:22:01.391 error this.silentTime.profil[profil] is not iterable weather-warnings.0 2023-10-28 20:22:01.391 error TypeError: this.silentTime.profil[profil] is not iterable at ProviderController.setSpeakAllowed (/opt/iobroker/node_modules/iobroker.weather-warnings/src/lib/provider.ts:898:49) at ProviderController.updateAlertEndless (/opt/iobroker/node_modules/iobroker.weather-warnings/src/lib/provider.ts:763:20) at /opt/iobroker/node_modules/iobroker.weather-warnings/src/main.ts:505:41 weather-warnings.0 2023-10-28 20:22:01.346 error unhandled promise rejection: this.silentTime.profil[profil] is not iterable weather-warnings.0 2023-10-28 20:22:01.346 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). weather-warnings.0 2023-10-28 20:22:01.265 info UWZ activated. Retrieve data. weather-warnings.0 2023-10-28 20:22:01.263 info DWD activated. Retrieve data. weather-warnings.0 2023-10-28 20:22:01.263 debug [alexa2] Create notification service alexa2 weather-warnings.0 2023-10-28 20:22:01.192 debug [history] Create notification service history weather-warnings.0 2023-10-28 20:22:01.119 debug [json] Create notification service json weather-warnings.0 2023-10-28 20:22:01.041 debug [telegram] Create notification service telegram weather-warnings.0 2023-10-28 20:22:00.950 info Refresh Interval: 5 minutes weather-warnings.0 2023-10-28 20:21:56.184 info starting. Version 0.4.5 (non-npm: ticaki/ioBroker.weather-warnings#852888f4672b4e1c05e80979b050f19e4bfce83d) in /opt/iobroker/node_modules/iobroker.weather-warnings, node: v18.18.2, js-controller: 5.0.12
-
@chris76e sagte in Test Adapter Weather-Warnings:
this.silentTime.profil[profil]
Zeig mit bitte deine Adapter Konfiguration (download Konfigurationsseite)
-
{ "allowedDirs": [ { "providerService": "DWD", "dpWarning": true, "dpMessage": true, "dpFormated": true, "dpAlerts": true }, { "providerService": "ZAMG", "dpWarning": true, "dpMessage": true, "dpFormated": true, "dpAlerts": true }, { "providerService": "UWZ", "dpWarning": true, "dpMessage": true, "dpFormated": true, "dpAlerts": true } ], "useJsonHistory": false, "dwdwarncellTable": [ { "dwdSelectId": "105370000", "dwdCityname": "xxxxx" } ], "uwzwarncellTable": [ { "uwzSelectId": "DExxxx", "uwzCityname": "xxxx" } ], "zamgwarncellTable": [], "useTestWarnings": false, "dwdEnabled": true, "uwzEnabled": true, "zamgEnabled": false, "dwdHourFilter": 0, "uwzHourFilter": 0, "zamgHourFilter": 0, "notPushAtStart": false, "refreshTime": 5, "messageTemplate": [], "templateTable": [ { "templateKey": "NewMessage", "template": "Hallo Christian. Es gibt eine ${headline}. ${description}" }, { "templateKey": "RemoveMessage", "template": "Entwarnung: ${Warntypename}, Stufe: ${warnlevelcolorname}" }, { "templateKey": "RemoveAllMessage", "template": "Entwarnung!" }, { "templateKey": "NewJson", "template": "{ „action“: „${status}“, „start“: „${starttime}“, „ende“: „${endtime}“, type: „${warntypename}“ \\}" }, { "templateKey": "RemoveJson", "template": "{ „headline“: „${Headline}“, „status“: „${status}“\\}" }, { "templateKey": "RemoveAllJson", "template": "{ \"status\": \"Entwarnung!\"\\}" }, { "templateKey": "NewMessageWithArray", "template": "Luke, wir haben eine neue Warnung ${Warntypename} ab ${starttime} erhalten, sieht aus wie ein ${_customArray}" }, { "templateKey": "_CustomArray", "template": "${[Keks,Sturmtrooper,Tie-Jäger,Imperialer Kreuzer,Todesstern]warnlevelnumber}" }, { "templateKey": "Telegramm", "template": "${[0,🟡,🟠,🔴,🟣]warnlevelnumber} Es gibt eine ${headline} ${[0,🟡,🟠,🔴,🟣]warnlevelnumber}\\n ${description}\\nDie Warnung gilt von ${startdayofweek} ${startdate} ${starttime} Uhr bis ${enddayofweek} ${startdate} ${endtime} Uhr\\nDie ${_customAlexaIf}" }, { "templateKey": "Alexa", "template": "Hallo Christian; es gibt eine ${headline}; Die Warnung gilt von Mo, ${startdate}.1111 ${starttime} bis Mo, ${enddate}.1111 ${endtime};${description}" }, { "templateKey": "_customHEX", "template": "${[0,#FFFF00,#FFA500,#ff0000,#ee82ee]warnlevelnumber}" }, { "templateKey": "_customFarbname", "template": "${[Grün,Gelb,Orange,Rot,Violett]warnlevelnumber}" }, { "templateKey": "_customAlexaIf", "template": "Warnung ${(0>cdfuture)ist seit#wird in} ${(0<cdhour)\\${_CustomIfHours\\}} ${cdminute} Minute${(1!=cdminute)n} aktiv." }, { "templateKey": "_CustomIfHours", "template": "${cdhour} Stunde${(1!=cdhour)n}" }, { "templateKey": "_customText", "template": "${[0,🟡,🟠,🔴,🟣]warnlevelnumber} Es gibt eine ${headline} ${[0,🟡,🟠,🔴,🟣]warnlevelnumber}\\n ${description}\\nDie Warnung gilt von ${startdayofweek} ${startdate} ${starttime} Uhr bis ${enddayofweek} ${startdate} ${endtime} Uhr\\nDie ${_customAlexaIf}" } ], "dwdLanguage": "ger", "uwzLanguage": "DE", "zamgLanguage": "de", "dwdTypeFilter": [], "zamgTypeFilter": [], "uwzTypeFilter": [], "dwdLevelFilter": 0, "uwzLevelFilter": 0, "zamgLevelFilter": 0, "telegram_DwdEnabled": true, "telegram_UwzEnabled": true, "telegram_ZamgEnabled": true, "telegram_TypeFilter": [], "telegram_LevelFilter": 0, "telegram_Enabled": true, "telegram_Adapter": "telegram.0", "telegram_MessageNew": "Telegramm", "telegram_MessageRemove": "RemoveMessage", "telegram_MessageAllRemove": "RemoveAllMessage", "whatsapp_DwdEnabled": true, "whatsapp_UwzEnabled": true, "whatsapp_ZamgEnabled": true, "whatsapp_TypeFilter": [], "whatsapp_LevelFilter": 0, "whatsapp_Enabled": false, "whatsapp_Adapter": "none", "whatsapp_MessageNew": "NewMessage", "whatsapp_MessageRemove": "RemoveMessage", "whatsapp_MessageAllRemove": "RemoveAllMessage", "pushover_DwdEnabled": true, "pushover_UwzEnabled": true, "pushover_ZamgEnabled": true, "pushover_TypeFilter": [], "pushover_LevelFilter": 0, "pushover_Enabled": false, "pushover_Adapter": "none", "pushover_MessageNew": "NewMessage", "pushover_MessageRemove": "RemoveMessage", "pushover_MessageAllRemove": "RemoveAllMessage", "json_DwdEnabled": true, "json_UwzEnabled": true, "json_ZamgEnabled": true, "json_TypeFilter": [], "json_LevelFilter": 0, "json_Enabled": true, "json_MessageAll": "NewJson", "json_MessageAllRemove": "RemoveAllJson", "json_parse": false, "history_DwdEnabled": true, "history_UwzEnabled": true, "history_ZamgEnabled": true, "history_TypeFilter": [], "history_LevelFilter": 0, "history_Enabled": true, "history_MessageNew": "NewJson", "history_MessageRemove": "RemoveAllJson", "history_allinOne": false, "email_Adapter": "none", "email_line_break": "", "email_DwdEnabled": true, "email_UwzEnabled": true, "email_ZamgEnabled": true, "email_TypeFilter": [], "email_LevelFilter": 0, "email_Enabled": false, "email_MessageNew": "NewMessage", "email_MessageRemove": "RemoveMessage", "email_Header": "none", "email_Footer": "none", "alexa2_Adapter": "alexa2.0", "alexa2_DwdEnabled": true, "alexa2_UwzEnabled": true, "alexa2_ZamgEnabled": true, "alexa2_device_ids": [ "G091JJ13152200TJ" ], "alexa2_TypeFilter": [], "alexa2_LevelFilter": 0, "alexa2_Enabled": true, "alexa2_MessageNew": "Alexa", "alexa2_MessageRemove": "RemoveMessage", "alexa2_MessageAllRemove": "RemoveAllMessage", "alexa2_volumen": 40, "telegram_ManualTypeFilter": [], "telegram_ManualLevelFilter": 0, "telegram_manualAll": "Telegramm", "whatsapp_ManualTypeFilter": [], "whatsapp_ManualLevelFilter": 0, "whatsapp_manualAll": "NewMessage", "pushover_ManualTypeFilter": [], "pushover_ManualLevelFilter": 0, "pushover_manualAll": "NewMessage", "email_ManualTypeFilter": [], "email_ManualLevelFilter": 0, "email_manualAll": "NewMessage", "alexa2_ManualTypeFilter": [], "alexa2_ManualLevelFilter": 0, "alexa2_manualAll": "Alexa", "alexa2_Audio": "", "alexa2_sounds": [ { "warntypenumber": 1, "warntype": "Unbekannt", "sound": "" }, { "warntypenumber": 2, "warntype": "Sturm", "sound": "<audio src=\"soundbank://soundlibrary/weather/wind/wind_04\"/>" }, { "warntypenumber": 3, "warntype": "Schneefall", "sound": "<audio src=\"soundbank://soundlibrary/footsteps/snow/snow_05\"/>" }, { "warntypenumber": 4, "warntype": "Regen", "sound": "<audio src=\"soundbank://soundlibrary/nature/amzn_sfx_rain_01\"/>" }, { "warntypenumber": 5, "warntype": "Kälte", "sound": "" }, { "warntypenumber": 6, "warntype": "Waldbrand", "sound": "" }, { "warntypenumber": 7, "warntype": "Gewitter", "sound": "<audio src=\"soundbank://soundlibrary/weather/thunder/thunder_03\"/>" }, { "warntypenumber": 8, "warntype": "Glatteis/rutschig", "sound": "<audio src=\"soundbank://soundlibrary/ice_snow/ski/ski_03\"/>" }, { "warntypenumber": 9, "warntype": "Hitze", "sound": "" }, { "warntypenumber": 10, "warntype": "Hagel", "sound": "" }, { "warntypenumber": 11, "warntype": "Nebel", "sound": "" }, { "warntypenumber": 12, "warntype": "Tauwetter", "sound": "" }, { "warntypenumber": 0, "warntype": "Entwarnung!", "sound": "" } ], "alexa2_sounds_enabled": true, "imExpert": true, "telegram_UserId": "", "telegram_withNoSound": true, "telegram_ChatId": "", "icon_color": "black", "iobrokerUrl": "", "templateHelp": "Tokens:\n${altitude}: Minimum validity height\n${cdfuture}: Countdown warning lies ahead.\n${cdhour}: Remaining time hours part. Up to 30 * 24 hours.\n${cdminute}: Remaining time minutes part.\n${ceiling}: Maximum validity height\n${countdown}: Remaining time until the start of the warning.\n${description}: Description\n${enddate}: End Date\n${endday}: End Day\n${enddayofweek}: End day of the week\n${enddayofweekshort}: End day of the week short\n${enddaytime}: End: Time of the day.\n${endmonth}: End Month\n${endtime}: End Time\n${endtimems}: End Time in ms\n${headline}: Headline\n${iconurl}: Url to Icon\n${impact}: Impact text\n${instruction}: Instructions\n${location}: Location retrieved from the provider\n${locationcustom}: Location from admin configuration\n${provider}: Provider\n${startadverb}: Start: temporal adverb (yesterday, today, tomorrow, day after tomorrow)\n${startdate}: Start date\n${startday}: Start Day\n${startdayofweek}: Start day of the week\n${startdayofweekshort}: Start day of the week short\n${startdaytime}: Start: Time of day.\n${startmonth}: Start Month\n${starttime}: Start time\n${starttimems}: Start time in ms\n${status}: Status of warning. new, hold, all clear\n${warningcount}: Number of Warnings\n${warnlevelcolorhex}: Hexnumber of level color\n${warnlevelcolorname}: Textname of level color\n${warnlevelname}: Textname of level\n${warnlevelnumber}: Number of level\n${warntypegeneric}: Warntype number generic\n${warntypegenericname}: Warntype name generic\n${warntypename}: Warning type retrieved from the provide", "telegram_parse_mode": "none", "silentTime": [ { "speakProfile": null, "silentTime": [] } ], "sayit_Enabled": false, "sayit_MessageNew": "NewMessage", "sayit_MessageRemove": "RemoveMessage", "sayit_MessageAllRemove": "RemoveAllMessage", "sayit_volumen": 15, "sayit_manualAll": "NewMessage", "icons_description": "unknown, storm, snowfall, rain, cold, forest_fire, thunderstorm, black_ice_slippery, heat, hail, fog, thaw", "icons_prefix": "/vis.0/weather/icons/", "icons_suffix": ".png", "pushover_Title": "none", "email_Title": "none" }
-
@chris76e
Verstehe die Fehlermeldung trotzdem nicht, so falsch is die Konfiguration nicht, dass es nicht gehen sollte. Ich mach mal ne Fehlerbehandlung drum und dann testen es bitte nochmal -
ok
-
@chris76e
Danke, das war tatsächlich nicht ok wenn keine Einträge da sind. Versuche es jetzt nochmal. Da gibts doch ein schönes Bild für:
Ab jetzt warte ich einen Tag bevor ich npm anstoße. gibt dann wohl ne v0.4.6... obwohl v0.5.0 Ist ja fast alles drin