neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)

Begonnen von viegener, 26 Februar 2017, 14:29:33

Vorheriges Thema - Nächstes Thema

marvin78

Perfekt. Danke. Testen werde ich aber erst nächste Woche können. Ggf. bekommst du eher Feedback von anderen.

viegener

Ich habe heute mal eine neue Version für das Modul ins SVN eingechecked, darin sind die Änderungen, die in den letzten Wochen (naja Monaten) bei mir stabil laufen:

- Es gibt deleteOnly-Listen --> ich benutze das um Alarmmeldungen zu sammeln, die ich einzeln abhaken will
- Es gibt verschiedene interne Umstellungen, um die Stabilität / Kompatibilität zu erhöhen
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

OMIT

Hallo, erstmal vielen Dank für die Mühe mit dem Modul.

Eine Sache ist mir noch aufgefallen, oder ich habe es nicht richtig verstanden.
Jede neue Liste muss ich erst in Fhem anlegen, und im Anschluss ein CMD im Telegram Bot einsetzten, um diese Liste zu bearbeiten? Eine Möglichkeit aus dem Chat Heraus eine Neue Liste zu erstellen gibt es nicht?!

Danke & Gruß

viegener

@OMIT: Ja das ist richtig, das dynamische Anlegen von Listen ist über entsprechende Kommandos in Favoriten des TelegramBots möglich, ist aber nicht Teil des TBot_List-Moduls

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

Parador

Hi und vielen Dank für die Klasse Idee!
Ich bin heute der Anleitung im ersten Post gefolgt und habe lediglich die Namen der einzelnen Listen noch ein wenig angepasst...
Ich kann in Telegram die Liste aufrufen und bekomme den Hinweis sie sei leer...
Im Anschluss bekomme ich aber noch eine Art Status-Meldung, wie der FHEM Befehl lautete und das das Ergebnis OK sei...
Wenn ich dann "hinzu" wähle, kommt zuerst eine Nachricht, dass ich einen "Neuen Eintrag eingeben:" kann gefolgt von einer automatischen Antwort.. wenn ich dort etwas eingebe z.B. "Test" und auf Senden klicke wird die Nachricht verschickt, aber nicht in die Liste aufgenommen...
Im Log habe ich folgendes gefunden:
2019.09.25 21:29:12 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1018.
2019.09.25 21:29:12 1: PERL WARNING: Scalar value @args[0] better written as $args[0] at ./FHEM/95_PostMe.pm line 1084.
2019.09.25 21:29:39 1: PERL WARNING: Use of uninitialized value $res in lc at ./FHEM/95_PostMe.pm line 191.

viegener

@Parador: Aus Deinen Angaben ist für mich noch nicht rauszufinden warum es bei Dir nicht geht.

Vermutlich wäre mal ein List des PostMe-Devices und auch des TBot_List devices sinnvoll, denn der Telegram-Teil scheint ja prinzipiell zu laufen.

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

Parador

Kein Problem, hier liefere ich gerne nach! Danke für die Unterstützung!

List testlistbot:
Internals:
   CFGFN     
   DEF        telegram_postme telegram_postme_list
   FUUID      5d8bc03b-f33f-71bb-566b-1e838b2006276bc6
   NAME       testlistbot
   NOTIFYDEV  global,TYPE=TelegramBot
   NR         58139
   NTFY_ORDER 50-testlistbot
   STATE      Defined
   TYPE       TBot_List
   listname   telegram_postme_list
   listno     1
   postme     telegram_postme
   getoptions:
     count     
     list       
     queryAnswer
     textList   
   inlinechats:
     TelegramBot2_2vwxyz742_chat 2vwxyz742
     TelegramBot2_2vwxyz742_textmsg Listetelegram_postme_lististleer
   setoptions:
     end       
     reset     
     start     
Attributes:
   telegramBots TelegramBot2


Und List des PostMe-Devices:
Internals:
   CFGFN     
   FUUID      5d8bc008-f33f-71bb-d409-913dcdda162e87d7
   NAME       telegram_postme
   NR         58123
   STATE      Initialized
   TYPE       PostMe
   mayBeVisible 1
   READINGS:
     2019-09-25 21:29:39   postme01Cont   
     2019-09-25 21:29:39   postme01Name    telegram_postme_list
     2019-09-25 21:29:39   postmeCnt       1
     2019-09-25 21:29:12   state           Initialized
Attributes:


Achja, und noch eine Ergänzung:
Ich habe auch mit den event-on-*-reading Attributen herumgespielt. Ich hatt ursprünglich nur "state" & "msgtxt" drinnenstehen, für das Modul aber auch die genannten:
Attributes:
   event-on-change-reading state, sentMsgId, msgReplyMsgId
   event-on-update-reading msgText, sentMsgId, msgReplyMsgId



viegener

Zitat von: Parador am 26 September 2019, 18:46:40
Achja, und noch eine Ergänzung:
Ich habe auch mit den event-on-*-reading Attributen herumgespielt. Ich hatt ursprünglich nur "state" & "msgtxt" drinnenstehen, für das Modul aber auch die genannten:
Attributes:
   event-on-change-reading state, sentMsgId, msgReplyMsgId
   event-on-update-reading msgText, sentMsgId, msgReplyMsgId


Das könnte der entscheidende Hinweis sein. Kannst Du die Attribute bitte mal löschen?
Hintergrund: Es werden dadurch events unterdrückt. Die Verbindung mit Postme bzw. TBot_List zum Bot erfolgt aber über events. wenn keine Events kommen, wird auch nichts an der Liste geändert.

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

Parador

Hallo viegener,

danke für den Hinweis, ich hab die event-on... einträge entfernt und nun läufts...
da hatte ich die Infos falsch verstanden, dachte sentMsgId & msgReplyMsgId müssten dort eingetragen werden.
Warum ich state & msgText schon drinnen hatte, kann ich gar nicht mehr sagen....

Kannst Du mir noch einen Tipp geben, woher die Befehlsbestätigung (siehe mein Screenshot) kommt?

viegener

Zitat von: Parador am 29 September 2019, 13:00:41
Hallo viegener,

danke für den Hinweis, ich hab die event-on... einträge entfernt und nun läufts...
da hatte ich die Infos falsch verstanden, dachte sentMsgId & msgReplyMsgId müssten dort eingetragen werden.
Warum ich state & msgText schon drinnen hatte, kann ich gar nicht mehr sagen....

Kannst Du mir noch einen Tipp geben, woher die Befehlsbestätigung (siehe mein Screenshot) kommt?

Die Befehlsbestätigung kommt aus dem TelegramBot. Wenn Du nur Fehlermeldungen und keine Erfolgsmeldungen willst, kannst Du im Telegram Bot das Attribut cmdReturnEmptyResult auf 0 setzen.

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


Freee84neu

Hallo

Danke das Devise ist echt Klasse! Super Arbeit. Hat mir echt geholfen.

Was ich noch cool finden würde, wäre eine Attr. oder so das neue "Nachrichten oder Änderungen leise (silent) zugestellt werden.


Gruß Mike

Freee84neu

Hallo

Noch eine Frage in die Runde.

Mache ich set TBot_List start Telegramm 1xxxx (Privatnummer)

Bekomme ich meine Liste in eine Privaten Chat alles läuft
Bei OK kommt eine List
Bei ändern klappt alles
Bei hinzu klappt auch alles

Mache ich set TBot_List start Telegram -2xxxx (Gruppennummer)
Bekomme ich meine Liste in einen Gruppen Chat!

Bei OK und ändern kommt

TBot_List_handler: TBot_List - Telegram  ERROR no msgId known for peer :1xxxxxxxx: chat :1xxxxxxxxx:  cmd :list_menu: 
2020.12.30 19:23:55 1: TBot_List_handler: TBot_List - Telegram  ERROR no msgId known for peer :1xxxxxxxxx: chat :1xxxxx:  cmd :list_menu: 
2020.12.30 19:23:55 1: TBot_List_handler: TBot_List - Telegram  ERROR no msgId known for peer :1xxxxxxxx: chat :1xxxxx:  cmd :list_ok:


Bei hinzu bekomme ich eine private Nachricht und kann hinzufügen

Kann mir da jemand auf die Sprünge helfen warum das so ist.

viegener

Zitat von: Freee84neu am 30 Dezember 2020, 19:50:40
Hallo

Noch eine Frage in die Runde.

Mache ich set TBot_List start Telegramm 1xxxx (Privatnummer)

Bekomme ich meine Liste in eine Privaten Chat alles läuft
Bei OK kommt eine List
Bei ändern klappt alles
Bei hinzu klappt auch alles

Mache ich set TBot_List start Telegram -2xxxx (Gruppennummer)
Bekomme ich meine Liste in einen Gruppen Chat!

Bei OK und ändern kommt

TBot_List_handler: TBot_List - Telegram  ERROR no msgId known for peer :1xxxxxxxx: chat :1xxxxxxxxx:  cmd :list_menu: 
2020.12.30 19:23:55 1: TBot_List_handler: TBot_List - Telegram  ERROR no msgId known for peer :1xxxxxxxxx: chat :1xxxxx:  cmd :list_menu: 
2020.12.30 19:23:55 1: TBot_List_handler: TBot_List - Telegram  ERROR no msgId known for peer :1xxxxxxxx: chat :1xxxxx:  cmd :list_ok:


Bei hinzu bekomme ich eine private Nachricht und kann hinzufügen

Kann mir da jemand auf die Sprünge helfen warum das so ist.

Das ist ein wenig komplizierter:

- Was jetzt bereits geht, wenn Du in einer Gruppe als Person eine Nachricht an den Bot als Kommand sendest ohne peerIds zu setzen. Also z.B. ein Favorit mit dem Wert: set TBot_List start Telegramm

- Wenn es auch direkt als FHEM-Kommando funktionieren soll, dann muss ich eine Änderung machen. Dann muss allerdings sowohl die Gruppenid (in Deinem Fall -2xxx) und die peerID (in Deinem Fall 1xxx) angegeben werden.
Dazu habe ich eine neue Version erstellt bei der innerhalb von FHEM so etwas wie
set TBot_List start Telegramm 1xxx -2xxx funktionieren sollte

Die neue Version sollte morgen im Update sein
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Freee84neu

Hi...

Wow gleich eine andere andere Version vielen Dank.

Vielen Dank für so viel Arbeit. Möchte nicht undankbar klingen
Aber vielleicht klappt das auch mit dem silent Mode 🙈 ....

Aber vielen vielen Dank

Mike