Push Nachrichten für Pekaway Connect APP

Ich hätte da mal etwas vorbereitet.
da ich ja alle meine Störmeldungen via Telegram versende, habe ich überall ein Konstrukt mit einer Change Node und einem Filter. in der Change Node den Text, und den Filter nur bei Änderung weiterleiten, die brauche ich nur noch über einen Linkout zur Pushnachricht schicken.
Die Change Node muss nur noch um die Regel Topic erweitert werden.
Die function Node “create push notification” habe ich etwas verändert.
Ich denke nur das die Push Nachrichten ziemlich langsam sind, bei Telegram kommen 4 Nachrichten an, in der Pushnachricht nur eine (wenn gleichzeitig geschickt).

[{"id":"32b446e17c5a2373","type":"link in","z":"26c2c3c7df4ec7de","name":"Pushnachrich in","links":["bdb2a98b18e188fa","bbcfa08c1d3694df"],"x":705,"y":60,"wires":[["9835a54f86ed7b34"]]},{"id":"98fbe3ef47827d72","type":"inject","z":"26c2c3c7df4ec7de","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"BMS","payload":"Störung Überspannung","payloadType":"str","x":720,"y":220,"wires":[["9835a54f86ed7b34"]]},{"id":"faa07757aa5e8aa6","type":"change","z":"26c2c3c7df4ec7de","name":"","rules":[{"t":"change","p":"payload","pt":"msg","from":"true","fromt":"bool","to":"Batterie BMS <12,5V","tot":"str"},{"t":"change","p":"payload","pt":"msg","from":"false","fromt":"bool","to":"Batterie BMS OK","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"BMS","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":950,"y":300,"wires":[["71438affdadc7270"]]},{"id":"71438affdadc7270","type":"rbe","z":"26c2c3c7df4ec7de","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":930,"y":260,"wires":[["1f903dc7529736ca","bbcfa08c1d3694df"]]},{"id":"1f903dc7529736ca","type":"link out","z":"26c2c3c7df4ec7de","name":"link out zu Telegram","mode":"link","links":[],"x":1015,"y":220,"wires":[]},{"id":"bbcfa08c1d3694df","type":"link out","z":"26c2c3c7df4ec7de","name":"Push ","mode":"link","links":["32b446e17c5a2373"],"x":1025,"y":260,"wires":[]},{"id":"65b5dd8ab1ef02d1","type":"inject","z":"26c2c3c7df4ec7de","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":670,"y":300,"wires":[["faa07757aa5e8aa6"]]},{"id":"57504061ac3d993a","type":"inject","z":"26c2c3c7df4ec7de","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"false","payloadType":"bool","x":670,"y":340,"wires":[["faa07757aa5e8aa6"]]},{"id":"1fb252777b750c05","type":"group","z":"26c2c3c7df4ec7de","name":"Push-Notification (experimental)","style":{"label":true},"nodes":["da392ca4a319694d","9835a54f86ed7b34","8fbdddc3eb49acc1"],"x":574,"y":99,"w":512,"h":82},{"id":"da392ca4a319694d","type":"inject","z":"26c2c3c7df4ec7de","g":"1fb252777b750c05","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":680,"y":140,"wires":[["9835a54f86ed7b34"]]},{"id":"9835a54f86ed7b34","type":"function","z":"26c2c3c7df4ec7de","g":"1fb252777b750c05","name":"create push notification","func":"let text1 = msg.topic;\nlet text2 = msg.payload;\n\nmsg.topic = \"notify\";\n\nmsg.payload = {\n    title:  text1,//\"This is a test title\",\n    body: text2,//\"Here you can read the body of the message\",\n    device_name: [\"Android-8044\"] // remove this line to send to all devices\n};\n\nreturn msg;\n\n/*\n\n\nDeutsche Übersetzung\n\nmsg.topic = \"notify\";\n\nmsg.payload = {\n    title: \"Dies ist ein Test-Titel\",\n    body: \"Hier steht der Nachrichtentext\",\n    device_name: [\"Android-ABCD\", \"iOS-1234\"] // Diese Zeile entfernen, um an alle Geräte zu senden\n};\n\nreturn msg;\n\n/*\nFunktionsweise:\n\ntitle ist der Titel der Benachrichtigung.\nbody ist der Nachrichtentext.\ndevice_name legt das Zielgerät oder die Zielgeräte fest.\nOptionen für device_name:\n\nEin Gerät:\ndevice_name: \"Android-A459\"\nSendet nur an dieses Gerät.\nMehrere Geräte:\ndevice_name: [\"Android-ABCD\", \"iOS-1234\"]\nSendet an alle aufgeführten Geräte.\nKein device_name:\nSendet an alle aktiven Geräte dieses Benutzers.\n    Hinweise:\n\nVerwenden Sie denselben Gerätenamen, den Sie in der App festgelegt haben.\nWenn Sie mehrere Geräte angeben und ein Name nicht existiert, wird die Nachricht dennoch an die vorhandenen Geräte gesendet.\nWenn Sie nur einen Namen angeben und dieser nicht existiert, wird nichts gesendet.\nHow it works:\n\ntitle is the notification title.\nbody is the message text.\ndevice_name chooses the target device or devices.\ndevice_name options:\n\nOne device:\ndevice_name: \"Android-A459\"\nSends only to that device.\nSeveral devices:\ndevice_name: [\"Android-ABCD\", \"iOS-1234\"]\nSends to all listed devices.\nNo device_name:\nSends to all active devices for that user.\n    Notes:\n\nUse the same device name you set in the app.\nIf you list more than one device and one name does not exist, the message still goes to the devices that do exist.\nIf you use only one name and it does not exist, nothing is sent.\n\n*/\n","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":890,"y":140,"wires":[["8fbdddc3eb49acc1"]]},{"id":"8fbdddc3eb49acc1","type":"link out","z":"26c2c3c7df4ec7de","g":"1fb252777b750c05","name":"push notification example","mode":"link","links":["b33b6228a95c725d"],"x":1045,"y":140,"wires":[]}]

Sicher, dass die alle gesendet werden? Wenn ich das sende

let messages = [];

for (let i = 1; i <= 7; i++) {
    messages.push({
        topic: "notify",
        payload: {
            title: `Test Title ${i}`,
            body: `Test Body ${i}`
        }
    });
}

return [messages];

werden 7 Nachrichten sofort gepusht und kommen auch innerhalb von Sekunden auf meinem Handy an. Zwar nicht in der genau richtigen Reihenfolge, aber das sei mal dahingestellt :smiley:

Kann natürlich auch mit dem Push-Dienst an sich zu tun haben und Netzwerkauslastung/-geschwindigkeit, App aktiv, Bildschirm an, Handy am Strom… Das ist eine Wissenschaft für sich :smiley:

Ja sollte eigentlich gesendet werden. I Ich sammele die Meldungen auf der BMS Seite an einem linkout den ich zu Telegram schicke da hab ich einen 2 linkout dran gemacht, den ich auf push schicke, nach dem deploy bekomme ich vom bms immer eine Melfeflut, und da ist halt nur eine Meldung gekommen. Hab das aber nur einmal gemacht, bin in Urlaubs Vorbereitung und hab eigentlich keine Zeit.
Aner die app musste wieder laufen, :wink: