chatBot (vordefinierte Dialoge) für Telegram

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

Vorheriges Thema - Nächstes Thema

binford6000

ZitatIch überlege gerade ob ich nicht einfach ein Modul für die Telegram Dialoge bauen soll. Dafür hätte ich jedoch gerne ein bisschen input, damit ich mir die Syntax nicht alleine ausdenken muss ;)

Wer wäre denn alles an so einem Modul interessiert?

Hi Michael,

das sieht alles schon sehr schick aus und ich hätte natürlich auch großes Interesse an einem Modul für einen Chat-Dialog mit FHEM!   :D

VG Sebastian

sig10680

Hallo,
ich wäre auch an so einen Modul interessiert.

mfg Sig10680

magix99

Hi,

ich möchte mir mit dem Befehl ein Plot der Benzinpreise schicken lassen, habe aber von Perl nicht viel Ahnung.
Da ich aber auch eine Gruppe erstellt habe, geht die Nachricht nicht an mich sondern immer an die Gruppe.
Wie kann man das ändern?


if($msgText eq "/benzin_plot")
{TelegramBot_ExecuteCommand($defs{"Telegram"}, meineID, '{plotAsPng("SVG_FileLog_Benzinpreis_1")}');; return;;}


Bei den normalen Befehlen geht es, aber nicht bei dem Format zu Plot versenden.


if($msgText eq "/lampe_an"){
fhem "set FBDECT_Fritzbox_18 on meineID)."

pandabear_de

#63
Hi,
ich bin gerade über diesen Thread gestoßen und finde ihn sehr interessant. Bisher habe ich meinen Dialog via Telegram komplett über einen Notify abgewickelt. Die Auslagerung in ein Modul macht m.E. Sinn. Ich werde dieses Wochenende mal etwas Spieltzeit reservieren.  ;)

Ein Hinweis an dieser Stelle. Vor ich Schlatungen über Telegram erlauben wollte, war es mir wichtig, dies noch irgendwie mit einem Passwort abzusichern. - Zusammen mit Betateilchen habe ich zu diesem Zweck ein neues Modul (98_GoogleAuth) entwickelt, mit der One-Time-Passwords mit Google Authenticator geprüft werden können.

Also z.B.

Licht an 123456

Wenn 123456 ein gültiger Token ist, geht das Licht an.

Ich prüfe bei mir nun bei jeder Message nach, ob die letzten 6 Zeichen einen gültiger Token ergeben und kann dann bei meinen Schaltungen in der IF Abfrage prüfen, ob eine erfolgreiche Authentifizierung vorliegt.

Weitere Infos unter: https://fhem.de/commandref.html#GoogleAuth

Gruß
Jakob


PSI69

Hi,

ich habe gerade eben diesen Thread komplett gelesen, habe großes Interesse an einem Modul und teste gern!

Tschau Peter
FHEM 6 auf RPi 4 unter Buster mit inzwischen einem ganzen Zoo von Geräten...

igami

Hach, dann muss ich ja wirklich mal was machen :D
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

binford6000

ZitatHach, dann muss ich ja wirklich mal was machen

Das wäre echt cool! Ich würde mich auch als Betatester anbieten!  8)

VG Sebastian

Wuehler

Ich habe mich neulich ein wenig mit dem IBM Watson Conversation-Service beschäftigt. Den kann man privat bis zu einem gewissen Umfang kostenfrei nutzen. War ganz interessant. In recht kurzer Zeit konnte man Dialoge zusammenklicken, die einigermaßen natürlich gegenüber dem Nutzer wirkten.
Ist aber insgesamt recht viel Aufwand, wenn man nicht nur per Codeworten chatten will.

hartenthaler

Mit dem Watson Conversation Dienst habe ich mich noch nicht näher beschäftigt. Ich nutze RiveScript mit dem genialen fhem-TALKTOME-Modul (s.
https://forum.fhem.de/index.php/topic,54863.msg583423.html#msg583423). Dort nutze ich den Dialog mit natürlicher Sprache, wobei ich etliches so definiert habe, dass auch mal nur ein eindeutiges Stichwort reicht. Ein anderer Ansatz liesse sich da noch kombinieren nämlich eine Menüführung, die manchmal besser geeignet ist, etwa wenn es um das Schalten von Lampen geht. Ein "schalte die lampe an der decke im wohnzimmer" setzt voraus, dass man für jede Lampe weiß wie man sie nennen kann, und ist für Spracheingabe ok, bei einem Text-Chat aber etwas länglich; da wäre /licht mit der Ausgabe einer anklickbaren Liste aller Räume (keyboards) und dann einer Liste aller Lampen in einem Raum intuitiver, passt aber nicht für einen Sprachdialog. Mein Traum wäre ja die Kombination von Sprache mit Geste: "diese Lampe einschalten" und "Fingerzeig zur Lampe".
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

andies

#69
Ich hätte auch großes Interesse an einem solchen Modul.

<EDIT>Die Fehlermeldung hat sich erledigt, ich wusste nicht, wie man ein userattr setzt. Sorry.</EDIT>
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

#70
Zitat von: tiroso am 22 Juni 2016, 23:14:03
So ich habe heute was Zeit gehabt und habe mein FHEMBot-Script noch was angepasst.
<EDIT>Wettersymbole habe ich doch noch einbinden können.</EDIT>
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Besteht die Möglichkeit, die Favorite-Keyboards zweispaltig zu machen? In der Commandref steht drin, dass die keyboards noch gar nicht unterstützt werden, was glücklicherweise nicht der Fall ist: gerade die Keyboards sind ein großartiges Tool, danke!
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

igami

Zitat von: andies am 21 März 2017, 06:51:02
Besteht die Möglichkeit, die Favorite-Keyboards zweispaltig zu machen? In der Commandref steht drin, dass die keyboards noch gar nicht unterstützt werden, was glücklicherweise nicht der Fall ist: gerade die Keyboards sind ein großartiges Tool, danke!
Ich glaube du meinst eher das telegramBot modul, dann ist das hier der falsche thread.
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

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Ich unternehme hier einen zweiten Versuch. Ist das die richtige Stelle um das zu diskutieren:
2017.03.27 09:24:21 3: eval: my $EVENT='msgText: /system';my $EVTPART0='msgText:';my $NAME='TelegramBot';my $EVTPART1='/system';my $TYPE='TelegramBot';my $SELF='TelegramBotNotify';{fhem_bot($NAME);}
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_bits_per_sample: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_has_alpha: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(process:707): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels_with_length: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
Schwerer Fehler in PNG-Bilddatei: Invalid IHDR data2017.03.27 09:30:53 1: Including fhem.cfg


Ausgelöst wurde der Fehler durch folgenden Befehl (in meiner 99_myUtilsTelegram.pm):

fhem_bot_svgresponse(
["wl_sysmon_temp", "CPU Temp"],
["wl_sysmon_load", "CPU Load"],
["wl_sysmon_wlan0", "WLAN"],
["wl_sysmon_fs_root", "Partition"],
["wl_sysmon_ram", "RAM"]
...
sub fhem_bot_svgresponse{
my $svgentries = 0;
foreach (@_){$svgentries++;}
for(my $i = 0; $i < $svgentries; $i++) {
my @data = @{$_[$i]};
my $filename = 'plot'.$i.'.png';
open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
print $fh plotAsPng($data[0]);
close $fh;
fhem_bot_imgresponse(
"/opt/fhem/plot".$i.".png ".$data[1],
);
}
}

und diese sub habe ich aus dem Forum kopiert.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann