NEWS
Pushover sendet Nachrichten doppelt?!
-
Hi,
fange gerade an und Pushover sendet aktuell alle Nachrichten (auch wenn ich im Adapter-Konfig auf Test klicke) doppelt raus.
Hat den Effekt noch jemand?
Log gibt auch im Debug Modus nur her das die "Message" einmal geschrieben wird, aber dann zwei Nachrichten rausgehen …
2016-08-21 07:56:36.813 - debug: host. redis pmessage messagebox.system.adapter.pushover.3 messagebox.system.adapter.pushover.3 {"command":"send","message":"This is test notification!","from":"system.adapter.admin.0","callback":{"message":"This is test notification!","id":88,"ack":false,"time":1471758996801},"_id":85662411} 2016-08-21 07:56:36.829 - info: pushover.3 Send pushover notification: {"message":"This is test notification!","title":"ioBroker-Info-Ingo","sound":"none","priority":"-1"} 2016-08-21 07:56:37.058 - info: pushover.3 Send pushover notification: {"message":"This is test notification!","title":"ioBroker-Info-Ingo","sound":"none","priority":"-1"}
Ticket: http://iobroker.net:8000/browse/ADMIN-24 (Projekt Pushover gibts nicht)
-
Hey,
Ich habe zumindestens mal die Ursache identifiziert. Pushover Code:
adapter.on('message', function (obj) { if (obj && obj.command === 'send') processMessage(obj.message); processMessages(); });
Die Message kommt als direkte Übergabe und wird damit sofort verarbeitet. Dann wird in der "Messagebox/Queue" nachgeschaut und da liegt die gleiche Message nochmals. Also wird Sie nochmals verarbeitet.
Warum der Code hier so ist weiss ich nicht. Bei Pushbullet ist er anders, bei Telegram aber genauso.
Damit weiss ich nicht was das "geplante" Verhalten" ist. Und am Ende könnte es was mit Redis zu tun haben.
@Bluefox: kannst Du was dazu sagen?
-
Hoch wahrscheinlich es laufen zwei Prozesse von pushover.
Das kann man mit "ps -A | grep io" rausfinden.
Entweder ein Prozess stoppen oder Reboot.
-
Hi,
nein habe ich geschaut. Es läuft pro Instanz genau ein Prozess.
Ich habe auch Debug-Logs eingebaut und es sieht für mich so aus das er einmal die Nachricht direkt als Objekt bekommt bei "on('message'" und danach ruft er "processMessages" auf. Und dort bekommt er die gleiche Nachricht nochmals:
2016-08-23 08:36:15.108 - info: pushover.3 starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.pushover 2016-08-23 08:36:15.182 - info: pushover.3 START CHECKING FOR MESSAGES << log in "processMessages()" 2016-08-23 08:36:40.481 - info: pushover.3 GOT MESSAGE: {"command":"send","message":"This is test notification!","from":"system.adapter.admin.0","callback":{"message":"This is test notification!","id":152,"ack":false,"time":1471934200463},"_id":85662475} << log direk bei "on('message'" 2016-08-23 08:36:40.488 - info: pushover.3 PROCESS ONE message "This is test notification!" << Log in "processMessage()" 2016-08-23 08:36:40.496 - info: pushover.3 Send pushover notification: {"message":"This is test notification!","title":"ioBroker-Info-Ingo","sound":"none","priority":"-1"} 2016-08-23 08:36:40.687 - info: pushover.3 PROCESS stored messages << log in "on('message' nach direkter Abarbeitung und vor processMessages()-call 2016-08-23 08:36:40.688 - info: pushover.3 START CHECKING FOR MESSAGES << log in "processMessages()" 2016-08-23 08:36:40.700 - info: pushover.3 PROCESS-MESSAGES: GOT {"command":"send","message":"This is test notification!","from":"system.adapter.admin.0","callback":{"message":"This is test notification!","id":152,"ack":false,"time":1471934200463},"_id":85662475} <<message aus/queue/geladen/in/procesmessages()/2016-08-23/08:36:40.701/-/info:/pushover.3/process/one/message/"this/is/test/notification!"/08:36:40.704/send/pushover/notification:/{"message":"this/notification!","title":"iobroker-info-ingo","sound":"none","priority":"-1"}/08:36:40.725/start/checking/for/messages/<</nächster/call/zu/processmessages()/<e=""></message>
Reboot kann ich heute Abend daheim mal machen, mich würde es aber wundern
-
Hatte hier was Ähnliches, nach Reboot war es weg: http://forum.iobroker.net/viewtopic.php?f=22&t=3536
-
Reboot des CubieTruck hatte keinen Effekt Debug Logging sagt das gleiche und es gehen doppelte Pushovers raus.
Scheinbar liegt es ja irgendwie in der "Messagebox"-Logik das die einmal persistiert wird und gleichzeitig direkt übergeben wird. Und damit halt doppelt da ist
-
Hi,
nein habe ich geschaut. Es läuft pro Instanz genau ein Prozess.
Ich habe auch Debug-Logs eingebaut und es sieht für mich so aus das er einmal die Nachricht direkt als Objekt bekommt bei "on('message'" und danach ruft er "processMessages" auf. Und dort bekommt er die gleiche Nachricht nochmals:
2016-08-23 08:36:15.108 - info: pushover.3 starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.pushover 2016-08-23 08:36:15.182 - info: pushover.3 START CHECKING FOR MESSAGES << log in "processMessages()" 2016-08-23 08:36:40.481 - info: pushover.3 GOT MESSAGE: {"command":"send","message":"This is test notification!","from":"system.adapter.admin.0","callback":{"message":"This is test notification!","id":152,"ack":false,"time":1471934200463},"_id":85662475} << log direk bei "on('message'" 2016-08-23 08:36:40.488 - info: pushover.3 PROCESS ONE message "This is test notification!" << Log in "processMessage()" 2016-08-23 08:36:40.496 - info: pushover.3 Send pushover notification: {"message":"This is test notification!","title":"ioBroker-Info-Ingo","sound":"none","priority":"-1"} 2016-08-23 08:36:40.687 - info: pushover.3 PROCESS stored messages << log in "on('message' nach direkter Abarbeitung und vor processMessages()-call 2016-08-23 08:36:40.688 - info: pushover.3 START CHECKING FOR MESSAGES << log in "processMessages()" 2016-08-23 08:36:40.700 - info: pushover.3 PROCESS-MESSAGES: GOT {"command":"send","message":"This is test notification!","from":"system.adapter.admin.0","callback":{"message":"This is test notification!","id":152,"ack":false,"time":1471934200463},"_id":85662475} <<message aus/queue/geladen/in/procesmessages()/2016-08-23/08:36:40.701/-/info:/pushover.3/process/one/message/"this/is/test/notification!"/08:36:40.704/send/pushover/notification:/{"message":"this/notification!","title":"iobroker-info-ingo","sound":"none","priority":"-1"}/08:36:40.725/start/checking/for/messages/<</nächster/call/zu/processmessages()/<e=""></message>
Reboot kann ich heute Abend daheim mal machen, mich würde es aber wundern `
Hast du redis aktiviert? -
Jupp, hatte ich ganz oben schon geschrieben .. leider nur in nem Nebensatz
-
hatte gestern im Log noch Warnings das eine MessageID (die kurz vorher rausgesendet wurde laut log) danach scheinbar nicht gefunden wurde.Passiert scheinbar manchmal wenn mehrere Nachrichten kurz hintereinander raus sollen.
2016-08-25 20:00:53.561 - ESC[31merrorESC[39m: WARNING: cannot find message with id = 70971400
Also irgendwas ist da komisch … ggf im Zusammenhang mit Redis
-
Hi zusammen! Seit dem ich redis aktiviert habe, hab ich das selbe Problem das ich immer ne Nachricht doppelt erhalte! Das Problem tritt also in Verbindung mit redis auf! Gibt es da schon ne Möglichkeit dies zu umgehen?
Gruß Johnny
-
Danke für die Verifikation
Hatte schon vor im Redis-Thread nachzufragen
-
Den Zusammenhang zwischen Reis und den doppelten Pushover-Meldungen kann ich auch bestätigen.
-
Hab gerade gesehen das es einen Update des Pushover Adapters gibt der das Problem beheben soll…
Erster Test: Erfolgreich!
Super Arbeit Bluefox!! Danke
-
Live-Feedback: Heute Nacht ging eine Nachricht doppelt raus.
@Bluefox: Was mich aber wundert: Mit deinem Fix umgehst Du das Problem ja nur.
Tritt das ehrlich nur bei Pushover auf in Zusammenhang mit Redis? Das kommt mir komisch vor. Müsste doch an sich bei den anderen Adaptern auch passieren wenn der Code gleich ist …
-
Hi Bluefox!
Also pushover klappt wieder, zumindest bei mir!
Aber Email müsstest du auch noch fixen!
Da erhalte ich leider unter Unter redis auch doppelte Nachrichten!
Gruß Johnny
-
Hi Bluefox!
Also pushover klappt wieder, zumindest bei mir!
Aber Email müsstest du auch noch fixen!
Da erhalte ich leider unter Unter redis auch doppelte Nachrichten!
Gruß Johnny `
Bitte email vom git ausprobieren. -
Danke Bluefox!
Geb dir morgen bescheid ob es geklappt hat! Bekomme um 00:00 ne Statusmail und da seh ich dann ob es geklappt hat!
Schon mal vielen Dank für deine klasse Arbeit!
Johnny
-
Also Bluefox, es hat perfekt geklappt.
Keine doppelten Mails mehr.
Vielen Dank!
Johnny
-
Ich möchte mich hier mal mit einklinken.
Ich habe über Blockly die automatische Scharfschaltung meiner EMA bei Abwesenheit aller Bewohner realisiert und lasse mich per Pushover benachrichtigen.
Leider bekomme ich die Nachricht immer doppelt.
Woran kann das liegen?
Bei dem Adapter Backitup lasse ich mich auch per Pushover benachrichtigen, jedoch bekomme ich dort, wie es sein soll, nur eine Nachricht.