Ich verzweifle gerade. Habe mein FHEM neu aufgesetzt. Telegram selber funktioniert (Nachrichten kommen am Handy an).
msgDialog nach WIKI eingerichtet, aber der Meta-Dialog wird schon nicht vernünftig angezeigt.
define myMsgConfig msgConfig
attr myMsgConfig userattr msgDialog_evalSpecials:textField-long msgDialog_msgCommand:textField
attr myMsgConfig comment FHEM Global Configuration for command 'msg'
attr myMsgConfig group Global
attr myMsgConfig msgContactPush TelegramFhem
attr myMsgConfig msgDialog_evalSpecials me=QQ\
TelegramBot=TelegramFhem
attr myMsgConfig msgType text
attr myMsgConfig room Z_Dialoge,Z_System
attr myMsgConfig stateFormat fhemMsgState
attr myMsgConfig verbose 3
# CFGFN
# FUUID 637bdc79-f33f-006c-1d70-680dfe33189f587f
# FVERSION 75_msgConfig.pm:0.189950/2019-03-22
# NAME myMsgConfig
# NOTIFYDEV TYPE=(Jabber|TelegramBot|yowsup)
# NR 16683
# NTFY_ORDER 50-myMsgConfig
# STATE initialized
# TYPE msgConfig
# eventCount 1
# READINGS:
# 2022-11-21 21:15:53 fhemMsgState initialized
#
setstate myMsgConfig initialized
setstate myMsgConfig 2022-11-21 21:15:53 fhemMsgState initialized
define meta_Dialog msgDialog {\
"%me%": {\
"match": "\/?(start|%me%)",\
"commands": "deletereading TYPE=msgDialog $recipient_history",\
"message": [\
"{return('(' . join(') (', sort{lc($a) cmp lc($b)} (split('\n', fhem('get TYPE=msgDialog:FILTER=NAME!=$SELF:FILTER=allowed=.*($recipient|everyone).* trigger', 1)))) . ') (abbrechen) ')}",\
"Ich kann folgendes für dich tun:"\
]\
},\
"zurück": {\
"commands": "set $recipient_history=.+ say @$recipient {(ReadingsVal($DEV, '$recipient_history', '') =~ m/((.+)\\|.+$)/;;;; return($2 || $1);;;;)}"\
},\
"abbrechen": {\
"match": "\/?abbrechen",\
"commands": "deletereading TYPE=msgDialog $recipient_history",\
"message": [\
"TelegramBot_MTYPE=queryInline (%me%) ",\
"Dialog abgebrochen."\
]\
},\
"beenden": {\
"match": "\/?beenden",\
"commands": "deletereading TYPE=msgDialog $recipient_history",\
"message": [\
"TelegramBot_MTYPE=queryInline (%me%) ",\
"Dialog beendet."\
]\
}\
}
attr meta_Dialog allowed msg_Heiko
attr meta_Dialog room Z_Dialoge
# CFGFN
# DEF {
# "%me%": {
# "match": "\/?(start|%me%)",
# "commands": "deletereading TYPE=msgDialog $recipient_history",
# "message": [
# "{return('(' . join(') (', sort{lc($a) cmp lc($b)} (split('\n', fhem('get TYPE=msgDialog:FILTER=NAME!=$SELF:FILTER=allowed=.*($recipient|everyone).* trigger', 1)))) . ') (abbrechen) ')}",
# "Ich kann folgendes für dich tun:"
# ]
# },
# "zurück": {
# "commands": "set $recipient_history=.+ say @$recipient {(ReadingsVal($DEV, '$recipient_history', '') =~ m/((.+)\\|.+$)/;; return($2 || $1);;)}"
# },
# "abbrechen": {
# "match": "\/?abbrechen",
# "commands": "deletereading TYPE=msgDialog $recipient_history",
# "message": [
# "TelegramBot_MTYPE=queryInline (%me%) ",
# "Dialog abgebrochen."
# ]
# },
# "beenden": {
# "match": "\/?beenden",
# "commands": "deletereading TYPE=msgDialog $recipient_history",
# "message": [
# "TelegramBot_MTYPE=queryInline (%me%) ",
# "Dialog beendet."
# ]
# }
#}
# FUUID 637bdd34-f33f-006c-c457-981ee96444046f42
# MSGCOMMAND msg \@$recipients $message
# NAME meta_Dialog
# NOTIFYDEV TYPE=(ROOMMATE|GUEST)
# NR 16710
# NTFY_ORDER 50-meta_Dialog
# STATE msg_Heiko: QQ
# TRIGGER zurück,beenden,abbrechen,Dialog
# TYPE msgDialog
# eventCount 10
# OLDREADINGS:
# READINGS:
# 2022-11-21 22:13:02 state msg_Heiko: QQ
#
setstate meta_Dialog msg_Heiko: QQ
setstate meta_Dialog 2022-11-21 22:13:02 state msg_Heiko: QQ
define msg_Heiko ROOMMATE
attr msg_Heiko alias Status
attr msg_Heiko devStateIcon .*home:user_available:absent .*absent:user_away:home .*gone:user_ext_away:home .*gotosleep:scene_toilet:asleep .*asleep:scene_sleeping:awoken .*awoken:scene_sleeping_alternat:home .*:user_unknown:home
attr msg_Heiko group msg_Heiko
attr msg_Heiko icon people_sensor
attr msg_Heiko msgContactPush TelegramFhem:791060837
attr msg_Heiko room ,Z_Dialoge
attr msg_Heiko rr_realname group
attr msg_Heiko sortby 1
attr msg_Heiko webCmd state
# CFGFN
# DURATIONTIMER 1669065545.36769
# FUUID 637bddfc-f33f-006c-a79a-6fc61728a9db5a11
# FVERSION 20_ROOMMATE.pm:0.195330/2019-06-02
# NAME msg_Heiko
# NOTIFYDEV global,
# NR 16739
# NTFY_ORDER 50-msg_Heiko
# READY 1
# STATE home
# SUBTYPE adult
# TYPE ROOMMATE
# eventCount 65
# READINGS:
# 2022-11-21 21:22:35 durTimerAbsence 00:00:00
# 2022-11-21 21:22:35 durTimerAbsence_cr 0
# 2022-11-21 22:18:05 durTimerPresence 00:54:00
# 2022-11-21 22:18:05 durTimerPresence_cr 54
# 2022-11-21 21:22:35 durTimerSleep 00:00:00
# 2022-11-21 21:22:35 durTimerSleep_cr 0
# 2022-11-21 22:13:02 fhemMsgPush () (abbrechen)
#Ich kann folgendes für dich tun:
# 2022-11-21 22:13:02 fhemMsgPushGw TelegramFhem:791060837:OK
# 2022-11-21 22:13:02 fhemMsgPushPrio 0
# 2022-11-21 22:13:02 fhemMsgPushState 1
# 2022-11-21 22:13:02 fhemMsgPushTitle -
# 2022-11-21 22:13:02 fhemMsgRcvPush QQ
# 2022-11-21 22:13:02 fhemMsgRcvPushGw TelegramFhem
# 2022-11-21 22:13:02 fhemMsgState 1
# 2022-11-21 22:13:02 fhemMsgStateTypes push:1 forwards:text>push
# 2022-11-21 21:24:05 lastArrival 2022-11-21 21:24:05
# 2022-11-21 21:24:05 lastLocation undefined
# 2022-11-21 21:24:05 lastState initialized
# 2022-11-21 21:24:05 location home
# 2022-11-21 21:24:05 mood calm
# 2022-11-21 21:24:05 presence present
# 2022-11-21 21:24:05 state home
# 2022-11-21 21:24:05 wayhome 0
# TIMER:
# msg_Heiko_DurationTimer:
# HASH msg_Heiko
# MODIFIER DurationTimer
# NAME msg_Heiko_DurationTimer
#
setstate msg_Heiko home
setstate msg_Heiko 2022-11-21 21:22:35 durTimerAbsence 00:00:00
setstate msg_Heiko 2022-11-21 21:22:35 durTimerAbsence_cr 0
setstate msg_Heiko 2022-11-21 22:18:05 durTimerPresence 00:54:00
setstate msg_Heiko 2022-11-21 22:18:05 durTimerPresence_cr 54
setstate msg_Heiko 2022-11-21 21:22:35 durTimerSleep 00:00:00
setstate msg_Heiko 2022-11-21 21:22:35 durTimerSleep_cr 0
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgPush () (abbrechen) \
Ich kann folgendes für dich tun:
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgPushGw TelegramFhem:791060837:OK
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgPushPrio 0
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgPushState 1
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgPushTitle -
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgRcvPush QQ
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgRcvPushGw TelegramFhem
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgState 1
setstate msg_Heiko 2022-11-21 22:13:02 fhemMsgStateTypes push:1 forwards:text>push
setstate msg_Heiko 2022-11-21 21:24:05 lastArrival 2022-11-21 21:24:05
setstate msg_Heiko 2022-11-21 21:24:05 lastLocation undefined
setstate msg_Heiko 2022-11-21 21:24:05 lastState initialized
setstate msg_Heiko 2022-11-21 21:24:05 location home
setstate msg_Heiko 2022-11-21 21:24:05 mood calm
setstate msg_Heiko 2022-11-21 21:24:05 presence present
setstate msg_Heiko 2022-11-21 21:24:05 state home
setstate msg_Heiko 2022-11-21 21:24:05 wayhome 0
Irgendwie werden mir am Handy noch Favoriten der alten FHEM-Installation angezeigt, obwohl aktuell keine definiert sind.
Sicherheitshalber noch mal der TelegramBot:
define TelegramFhem TelegramBot
attr TelegramFhem allowUnknownContacts 0
attr TelegramFhem cmdRestrictedPeer 791060837
attr TelegramFhem defaultPeer 791060837
attr TelegramFhem event-on-change-reading state
attr TelegramFhem event-on-update-reading msgText
attr TelegramFhem pollingTimeout 120
attr TelegramFhem room Z_Bridges,Z_System
attr TelegramFhem utf8Special 1
# FAILS 0
# NAME TelegramFhem
# NR 27
# OLD_POLLING 182
# POLLING 182
# SNAME TelegramFhem
# STATE Polling
# TYPE TelegramBot
# UPDATER 0
# WAIT 0
# eventCount 26
# me 813746914:HeikoFHEM:@HeikoFHEM_bot
# offset_id 192616767
# sentLastResult SUCCESS
# sentMsgId 13489
# sentMsgOptions
# sentMsgPeer Heiko
# sentMsgPeerId 791060837
# sentMsgResult SUCCESS
# sentMsgText 791060837 () (abbrechen)
#Ich kann folgendes für dich tun:
# sourceVersion $Id: 50_TelegramBot.pm 24867 2021-08-23 10:23:15Z viegener $
# Contacts:
# 791060837 791060837:Heiko:@HeikoStr
# HU_DO_PARAMS:
# NAME
# addr https://api.telegram.org:443
# auth 0
# boundary TelegramBot_boundary-x0123
# buf
# code 200
# compress 1
# conn
# data
# displayurl <hidden>
# header agent: TelegramBot/1.0
#User-Agent: TelegramBot/1.0
#Accept: application/json
#Accept-Charset: utf-8
#Content-Type: multipart/form-data; boundary=TelegramBot_boundary-x0123
# hideurl 1
# host api.telegram.org
# httpheader HTTP/1.1 200 OK
#Server: nginx/1.18.0
#Date: Mon, 21 Nov 2022 21:13:02 GMT
#Content-Type: application/json
#Content-Length: 307
#Connection: close
#Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
#Access-Control-Allow-Origin: *
#Access-Control-Allow-Methods: GET, POST, OPTIONS
#Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
# hu_blocking 0
# hu_filecount 25
# hu_port 443
# hu_portSfx
# loglevel 4
# method POST
# path /###/sendMessage
# protocol https
# redirects 0
# timeout 30
# url https://api.telegram.org/###/sendMessage
# args:
# 791060837
# 791060837 () (abbrechen)
#Ich kann folgendes für dich tun:
# undef
# 0
# undef
#
# 1
# hash:
# sslargs:
# HU_UPD_PARAMS:
# FD 7
# 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 5281
# hu_inProgress TelegramBot_UpdatePoll:2429 TelegramBot_Callback:729 __ANON__:779
# hu_port 443
# hu_portSfx
# isPolling update
# loglevel 4
# method GET
# offset 192616767
# path /###/getUpdates?offset=192616767&limit=5&timeout=120
# protocol https
# redirects 0
# timeout 245
# url https://api.telegram.org/###/getUpdates?offset=192616767&limit=5&timeout=120
# hash:
# sslargs:
# READINGS:
# 2022-11-21 21:40:38 Contacts 791060837:Heiko:@HeikoStr
# 2022-11-21 00:00:29 PollingErrCount 0
# 2022-11-20 02:13:53 PollingLastError Callback returned error :Too Many Requests: retry after 5:
# 2022-11-21 22:13:02 msgChat Heiko
# 2022-11-21 22:13:02 msgChatId 791060837
# 2022-11-21 22:13:02 msgFileId
# 2022-11-21 22:13:02 msgId 13488
# 2022-11-21 22:13:02 msgPeer Heiko
# 2022-11-21 22:13:02 msgPeerId 791060837
# 2022-11-21 22:13:02 msgReplyMsgId
# 2022-11-21 22:13:02 msgText QQ
# 2022-11-21 22:13:02 prevMsgChat Heiko
# 2022-11-21 22:13:02 prevMsgFileId
# 2022-11-21 22:13:02 prevMsgId 13487
# 2022-11-21 22:13:02 prevMsgPeer Heiko
# 2022-11-21 22:13:02 prevMsgPeerId 791060837
# 2022-11-21 22:13:02 prevMsgReplyMsgId
# 2022-11-21 22:13:02 prevMsgText Dialog
# 2022-11-21 22:13:02 sentMsgId 13489
# 2022-11-21 22:13:02 sentMsgPeerId 791060837
# 2022-11-21 22:13:02 sentMsgResult SUCCESS
# inlinechats:
# sentQueue:
#
setstate TelegramFhem Polling
setstate TelegramFhem 2022-11-21 21:40:38 Contacts 791060837:Heiko:@HeikoStr
setstate TelegramFhem 2022-11-21 00:00:29 PollingErrCount 0
setstate TelegramFhem 2022-11-20 02:13:53 PollingLastError Callback returned error :Too Many Requests: retry after 5:
setstate TelegramFhem 2022-11-21 22:13:02 msgChat Heiko
setstate TelegramFhem 2022-11-21 22:13:02 msgChatId 791060837
setstate TelegramFhem 2022-11-21 22:13:02 msgFileId
setstate TelegramFhem 2022-11-21 22:13:02 msgId 13488
setstate TelegramFhem 2022-11-21 22:13:02 msgPeer Heiko
setstate TelegramFhem 2022-11-21 22:13:02 msgPeerId 791060837
setstate TelegramFhem 2022-11-21 22:13:02 msgReplyMsgId
setstate TelegramFhem 2022-11-21 22:13:02 msgText QQ
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgChat Heiko
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgFileId
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgId 13487
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgPeer Heiko
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgPeerId 791060837
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgReplyMsgId
setstate TelegramFhem 2022-11-21 22:13:02 prevMsgText Dialog
setstate TelegramFhem 2022-11-21 22:13:02 sentMsgId 13489
setstate TelegramFhem 2022-11-21 22:13:02 sentMsgPeerId 791060837
setstate TelegramFhem 2022-11-21 22:13:02 sentMsgResult SUCCESS
Log wirft folgendes aus:
2022.11.21 22:04:15 3: TelegramBot TelegramFhem: Found from id in message - id : 791060837
2022.11.21 22:04:15 1: PERL WARNING: Use of uninitialized value in split at (eval 71974) line 1.
2022.11.21 22:04:15 3: eval: {return('(' . join(') (', sort{lc($a) cmp lc($b)} (split('
', fhem('get TYPE=msgDialog:FILTER=NAME!=meta_Dialog:FILTER=allowed=.*(msg_Heiko|everyone).* trigger', 1)))) . ') (abbrechen) ')}
2022.11.21 22:04:15 3: msg msg_Heiko: ID=1669064655.51613.1 TYPE=push ROUTE=TelegramFhem RECIPIENT=791060837 STATUS=OK PRIORITY=0 TITLE='' MSG='() (abbrechen)
Ich kann folgendes für dich tun:'
Das Handy siehe Screenshot.