Autor Thema: Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM  (Gelesen 214974 mal)

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3501
    • Meine Seite im fhemwiki
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1830 am: 08 Januar 2018, 21:17:55 »
@TWART016: Sorry, Du musst vorher noch das ATtribut allowUnknownContacts auf 1 setzen, damit Kontakte angelegt werden
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Offline JoWiemann

  • Tester
  • Hero Member
  • ****
  • Beiträge: 2085
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1831 am: 08 Januar 2018, 21:19:16 »
Ich habe von der App nochmal eine Nachricht an FHEM geschickt. Das Reading contacts verändert sich nicht.

Mir ist eben aufgefallen die letzte Aktualsierung des Readings war zu dem Zeitpunkt, als ich einen Link von der App an FHEM gesendet habe.

Du solltest das Attribut allowUnknownContacts wieder auf 1 setzen. Da der Kontakt nicht bekannt ist, wird er durch das Attribut ignoriert.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Offline TWART016

  • Sr. Member
  • ****
  • Beiträge: 678
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1832 am: 08 Januar 2018, 21:21:25 »
Hatte ich zwischenzeitlich schon gemacht, gleiches Verhalten.
Intel NUC, Raspberry Pi,CUL 433+868, JeeLink, Uniroll, LD382/LD686 + WifiLight, Eventghost, Tablet UI, Homekit/Homebridge/Siri, Alexa, Squeezebox, Onkyo, MAX, Harmony, KODI, Winconnect, Geofancy, Nmap, Sysmon, Telegram

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3501
    • Meine Seite im fhemwiki
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1833 am: 08 Januar 2018, 23:30:02 »
@TWART016: Also nochmal im Detail:
1 allowUnknownContacts auf 1 setzen
2 Von dem Benutzer, der in Contacts fehlt (also User_Name)  in Telegram eine Nachticht an den Bot senden
3 Nachdem die Nachricht beim Bot angekommen ist - überprüfen des Contacts reading - Name sollte enthalten sein
4 allowUnknownContacts auf 0 setzen
5 Save in fhem durchführen
6 Nun sollte ein Versenden an User_Name wieder möglich sein

Wenn das mit genau den Schritten nicht funktioniert - brauche ich mehr Infos:
- Was passiert beim senden von Benutzer User_Name and TelegramBot - kommt die Nachricht an?
- Gibt es Logeinträge
- Verboselevel erhöhen und log hier posten
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Offline TWART016

  • Sr. Member
  • ****
  • Beiträge: 678
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1834 am: 09 Januar 2018, 19:05:06 »
Hallo viegener,

jetzt geht es. Ich hatte vor vielen Wochen meinen Benutzernamen in Telegram geändert. Mir war nicht klar, dass die beiden Punkte zusammenhängen.

Bis jetzt hat es auch funktioniert, da ich nur von FHEM aus gesendet habe. Erst nachdem ich vor ein paar Tagen vom Bot an FHEM senden wollte, hat die andere Richtung nicht mehr funktioniert.

Vielen Dank für die Hilfe.


Gruß
TWART016
Intel NUC, Raspberry Pi,CUL 433+868, JeeLink, Uniroll, LD382/LD686 + WifiLight, Eventghost, Tablet UI, Homekit/Homebridge/Siri, Alexa, Squeezebox, Onkyo, MAX, Harmony, KODI, Winconnect, Geofancy, Nmap, Sysmon, Telegram

Offline Torsten_MG

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1835 am: 10 Januar 2018, 12:45:53 »
Hallo Leute, habe mir heute das Modul geladen. Auf ersten Blick TOP!

Aber leider funktioniert das Senden von FHEM an mein Handy nicht.

Wenn ich
set teleBot message Hallooder
set teleBot send Halloeingebe, kommt folgende Meldung:
TelegramBot_Set: Command message, without explicit peer requires defaultPeer being set
aber die PeerID habe ich gesetzt!?

hier mal die list:
Internals:
   FAILS      0
   NAME       teleBot
   NR         134
   OLD_POLLING 9
   POLLING    9
   SNAME      teleBot
   STATE      Polling
   TYPE       TelegramBot
   UPDATER    0
   WAIT       0
   me         468937656:Fhem:@Fhem_Ue_Bot
   Contacts:
     367287505  367287505:Torsten:@Torsten_Ue
   HU_DO_PARAMS:
     header     agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
     hideurl    1
     method     GET
     timeout    30
     url       
   HU_UPD_PARAMS:
     FD         17
     NAME       
     addr       https://api.telegram.org:443
     auth       0
     buf       
     code       200
     compress   1
     displayurl <hidden>
     header     agent: TelegramBot/1.0
User-Agent: TelegramBot/1.0
Accept: application/json
Accept-Charset: utf-8
     hideurl    1
     host       api.telegram.org
     hu_blocking 0
     hu_filecount 3
     hu_port    443
     hu_portSfx
     isPolling  update
     loglevel   4
     method     GET
     offset     0
     path       /bot468937656:AAFXg66F0KAHxC5Kz0Budoxxxx_xxxx_xxxx/getUpdates?offset=0&limit=5&timeout=120
     protocol   https
     redirects  0
     timeout    245
     url        https://api.telegram.org/bot468937656:AAFXg66F0KAHxC5Kz0Budoxxxx_xxxx_xxxx/getUpdates?offset=0&limit=5&timeout=120
     hash:
     sslargs:
   READINGS:
     2018-01-10 11:19:25   Contacts        367287505:Torsten:@Torsten_Ue
     2018-01-10 12:38:21   PollingErrCount 1
     2018-01-10 12:38:21   PollingLastError NonBlockingGet timed out on read from <hidden> after 245s
     2018-01-10 12:28:27   msgChat         Torsten
     2018-01-10 12:28:27   msgChatId       367287505
     2018-01-10 12:28:27   msgFileId       
     2018-01-10 12:28:27   msgId           16
     2018-01-10 12:28:27   msgPeer         Torsten
     2018-01-10 12:28:27   msgPeerId       367287505
     2018-01-10 12:28:27   msgReplyMsgId   
     2018-01-10 12:28:27   msgText         Hh
     2018-01-10 12:28:27   prevMsgChat     Torsten
     2018-01-10 12:28:27   prevMsgFileId   
     2018-01-10 12:28:27   prevMsgId       15
     2018-01-10 12:28:27   prevMsgPeer     Torsten
     2018-01-10 12:28:27   prevMsgPeerId   367287505
     2018-01-10 12:28:27   prevMsgReplyMsgId
     2018-01-10 12:28:27   prevMsgText     Hh
   inlinechats:
Attributes:
   pollingTimeout 120
   room       System

Das Senden vom Handy zu Fhem funktioniert ohne Probleme.

Hoffe mir kann da jemand weiterhelfen.

EDIT:

Habe gerade noch folgendes im Event Monitor gefunden:
2018-01-10 12:56:49 TelegramBot teleBot PollingLastError: NonBlockingGet timed out on read from  after 245s
2018-01-10 12:56:49 TelegramBot teleBot PollingErrCount: 6
« Letzte Änderung: 10 Januar 2018, 12:59:46 von Torsten_MG »

Offline Fixel2012

  • Hero Member
  • *****
  • Beiträge: 1126
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1836 am: 10 Januar 2018, 12:59:59 »
@Torsten_MG

du musst entweder das Attribut "defautltPeer" setzen, oder im send command den Kontakt angeben.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Offline Torsten_MG

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1837 am: 10 Januar 2018, 13:03:55 »
danke Fixel!!

Funktioniert jetzt!

Offline Nocard

  • New Member
  • *
  • Beiträge: 3
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1838 am: 11 Januar 2018, 17:35:55 »
Es kann natürlich an mir liegen und daran, dass ich es nicht finde: Gibt es eine Möglichkeit, die nicht nutzbaren eingehenden Nachrichten z.B. mit Notify zu erkennen? Nicht nutzbar meint keine Befehle,  Favoriten usw. Irgendwo muss der Rest doch übrig bleiben, wäre schön, wenn das ein Reading oder eine globale Variable oder so etwas wäre...

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3501
    • Meine Seite im fhemwiki
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1839 am: 11 Januar 2018, 17:38:40 »
Es kann natürlich an mir liegen und daran, dass ich es nicht finde: Gibt es eine Möglichkeit, die nicht nutzbaren eingehenden Nachrichten z.B. mit Notify zu erkennen? Nicht nutzbar meint keine Befehle,  Favoriten usw. Irgendwo muss der Rest doch übrig bleiben, wäre schön, wenn das ein Reading oder eine globale Variable oder so etwas wäre...

Vielleicht missverstehe ich das, aber es gibt ja Readings in denen die Nachrichten auflaufen - msgText - findet sich auch dokumentiert in der commandref
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Offline Nocard

  • New Member
  • *
  • Beiträge: 3
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1840 am: 11 Januar 2018, 17:54:02 »
Ja, aber ich kann nicht erkennen, ob der Text durch das Modul weiter verarbeitet wurde. Es geht also um nicht genutzte Nachrichten. Nachdem die verschiedenen Möglichkeiten im Skript erfolglos abgearbeitet wurden, müsste eine "normale Nachricht" irgendwo übrig bleiben, oder wenigstens der Hinweis zur Auswertung, dass der Telegrambot die Nachricht nicht verwenden könnte.

Zur Erklärung: der TBot_List benutzt das in der Funktion handleUnsolicited. Wenn ich allerdings längere Texte oder Texte mit Kommata verwerten will, taugt die Speicherung als Postit nicht wirklich, zumal postme nur in den Readings also im fhem.save soeichert. Nicht besonders performant und sicher, möchte ich meinen.
« Letzte Änderung: 12 Januar 2018, 07:35:19 von Nocard »

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3501
    • Meine Seite im fhemwiki
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1841 am: 12 Januar 2018, 14:26:37 »
@Nocard: So wie Du Dir das wünscht, gibt es das bisher nicht. Habe mal nachgeschaut, so einfach wäre das auch nicht, weil es keine zentrale Stelle gibt, an der Nachrichten insbesondere (wenn TBot_List ins Spiel kommt) "abgearbeitet" werden. Insbesondere weil das update der Readings gemacht wird, bevor Kommandos interpretiert werden. Kannst Du etwas genauer sagen, wie für Dich der use case aussieht, dass Du das benötigst?

Die Bemerkung zu readings und performanz und Sicherheit verstehe ich nicht.

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

Offline Nocard

  • New Member
  • *
  • Beiträge: 3
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1842 am: 12 Januar 2018, 15:42:59 »
Einfaches Szenario: Notizen zentral und einfach vom Handy aus ablegen. Ein Notizmodul, dass z.B. mit Notes-Funktionen diverser Anbieter (Evernote usw.) könnte das Szenario beliebig erweitern. Wenn ich nun einen Gedanken habe, möchte ich mich nicht mit Bedienungsschritten ablenken lassen.

Im Falle von kurzen Stichworten ist die Lösung über Postme super. Will ich aber Formulierungen über 200 Wörter und evtl. mit Markdown ablegen, denke ich, dass die Speicherung in der fhem.save das System auf Dauer etwas überfordern könnte, zumindest auf einem einfachen Gerät wie einer Null-Himbeere. Kann ich aber nicht wirklich einschätzen...

Und hier mal q&d eine Idee per DOIF Definition:

([ZeroPi_bot:msgText] and [ZeroPi_bot:sentMsgResult:sec] > 21)
(set Pushover1 msg [ZeroPi_bot:msgText])
« Letzte Änderung: 13 Januar 2018, 07:57:06 von Nocard »

Offline viegener

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3501
    • Meine Seite im fhemwiki
Antw:Telegram instant messaging TelegramBot - Empfangen und Sendern per FHEM
« Antwort #1843 am: 14 Januar 2018, 16:32:55 »
@Nocard: Momentan wäre mein Vorschlag, dass Du selber aus den empfangenen Nachrichten die mit /... herauszufiltern, denn die Notizen sind doch vermutlich keine die mit / anfangen.

Also meine fhem.save ist fast 500k gross, da spielen 200 Worte mehr oder weniger eigentlich keine grosse Rolle...

Mmmh - das DOIF verstehe ich nicht, über telegram kommen die Nachrichten rein und dann per pushover weiter, was hat das mit Deiner Notizenverwaltung zu tun?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können