chatBot (vordefinierte Dialoge) für Telegram

Begonnen von igami, 27 März 2016, 17:17:32

Vorheriges Thema - Nächstes Thema

igami

Zitat von: RoBra81 am 03 September 2017, 18:14:26
Darf ich fragen, was dir bei der Syntax fehlt?
Das kann ich dir gar nicht so genau beantworten, da ich mich noch nicht so tief eingelesen haben.
Meiner Meinung nach ist die Syntax zu einfach. Mehrstufige Dialoge lassen sich nur mit % erzeugen. Und wie kann man einfach Variablen verändern (z.B. formatieren oder übersetzen)?

Noch ist nichts in Stein gemeißelt und es gibt momentan mehrere Ansätze hier im Forum.
Wie gesagt ist Thema dieses Threads aber ausschließlich ein chatBot mit vordefinierten Dialogen ohne Kontexterkennung.
RiveScript Zielt ja eher darauf ab, dass man mit dem Bot natürlich reden kann.
Ich suche nach einer Syntax mit der ich die Frage und die Möglichen Antworten erfasse ohne Spielraum zu geben.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

rohlande

Hallo Experten,

versuche gerade die SVG Daten via Telegram zu versenden.
Leider erhalte ich dazu folgende Fehlermeldung im log....
2017.11.03 13:40:39 5: Triggering TelegramSVGsend
2017.11.03 13:40:39 4: TelegramSVGsend exec {TelegramBot_ExecuteCommand($defs{"teleBot1"}, XXXXXXXXXX, '{plotAsPng("SVG_MS_Liefern_dblog_1")}');; return;;}
2017.11.03 13:40:39 1: ERROR evaluating my $NAME='teleBot1';my $TYPE='TelegramBot';my $EVENT='msgText: /SVG';my $EVTPART0='msgText:';my $EVTPART1='/SVG';my $SELF='TelegramSVGsend';{TelegramBot_ExecuteCommand($defs{"teleBot1"}, XXXXXXXXX, '{plotAsPng("SVG_MS_Liefern_dblog_1")}'); return;}: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 5235) line 1, near "'{plotAsPng("SVG_MS_Liefern_dblog_1")}')"

2017.11.03 13:40:39 3: TelegramSVGsend return value: Not enough arguments for main::TelegramBot_ExecuteCommand at (eval 5235) line 1, near "'{plotAsPng("SVG_MS_Liefern_dblog_1")}')"


Kann mir jemand auf die Sprünge helfen?

VG Denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

jkriegl

Da wurde mal was geändert
TeleB:queryData.*svg_solar {{TelegramBot_ExecuteCommand($defs{"TeleB"}, xxxxxxxx, undef, '{plotAsPng("SVG_FileLog_Solar_1")}');; return;;}}
Ich glaube das undef
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

rohlande

hast Recht. Habe es soeben selbst wieder gefunden. :-)
so funktioniert es.

   
teleBot1:msgText:./SVG {TelegramBot_ExecuteCommand($defs{"teleBot1"}, XXXXXXXX, undef, '{plotAsPng("SVG_MS_Liefern_dblog_1")}');return;}

Trotzdem Vielen Dank für die schnelle Antwort.

VG Denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

igami

Ich möchte hier auch noch Mal auf das msgDialog Modul hinweisen,welches offiziell in FHEM enthalten ist
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

rohlande

#111
@igami: habe es heute erst entdeckt. Bin hin und her gerissen. Habe schon einige zeit in meine "notify" Struktur gesteckt. Wenn ich zeit finde werde ich versuchen es umzubauen. Ist sehr schön Dein Modul.

Vg denny
HostSystem: Synology DS918 | FHEM im Docker Version: 6.0-s22528_v2.2.4 (dedizierte IP Adresse) | MQTT_Broker auf DS918 NAS | MQTT_FHEM | TASMOTA_DEVICE | SSChatBot | SSCam | LaMetric | FBAHAHTTP | CUL | SONOS | HUEBridge (deCONZ) Zigbee | FB_CALLMONITOR | InfluxDBLogger

Traxel

Guten Abend!

Ich bin mir nicht sicher ob ich hier richtig bin, aber ich versuche es einfach mal :-)

Mein Vorhaben ist folgendes: Ich möchte jeden Morgen um 06:30 eine Telegram message bekommen, mit der aktuellen Aussentemperatur.

Telegram läuft bereits erfolgreich, ich bekomme bei Anruf in Abwesenheit (FB_MONTOR) bereits fleißig Nachrichten.

Mein define lautet wie folgt:

define Morgennachricht at *06:30:00 {my $TETemperatur = ReadingsVal("Aussensensor","temperature", "") my $TEHumidity = ReadingsVal("Aussensensor","humidity", "")} set Telegram message Aussentemperatur $TETemperatur°C Luftfeuchte $TEHumidity%

Leider bekomme ich einen Fehler zurück:

Unrecognized character \xC2; marked by <-- HERE after Temperatur<-- HERE near column 194 at (eval 3326) line 1.

Ich habe schon einiges durchsucht hier und bei Google, aber nichts gefunden :-( Wo liegt nur mein Fehler? Danke!

vitolinker

Guten Abend!
Lasse doch mal das "°" (Gradzeichen) im set Befehl weg und probiere nochmal :-)

VG Vitolinker

igami

richtig bist du hier zwar nicht, aber die Perl Befehle müssen noch mit Semikolon getrennt werden und der FHEM aufruf passt auch nicht.
Du kannst aber auch einfach setmagic verwenden. siehe dazu die Commandref im Abschnitt set.
Dann wird es zu "set ... [device:reading] ..."
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Traxel

Vielen Dank für den Tip!

Gemeinsam mit der Referenz https://fhem.de/commandref_DE.html#set sieht meine Automatik nun so aus:

define Morgennachricht at *06:30:00 set Telegram message [Aussensensor:STATE] / [Abfallkalender:STATE]
attr Morgennachricht group Steuerungssysteme
attr Morgennachricht room Einstellungen


Und es funktioniert hervorragend!

Alex1984

Hallo Igami


Hab alles soweit am laufen aber scheitere am senden der SVG Plots da die SubRoutine nicht dabei ist und ich es einfach nicht hin bekomme.

Könntest du mir bitte deine SubRoutine PLOT2JPEG zu kommen lassen oder hier posten???


Danke
Gruss
Alex

igami

#117
Puh, schon lange nicht mehr verwendet. Habe das aus dem Forum. Guck mal bei https://forum.fhem.de/index.php/topic,38842.msg309983.html#msg309983

Telegram Bot untertzütz das Commando plotAsPng einfach mal in die commandref gucken ;)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

adrian

Hallo zusammen,
Ich steige gerade von Telegram auf den Signalbot um. Ist sowieso mein Standard Messenger und sicher dazu. :-) Da macht es nur Sinn auch den Chatbot auf Signal um zubauen.
Grundsätzlich funktioniert das auch sehr gut, nur werden mir die Menüpunkte als Text angezeigt, sprich "/hauptmenu" steht als reiner Text bzw. Rückgabewert in der Signalnachricht. Was muß denn eingestellt oder angepasst werden, dass die Befehle auch als Shortcuts also klickbar übergeben werden?
danke und gruß
adrian