Seite 2 von 4

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 1:48 pm
von adimaster
hans4711 hat geschrieben: Sa Dez 23, 2023 1:05 pm Ein Klick auf die selbstgebaute Tastatur und nach millisekunden ist die Antwort da.
Cool, und wie macht man so eine Tastatur 😅?

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 1:56 pm
von Dragonos2000
Wenn ich das richtig im Sinn habe:

Code: Alles auswählen

/setcommands
an botfather, dann wird nach dem Bot gefragt:

Code: Alles auswählen

@Mein_Haustechnik_Bot
und dann eine Liste mit Kommandos schicken, je Zeile ein Kommando ggf. mit Beschreibung:

Code: Alles auswählen

hallo - Der Bot sagt dir hallo
ciao - Und tschüss

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 2:14 pm
von gbglace
Na das klingt ja genial, wenn man den Telegramm auch ohne NR anfunken kann. Das wäre ja wieder eine Abhängigkeit weniger zu einem Container.
Muss ich doch wirklich mal tiefer ins Thema http Api einsteigen.

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 4:02 pm
von adimaster
Ja, das lohnt sich ... Hatte es davor bzw. auch jetzt noch teilweise in OpenHAB.
Funktioniert auch gut, aber je weniger Abhängigkeiten desto besser.

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 8:17 pm
von hans4711
adimaster hat geschrieben: Sa Dez 23, 2023 1:48 pm Cool, und wie macht man so eine Tastatur 😅?
In Node Red habe ich das so gemacht:

Code: Alles auswählen

var opts;
if (msg.payload == /*Chat-ID des abfragenden Benutzers*/) {

opts = {
  reply_markup: JSON.stringify({
    keyboard: [
      ['/pv', '/wp', '/strom', '/temp', '/humidor'],
      ['/strahlung', '/muell', '/feinstaub'],
      ['/opendoor', '/hoflicht', '/abwesend', '/clean', '/tore'],
      ['/lueftung','/herd']
      ],
      'resize_keyboard' : true, 
      'one_time_keyboard' : true
  })
};
    }

else if (msg.payload == /*Chat-ID des abfragenden Benutzers*/){

opts = {
  reply_markup: JSON.stringify({
    keyboard: [
      ['/strahlung', '/muell'],
      ['/opendoor', '/hoflicht', '/abwesend', '/clean', '/tore'],
      ['/lueftung', '/herd']
      ],
      'resize_keyboard' : true, 
      'one_time_keyboard' : true
  })
};
}
else{
opts = {
  reply_markup: JSON.stringify({
    keyboard: [
      ['/strahlung', '/muell', '/tastatur'],
      ],
      'resize_keyboard' : true, 
      'one_time_keyboard' : true
  })
};
    }
msg.opts = opts;
return msg;
Man muss die Tastatur bei jeder Nachricht mitsenden, also nebem dem Text kommt dann noch die Tastatur. Ich habe je nach Benutzer unterschiedliche Tastaturen erzeugt, ist dann wie ein kleines Berechtigungsmanagement.
Wie das aber im TWS gehen soll kapiere ich gerade noch nicht.
gbglace hat geschrieben: Sa Dez 23, 2023 2:14 pm Muss ich doch wirklich mal tiefer ins Thema http Api einsteigen.
Ich bin leider nicht so der Programmierprofi und habe den TWS ja erst seit 2 Tagen, aber vielleicht bekommen wir das ja hier im Forum gemeinsam hin. Wer ist denn hier ein HTTP-API Profi?

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 8:41 pm
von SchateMuhl
Hallo Adi

@adimaster Danke für den Beitrag mit der Telegram API.
Ich habe es nun mal nachgebaut und es geht ihn eProbleme.

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 8:49 pm
von hans4711
SchateMuhl hat geschrieben: Sa Dez 23, 2023 8:41 pm Ich habe es nun mal nachgebaut und es geht ihn eProbleme.
Ich kann jetzt auch Nachrichten verschicken. Zeilenumbruch geht übrigens mit %0A

Stings in Logiken zusammenbauen geht wohl erst mit V4:
viewtopic.php?t=3833
StefanW hat geschrieben: Mo Okt 31, 2022 3:35 pm Hi Frank,
mit Version 4 wird die String-Verarbeitung in der Logik erweitert
lg
Stefan

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 8:52 pm
von SchateMuhl
@hans4711 Danke Dir.
Hast du auch schon eine Tastatur nachgebildet ?

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 9:07 pm
von hans4711
SchateMuhl hat geschrieben: Sa Dez 23, 2023 8:52 pm Hast du auch schon eine Tastatur nachgebildet ?
Nein habe ich noch nicht hinbekommen. Einfach nur in die URI reinschreiben hat nicht funktioniert. Ich kann mir nicht vorstellen das ich da den ganzen Code vom oberen Post in die Adresszeile kippen kann. Kann man da nicht irgendwo sowas wie JSON in einem großen Textfeld bearbeiten das man mitgeben kann?

Zweites Problem das ich noch nicht ganz verstehe (Jugend forscht :) ) :
Um Tastatureingaben empfangen zu können müsste der TWS ja immer an der Schnittstelle lauschen, das weiß ich nicht wie das mit dem TWS geht. In den Einstellungen finde ich nur Optionen zum Senden und Empfangen nach Aufruf einer URI. Ein Empfangen und gleichzeitiges Trigger auslösen finde ich nicht

Re: [V3.5.1] Telegram Bot Per HTTP-API anbinden

Verfasst: Sa Dez 23, 2023 9:09 pm
von gbglace
Das ging mir vorhin auch noch durch den Kopf, aktuell ist die API darauf ausgelegt auszulösen und die Antworten aufzunehmen, selbst aktiv adressiert zu werdenbgeht glaube noch nicht.