Telegram instant messaging TelegramBot - Empfangen und Senden per FHEM

Begonnen von viegener, 20 Juni 2015, 18:59:41

Vorheriges Thema - Nächstes Thema

viegener

Zitat von: PeterS am 07 Januar 2017, 17:56:51
Hallo viegener

Über den Telegram Bot versende ich unterschiedliche Nachrichten für Aktionen (z.B. Fenster auf/zu), Hinweise und Statusmeldungen (z.B. Füllstände, Laufzeiten, Statuszustände) und Alarmmeldungen (z.B. Garagentor länger als xx Minuten geöffnet).
Zur Zeit erzeigen alle Messages eine Notification auf IOS- und Android-Geräten.
Laut Telegram Bot API unterstützt die Methode "sendMessage" neben dem Parse_Mode (ist bereits integriert) auch den Parameter "disable_notification" (Optional - Sends the message silently. iOS users will not receive a notification, Android users will receive a notification with no sound.).

Cool wäre es, wenn man den einzelnen Messages optional mitgeben könnten, ob die Benachrichtigung unterdrückt werden sollte. Damit könnten dann Hinweise und Statusmeldungen (z.B. Füllstände, Laufzeiten, Statuszustände) wahlweise keine Benachrichtigung auslösen.
Denkbar wäre dies aber beim automatischen Bilderversand ;)

PS: Es sollte aber nicht als Attribut zentral gesteuert werden

Gruss Peter

Danke, das habe ich verstanden.
Wenn es per nachricht steuerbar sein sollte, dann müsste man wohl entweder die set-cmds doppeln die das erlauben sollen oder eine Option in den Kommandos hinzufügen. Beides gefällt mir nicht wirklich gut, denn es erfordert auf jeden Fall einige Umbauten und die Sprache beim Versenden wird noch komplizierter.

Also eine gute Lösung fällt mir noch nicht ein, ich nehme es mal auf die Liste.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Marlen

Hallo Peter,

ich hab dafür einfach verschieden Telgram Gruppen erstellt!
Eine für Info's diese Gruppe hab ich lautlos gestellt und eine für Alarm, diese hab ich mit einen Alarmton versehen!

LG
  Marlen

PeterS

Zitat von: Marlen am 09 Januar 2017, 13:02:09
Hallo Peter,

ich hab dafür einfach verschieden Telgram Gruppen erstellt!
Eine für Info's diese Gruppe hab ich lautlos gestellt und eine für Alarm, diese hab ich mit einen Alarmton versehen!

LG
  Marlen

Hallo Marlen

Danke für den Tipp !
Simpler, aber guter Anstatz. Ich werde es mal umsetzen  ;)

Gruss Peter

viegener

Kleine Änderung in der Version in github - es gibt nun die Möglichkeit bei Favoriten neben dem ? auch ein ! anzugeben. Beim ! vor dem Kommando wird das Ergbnis immer gesendet auch wenn das per cmdReturnEmptyResult ausgeschaltet ist.

Allerdings nicht wenn das Template das auschliesst.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tagedieb

Hallo und Guten Abend

ersteinmal vielen Dank für das Modul und die tolle Dokumentation ! :)
Dennoch habe ich eine Frage:
wie kann ich den Befehl cmdRestrictedPeer wieder zurücknehmen und den Benutzer wieder freigeben?

Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

viegener

Zitat von: tagedieb am 11 Januar 2017, 21:21:22
Hallo und Guten Abend

ersteinmal vielen Dank für das Modul und die tolle Dokumentation ! :)
Dennoch habe ich eine Frage:
wie kann ich den Befehl cmdRestrictedPeer wieder zurücknehmen und den Benutzer wieder freigeben?

Gruss tagedieb

Ich bin nicht sicht ob ich die Frage verstehe - cmdRestrictedPeer ist ein Attribut und das lässt sich auch wieder löschen

Allerding empfehle ich das definitv NICHT!
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tagedieb

Hallo viegener
Danke für die Rückmeldung
ich hatte Glück und nach einem Restart von FHEM war es wieder weg - ich hatte dummerweise die falschen Benutzer gesperrt  :-[
daher war für mich ein zurücksetzten wichtig


Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

MadMax-FHEM

Zitat von: tagedieb am 12 Januar 2017, 06:30:50
Hallo viegener
Danke für die Rückmeldung
ich hatte Glück und nach einem Restart von FHEM war es wieder weg - ich hatte dummerweise die falschen Benutzer gesperrt  :-[
daher war für mich ein zurücksetzten wichtig


Gruss tagedieb

Du kannst das Attribut bzw. den Attributwert auch einfach ändern: auf das Attribut klicken und neuen Wert eintragen und dann vorne auf "attr" klicken zum Übernehmen und dann "save config"!!

"Save Config" hattest du wahrscheinlich nach deiner Änderung (oder einigen Änderungen) nicht ausgeführt, dann ist alles was du änderst nach einem "shutdown restart" weg!!

Also wenn du willst, dass Änderungen einen "Reboot" (oder "shutdown restart") "überleben", dann "save config" nicht vergessen!!

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

tagedieb

Hallo Madmax-FHEM
danke für den Hinweis
doch das mit dem neuen Wert eintragen und vorn auf attr klicken hat leider nicht funktioniert, ich blieb weiter ausgesperrt  :-\
hier hat sich meine Angewohnheit bestätigt, ERST alles mit save zu sichern, wenn es richtig funktioniert  ;)
ich finde im Netzt nur eine deutsche Anleitung für das Einrichten des TelgramBot - gibt es auch irgendwo eine deutsche Anleitung der ganzen APP?

gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

viegener

Zitat von: tagedieb am 12 Januar 2017, 14:45:08
Hallo Madmax-FHEM
danke für den Hinweis
doch das mit dem neuen Wert eintragen und vorn auf attr klicken hat leider nicht funktioniert, ich blieb weiter ausgesperrt  :-\
hier hat sich meine Angewohnheit bestätigt, ERST alles mit save zu sichern, wenn es richtig funktioniert  ;)
ich finde im Netzt nur eine deutsche Anleitung für das Einrichten des TelgramBot - gibt es auch irgendwo eine deutsche Anleitung der ganzen APP?

gruss tagedieb

Ich habe das gerade auf meiner Testinstallation ausprobiert, bei Änderung des Attributwertes zieht die Änderung sofort (ohne Neustart und ohne save). Da muss etwas anderes schiefgegegangen sein.

Aber wie Madmax-FHEM schon sagte ohne save ist es beim Neustart weg und ohne Click auf <Attr> (das passiert mir häufig) ist das Attribut nicht geändert

Welche APP meinst Du?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tagedieb

Hallo viegener

ich suche eine "deutsche Feineinstell -anleitung" von BotFather  :-[
denn mein englisch ist seeeehr verstaubt in den Jahren  :'(

Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

viegener

Ich kenne keine deutsche Anleitung für die Optionen des botfathers, aber vermutlich können wir Dir hier helfen, wenn es um die Bedeutung von Optionen geht oder wenn es um die Frage der "richtigen" Einstellung geht. Das gilt auch für die Optionen des TelegramBot-Moduls, denn auch da ist der Grossteil der Anleitung (commandref) englisch - Meine Schuld

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tagedieb

Hallo viegener

vielen Dank für das tolle Hilfeangebot - das FHEM Modul konnte ich anhand der vielen Beispiele und des Threads prima nachvollziehen und einstellen - nur auf dem Smartphon habe ich noch nicht richtig den Durchblick - bitte mal für mich zur Verständigung: Einstellungen am Handy stelle ich im botfather@xyz ein?  befehle und infos bekomme ich im zuhausebot?
BotFather - edit Commands: dort gebe ich die Befehle wie zum Bsp command2 - set irgendwas an oder aus - ich bekomme als Antwort:Success!Command list updated - für meine Kenntnisse heisst das - erfolgreich abgeschlossen - jedoch finde ich nur das commando, welches ich gestern erfolgreich abgespeichert habe, in meinem zuhauseBot - das irritert mich etwas  :o

Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

wthiess

Hallo viegener!

Ist es möglich ? und ! auch in query Data
define teleBot40 notify teleBot:queryData.*R_WzF_A !set R_WzF Auf
einzubauen? Hier haben die beiden Zeichen keine Auswirkungen.

lg
Wolfgang
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......

wthiess

Hallo viegener!

Ich hab mir nun ein Supermenü gebaut. Alles super.
Nun wollte ich meine Frau einbinden. Ziel ist es jeder soll seinen eigenen chat haben. Wenn ich den Befehl
define teleBot62 notify teleBot:queryData.*Licht set teleBot queryInline (WZ_Licht) (Hauptmenue) Licht 
sende bekomme ich das Untermenü Licht serviert.
Wenn meine Frau ein Menü anfordert soll sie ihres bekommen. Also habe ich
attr teleBot defaultPeer 111111111
ausgeschalten.
und
attr teleBot cmdRespondChat 1
hinzugefügt.

Jetzt bekommt niemand mehr eine Antwort von TelegramBot.

Bitte um Hilfe
Wolfgang

#Telegram
define teleBot TelegramBot 333333333:xxxxxxxxxxxxxxxxxx
attr teleBot allowUnknownContacts 0
attr teleBot cmdFavorites /s
attr teleBot cmdKeyword d
attr teleBot allowUnknownContacts 0
attr teleBot cmdRestrictedPeer MeineID FrauID
attr teleBot cmdReturnEmptyResult 0
attr teleBot cmdRespondChat 1
#attr teleBot defaultPeer MeineID
attr teleBot favorites [Buttons]=set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü
attr teleBot pollingTimeout 120
attr teleBot room Telegram

define teleBot1 notify teleBot:queryData.*VRein set prxPortA1 on
define teleBot2 notify teleBot:queryData.*VRein set teleBot message VRein
define teleBot3 notify teleBot:queryData.*VRaus set prxPortA1 off
define teleBot4 notify teleBot:queryData.*VRaus set teleBot message VRaus

define teleBot5 notify teleBot:queryData.*VRmax set prxPortB2 on
define teleBot6 notify teleBot:queryData.*VRmax set teleBot message VRmax 1/2 Stunde
define teleBot7 notify teleBot:queryData.*VRmaxoff set prxPortB2 off
define teleBot8 notify teleBot:queryData.*VRmaxoff set teleBot message VRmax_off

define teleBot70 notify teleBot:queryData.*VR_0 set LRegL REG_FAN_SPEED_LEVEL 0
define teleBot71 notify teleBot:queryData.*VR_0 set teleBot message VR aus

define teleBot72 notify teleBot:queryData.*VR_1 set LRegL REG_FAN_SPEED_LEVEL 1
define teleBot73 notify teleBot:queryData.*VR_1 set teleBot message VR min

define teleBot74 notify teleBot:queryData.*VR_2 set LRegL REG_FAN_SPEED_LEVEL 2
define teleBot75 notify teleBot:queryData.*VR_2 set teleBot message VR normal

define teleBot76 notify teleBot:queryData.*VR_3 set LRegL REG_FAN_SPEED_LEVEL 3
define teleBot77 notify teleBot:queryData.*VR_3 set teleBot message VR max

define teleBot78 notify teleBot:queryData.*VR_4 set LRegL REG_FAN_SPEED_LEVEL 4
define teleBot79 notify teleBot:queryData.*VR_4 set teleBot message VR Auto

define teleBot9 notify teleBot:queryData.*Temp set svgsend on
#Tor
define teleBot10 notify teleBot:queryData.*Ja_Tor set prxPortB0 on

define teleBot11 notify teleBot:queryData.*Ja_Tor set teleBot message Tor bewegt sich

define teleBot11a notify teleBot:queryData.*Tor_mit_Abfrage set teleBot queryInline (Ja_Tor|Nein_Tor) Sicher?

define teleBot11b notify teleBot:queryData.*Nein_Tor set teleBot queryInline (Hauptmenue) Abgebrochen

define teleBot12 notify teleBot:queryData.*RolloA set R_alle Auf
define teleBot13 notify teleBot:queryData.*RolloA set teleBot message alle Rollos auf
define teleBot14 notify teleBot:queryData.*RolloZ set R_alle Zu
define teleBot15 notify teleBot:queryData.*RolloZ set teleBot message alle Rollos zu

define teleBot16 notify teleBot:queryData.*R_W_A set R_Wolfgang Auf
define teleBot17 notify teleBot:queryData.*R_W_A set teleBot message Rollo Wolfgang auf
define teleBot18 notify teleBot:queryData.*R_W_Z set R_Wolfgang Zu
define teleBot19 notify teleBot:queryData.*R_W_Z set teleBot message Rollo Wolfgang zu

define teleBot20 notify teleBot:queryData.*R_B_A set R_Birgit Auf
define teleBot21 notify teleBot:queryData.*R_B_A set teleBot message Rollo Birgit auf
define teleBot22 notify teleBot:queryData.*R_B_Z set R_Birgit Zu
define teleBot23 notify teleBot:queryData.*R_B_Z set teleBot message Rollo Birgit zu

define teleBot24 notify teleBot:queryData.*R_V_A set R_Veranda Auf
define teleBot25 notify teleBot:queryData.*R_V_A set teleBot message Rollo Veranda auf
define teleBot26 notify teleBot:queryData.*R_V_Z set R_Veranda Zu
define teleBot27 notify teleBot:queryData.*R_V_Z set teleBot message Rollo Veranda zu

define teleBot28 notify teleBot:queryData.*R_A_A set R_Anna Auf
define teleBot29 notify teleBot:queryData.*R_A_A set teleBot message Rollo Anna auf
define teleBot30 notify teleBot:queryData.*R_A_Z set R_Anna Zu
define teleBot31 notify teleBot:queryData.*R_A_Z set teleBot message Rollo Anna zu

define teleBot32 notify teleBot:queryData.*R_LF_A set R_Lina_F Auf
define teleBot33 notify teleBot:queryData.*R_LF_A set teleBot message Rollo Lina_F auf
define teleBot34 notify teleBot:queryData.*R_LF_Z set R_Lina_F Zu
define teleBot35 notify teleBot:queryData.*R_LF_Z set teleBot message Rollo Lina_F zu

define teleBot36 notify teleBot:queryData.*R_LT_A set R_Lina_T Auf
define teleBot37 notify teleBot:queryData.*R_LT_A set teleBot message Rollo Lina_T auf
define teleBot38 notify teleBot:queryData.*R_LT_Z set R_Lina_T Zu
define teleBot39 notify teleBot:queryData.*R_LT_Z set teleBot message Rollo Lina_T zu

define teleBot40 notify teleBot:queryData.*R_WzF_A set R_WzF Auf
define teleBot41 notify teleBot:queryData.*R_WzF_A set teleBot message Rollo WzF auf
define teleBot42 notify teleBot:queryData.*R_WzF_Z set R_WzF Zu
define teleBot43 notify teleBot:queryData.*R_WzF_Z set teleBot message Rollo WzF zu

define teleBot44 notify teleBot:queryData.*R_WzT_A set R_WzT Auf
define teleBot45 notify teleBot:queryData.*R_WzT_A set teleBot message Rollo WzT auf
define teleBot46 notify teleBot:queryData.*R_WzT_Z set R_WzT Zu
define teleBot47 notify teleBot:queryData.*R_WzT_Z set teleBot message Rollo WzT zu

define teleBot48 notify teleBot:queryData.*M_A set Markise Auf
define teleBot49 notify teleBot:queryData.*M_A set teleBot message Markise auf
define teleBot50 notify teleBot:queryData.*M_Z set Markise Zu
define teleBot51 notify teleBot:queryData.*M_Z set teleBot message Markise zu

define teleBot52 notify teleBot:queryData.*T_VR set teleBot message Temp Vorraum {( return sprintf("%.1f C°", ReadingsVal("DS18B20_C29AB2070000","temperature",0))  )}

define teleBot53 notify teleBot:queryData.*T_SK set teleBot message Temp Sommerküche {( return sprintf("%.1f C°", ReadingsVal("Hideki_30_5","temperature",0))  )}

define teleBot54 notify teleBot:queryData.*T_Pool set teleBot message Temp Pool {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FF532A361604","temperature",0))  )}


define teleBot55 notify teleBot:queryData.*T_W set teleBot message Temp Wolfgang {( return sprintf("%.1f C°", ReadingsVal("DS18B20_7F48B3070000","temperature",0))  )}

define teleBot56 notify teleBot:queryData.*T_WZ set teleBot message Temp Wohnzimmer {( return sprintf("%.1f C°", ReadingsVal("Temp_WZ","Temperatur",0))  )}


define teleBot57 notify teleBot:queryData.*T_L set teleBot message Temp Lina {( return sprintf("%.1f C°", ReadingsVal("DS18S20_7D7319030800","temperature",0))  )}

define teleBot58 notify teleBot:queryData.*T_Aus set teleBot message Temp Aussen {( return sprintf("%.1f C°", ReadingsVal("DS18B20_FFB804361603","temperature",0))  )}

define teleBot59 notify teleBot:queryData.*WZ_Licht set prxPortB7 on
define teleBot60 notify teleBot:queryData.*WZ_Licht set teleBot message WZ_Licht schalten

define teleBot61 notify teleBot:queryData.*Hauptmenue set teleBot queryInline (Licht|Rollos) (Lueftung|Torantrieb|Temperaturen) Hauptmenü

define teleBot62 notify teleBot:queryData.*Licht set teleBot queryInline (WZ_Licht) (Hauptmenue) Licht

define teleBot63 notify teleBot:queryData.*Rollos set teleBot queryInline (RolloA|RolloZ) (R_W_A|R_W_Z|R_B_A|R_B_Z) (R_WzF_A|R_WzF_Z|R_WzT_A|R_WzT_Z) (R_LF_A|R_LF_Z|R_LT_A|R_LT_Z) (R_A_A|R_A_Z|R_V_A|R_V_Z) (M_A|M_Z) (Hauptmenue) Rollos

define teleBot64 notify teleBot:queryData.*Lueftung set teleBot queryInline (VRmax)  (VRein|VRaus|VRmax|VRmaxoff) (VR_0|VR_1|VR_2|VR_3|VR_4) (Hauptmenue) Lüftung

define teleBot65 notify teleBot:queryData.*Torantrieb set teleBot queryInline (Tor_mit_Abfrage) (Hauptmenue) Torantrieb

define teleBot66 notify teleBot:queryData.*Temperaturen set teleBot queryInline (T_W|T_WZ|T_L|T_VR) (T_Aus|T_Pool|T_SK) (Temperaturkurve:Temp) (Hauptmenue) Temperaturen
Raspberry Pi 3; 8xRelais; Aptodec Nano V3.0 Pro; FS1000a; RF-5V; Hama TS33C; 3x Brennerstuhl FunkSteckdosen; 9x Dooya funk Rollo; KWL Systemair VR400; Thermokon Modbusthermostat; diverse China Modbus Thermostate; 1-wire Bus; Telegram; QuickFhem; FhemNative; Firmata; Alexa ......