FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: viegener am 26 Februar 2017, 14:29:33

Titel: neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 26 Februar 2017, 14:29:33
Da es mit PostMe ein Modul zur Verwaltung von Listen (also Einkaufslisten, Todolisten oder ähnliches) gibt und es praktisch ist diese unterwegs dabeizuhaben und zu pflegen habe ich ein Modul dafür gebaut um diese direkt aus dem TelegramBot zu pflegen.

Das Modul 49_TBot_List.pm

Diese ist ursprünglich im TelegramBot-Thread beschrieben worden: https://forum.fhem.de/index.php/topic,38328.msg563341.html#msg563341 (https://forum.fhem.de/index.php/topic,38328.msg563341.html#msg563341)

Jetzt habe ich das Modul offiziell ins SVN eingechecked und damit ist es normal per update verfügbar

Die jeweils neueste Version ist aber auch immer über github verfügbar:

https://github.com/viegener/Telegram-fhem/tree/master/TBot_List (https://github.com/viegener/Telegram-fhem/tree/master/TBot_List)
Beim Herunterladen aus github daraufachten, dass man die Datei "raw" (button "raw" in github) herunterlädt und nicht die HTML-Seite speichert.




Anlegen der Kopplung(Annahme - TelegramBot - telebot existiert und ist eingerichtet inklusive allowedPeers

- PostMe Device testpostme und Liste testlist anlegen (oder existierende Liste verwenden)

define testpostme PostMe
set testpostme create testlist


- Neues TBotList Device testlistbot

define testlistbot TBot_List testpostme testlist
attr testlistbot telegramBots telebot


- Favoriten zum Start des Dialogs anlegen (im attribute favorites in telebot)

/l=set testlistbot start telebot;


Dann kann man mit /l im telegram client die Interaktion starten




Achtung: Die Kopplung ist darauf angewiesen, dass Events vom Bot auch bei TBot_List landen, speziell verwendet das Device Änderung an den Readings sentMsgId und msgReplyMsgId. Dies muss speziell vei Verwendung der Attribute event-on-*-reading berücksichtigt werden.




Unten finden sich auch ein paar Bilder, wie das im Telegram-Client aussieht:
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Thyraz am 01 März 2017, 09:01:51
Sehr cooles Modul, vielen Dank :)
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: JoeALLb am 01 März 2017, 11:24:05
Hi,
was habe ich falsch gemacht wenn ich diese Meldung erhalte, wenn ich einen vorhanden Eintrag löschen möchte?
Einen neuen Ergänzen geht ebenfalls nicht, lediglich das Anzeigen bestehender Einträge.
AnswerInline: TBot_List_handler: tbot - telegram ERROR no msgId known for peer :123451234: cmd :list_askclr: - 639431755788640953
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 01 März 2017, 11:44:36
Ich habe mir dieses Modul noch nicht anschauen können. Meine Frage wäre: Ist das Modul in der Lage auch mit anderen Listen umzugehen? Es gibt das wunderlist Modul und eine Anbindung an Telegram wäre sicher für viele interessant. Oder funktioniert das nur, weil Telegram ohnehin schon eine Art Integration in PostMe hat?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Thyraz am 01 März 2017, 11:54:26
Die PostMe Integration von pah war ja auch selbstgestrickt.

Die Dialoge (InlineQuery) sind ja Bestandteil des TelegramBot Moduls und können für alles Mögliche verwendet werden.
Wenn es nicht wie hier gleich ein Modul sein soll, kann man sowas im kleineren Maßstab ja auch mit Notifies etc. automatisieren.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 01 März 2017, 12:10:14
Das ist mir bewusst.

Meine Frage zielte eher darauf, ob ich, als Autor des wunderlist-Moduls, etwas tun kann/muss, um eine Verwendung dieses Moduls möglich zu machen oder ob es so generisch sein kann, dass es mit jeder Liste etwas anfangen kann.

Bei Gelegenheit schaue ich mir das selbst an, diese kommt aber erst wieder in 2 Wochen.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 01 März 2017, 12:21:36
Zitat von: JoeALLb am 01 März 2017, 11:24:05
Hi,
was habe ich falsch gemacht wenn ich diese Meldung erhalte, wenn ich einen vorhanden Eintrag löschen möchte?
Einen neuen Ergänzen geht ebenfalls nicht, lediglich das Anzeigen bestehender Einträge.
AnswerInline: TBot_List_handler: tbot - telegram ERROR no msgId known for peer :123451234: cmd :list_askclr: - 639431755788640953

Das kann ich so vermutlich noch nicht beantworten. Also Du startest über eine Favoriten die Anzeige einer PostMe-Liste?
Dann kommt die Liste und zwar als Buttons? -> Was passiert wenn Du direkt danach auf OK clickst?

Wenn dann dieselbe Fehlermeldung kommt, so bekommt der Listbot aus irgendeinem Grund die ID der gesendetn Nachricht (mit den Buttons) nicht mit - dazu kann es mehrere Gründe geben (z.B. hast Du an den readings des Telegrambot etwas gesetzt - im sinne von event-on attibuten?)

Auf jeden Fall würde mir direkt nach dem empfang der ersten Nachricht mit den Buttons ein list des TBOT_List devices interessieren, vielleicht kann aich da etwas herauslesen.

System ist neugestartet nach Update etc?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 01 März 2017, 12:25:48
Zitat von: marvin78 am 01 März 2017, 11:44:36
Ich habe mir dieses Modul noch nicht anschauen können. Meine Frage wäre: Ist das Modul in der Lage auch mit anderen Listen umzugehen? Es gibt das wunderlist Modul und eine Anbindung an Telegram wäre sicher für viele interessant. Oder funktioniert das nur, weil Telegram ohnehin schon eine Art Integration in PostMe hat?

Generell ist eine solche Anpassung möglich - ich habe versucht die Funktionen zum Zugriff auf das PostMe-Modul bewusst zu kapseln und rufe nur set/get/reading-Funktionen (also quasi offizielle Befehle in Postme auf), damit sollte es möglich sein das auch an Wonderlist anzupassen. Ich kann mir das mal näher anschauen. Es könnte sein, dass es etwas Aufwand bedeutet, da im Grunde PostMe für das Modul nur eine Liste von mit Koma getrennten Einträgen ist und einen Namen hat, die Liste wird zum Teil bei PostMe komplett neu gesetzt. Die Schwierigkeit könnte das synchrone Verhalten werden, also das Änderungen sofort auch sichtbar sein sollen.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 01 März 2017, 12:35:30
Wenn du Infos von mir brauchen solltest...

Ich habe PostMe länger nicht angeschaut (ich habe aktuell einfach zu selten Zeit für FHEM) und weiß aktuell nicht, wie es das setzen auf die Liste oder das Abrufen macht.

wunderlist stellt jeden Eintrag als Reading zur Verfügung, stellt aber auch ein Reading mit der Liste in Komma getrennter Form bereit.

get habe ich nicht implementiert, da Readings vorliegen, ich hätte aber kein Problem damit, hier eine Anpassung zu machen.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: automatisierer am 01 März 2017, 14:26:48
Ich habe wie im ersten Post beschrieben, die Devices angelegt. Bei gesetztem 'attr csrfToken random' kann ich beim PostMe Device keine Listen oder Einträge darin erstellen, auch über telegram funktioniert es nicht - nur über die Befehlzeile direkt funktioiniert es und wenn ich 'csrfToken none' einstelle. Hat PostMe evtl. noch ein Problem mit dem csrfToken?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 01 März 2017, 16:52:17
Zitat von: automatisierer am 01 März 2017, 14:26:48
Ich habe wie im ersten Post beschrieben, die Devices angelegt. Bei gesetztem 'attr csrfToken random' kann ich beim PostMe Device keine Listen oder Einträge darin erstellen, auch über telegram funktioniert es nicht - nur über die Befehlzeile direkt funktioiniert es und wenn ich 'csrfToken none' einstelle. Hat PostMe evtl. noch ein Problem mit dem csrfToken?

Kannst Du das noch etwas genauer erklären? Die Liste selbst lässt sich nicht über Telegram anlegen. Die Liste und der PostMe device müssen bereits existieren:

Zitatdefine testpostme PostMe
set testpostme create testlist

Der Zusammenhang mit dem csrfToken ist mir noch ein Rätsel...
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: automatisierer am 01 März 2017, 20:15:52
Also das eingeben von Daten in die Liste über telegran funktioniert nun, ich hatte 'event-on-change-reading state' gesetzt.

Der Rest hat dann sicherlich nichts mit TBotList zu tun sondern mit PostMe.

Befehle die ich in die Befehlzeile eingebe funktionieren. Wenn ich aber über die Buttons (die Dinger unter der Befehlszeile) etwas bei PostMe mache, z.B. versuche einen Eintrag in die Liste zu schreiben, dann wird das Browserfenster nur weiß und sonst passiert nix. Ohne csrfToken funktioniert es.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: JoeALLb am 01 März 2017, 20:19:34
Zitat von: viegener am 01 März 2017, 12:21:36
Wenn dann dieselbe Fehlermeldung kommt, so bekommt der Listbot aus irgendeinem Grund die ID der gesendetn Nachricht (mit den Buttons) nicht mit - dazu kann es mehrere Gründe geben (z.B. hast Du an den readings des Telegrambot etwas gesetzt - im sinne von event-on attibuten?)

Das wars, vielen Dank!! Daran habe ich nicht gedacht!
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 01 März 2017, 20:48:24
Zitat von: automatisierer am 01 März 2017, 20:15:52
Also das eingeben von Daten in die Liste über telegran funktioniert nun, ich hatte 'event-on-change-reading state' gesetzt.


Eigentlich dachte es ist toll, dass TBot_List und TelegramBot über events gekoppelt sind, aber das geht natürlich nur wenn auch events kommen :-)

Ich füge mal etwas zur Beschreibung hinzu.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Pusemukel am 02 März 2017, 11:56:09
Hallo,

Ich wollte mich einfach nur bedanken für dieses super Modul, genau das hab ich gesucht  ;D
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: JoeALLb am 10 März 2017, 15:09:32
Kleiner Verbesserungsvorschlag: Schön wäre, wenn ich per newline eingegebene weitere Zeilen direkt als neue Einträge angelegt werden würden, quasi als Abkürzung.
Im Moment wird es angelegt, danach aber als Fehler angezeigt und kann nicht mehr gelöscht werden....
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 16 März 2017, 23:51:07
Habe eine neue Version in SVN eingecheckt mit dem Vorschlag von JoeALLb. Ausserdem gibt es ein neues Attribut handleUnsolicited dadurch kann man wenn ein Dialog aktiv ist automatisch neue Einträge erzeugen, wenn man einfach eine Nachricht im entsprechenden chat sendet.

Neue Version ist im SVN verfügbar
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: JoeALLb am 17 März 2017, 08:53:48
Danke für das Update, habe es auch gleich getestet!! Sehr schönes Feature!!

Was mir noch auffällt: Wenn ich 2x den selben Eintrag speichern möchte, funktioniert dies nicht, er wird nur 1x angezeigt, das ist gut so.
wenn ich jedoch zuerst
1 hinzufüge und danach
1
2
3


Dann wird "1" 2x angezeigt in der Liste.
Wenn ich dann auf 1 klicke und dieses lösche, werden beide gelöscht.
Ist nicht wichtig, nur eine Kleinigkeit, die mir aufgefallen ist...
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 17 März 2017, 11:18:08
Zitat von: JoeALLb am 17 März 2017, 08:53:48
Danke für das Update, habe es auch gleich getestet!! Sehr schönes Feature!!

Was mir noch auffällt: Wenn ich 2x den selben Eintrag speichern möchte, funktioniert dies nicht, er wird nur 1x angezeigt, das ist gut so.
wenn ich jedoch zuerst
1 hinzufüge und danach
1
2
3


Dann wird "1" 2x angezeigt in der Liste.
Wenn ich dann auf 1 klicke und dieses lösche, werden beide gelöscht.
Ist nicht wichtig, nur eine Kleinigkeit, die mir aufgefallen ist...

Klingt nach einem Bug
Ich kümmere mich drum - Bin immer froh über andere Tester - Altes Problem: ich programmiere lieber Fehler als zu Testen  ;)
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: pitamiga am 11 Mai 2017, 14:45:32
Hallo,

meine Frau hätte auch einen Featurerequest...

wenn man die Liste (als Option?) alphabetisch sortieren könnte, dann könnte man z.B. bei Benutzung als Einkaufsliste am Anfang das Geschäft schreiben und hätte so alle Einträge zu dem Geschäft in dem man sich gerade befindet gesammelt und muss Sie sich nicht innerhalb Liste zusammensuchen.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 13 Mai 2017, 23:38:04
Zitat von: pitamiga am 11 Mai 2017, 14:45:32
Hallo,

meine Frau hätte auch einen Featurerequest...

wenn man die Liste (als Option?) alphabetisch sortieren könnte, dann könnte man z.B. bei Benutzung als Einkaufsliste am Anfang das Geschäft schreiben und hätte so alle Einträge zu dem Geschäft in dem man sich gerade befindet gesammelt und muss Sie sich nicht innerhalb Liste zusammensuchen.

Habe gerade eine neue Version ins SVN gespielt, darin kann man auch sortieren.
Ausserdem habe ich die Behandlung von doppelten Einträgen angepasst (allerdings bleiben Dubletten erlaubt)

Ist ab morgen/übermorgen per update verfügbar
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: pitamiga am 15 Mai 2017, 15:41:00
danke für die fixe Umsetzung, gerade getestet, funktioniert prima!
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 11 Juli 2017, 12:33:05
So. Jetzt bin ich mal dazu gekommen, das Modul auszuprobieren. Das gefällt mir sehr gut. Ich denke, so kann ich einen reibungslosen Übergang von wunderlist schaffen, denn das wird schon bald abgeschaltet.

Fragen:

- Kann man die nochmalige Nachfrage, ob innerhalb des Dialogs ein Punkt zur Liste hinzugefügt werden soll, auch abschalten? Diese kann auf Dauer und beim erstellen längerer Listen nerven. Also derart, dass Punkte, die ich innerhalb des Dialogs schreibe einfach hinzugefügt werden, ohne Nachfrage? Kann man das ggf. konfigurierbar machen?
- ähnlich beim Löschen bzw. erledigen: Kann ein Punkt einfach durch anklicken gelöscht werden (also ohne die weitere "ja/nein" Nachfrage? Das Löschen erfordert aktuell 3 Klicks.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 11 Juli 2017, 23:07:29
Zitat von: marvin78 am 11 Juli 2017, 12:33:05
So. Jetzt bin ich mal dazu gekommen, das Modul auszuprobieren. Das gefällt mir sehr gut. Ich denke, so kann ich einen reibungslosen Übergang von wunderlist schaffen, denn das wird schon bald abgeschaltet.

Fragen:

- Kann man die nochmalige Nachfrage, ob innerhalb des Dialogs ein Punkt zur Liste hinzugefügt werden soll, auch abschalten? Diese kann auf Dauer und beim erstellen längerer Listen nerven. Also derart, dass Punkte, die ich innerhalb des Dialogs schreibe einfach hinzugefügt werden, ohne Nachfrage? Kann man das ggf. konfigurierbar machen?
- ähnlich beim Löschen bzw. erledigen: Kann ein Punkt einfach durch anklicken gelöscht werden (also ohne die weitere "ja/nein" Nachfrage? Das Löschen erfordert aktuell 3 Klicks.

Das automatische Hinzufügen gibt es schon - Attribut handleUnsolicited allerdings muss dafür ein Dialog offen sein. Nur dann wird gefragt ob der Eintrag hinzugefügt werden soll.

Ausserdem kann man mehrere Punkte beim Hinzufügen durch Komma in einem Rutsch hinzufügen.

Die Abfragen kann ich abschaltbar machen, das steht jetzt auf meiner Liste
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 13 Juli 2017, 22:05:47
Zitat von: marvin78 am 11 Juli 2017, 12:33:05
- Kann man die nochmalige Nachfrage, ob innerhalb des Dialogs ein Punkt zur Liste hinzugefügt werden soll, auch abschalten? Diese kann auf Dauer und beim erstellen längerer Listen nerven. Also derart, dass Punkte, die ich innerhalb des Dialogs schreibe einfach hinzugefügt werden, ohne Nachfrage? Kann man das ggf. konfigurierbar machen?
- ähnlich beim Löschen bzw. erledigen: Kann ein Punkt einfach durch anklicken gelöscht werden (also ohne die weitere "ja/nein" Nachfrage? Das Löschen erfordert aktuell 3 Klicks.

Jetzt muss ich doch nochmal nachfragen:

Also das mit dem Löschen verstehe ich, aber wo gibt es eine Nachfrage beim Hinzufügen?
-> Click auf "Hinzu" --> schreiben --> Absenden --> fertig

Oder kenne ich mein eigenes Modul nicht mehr?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 13 Juli 2017, 22:29:00
Fürs delete gibt es jetzt ein neues Attribut confirmDelete - mit einem Wert 0 wird keine weitere Bestätigung abgefragt. Kommt ab morgen im Update.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 14 Juli 2017, 07:36:15
Zitat von: viegener am 13 Juli 2017, 22:05:47
Jetzt muss ich doch nochmal nachfragen:

Also das mit dem Löschen verstehe ich, aber wo gibt es eine Nachfrage beim Hinzufügen?
-> Click auf "Hinzu" --> schreiben --> Absenden --> fertig

Oder kenne ich mein eigenes Modul nicht mehr?


Ich habe das Eintragen  innerhalb des Dialogs gemeint, nicht über "hinzu". Wenn man Enter = Senden eingestellt hat (am PC) , werden die Nachfragen sogar noch häufiger. Jammern auf hohem Niveau  ;)


Das Attribut für das Löschen ist schonmal hilfreich. Vielen Dank
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 14 Juli 2017, 12:18:59
@marvin78: löst das das attribut handleUnsolicited nicht?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 14 Juli 2017, 13:11:25
Nicht ganz, da es ja jedes Mal eine Nachfrage gibt, ob man die items wirklich hinzufügen möchte. Das ist ok, wenn man mehrere Items hinzufügt und man bspw. am Handy nicht Enter = Send eingestellt hat. Dann führt ein Enter dazu, dass man zunächst eine Liste erstellen kann, dann den send Button bekommt und dann nur eine Nachfrage für alle items. Das kann man verkraften. Hat man aber Enter=Send eingestellt kommt die Nachfrage nach jedem item. Wenn man diese Nachfrage also ganz abestellen könnte (per Attribut?), wäre es hilfreich.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 16 Juli 2017, 15:35:08
Ahh - jetzt habe sogar ich es verstanden - ok neues Attribut confirmUnsolicited ist eingechecked ins SVN kommt per update

Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: marvin78 am 16 Juli 2017, 18:06:06
Perfekt. Danke. Testen werde ich aber erst nächste Woche können. Ggf. bekommst du eher Feedback von anderen.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 11 März 2018, 14:24:24
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
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: OMIT am 31 August 2019, 17:03:33
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ß
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 03 September 2019, 12:52:12
@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

Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Parador am 25 September 2019, 21:43:52
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.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 26 September 2019, 12:49:39
@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.

Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Parador am 26 September 2019, 18:46:40
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


Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 29 September 2019, 10:33:29
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.

Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag 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?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 29 September 2019, 13:23:25
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.

Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Parador am 29 September 2019, 19:09:39
DANKE!
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Freee84neu am 29 Dezember 2020, 22:01:03
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
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag 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.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 31 Dezember 2020, 14:15:50
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
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Freee84neu am 01 Januar 2021, 02:31:56
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
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 02 Januar 2021, 01:47:09
Zitat von: Freee84neu am 01 Januar 2021, 02:31:56
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 🙈 ....
- v
Aber vielen vielen Dank

Mike

In der nächsten Version (kommt morgen per update) gibt es eine Option silentStart - bitte probiere die mal aus und melde Dich
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Freee84neu am 03 Januar 2021, 22:36:57
Hi

Der silentStart läuft aber nicht silent. Kommt als Normale laute Nachricht rein

Das mit der Gruppen Funktion kann ich leider erst Später checken.
Ist eine Abfrage für unsere Freiwillige Feuerwehr da muss ich erst alles absprechen.
Sonst fahren sie nachher los und denken ist ein Einsatz 😂

Aber vielen Dank schon mal
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 04 Januar 2021, 14:19:14
Zitat von: Freee84neu am 03 Januar 2021, 22:36:57
Hi

Der silentStart läuft aber nicht silent. Kommt als Normale laute Nachricht rein

Das mit der Gruppen Funktion kann ich leider erst Später checken.
Ist eine Abfrage für unsere Freiwillige Feuerwehr da muss ich erst alles absprechen.
Sonst fahren sie nachher los und denken ist ein Einsatz 😂

Aber vielen Dank schon mal

Ist korrigiert
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Freee84neu am 05 Januar 2021, 02:26:41
Hi

Hab ein Update gemacht...

Und nochmals versucht. Kommt immer noch als Laute Nachricht rein.

Mike
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 05 Januar 2021, 12:08:19
Zitat von: Freee84neu am 05 Januar 2021, 02:26:41
Hi

Hab ein Update gemacht...

Und nochmals versucht. Kommt immer noch als Laute Nachricht rein.

Mike

Das UPdate kommt üblicherweise erst am nächsten Morgen, so dass Du vermutlich nachwievor die selbe Version hast. Du kannst das beim Update auch sehen, wenn das entsprechende Modul nicht aufgelistet ist, wird es auch nicht verändert (Alternativ beim updatecheck).
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Freee84neu am 06 Januar 2021, 12:02:16
Hi


::) Denke da war ich wohl zu schnell  :D ... der silentStart klappt wunderbar. Vielen Dank 🙏

Mike
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: dirk.k am 27 Januar 2022, 20:41:02
Hallo,
1. DANKE!!
2. Ich hätte einen Feature Request... und hoffe, dass diese sehr nützliche Funktion weiter entwickelt wird ...
Ich hatte wiederholt Einträge aus einer langen Liste gelöscht, welche ich mir etwas später gern noch mal angesehen hätte.
Daher habe ich mit den wenigen Programmierkenntnissen, die ich habe, etwas gebastelt.
Anstatt eine Zeile zu löschen, wird diese um ACK-* erweitert und an das Ende der Liste geschoben.
Das funktioniert zwar, muss aber nach dem Update immer wieder eingebaut werden. (ok, ich könnte das Modul vom update ausschließen ... will ich aber nicht)
Außerdem kann ich die Funktion nicht steuern und habe sie in allen Listen. Ein Parameter/Reading/Atribut zum Aktivieren der Funktion wäre klasse, bekomme ich aber nicht hin...
... gibt es eine Chance? gern kann ich versuchen zu unterstützen... ;-)

PS: ist die Todo/Einkaufs-Liste auch für signal geplant oder gar schon verfügbar? 
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 14 März 2022, 22:25:50
Zitat von: dirk.k am 27 Januar 2022, 20:41:02
Hallo,
1. DANKE!!
2. Ich hätte einen Feature Request... und hoffe, dass diese sehr nützliche Funktion weiter entwickelt wird ...
Ich hatte wiederholt Einträge aus einer langen Liste gelöscht, welche ich mir etwas später gern noch mal angesehen hätte.
Daher habe ich mit den wenigen Programmierkenntnissen, die ich habe, etwas gebastelt.
Anstatt eine Zeile zu löschen, wird diese um ACK-* erweitert und an das Ende der Liste geschoben.
Das funktioniert zwar, muss aber nach dem Update immer wieder eingebaut werden. (ok, ich könnte das Modul vom update ausschließen ... will ich aber nicht)
Außerdem kann ich die Funktion nicht steuern und habe sie in allen Listen. Ein Parameter/Reading/Atribut zum Aktivieren der Funktion wäre klasse, bekomme ich aber nicht hin...
... gibt es eine Chance? gern kann ich versuchen zu unterstützen... ;-)

PS: ist die Todo/Einkaufs-Liste auch für signal geplant oder gar schon verfügbar? 


Ich bin nicht sicher ob ich Deinen Feature Request verstehe - wenn die Einträge gelöscht werden sollen, möchte ich doch gerade nicht, dass die Einträge erhalten bleiben. Ich vermute, Du möchtest während des Einkaufens die Einträge sozusagen abhaken?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: dirk.k am 01 April 2022, 21:41:01
Genau.
Abhaken, aber nicht gleich löschen.
Das habe ich gerade gebastelt. ich schreibe einen Marker vor den Eintrag und verschiebe ihn nach hinten.
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 03 April 2022, 13:37:02
@dirk.k: Ich habe heute eine neue Version eingecheckt, die eine solche Funktion enthält. Diese erlaubt Einträge als erledigt (achnowledge) zu kennzeichnen, dafür gibt es ein Attribut um dies einzuschalten. Man kann auch verschiedene Katgorien (categories) angeben die bei einem Eintrag als Prefix verwendet werden können.

Ich verwende testweise die Kategorien um einen Einkaufszettel für verschiedene Geschäfte zu teilen.

Sollte morgen im Update kommen - Rückmeldung erwünscht
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Wasserwerk33 am 05 April 2022, 08:50:49
Also da meins nun Funktoniert bin ich begeistert und kann auch direkt sagen das das mit dem Eledigt super ist. Was noch Cool wäre wenn man dann auf Erledigt oder was man sich dann ausgesucht hat, sich der eintrag nach einer bestimmten Zeit automatisch löscht. 2h oder selbstdefiniert.

Ich weiß das gehört erjar zu PostMe aber vielleicht hat ja einer hier so etwas. Eine seperate Liste für den Baumarkt und eine für den normalen Einkauf und kann mir sagen wie er dieses realisiert hat. Oder benötige ich 2 mal PostMe? Ein mal für den Baumkart und ein mal für den Einkauf?


Danke für die Hilfe und das Modul
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: viegener am 08 April 2022, 00:11:27
Zitat von: Wasserwerk33 am 05 April 2022, 08:50:49
Also da meins nun Funktoniert bin ich begeistert und kann auch direkt sagen das das mit dem Eledigt super ist. Was noch Cool wäre wenn man dann auf Erledigt oder was man sich dann ausgesucht hat, sich der eintrag nach einer bestimmten Zeit automatisch löscht. 2h oder selbstdefiniert.

Ich weiß das gehört erjar zu PostMe aber vielleicht hat ja einer hier so etwas. Eine seperate Liste für den Baumarkt und eine für den normalen Einkauf und kann mir sagen wie er dieses realisiert hat. Oder benötige ich 2 mal PostMe? Ein mal für den Baumkart und ein mal für den Einkauf?


Danke für die Hilfe und das Modul

Das mit dem automatischen Löschen klingt nach einer netten Idee - ist aber so nicht realisierbar, da bisher die Einträge nicht mit Zeitstempeln versehen sind, also weiss das Modul erstmal nicht, wann ein Eintrag erledigt wurde

Separate Listen lassen sich auch über Kategorien machen - denn ausser "erledigt" können ja auch weitere Kategoriern angelegt werden, die dann auf einer Liste mit entsprechendem Präfix erscheinen - zum Beispiel über die Angabe von 2 Kategorien - "B" und "L" für Baumarkt bzw. Lebensmittel

Ich schaue mal nach einer Möglichkeit EInträge einer Kategorie aus der Liste zu löschen, das liesse sich in TBOT_List einbauen
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: Wasserwerk33 am 08 April 2022, 12:52:39
Hi

Mir ist ein Fehler oder Problem aufgefallen. Wenn ich in meiner Einkaufsliste etwas lösche, ist dieses erst weg aus der Liste. Auch in Fhem, aber nach einiger Zeit ist dieses wieder drin. Es ist auch egal ob es meine Frau oder ich lösche. Wenn wir mit der Einkaufsliste fertig sind klicken wir auch immer auf okay. Meine Frau hat mir dieses am Mittwoch Abend schon gesagt, dachte es wäre ein bedienungsfehler, leider ist es mir aber heute auch aufgefallen.

Hat jemand das selbe Problem?
Titel: Antw:neues Modul 49_TBot_List Todo- oder Einkaufslisten mit Telegram (und PostMe)
Beitrag von: dirk.k am 08 April 2022, 21:25:18
Funktioniert super.
Danke.
... wenn man jetzt noch die Bestätigung für das "auf erledigt setzen" deaktivieren könnte ...

Das mit dem "verschwinden und wiederkommen" konnte ich nicht nachvollziehen.