NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
@sigi234
Echt keine Ahnung. Starte mal die Script Instanz neu. Ich hab keine Weg gefunden wie UWZ und Unwetterzentrale in die gleiche Überschrift kommen können. Wenn sich das wiederholt gibt mir bitte auch das Json aus Objekten unter Data. Ich baue mir dann was ein, das ich Warnung rein kopieren kann. -
//Version 0.99.29 Beta 4
- Wenn UWZ nicht verwendet wird, gab es einen Fehler beim Starten des Skripts
-
ich hab das Script auch schon länger in Nutzung - vielen Dank an der Stelle für die stetige Erweiterung und Support.
Heute habe ich das erste mal die Telegram Funktion "mehr" bzw. "weniger" probiert.
Immer wenn ich den Button in der App drücke erhalte ich komische Logeinträge:Cannot send editMessageText [chatId - XXXXXXX]: 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
Ähnlicher oder gleicher Fehler wie in diesem Eintrag.
hab ich hier etwas noch einzustellen oder liegt das am Script selber?
-
@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.
EDIT2:
Hab eine neue Version online, versuche die mal.Bekannte Fehler:
- wenn dwdwarncellId = [""] ist gibts den gleichen Fehler wie bei UWZ oben.
-
//Version 0.99.30 Beta 4
- dwdwarncell war kein Fehler, da ich die Kommentare in der github version schon angepasst habe, habs trotzdem gegen [''] abgesichert
- telegramm Nachrichten die editiert sind, werden nur noch an die ermittelte ChatID und den entsprechenden User versand.
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
//Version 0.99.30 Beta 4
- dwdwarncell war kein Fehler, da ich die Kommentare in der github version schon angepasst habe, habs trotzdem gegen [''] abgesichert
- telegramm Nachrichten die editiert sind, werden nur noch an die ermittelte ChatID und den entsprechenden User versand.
10:12:42.197 error javascript.0 (11232) script.js.Sigi.UWZ_DWD_NINA19: info: Alexa - Serial xxxxxxxxxxxxx ist fehlerhaft. Überpüfen! Object ID:alexa2.0.Echo-Devices.xxxxxxxxxxxx.Commands.announcement 10:12:42.197 info javascript.0 (11232) script.js.Sigi.UWZ_DWD_NINA19: registered 0 subscriptions and 0 schedules 10:12:42.655 info javascript.0 (11232) Stop script script.js.Sigi.UWZ_DWD_NINA19 10:12:42.656 info javascript.0 (11232) script.js.Sigi.UWZ_DWD_NINA19: info: Skripts gestoppt: ID:3126.0465131347414
-
@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"