Telegram Problemchen

Hallo zusammen
Ich habe mir eben meinen Telegram Bot erstellt.
die Abfrage funktioniert schon mal.
beim schalten der Relays habe ich allerdings ein Problem.
Die ersten 3 Relays habe ich mit: 1. Wohnraum, 2.Küche, und 3.Bad beschriftet.
wenn ich den 1. Button drücke geht Relay 3 an, wenn ich den 2. drücke geht Relay 3 wieder aus.
Drücke ich den 3. passiert garnichts. Ich hab mal ein Debug Note an den Receiver und an die Funktion Node gehängt. der 1. Eintag ist immer vom Receiver, der 2. von der Funktions Node.



hier unten steht noch content: “Bad”
Gruß Arno

Hallo,

ich verstehe irgendwie noch nicht was Du machen willst.
Von welchen Relays und Buttons sprichst Du?
Und Du beschreibst nur einen Zustand und hast gar keine Frage gestellt.
Auf den Screenshots erkenne ich auch nicht wirklich viel, da dort nur ein kleiner Ausschnitt zu sehen ist.
Ich habe auch schon einige Dinge mit dem Telegram-Bot und Node-Red ausprobiert und baue mir gerade eine art Alarmanlage damit.
Wenn Du Dein Problem näher beschreibst, kann ich vielleicht helfen.
LG, Philipp

@ahtdf
Hab den Flow nochmal überarbeitet. Funktioniert bei mir soweit.

Du findest die .json Datei hier: node-red-flows/TelegramBotFlow · master · Karl / CamperControl · GitLab

@F_L_I_P_P
Wir hatten mal ein einfaches Template erstellt, mit dem man einen Telegram Bot benutzen kann um verschiedenen Werte ausgeben zu lassen und die 8 Relays vom Relayboard schalten zu können

@Vincent Ich habe es auch mal ausprobiert, funktioniert super. Ich hatte bisher “node-red-contrib-telegrambot” verwendet. Aber das “node-red-contrib-chatbot” kann ja noch viel mehr. Danke für den Tipp.

1 Like

@Vincent danke für die schnelle Hilfe, ich habe so keinen Fehler gefunden. Voraussichtlich kann ich das erst am WE testen.
Gruß Arno

@Vincent ,ich habe meinen VanPi neu aufgesetzt und den “node-red-contrib-chatbot”, welcher jetzt in 1.0.0 (ist schon interessant von 0.19.20 auf 1.0.0) vorliegt installiert. In der neuen Version fehlt der “chatbot-command” node. Ich habe schon im Netz gesucht, welcher node als Ersatz dafür genommen werden kann, bin aber bisher nicht fündig geworden. Hast Du eine Idee ?

@terdt
habs mir grad mal angeschaut, 1.0.0 wurde vor drei Tagen released, da werden es noch nicht so viele Leute ausprobiert haben. Im Changelog steht leider auch nur “removed deprecated nodes”…
Wobei das mit der neuen Mission Control ganz cool aussieht :smiley:
Eventuell mal die Issues im Github Repo im Auge behalten (Issues · guidone/node-red-contrib-chatbot · GitHub)

Als kleinen Workaround könntest du direkt hinter den Telegram Receiver eine Function Node hängen und dort überprüfen welche Befehle reinkommen und damit entsprechend weiterleiten. Also ungefähr so:

if (msg.payload.content == "/befehl1") {
    //return msg nur auf Ausgang 1
    return [msg, null, null]
}
else if (msg.payload.content == "/befehl2") {
    //return msg nur auf Ausgang 2
    return [null, msg, null]
}
....

Du musst dabei im Setup der Function Node die Anzahl der Ausgänge entsprechend anpassen.

Alternativ kannst du einfach eine ältere Version von RedBot installieren, dafür per SSH einloggen und ins Node-Red Modul Verzeichnis wechseln
cd /home/pi/.node-red/node-modules
Dort dann mit dem Befehl
sudo rm -rf /node-red-contrib-chatbot
(rm für remove, flags r für rekursiv (also löschen inkl. aller Unterordner etc) und f für force (nicht nachfragen))
das Modul löschen und danach wieder einen Ordner höher gehen (Ins Node-Red Hauptverzeichnis)
cd ../
Hier dann mit
npm install node-red-contrib-chatbot@0.19.20
wieder die alte Version installieren

@Vincent , ich habe die Doku durchforstet und eine einfachere Lösung gefunden. Man ersetzt die “chatbot-command” node durch die “rules” node. In der node fügt man die rule “Message is a command” mit dem entsprechenden command ein und fertig.

1 Like

@terdt

ah sehr gut, soweit hab ich gar nicht geschaut. Aber gut zu wissen, falls ich mal andere Projekte update! Danke