NEWS
WhatsApp Adapter - Verzögerung beim Versand
-
Hallo zusammen,
ich habe festgestellt, dass ich eine Vezögerung von ca. 15 Sekunden beim Versand von Nachrichten über WhatsApp habe. Ist das normal?
Blockly löst aus, erst nach 15 Sekunden bekomme ich eine Nachricht über WhatsApp.
Bei Telegram bekomme ich sie schon nach 2 Sekunden zugestellt.Gruß surfer
-
Mit welchem Adapter?
Edit: Ich hab 15 Minuten statt 15 Sekunden gelesen. 15 Sekunden finde ich etzt nicht übermäßig lang.
-
@thomas-braun WhatsApp CallMeBot Version 0.2.3. Für "normale" Info-Meldungen wie für die Mülltonne oder ähnliches ist das nicht so wild, wenn es aber etwas zeitkritisches ist...
Eigentlich wollte ich meinen Telegram-Adapter ablösen, weil ich Telegram ansonsten nicht benutze. -
@surfer09
Dann schieb die zeitkritischen Dinge über andere Dienste. -
@surfer09 sagte in WhatsApp Adapter - Verzögerung beim Versand:
Eigentlich wollte ich meinen Telegram-Adapter ablösen, weil ich Telegram ansonsten nicht benutze.
Ich nutze nur telegram.
Weil es über whatsapp nicht so funktioniert wie ich es möchte (hast du ja schon selber festgestellt). -
@bahnuhr Ja, schade eigentlich. Bleibe dann auch bei Telegram.
-
@surfer09 Ich nutze nicht den Adapter, sondern ein reines Skript. Da dauert es keine 5 Sekunden.
-
@ro75 Okay.. Darf ich fragen, wie das Skript aussieht? Ich bin jetzt nicht so der Programmierer.
-
@ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:
@surfer09 Ich nutze nicht den Adapter, sondern ein reines Skript. Da dauert es keine 5 Sekunden.
bei whatsapp ?
coolDann zeig doch mal das Script.
-
Dieses Skript stammt von: Stephan Kreyenborg
Das als GLOBAL:
/* * @copyright 2021 Stephan Kreyenborg <stephan@kreyenborg.koeln> * * @author 2021 Stephan Kreyenborg <stephan@kreyenborg.koeln> * * Dieses Skript dient zur freien Verwendung in ioBroker zur Versendung Nachrichten an den CallMeBot Service. * Jegliche Verantwortung liegt beim Benutzer. Das Skript wurde unter Berücksichtigung der bestmöglichen Nutzung * und Performance entwickelt. * Der Entwickler versichert, das keine böswilligen Systemeingriffe im originalen Skript vorhanden sind. * * Sollte das Skript wider Erwarten nicht korrekt funktionieren, so hast Du jederzeit die Möglichkeit, Dich auf * https://www.kreyenborg.koeln * für Unterstützung zu melden. Jedes Skript besitzt seine eigene Kommentarseite, auf der, * nach zeitlicher Möglichkeit des Autors, Hilfe angeboten wird. Ein Anrecht hierauf besteht nicht! * * Ansprüche gegenüber Dritten bestehen nicht. * * Skript Name: WhatsAppBot * Skript Version: 1.1 * Erstell-Datum: 19. April 2021 * * Aufruf erfolgt mit: WhatsAppBot(0, "Dies ist eine Testnachricht!"); * Wobei 0 das erste registrierte Gerät ist, das zweite hat die 1 usw. Für alle Geräte gleich "alle" benutzen */ function WhatsAppBot(empfaenger, text) { // Hier kommen Deine API Keys rein var api_keys = ["75XXXX", "17XXXXX", "89XXXXX"]; // Hier kommen die zughörigen Telefonnummern rein var telephone_nummer = ["+491522XXXXX", "+491525XXXXXX", "+49163XXXXX"]; // Textnachricht bereinigen var nachricht = text.replace(/\s/g, "+"); nachricht = nachricht.replace(/<br>/g,"%0A"); // An alle oder nur an einen bestimmten Empfänger if (Array.isArray(empfaenger)) { for (let i = 0; i < empfaenger.length; i++) { sendeWhatsApp(telephone_nummer[empfaenger[i]], api_keys[empfaenger[i]], nachricht); } } if (empfaenger == "alle") { for (let i = 0; i < telephone_nummer.length; i++) { sendeWhatsApp(telephone_nummer[i], api_keys[i], nachricht); } } if (Number.isInteger(empfaenger)) { sendeWhatsApp(telephone_nummer[empfaenger], api_keys[empfaenger], nachricht); } } function sendeWhatsApp(empfaenger, api_key, nachricht) { if (empfaenger != "" && api_key != "" && empfaenger != undefined && api_key != undefined) { exec("curl -X GET 'https://api.callmebot.com/whatsapp.php?phone=" + empfaenger + "&text=" + nachricht + "&apikey=" + api_key + "'", function (error, stdout, stderr) { if (stdout.includes("Message queued") || stdout.includes("invalid") || stdout.includes("currently a limit")) { if (stdout.includes("Message queued")) { log("WhatsAppBot: Erfolg: Nachricht an " + empfaenger + " verschickt!"); } if (stdout.includes("invalid")) { log("WhatsAppBot: Fehler: API Key für " + empfaenger + " ist ungültig!"); } if (stdout.includes("currently a limit")) { log("WhatsAppBot: Fehler: 25 Nachrichten pro 4 Stunden Limit erreicht für " + empfaenger + "!"); } } else { log("WhatsAppBot: Fehler: Nachricht an " + empfaenger + " konnte nicht verschickt werden! Error: " + error); } }); } else { log("WhatsAppBot: Fehler: Empfänger oder API Key für diese Position ungültig!"); } }
So der Aufruf:
WhatsAppBot("alle", "Essenplanung schon erledigt?");
oder
WhatsAppBot([0,1], Toner hat noch eine Restkapazität von ...");
-
@ro75 Danke! Ich arbeite überwiegend mit Blockly Skripten, wie bekomme ich das denn dort untergebracht? Also so wie ich das verstehe, müsste ja nur der Aufruf im Blockly Skript passieren, das Globale Skript lege ich als Java-Skript in den Global Ordner?!
-
@surfer09 Ja, das kommt nach Global. Nur mit Blockly kann icht dir leider nicht helfen.
-
@ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:
WhatsAppBot([0,1], Toner hat noch eine Restkapazität von ...");
Im Script steht:
log("WhatsAppBot: Fehler: 25 Nachrichten pro 4 Stunden Limit erreicht für " + empfaenger + "!");
Ist es richtig, dass man "nur" 25 Nachrichten in 4 Stunden senden darf ?
Wenn ja, dann ist das völlig unbrauchbar.
-
@bahnuhr JA die kostenfreie Variante. Das gilt aber nicht nur für das Skript, auch für den Adapter.
-
@ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:
JA die kostenfreie Variante. Das gilt aber nicht nur für das Skript, auch für den Adapter.
Ok, Danke für die Info.
Dann für mich völlig unbrauchbar. Bleibe bei telegram.
25 Nachrichten hab ich ja in 15 Minuten.
Also nix für mich. -
-
@djmarc75 sagte in WhatsApp Adapter - Verzögerung beim Versand:
@ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:
Das als GLOBAL:
Warum ?
Weil man mit einem Kurzbefehl:
whatsapp ....
das globale Script aufruft und dort das ganze abgearbeitet wird. -
@djmarc75 So stand es in der Anleitung. Kann man mit Sicherheit auch nicht in Global ablegen.
-
@ro75 sagte in WhatsApp Adapter - Verzögerung beim Versand:
nicht in Global ablegen.
ne nicht sinnvoll.
Dann muss man ja alles (key, nr., etc) in jedem Script einfügen wo es Verwendung findet.
-
@bahnuhr sagte in WhatsApp Adapter - Verzögerung beim Versand:
Weil man mit einem Kurzbefehl:
whatsapp ....
das globale Script aufruft und dort das ganze abgearbeitet wird.ok, verstanden