msgDialog: Instant Messaging als FHEM Interface

Begonnen von igami, 30 September 2017, 15:09:01

Vorheriges Thema - Nächstes Thema

stera

Hallo zusammen,

ich wollte das gerne mal ausprobieren, nur stehe ich noch auf dem Schlauch und kämpfe mit der Mitteilung "Unbekannter Kontaktversuch über TelegramBot von ..."

- Roommate mit attr. msgContactPush TelegramBot:@peerID ist angelegt -> Testnachricht "msg push @Roommate Test" kommt in Telegram an.
- meta_Dialog mit allowed everyone und Roommate ist angelegt
- Wird der der Notify noch benötigt? Nur wenn der an ist, kommt der Fehler in "myMsgConfig" unter Reading fhemMsgPush (Unbekannter Kontaktversuch..:)
- attr myMsgConfig evalSpecials me=.... TelegramBot=TelegramBot ist auch mit einem Leerzeichen..

Das steht im Event, wenn ich /start in Telegram auslöse
2019-05-21 22:18:20 msgConfig myMsgConfig ERROR RCV TelegramBot 2.........: Missing reference in msgContact attribute of any device

Hoffe ihr habt noch eine Idee, wo der Fehler steckt.

Danke,
SteRa


stera

Hallo,

ich konnte das Problem mittlerweile lösen.. Hatte nicht die ID sondern meinen Namen benutzt  ::)

Jetzt habe ich noch ein weiteres Problem: Ausführen mit /start funktioniert, allerdings geht der alias %me% nicht. Bekomme beim Dialog beenden auch immer %me% zurück.

Das "evalSpecials" habe ich richtig gesetzt. Von was hängt das alles ab?

Gruß,
SteRa


Zitat von: stera am 21 Mai 2019, 22:22:43
Hallo zusammen,

ich wollte das gerne mal ausprobieren, nur stehe ich noch auf dem Schlauch und kämpfe mit der Mitteilung "Unbekannter Kontaktversuch über TelegramBot von ..."

- Roommate mit attr. msgContactPush TelegramBot:@peerID ist angelegt -> Testnachricht "msg push @Roommate Test" kommt in Telegram an.
- meta_Dialog mit allowed everyone und Roommate ist angelegt
- Wird der der Notify noch benötigt? Nur wenn der an ist, kommt der Fehler in "myMsgConfig" unter Reading fhemMsgPush (Unbekannter Kontaktversuch..:)
- attr myMsgConfig evalSpecials me=.... TelegramBot=TelegramBot ist auch mit einem Leerzeichen..

Das steht im Event, wenn ich /start in Telegram auslöse
2019-05-21 22:18:20 msgConfig myMsgConfig ERROR RCV TelegramBot 2.........: Missing reference in msgContact attribute of any device

Hoffe ihr habt noch eine Idee, wo der Fehler steckt.

Danke,
SteRa

Keule_09

#647
Hallo ,

ich hab eine Verständnisfrage zu Match:
"match": "?([1-9][0]|[1][0][0]) ?",
wenn ich das richtig verstanden habe:
[1-9] lässt Zahlen von 1 bis 9 zu
[0]    lässt nur die Zahl 0 zu

was aber macht der Teil mit folgendemCode |[1][0][0]

Gruß Marco

Edit: Erst denken dann schreiben ???  ;)
hab es selbst herausbekommen
| bedeutet oder
[1][0][0] läst nur die Zahlenkombination 100 zu

Smarti

Hallo,
ich kämpfe gerade auch mit dem Dialog. Hat soweit alles getan. Nach einem Backup/Neustart hatte ich einen Fehler, dass der Telegrambot nicht mehr definiert ist, was ich wieder korrigiert habe.

Nun kann ich Nachrichten versenden über:
msg push @rr_Benedikt test
was auch im Log gut ausssieht:


2019.08.01 18:43:03 3: msg rr_Benedikt: ID=xxx TYPE=push ROUTE=myTelegramBot RECIPIENT=@xxx STATUS=OK PRIORITY=0 TITLE='' MSG='test'
2019.08.01 18:43:03 3: sentMsgIdByPeerId return value: rr_Benedikt_sentMsgId: 10763


Wenn ich den Dialog aufrufe, sehe ich im Log, dass etwas gesendet wird (oder versucht!?) Allerdings erhalte ich keine Nachricht auf dem Handy...


2019.08.01 18:37:05 3: get TYPE=msgDialog:FILTER=NAME!=meta_Dialog:FILTER=allowed=.*(rr_Benedikt|everyone).* trigger : Heizung
🐔 Huehner
IPCAM
Listen
Lichtwecker
🛠Systemverwaltung
Terrarium
Reset Jeelink
Update Check
Replace Batt. Jeelink
Waschmaschine
⛅ Wetter
2019.08.01 18:37:05 3: msg rr_Benedikt: ID=xxx TYPE=push ROUTE=myTelegramBot RECIPIENT=@xxx STATUS=OK PRIORITY=0 TITLE='' MSG='(Heizung) (IPCAM) (Lichtwecker) (Listen) (Replace Batt. Jeelink) (Reset Jeelink) (Terrarium) (Update Check) (Waschmaschine) (⛅ Wetter) (🐔 Huehner) (🛠Systemverwaltung) (abbrechen)
Ich kann folgendes für dich tun:'
2019.08.01 18:37:35 3: TelegramBot_Callback myTelegramBot: resulted in NonBlockingGet timed out on read from <hidden> after 30s from SendIt
2019.08.01 18:37:35 3: TelegramBot_Callback myTelegramBot: Reached max retries (ret: NonBlockingGet timed out on read from <hidden> after 30s) for msg 416088197 :
Ich kann folgendes für dich tun:
2019.08.01 18:37:35 3: sentMsgIdByPeerId return value: rr_Benedikt_sentMsgId:


Was hat es mit dem "NonBlockingGet timed out" auf sich?

THX

igami

Zitat von: Smarti am 01 August 2019, 18:48:58
Was hat es mit dem "NonBlockingGet timed out" auf sich?
Das kann ich dir leider nicht beantworten, bitte im TelegramBot Thread nachfragen.
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

Smarti

Zitat von: igami am 02 August 2019, 17:11:18
Das kann ich dir leider nicht beantworten, bitte im TelegramBot Thread nachfragen.

Ok, dann werde ich das mal tun...

Smarti

Zitat von: Smarti am 02 August 2019, 21:23:06
Ok, dann werde ich das mal tun...

Also ist gelöst, das Attribut hat gefehlt: attr Telegram utf8Special 1/code]

bomi

#652
Hallo,
ich habe auch das Problem, dass das evalSpecials im meinem Dialog nicht ersetzt wird.
Es sollte ja auf /test reagieren, tut es aber nicht. Wenn ich %me% über Telegram schicke funktioniert es.
Irgendwas einfaches hab ich vergessen...

defmod myMsgConfig msgConfig
attr myMsgConfig userattr evalSpecials:textField-long msgDialog_evalSpecials:textField-long msgDialog_msgCommand:textField
attr myMsgConfig comment FHEM Global Configuration for command 'msg'
attr myMsgConfig evalSpecials me=test
attr myMsgConfig group Global
attr myMsgConfig msgContactPush telegram
attr myMsgConfig msgType text
attr myMsgConfig stateFormat fhemMsgState
attr myMsgConfig verbose 3


defmod meta_dialog msgDialog {\
"(%me%)": {\
"match": "(%me%)",\
"message": "funktioniert"}\
}





Edit:
Habe die Lösung selber gefunden. Habe die Einstellungen vom post auf Seite 1 übernommen. Dort wird das Attribut evalSpecials benutzt, welches bei mir nicht funktioniert. Im Wiki und in der commandref steht die richtige Variante. Man sollte das Attribut msgDialog_evalSpecials benutzten. Jetzt funktioniert es auch bei mir.

StephanFHEM

ich hänge gerade an einem wahrscheinlich ganz einfachen Thema: Ich möchte mein Inline Keyboard in einer Gruppe aufrufen und dort auch die Ausgabe bekommen. Er sendet die Ausgabe aber nicht an die Gruppe sondern an mich Privat. Wie kann ich das ändern?

edit: Mit Ausgabe meine ich das Keyboard selbst... das wird nicht in der Gruppe angezeigt

kjmEjfu

Mal eine grundsätzliche Frage:

ich muss ja im ROOMMATE das msgContactPush auf den TelegramBot setzen, dadurch setze ich aber quasi meinen Default für alle Push-Nachrichten auf Telegram. Hier habe ich mich aber an PushOver gewöhnt und finde dort die Möglichkeiten angenehmer.
Gibt es eine Möglichkeit msgDialog zu nutzen OHNE msgContactPush anpassen zu müssen?
Migriere derzeit zu Home Assistant

igami

@StephanFHEM
Eventuell ein weiteres Roommate für die Gruppe anlegen?

@kjmEjfu
Ist eher eine msg spezifische Frage. Wie das routing genau funktioniert habe ich nicht verstanden. Wenn du das rausgefunden hast kannst du es bestimmt mit dem Attribut msgDialog_msgCommand einrichten. Alternativ auch hier ein weiters Roommate anlegen?
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

StephanFHEM

Zitat von: igami am 29 August 2019, 06:13:16
@StephanFHEM
Eventuell ein weiteres Roommate für die Gruppe anlegen?


Hatte ich schon probiert, er hat trotzdem mir das Menü gesendet weil er gemerkt hat, dass ich aus der Gruppe geschrieben habe. Er sendet dann eher an den Namen als an die ChatID. Hab auch schon probiert die ChatID in meinen Roommate einzutragen aber das hat garnicht geklappt.

ErzGabriel

Hallo.
Ich habe da mal eine kurze Frage, auf die ich keine richtige Antwort finde.
Habe meine Freundin in Fhem eingetragen und wollte jetzt auch den Bot für Sie einrichten. Habe Ihren Telegram Account angelegt, kann auch von Fhem aus eine Nachricht an Sie senden aber schickt Sie dem Bot ne Nachricht, wird Ihr nicht der Dialog angezeigt.
Ich habe den Account angelegt.
Sie bei Fhem überall eingetragen über ALLOWED.
Nachricht von Fhem aus an Sie funktioniert.

Aber wo ist mein Fehler gerade???

binford6000

Da das Thema Freundin -> FHEM -> TelegramBot auch früher oder später auf mich zu kommt klinke ich mich da mal ein...  ;)

ZitatAber wo ist mein Fehler gerade???

Hast du im ROOMMATE deiner Freundin das Atrribut msgContactPush gestezt?
Ist das Attribut allowed in den Dialogen korrekt gesetzt (everyone bzw. alle ROOMMATEs)?

VG Sebastian

ErzGabriel

#659
ZitatHast du im ROOMMATE deiner Freundin das Atrribut msgContactPush gestezt?
Ist das Attribut allowed in den Dialogen korrekt gesetzt (everyone bzw. alle ROOMMATEs)?

Beides kann ich mit ja beantworten. Ist alles richtig gesetzt. Mittlerweile habe ich auch festgestellt, das ich jetzt jedesmal von meinem Bot, die Antworten aus den Dialogen zweimal erhalte. Da ist mir aufgefallen, das ich ausversehen meine eigene PeerID verwendet habe. Durch die falsche ID kam das Problem. Danke für den Hinweis, Problem konnte ich so lösen.

Habe aber noch ein kleines anderes Problem und dafür möchte ich auch noch um Hilfe bitten, weil mir die Zeit fehlt wegen dem Zusammenzug.
Vor einer Woche wurde festgestellt, das meine Freundin Allergie gegen gewisse Pollen hat. Jetzt möchte ich gerne einen Dialog einbauen, wo sie den Pollenflug abrufen kann. Da ich mich aber mit dem Dialoge bauen schwer tue, wollte ich fragen, ob einer einen fertigen Dialog für mich hat, den ich nur an mein System anpassen nrauch. Danke.