NEWS
[gelöst]Über Telegram Button ein Cron Script ausführen
-
Hi,
ich führe einmal zweimal täglich folgendes Skript aus:
schedule("25 7,19 * * *", function () { var tgmsg = ''; const dps = $('javascript.0.isopen.*'); dps.each(function(id, i) { var desc = getObject(id).common.desc; tgmsg = tgmsg + 'Der Sensor '+ desc +' ist offen.\n'; }); sendTo('telegram.0', tgmsg); });
Wie kann ich das Skript zusätzlich auf Anforderung ausführen, wenn ich einen Telegram Adapter Button anwähle?
-
Die anonyme Funktion in eine Funktion mit Namen packen und zusätzlich per Trigger auf den Telegram Button aufrufen.
Etwa so:
const idButton = '...'; function sendeOffen() { var tgmsg = ''; const dps = $('javascript.0.isopen.*'); dps.each(function(id, i) { var desc = getObject(id).common.desc; tgmsg = tgmsg + 'Der Sensor '+ desc +' ist offen.\n'; }); sendTo('telegram.0', tgmsg); } schedule("25 7,19 * * *", sendeOffen); on({id: idButton}, sendeOffen);
-
Hi,
ich habe mein Skript so angepasst (nur die 1. Zeile angepasst):
const idButton = 'Sensoren'; function sendeOffen() { var tgmsg = ''; const dps = $('javascript.0.isopen.*'); dps.each(function(id, i) { var desc = getObject(id).common.desc; tgmsg = tgmsg + 'Der Sensor '+ desc +' ist offen.\n'; }); sendTo('telegram.0', tgmsg); } schedule("25 7,19 * * *", sendeOffen); on({id: idButton}, sendeOffen);
Den Button selbst habe ich Sensoren genannt.
Der Telegram Adapter sagt mir nachdem ich den Button angeklickt habe: Ich verstehe "sensoren" nicht
Muss ich noch ein Text-Kommando dazu anlegen. Das habe ich probiert und versucht das Skript aufzurufen. Er schaltet dann aber nur das Skript aus oder ein. Aber ausgeführt wird es nicht.
-
Jetzt habe ich den Button unter text2command angelegt und starte das Script.
Die Fehlermeldung ist verschwunden.
Ich glaube das Problem hängt mit idbutton zusammen. Was ist das genau? Die Beschriftung, wie ich sie oben verwendet habe.
Oder was anderes?
-
hängt mit idbutton zusammen. Was ist das genau? `
Das ist die ID des Datenpunktes, der als Auslöse-Taste dient, z.B. "javascript.0.meinButton". -
Warum stelle ich mich so blöd an. Das was du mir geschrieben hast, habe ich verstanden. Ich habe mal Screenshots angehängt, da ich es denke ich jetzt logisch gebaut habe, aber es noch nicht funktioniert.
Der Auslöser wird auf yes (true) gesetzt, aber das Script wird nicht ausgeführt.
Screenshots in umgekehrter Reihenfolge.
8437_1.png
8437_2.png
8437_3.png
8437_4.png -
Peinlich, es funktioniert. Aber wenn kein Sensor offen ist, kann er auch nichts melden.
Vielen Dank für die Hilfe!