NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
@sigi234
ist var idAlexaSerial die richtige id? -
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@sigi234
ist var idAlexaSerial die richtige id?Ja, Ursache gefunden, Alexa war ausgefallen, daher wurden im Alexa Adapter keine Objekte angelegt. (Echo-Devices)
-
Moin,
habe durch Zufall dieses Script gefunden, und es funktioniert auch recht gut. Allerdings habe ich ein Problem mit den Benachrichtigungen über Alexa.
Habe es dann zusätzlich mit der E-Mail-Benachrichtigung probiert, die ohne Probleme funktioniert.Das Script soll auf 5 Alexa Geräten die Benachrichtigungen ansagen, leider funktioniert das nicht wie gewünscht.
/* Konfiguration Sprachausgabe über Alexa /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */ var idAlexaSerial =['G0911B0592xxxxxx', 'G090P30890xxxxxx', 'G090U61091xxxxxx', 'G090U61091xxxxxx', 'G090XG0894xxxxxx']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y'] var alexaVolumen = [50, 50, 50, 50, 50]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial
Es handelt sich dabei um:
1x Echo 2.Gen
3x Echo Dot 3.Gen
1x Echo Show 5.Genirgendwelche Ideen ?
Gruß Marc
-
@ticaki said in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@fila612
Unterscheidet sich deine Telegrammkonfig von dieser? (so sieht meine aus)var telegramUser = ['']; // Einzelnutzer ['Hans']; Multinutzer ['Hans', 'Gretel']; Nutzer vom Adapter übernehmen []; var telegramChatId = ['']; var uTelegramAllowNotification = false; // Erlaube Telegramnotification (Benachrichtigungston/Hinweise auf dem Empfangsgerät) var uTelegramUseStdUser = false; uTelegramReplyMarkupInline = true
Wenn ja, was hast du noch ausgefüllt. Ich stelle das dann nach.
meine Konfiguration sieht so aus:
/* Konfiguration Telegram */ var telegramUser = ['']; // Einzelnutzer ['Hans']; Multinutzer ['Hans, Gretel']; Nutzer vom Adapter übernehmen []; var telegramChatId = ['']; // Mehrfach Einträge möglich ['Gruppe1','Gruppe2'] var uTelegramReplyMarkup = null; // Falls ihr ein Telegrammmenü verwendet, könnt ihr hier einen Weg zurück definieren z.B.: {keyboard: [['Zurück']], resize_keyboard: true}; var uTelegramAllowNotification = true; // Erlaube Telegramnotification (Benachrichtigungston/Hinweise auf dem Empfangsgerät) var uTelegramUseStdUser = false; // Verwende immer auch die im Adapter gespeicherten Benutzer. uTelegramReplyMarkupInline = true //
aber mit der 99.30 beta 4 kommt keine Fehlermeldung mehr im Log.
Was ich nicht einschätzen kann ist der Ergebnis des Buttons:
Ich drücke diesen im Chat und erhalte ein Popup das alle Warnungen aufgehoben wurden.
Ich muss das mal beobachten wenn frische Warnmeldungen reinkommen.Danke dir schonmal
-
@fenriswolf
Was wünschst du dir und was geht nicht?Ich hab das gerade mit einem gen 3 und gen 4 (dot) getestet und es geht wie gewünscht. also beide spielen die Meldung ab.
Teste mal den gen 2. alleine und den show. Dann erweitere immer um einen weiteres Ausgabegerät. Alternativ bilde einen Gruppe in der Alexa App (aber ich glaube da ging die Ausgabe nicht mit dem gen 2.)
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@fenriswolf
Was wünschst du dir und was geht nicht?Ich hab das gerade mit einem gen 3 und gen 4 (dot) getestet und es geht wie gewünscht. also beide spielen die Meldung ab.
Hallo und danke für die schnelle Rückmeldung.
ich kann ja unter 0_userdata.0.wetterwarnungen.commands direkt die Meldungen abrufen, bzw. die Ansage erzwingen, das passiert leider nicht.
Ich kann so oft drücken, wie ich möchte, es erfolgt keine Ansage.Habe jetzt aber gerade festgestellt, nach einem Neustart, das die Meldung das keine Meldungen vorliegen angesagt wird, aber NICHT heute morgen, wo noch Warnmeldungen vorhanden waren.
-
@fenriswolf
Brauche das etwas genau: Neustart von Iobroker? Und als du auf den button gedrückt hast, wurde dann Alle Warnungenmeldungen aufgehoben (oder so ähnlich) angesagt?EDIT: Mein Echo hat heute vormittag mehrere Warnungen angesagt und aufgehoben. Aber ich nutze nomalerweise nur 1 Gerät dafür.
Um dir die Fehlersuche zu erleichtern. Das Skript schreibt die Meldung in:
alexa2.0.Echo-Devices.Gxxxxxxxxx.Commands.announcement
Wenn du nochmal das Problem hast, schaue in diesen Datenpunkt und setze ihn nochmal kommt dann die Meldung ist es eventuell ein Problem mit der längere der Nachricht (das dürfte es aber nicht sein) oder mit den 5 Geräten. Einfachste wäre du bildest eine Lautsprechergruppe aus allen Gerät abgesehen von gen 2 und trägst dann die neuer Seriennummer und die von gen 2 im Skript ein.
Gerade kam eine Glatteismeldung auf beiden Geräten.
-
grad eben kam eine Warnmeldung rein.
Wenn ich den "mehr" Button im Chat drücke, klappt sich Meldung auf, aber im Log steht dann:
Cannot send editMessageText [chatId - XXXXXXXXX]: Error: ETELEGRAM: 400 Bad Request: message is not modified: specified new message content and reply markup are exactly the same as a current content and reply markup of the message
Wenn ich dann auf "weniger" im Chat drücke, wird der Text auch weniger, aber im Log steht dann:
Cannot send editMessageText [chatId - XXXXXXXXX]: Error: ETELEGRAM: 400 Bad Request: message is not modified: specified new message content and reply markup are exactly the same as a current content and reply markup of the message
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@fenriswolf
Brauche das etwas genau: Neustart von Iobroker? Und als du auf den button gedrückt hast, wurde dann Alle Warnungenmeldungen aufgehoben (oder so ähnlich) angesagt?EDIT: Mein Echo hat heute vormittag mehrere Warnungen angesagt und aufgehoben. Aber ich nutze nomalerweise nur 1 Gerät dafür.
ich hatte das Script neu gestartet.
ich habe eben 5 Geräte, da die im Haus verteilt sind, damit ich auch "überall" die Mitteilungen bekomme. Wird die Warnung nur einmal beim auftreten einer neuen Warnung angesagt, oder auch öfter im Laufe einer Warnung ?
-
@fenriswolf
Beim Eintreffen einer Warnung wird eine Nachricht ausgegeben, jedoch wird da noch rumgefiltert. Also nicht jede Warnung löst eine Benachrichtigung aus... Gewitterwarnungen können zu ca. 12 Warnungen pro Stunde führenIch hab bei mir ein weiteres Skript laufen, dass wenn ich zu hause ankomme, 5 Minuten später die Warnungen angesagt werden.
EDIT: Das Skript soll auch mit 5 Geräten laufen. Nicht das du mich falsch verstehst.
-
@fila612
Benutzt du text2Command? Wo hast du in den Instanzeinstellungen zu telegramm einen Hacken drin? Wieviele Authentifizierte Benutzer hast du?Ich kann den Fehler nicht reproduzieren. Hab gerade keine Ahnung was es sein könnte. viellecht sendet er das ganze doppelt... kein Plan.
Kannst du bitte mal folgendes machen:
Suche nach folgendem Code:
nMsg.editMessageText = {options}
und ersetzt ihn durch:
nMsg.editMessageText = {options} log('editMessageText: Text:' + msg + ' hash:' + (entry ? entry.hash : 'null') )
dieser Logeintrag sollte pro mehr oder weniger klick 1 mal erscheinen.
EDIT:
Starte bevor du das ausprobierst die Javascript Instanz neu. Vielleicht läuft das Skript 2 mal.(Da baue ich noch eine "Warteschleife" ein um dem Skript mehr Zeit zu geben sich zu beenden) -
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@fenriswolf
Beim Eintreffen einer Warnung wird eine Nachricht ausgegeben, jedoch wird da noch rumgefiltert. Also nicht jede Warnung löst eine Benachrichtigung aus... Gewitterwarnungen können zu ca. 12 Warnungen pro Stunde führenIch hab bei mir ein weiteres Skript laufen, dass wenn ich zu hause ankomme, 5 Minuten später die Warnungen angesagt werden.
EDIT: Das Skript soll auch mit 5 Geräten laufen. Nicht das du mich falsch verstehst.
Das klingt gut, werde es auch mal so probieren und entsprechend umsetzten. Werde berichten ob es funktioniert.
-
hm, bzgl. text2command bin ich überfragt, ich denke nicht. Ich hab zumindest keine speziellen Einstellungen oder Zusatzkonfigs.
In der Instanzeinstellung von Telegramm ist nur ein Haken bei Speichern der Anwender-ID und "Erlaube das Steuern von Zuständen".
ich habe 2 Benutzter registriertanbei mal ein umfangreicher Logauszug:
2022-01-21 13:46:15.871 - debug: telegram.0 (32381) callback_query: {"id":"3008158675381699604","from":{"id":XXXCHATID-USER1XXX,"is_bot":false,"first_name":"USER1","username":"USER1","language_code":"de"},"message":{"message_id":12859,"from":{"id":745401514,"is_bot":true,"first_name":"TG-BOTName","username":"TG-BOT"},"chat":{"id":XXXCHATID-USER1XXX,"first_name":"USER1","username":"USER1","type":"private"},"date":1642765567,"edit_date":1642769148,"text":"🌡 Wetterwarnung vor Frost, für die Region Gemeinde ORTSCHAFT, Stufe grün, ab heute abend","reply_markup":{"inline_keyboard":[[{"text":"mehr","callback_data":"#$WarnscriptLong%&316659281"}]]}},"chat_instance":"9103369792809784475","data":"#$WarnscriptLong%&316659281"} false2022-01-21 13:46:15.884 - info: javascript.0 (14767) script.js.Unwetterwarnungen: advance: Telegramm-Detailanfrage erkannt, wird bearbeitet. false2022-01-21 13:46:15.886 - info: javascript.0 (14767) script.js.Unwetterwarnungen: editMessageText: Text:🌡 Amtliche WARNUNG vor FROST des DWD für ORTSCHAFT falsegültig vom 21.01.22 18:00 Uhr bis 22.01.22 10:00 Uhr falseEs tritt leichter Frost zwischen -1 °C und -4 °C auf. hash:316659281 false2022-01-21 13:46:15.887 - debug: telegram.0 (32381) Received command "send": {"user":"USER1","answerCallbackQuery":{"text":"gefunden","showAlert":false}} false2022-01-21 13:46:15.887 - debug: telegram.0 (32381) Send answerCallbackQuery to "USER1" false2022-01-21 13:46:15.907 - info: javascript.0 (14767) script.js.Unwetterwarnungen: advance: Dienst: telegram.0 Nachricht: [object Object] false2022-01-21 13:46:15.909 - debug: telegram.0 (32381) Received command "send": {"text":"🌡 Amtliche WARNUNG vor FROST des DWD für ORTSCHAFT\ngültig vom 21.01.22 18:00 Uhr bis 22.01.22 10:00 Uhr\n\nEs tritt leichter Frost zwischen -1 °C und -4 °C auf.","reply_markup":{"inline_keyboard":[[{"text":"weniger","callback_data":"#$WarnscriptShort%&316659281"}]]},"editMessageText":{"options":{"user":"USER1","chat_id":XXXCHATID-USER1XXX,"message_id":12859,"reply_markup":{"inline_keyboard":[[{"text":"weniger","callback_data":"#$WarnscriptShort%&316659281"}]]}}}} false2022-01-21 13:46:15.909 - debug: telegram.0 (32381) Send editMessageText to "USER1" false2022-01-21 13:46:15.910 - debug: telegram.0 (32381) Send editMessageText to "USER2" false2022-01-21 13:46:16.019 - debug: telegram.0 (32381) Request: {"message_id":12859,"from":{"id":745401514,"is_bot":true,"first_name":"TG-BOTName","username":"TG-BOT"},"chat":{"id":XXXCHATID-USER1XXX,"first_name":"USER1","username":"USER1","type":"private"},"date":1642765567,"edit_date":1642769175,"text":"🌡 Amtliche WARNUNG vor FROST des DWD für ORTSCHAFT\ngültig vom 21.01.22 18:00 Uhr bis 22.01.22 10:00 Uhr\n\nEs tritt leichter Frost zwischen -1 °C und -4 °C auf.","reply_markup":{"inline_keyboard":[[{"text":"weniger","callback_data":"#$WarnscriptShort%&316659281"}]]}} false2022-01-21 13:46:16.037 - error: telegram.0 (32381) Cannot send editMessageText [chatId - XXXCHATID-USER2XXX]: Error: ETELEGRAM: 400 Bad Request: message is not modified: specified new message content and reply markup are exactly the same as a current content and reply markup of the message
-
@fila612
Danke, dass hat geholfen.Versuchs jetzt nochmal
//Version 0.99.31 Beta 4
- telegram edit 2. fix
- beim Starten wartet das script 10 Sekunden bevor es tatsächlich startet.
EDIT:
Das hier ist es:
ich habe 2 Benutzter registriert und false2022-01-21 13:46:15.909 - debug: telegram.0 (32381) Send editMessageText to "USER1" false2022-01-21 13:46:15.910 - debug: telegram.0 (32381) Send editMessageText to "USER2"
-
@ticaki sieht gut aus, keine Fehlermeldung mehr.
Eine Frage noch: Die Warnungen werden verschickt und ich kann dann initial im Chatverlauf auf "weniger" drücken.
ergo werden die großen Texte verschickt und ich kann sie im Nachhinein "kleiner" machen.Würde es nicht mehr Sinn ergeben, dass initial der kurze Text verschickt wird mit dem Button "mehr"?
Oder ist das eigentlich so gewollt und läuft nur bei mir falsch rum? -
@fila612
hier kannst du einstellen wie lange die sein sollen. Ist die Nachrichtenlänge nicht auf volle Länge, erscheint ein mehr Knopf, andernfalls ein weniger. weniger gibt die kürzeste Version aus(erzwinge Kurzform), mehr die längste.Die Grundlänge kannst du hier einstellen:
erzwinge_Kurzform erzwingt beim automatischen Versand immer die kürzeste Version, egal was sonst eingestellt ist.
Hintergrund ist: erzwinge ist eine eigenständige Art der Warnungsaufbereitung. Hier wird kein Text der ursprünglichen Warnung verwendet. Die anderen Punkte sind ein weglassen bestimmter Textinformationen. die jedoch mit der ursprünglichen Warnung versendet wurden.
-
Heute wills bei mir nicht: (vers von Github)
javascript.0 2022-01-21 15:54:57.915 error at changeMode (script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen:866:9) javascript.0 2022-01-21 15:54:57.915 error at InitDatabase (script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen:2310:53) javascript.0 2022-01-21 15:54:57.915 error at processImmediate (internal/timers.js:437:9) javascript.0 2022-01-21 15:54:57.915 error at runNextTicks (internal/process/task_queues.js:60:5) javascript.0 2022-01-21 15:54:57.915 error at runMicrotasks (<anonymous>) javascript.0 2022-01-21 15:54:57.915 error at getDataFromServer (script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen:2388:67) javascript.0 2022-01-21 15:54:57.915 error script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen: ReferenceError: a is not defined
-
@ticaki
Danke dir, bei mir war es so eingestellt:
Ich hab jetzt den letzten Eintrag "erzwinge_kurzform_text_html" noch auf true gesetzt und schau mal was bei der nächsten Meldung passiert.
-
@megawaldi sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Heute wills bei mir nicht: (vers von Github)
Gleich gehts wieder
//Version 0.99.32 Beta 4
- Nina abruf gefixt
-
@ticaki
Sieht wieder gut aus...