msgDialog: Instant Messaging als FHEM Interface

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

Vorheriges Thema - Nächstes Thema

Benbaeck

Hi,
versuche gerade verzweifelt mir ein Bild der Webcam aus einem Dialog heraus zusenden zu lassen.
Habe es erst so versucht.
"get Kamera image;sleep 2;set Telegram sendImage ./www/snapshots/Kamera_snapshot.jpg"
Bild wird auch aufgenommen und versendet, allerdings egal welcher Peer dieses Bild anfordert es landet immer bei mir.
Ist ja eigetlich auch klar, da meine ID als defaultPeer im Telegram Device eingetragen ist.
Dann habe ich folgendes Versucht, jedem Roommate ein userReading mit der Telegram ID verpasst und den Dialog folgendermaßen angepasst.
"get Kamera image;sleep 2;set Telegram sendImage @[$recipient:TelegramID] ./www/snapshots/Kamera_snapshot.jpg"
Funktioniert eigentlich auch soweit, bin aber irgendwie nicht so 100% damit zufrieden.
Hat von euch jemand so etwas in der Art auch schon gebastelt oder hat eine gute Idee wie ich das vernünftig umsetzten könnte?

FHEM-User22

#481
Hallo,
ich suche schon tagelang nach dem Fehler.   
Mein Bot läuft, und ich kann Nachrichten zum Telefon schicken und auch die Nachrichten vom Telefon werden im FHEM angezeigt.

Nun möchte ich mit myMsgConfig ein Menü erstellen.

Im EventMonitor kommt immer, wenn ich was an den FHEM sende folgende Nachricht:

msgConfig myMsgConfig ERROR RCV (NamemeinesBot) (hier meine msgPeerId): Missing reference in msgContact attribute of any device

Kann mir bitte jemand helfen, an welcher Schraube ich drehen muß? Ich habe alles, was ich gefunden habe schon probiert.

Dankeschön

FHEM auf Raspberry Pi und Proxmox und... und.... und....

igami

Es handelt sich um eine Fehlermeldung aus dem msgConfig Modul, die da besagt, dass die Nachricht nicht zugeordnet werden kann. Du brauchst für jeden Benutzer ein ROOMMATE in dem die Kontaktinformationen hinterlegt sind.
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

binford6000

Hallo Zusammen,
mein Dialoge antworten nicht mehr  :-[
Also im erstenj Moment der meta_Dialog zum Anzeigen aller verfügbaren Dialoge.
Ich habe mir schon einen Wolf gesucht aber leider nichts finden können. TelegramBot arbeitet ohne Probleme.
Hier mal ein paar Listings - vielleicht seht ihr ja wo der Fehler liegt...

TelegramBot:
list fhemBot

Internals:
   FAILS      0
   NAME       fhemBot
   NR         54
   OLD_POLLING 126
   POLLING    126
   SNAME      fhemBot
   STATE      Polling
   TYPE       TelegramBot
   UPDATER    0
   WAIT       0
   me         123456789:FHEM:@usernamebot
   offset_id  124465321
   sentLastResult SUCCESS
   sentMsgId  24078
   sentMsgOptions
   sentMsgPeer Sebastian_nachname
   sentMsgPeerId 123456789
   sentMsgResult SUCCESS
   sentMsgText Favoriten beendet
   Contacts:
     123456789  123456789:Sebastian_nachname:@username
   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.12.2
Date: Thu, 09 Aug 2018 08:19:23 GMT
Content-Type: application/json
Content-Length: 307
Connection: close
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Expose-Headers: Content-Length,Content-Type,Date,Server,Connection
Strict-Transport-Security: max-age=31536000; includeSubdomains
     hu_blocking 0
     hu_filecount 51
     hu_port    443
     hu_portSfx
     loglevel   4
     method     POST
     path       /bot123456789:AAFJlxVxmjbrAZH0ZzWDcvkxd2YPm6xqtlg/editMessageText
     protocol   https
     redirects  0
     timeout    30
     url        https://api.telegram.org/bot123456789:AAFJlxVxmjbrAZH0ZzWDcvkxd2YPm6xqtlg/editMessageText
     args:
       123456789
       Favoriten beendet
       undef
       10
       24078
       undef
       1
     hash:
     sslargs:
   HU_UPD_PARAMS:
     FD         5
     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 1910
     hu_port    443
     hu_portSfx
     isPolling  update
     loglevel   4
     method     GET
     offset     124465321
     path       /bot123456789:.../getUpdates?offset=124465321&limit=5&timeout=120
     protocol   https
     redirects  0
     timeout    245
     url        https://api.telegram.org/bot123456789:.../getUpdates?offset=124465321&limit=5&timeout=120
     hash:
     sslargs:
   READINGS:
     2017-10-12 10:44:30   Contacts        123456789:Sebastian_nachname:@username
     2018-08-09 03:13:36   PollingErrCount 2
     2018-08-09 03:13:36   PollingLastError Callback returned error :Bad Gateway:
     2017-11-16 07:08:25   _sentMsgId      12940
     2018-02-22 19:24:28   msg             ACHTUNG Agave2_flower muss gegossen werden!
     2018-08-09 10:39:42   msgChat         Sebastian_nachname
     2018-08-09 10:39:42   msgChatId       123456789
     2018-08-09 10:39:42   msgFileId       
     2018-08-09 10:39:42   msgId           24090
     2018-08-09 10:39:42   msgPeer         Sebastian_nachname
     2018-08-09 10:39:42   msgPeerId       123456789
     2018-08-09 10:39:42   msgReplyMsgId   
     2018-08-09 10:39:42   msgText         Q
     2018-08-09 10:39:42   prevMsgChat     Sebastian_nachname
     2018-08-09 10:39:42   prevMsgFileId   
     2018-08-09 10:39:42   prevMsgId       24089
     2018-08-09 10:39:42   prevMsgPeer     Sebastian_nachname
     2018-08-09 10:39:42   prevMsgPeerId   123456789
     2018-08-09 10:39:42   prevMsgReplyMsgId
     2018-08-09 10:39:42   prevMsgText     Q
     2018-08-09 10:19:23   queryData       TBOT_FAVORITE_CANCEL
     2018-08-09 10:19:23   queryID         1120423487649871249
     2018-08-09 10:19:23   queryPeer       Sebastian_nachname
     2018-08-09 10:19:23   queryPeerId     123456789
     2018-08-09 10:19:23   queryReplyMsgId 24078
     2018-08-09 10:39:42   replyId         Sebastian_nachname
     2018-01-05 11:00:00   rg_Gast_sentMsgId
     2018-08-09 10:19:23   rr_Sebastian_sentMsgId 24078
     2018-08-09 10:19:23   sentMsgId       24078
     2018-08-09 10:19:23   sentMsgPeerId   123456789
     2018-08-09 10:19:23   sentMsgResult   SUCCESS
     2018-02-10 12:29:35   state           msg sz_bwm
   inlinechats:
   sentQueue:
Attributes:
   alias      Telegram Bot
   allowUnknownContacts 0
   cmdFavorites /menu
   cmdKeyword doit
   cmdRestrictedPeer @username
   cmdReturnEmptyResult 0
   defaultPeer @username
   favoritesInline 1
   group      Kommunikation
   icon       telegram
   pollingTimeout 120
   room       91_Webdevices
   stateFormat msgText
   userReadings replyId:msgText.* {ReadingsVal($name, "msgChat", "") eq "" ? ReadingsVal($name, "msgPeerId", "") : (split(" ", ReadingsVal($name, "msgChat", ""), 2))[0]}
   utf8Special 1
   verbose    5


msgConfig:
list globalMsg

Internals:
   NAME       globalMsg
   NOTIFYDEV  TYPE=(Jabber|TelegramBot|yowsup)
   NR         98
   NTFY_ORDER 50-globalMsg
   STATE      1
   TYPE       msgConfig
   READINGS:
     2018-08-09 06:03:02   fhemMsgAudio    ...
     2018-08-09 06:03:02   fhemMsgAudioGw   play1_wz:OK
     2018-08-09 06:03:02   fhemMsgAudioPrio 0
     2018-08-09 06:03:02   fhemMsgAudioState 1
     2018-08-09 06:03:02   fhemMsgAudioTitle -
     2018-08-09 07:35:34   fhemMsgPush     ...

     2018-08-09 07:35:34   fhemMsgPushGw    fhemBot:OK
     2018-08-09 07:35:34   fhemMsgPushPrio 0
     2018-08-09 07:35:34   fhemMsgPushState 1
     2018-08-09 07:35:34   fhemMsgPushTitle -
     2018-08-09 07:35:34   fhemMsgState    1
     2018-08-09 07:35:34   fhemMsgStateTypes push:1
Attributes:
   comment    FHEM Global Configuration for command 'msg'
   devStateIcon {ReadingsVal($name,"STATE","1") eq "1" ? ".*:ios-on-blue" : ".*:ios-NACK"}
   group      Global
   icon       rc_SETUP
   msgContactAudio play1_wz
   msgContactLight fl_tischlampe_licht
   msgContactPush fhemBot
   msgContactScreen KODI
   msgDialog_evalSpecials me=Q
TelegramBot=fhemBot
   msgDialog_msgCommand msg push \@$recipients $message
   msgFwPrioGoneAudio -2
   msgResidentsDev rgr_zuhause
   msgTitleAudio jingle
   msgType    text
   room       90_System
   stateFormat fhemMsgState
   userattr   msgDialog_evalSpecials:textField-long msgDialog_msgCommand:textField
   verbose    5


meta_Dialog:
list meta_Dialog

Internals:
   DEF        {
  "%me%": {
    "match": "\/?(start|%me%)",
    "commands": "deletereading TYPE=msgDialog $recipient_history",
    "message": [
    "{return('(' . join(') (', sort(split('\n', fhem('get TYPE=msgDialog:FILTER=NAME!=$SELF:FILTER=NAME!=.*_fav:FILTER=NAME!=.*_sys:FILTER=NAME!=.*_user:FILTER=allowed=.*($recipient|everyone).* trigger')))) . ') ')}",
    "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."
    ]
  }
}
   MSGCOMMAND msg push \@$recipients $message
   NAME       meta_Dialog
   NOTIFYDEV  TYPE=(ROOMMATE|GUEST)
   NR         152
   NTFY_ORDER 50-meta_Dialog
   STATE      everyone,rr_Sebastian:
   TRIGGER    beenden,zurück,Q,abbrechen
   TYPE       msgDialog
   READINGS:
     2018-08-09 10:28:52   everyone_history
     2018-08-09 10:28:52   rr_Sebastian_history
     2018-08-09 10:28:52   state           everyone,rr_Sebastian:
Attributes:
   alias      1 meta_Dialog
   allowed    everyone,rr_Sebastian
   group      Dialog
   icon       dialog@green
   room       91_Webdevices
   verbose    5


Log mit verbose 5 beim Aufruf von %me (in meinem Fall Q):
2018.08.09 10:54:17 5: msg: found types=push
2018.08.09 10:54:17 5: msg: found priority=2018.08.09
2018.08.09 10:54:24 5: TelegramBot_Callback fhemBot: called from Polling
2018.08.09 10:54:24 5: TelegramBot_Callback fhemBot: data returned :{"ok":true,"result":[{"update_id":124465321,
"message":{"message_id":24091,"from":{"id":123456789,"is_bot":false,"first_name":"Sebastian","last_name":"nachname","username":"username","language_code":"de"},"chat":{"id":123456789,"first_name":"Sebastian","last_name":"nachname","username":"username","type":"private"},"date":1533804864,"text":"Q"}}]}:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :1: to :1:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: found an ARRAY
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :1533804864: to :1533804864:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :username: to :username:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :de: to :de:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :123456789: to :123456789:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :0: to :0:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :Sebastian: to :Sebastian:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :nachname: to :nachname:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: found a HASH
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :24091: to :24091:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :Q: to :Q:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :private: to :private:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :Sebastian: to :Sebastian:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :nachname: to :nachname:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :username: to :username:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :123456789: to :123456789:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: found a HASH
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: found a HASH
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: encoded a String from :124465321: to :124465321:
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: found a HASH
2018.08.09 10:54:24 5: TelegramBot_Deepencode fhemBot: found a HASH
2018.08.09 10:54:24 5: TelegramBot_Callback fhemBot: after encoding
2018.08.09 10:54:24 5: TelegramBot_Callback fhemBot: polling returned result? 1
2018.08.09 10:54:24 5: UpdatePoll fhemBot: number of results 1
2018.08.09 10:54:24 5: UpdatePoll fhemBot: parse result
2018.08.09 10:54:24 4: TelegramBot_ParseMsg fhemBot: Textmessage
2018.08.09 10:54:24 4: TelegramBot_ParseMsg fhemBot: text   :Q:
2018.08.09 10:54:24 4: TelegramBot_ContactUpdate # Contacts in hash before :1:
2018.08.09 10:54:24 4: TelegramBot_ContactUpdate # Contacts in hash after :1:
2018.08.09 10:54:24 4: TelegramBot_GetFullnameForContact # Contacts is 123456789:Sebastian_nachname:@username:
2018.08.09 10:54:24 4: TelegramBot_GetFullnameForContact # name is Sebastian_nachname
2018.08.09 10:54:24 4: TelegramBot_GetFullnameForContact # Contacts is 123456789:Sebastian_nachname:@username:
2018.08.09 10:54:24 4: TelegramBot_GetFullnameForContact # name is Sebastian_nachname
2018.08.09 10:54:24 5: msgConfig globalMsg: called function msgConfig_Notify()
2018.08.09 10:54:24 5: TelegramBot_Set fhemBot: called
2018.08.09 10:54:24 5: TelegramBot_UpdatePoll fhemBot: called
2018.08.09 10:54:24 5: TelegramBot_UpdatePoll fhemBot: - Initiate non blocking polling - With callback set
2018.08.09 10:54:24 5: TelegramBot_readToken: Read Telegram API token from file
2018.08.09 10:54:24 4: TelegramBot_UpdatePoll fhemBot: initiate polling with nonblockingGet with 120s
2018.08.09 10:54:24 5: TelegramBot_UpdatePoll fhemBot: - Ende > next polling started
2018.08.09 10:54:24 4: TelegramBot_Callback fhemBot: resulted in SUCCESS from Polling
2018.08.09 10:54:24 5: TelegramBot_Callback fhemBot: - Ende > Control back to FHEM
2018.08.09 10:54:31 5: msgDialog (meta_Dialog) - entering msgDialog_Notify


Falls noch was fehlen sollte kann ich das gerne nachliefern.

Vorab schon mal danke.
VG Sebastian

igami

Guck doch mal bitte in den EventMonitior, wenn du eine Nachricht schickst. Ich kann aktuell nichts erkennen warum es nicht funktioniert.

Hast du etwas an deiner Installation geändert (update oder so)?
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

binford6000

Hi,
im Eventmonitor ist erschreckend wenig zu sehen wenn ich %me% sende:
2018-08-10 18:43:05 TelegramBot fhemBot msgId: 24451
2018-08-10 18:43:05 TelegramBot fhemBot msgPeer: Sebastian_nachname
2018-08-10 18:43:05 TelegramBot fhemBot msgPeerId: 123456789
2018-08-10 18:43:05 TelegramBot fhemBot msgChat: Sebastian_nachname
2018-08-10 18:43:05 TelegramBot fhemBot msgChatId: 123456789
2018-08-10 18:43:05 TelegramBot fhemBot msgText: Q
2018-08-10 18:43:05 TelegramBot fhemBot msgReplyMsgId:
2018-08-10 18:43:05 TelegramBot fhemBot msgFileId:
2018-08-10 18:43:05 TelegramBot fhemBot replyId: Sebastian_Moebus


Scheint so als würde der metaDialog überhaupt nicht lauschen...

Updates? Ja mein FHEM ist immer aktuell. Habe aber gefühlt ewig nichts mehr an den Dialogen geschraubt.
VG Sebastian

igami

Es scheint die vermittliung durch das msgConfig device zu fehlen, an der stelle solltest du ansetzen.
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

binford6000

ZitatEs scheint die vermittliung durch das msgConfig device zu fehlen, an der stelle solltest du ansetzen.

Habs schon mit dem Minimal-msgConfig device aus dem Wiki versucht. Keine Änderung.
Ansonsten funktioniert das msgConfig device normal. Es routet zB. brav speak nach push, wenn kein msgContactAudio Attribut gesetzt ist.

Werde mal weiter fahnden...
VG Sebastian

binford6000

Moin,
dachte schon den Fehler gefunden zu haben. Ein Klassiker eigentlich...
ZitatEs ist darauf zu achten, dass das Reading fhemMsgRcvPush ein Event erzeugt. Siehe auch Attribut "allowed" in msgDialog.
Event kommt wieder - aber leider kommt immer noch keine Antwort zurück.

Wollte dann nochmal mit dem metaDialog aus dem Wiki starten. Bekomme dann aber einen Fehler nach RAW-Import und Execute Commands:
Usage: define  msgDialog {JSON}

invalid character encountered while parsing JSON string, at character offset 11 (before "\n    "match": "\\/?...") at ./FHEM/76_msgDialog.pm line 93.

Scheint mir so als meckert er die RegEx an. Warum auch immer...? Line 93 ist die hier:
$DEF = eval{JSON->new->decode($DEF)};

Meine libjson-perl ist diese:
libjson-perl ist schon die neueste Version (2.90-1).

So langsam gehen mir die Ideen aus. bzw. bekomme ich jetzt noch nicht mal mehr den metaDialog zurück ins System...
Alles sehr komisch...  :o
VG Sebastian

Wuehler

Wenn ich mich richtig erinnere habe ich beim Metadialog aus dem wiki auch eine solche Meldung erhalten. Lag evtl. am Weg des Einfügens. Da waren irgendwelche unsichtbaren Sonderzeichen drin.

igami

Bei mir geht es mit copy/paste aus dem Wiki. Versuch es doch mal von hier:

defmod 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 everyone
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

binford6000

Zitat von: igami am 12 August 2018, 10:02:45
Bei mir geht es mit copy/paste aus dem Wiki. Versuch es doch mal von hier:

defmod 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 everyone


Leider nein:
Usage: define  msgDialog {JSON}

invalid character encountered while parsing JSON string, at character offset 11 (before "\n    "match": "\\/?...") at ./FHEM/76_msgDialog.pm line 93.


Und als ob das noch nicht genügt:
Habe dann eine fhem.cfg und fhem.save von gestern eigespielt. Nach Neustart sind alle msgDialog-devices verschwunden  :(

Messages collected while initializing FHEM:
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
No global configuration device defined: Please define a msgConfig device first
./log/fhem.save: Please define Abwesenheit_Dialog_user first
Please define Abwesenheit_Dialog_user first
Please define Beleuchtung_Dialog first
Please define Berechtigungen_Dialog_sys first
Please define Bewohner_Dialog first
Please define Fahrzeit_Dialog_user first
Please define Favoriten_Dialog first
Please define Gast_Dialog_user first
Please define Haus_Automatisierung_Dialog_fav first
Please define Kamera_Dialog_fav first
Please define Notfall_Dialog first
Please define Status_dialog_sys first
Please define Steckdosen_Dialog_fav first
Please define System_Dialog first
Please define Systemverwaltung_Dialog_sys first
Please define Tagesschau_Dialog_fav first
Please define meta_Dialog first


Das angemeckerte fehlende msgConfig device ist vorhanden und komplett konfiguriert:
Internals:
   NAME       globalMsg
   NOTIFYDEV  TYPE=(Jabber|TelegramBot|yowsup)
   NR         352
   NTFY_ORDER 50-globalMsg
   STATE      1
   TYPE       msgConfig
   READINGS:
     2018-08-12 09:44:29   fhemMsgAudio     ...
     2018-08-12 09:44:29   fhemMsgAudioGw   play1_wz:OK
     2018-08-12 09:44:29   fhemMsgAudioPrio 0
     2018-08-12 09:44:29   fhemMsgAudioState 1
     2018-08-12 09:44:29   fhemMsgAudioTitle -
     2018-08-12 09:42:30   fhemMsgPush     FHEM1 wurde soeben neu gestartet!
     2018-08-12 09:42:30   fhemMsgPushGw    fhemBot:OK
     2018-08-12 09:42:30   fhemMsgPushPrio 0
     2018-08-12 09:42:30   fhemMsgPushState 1
     2018-08-12 09:42:30   fhemMsgPushTitle -
     2018-08-12 09:44:29   fhemMsgState    1
     2018-08-12 09:44:29   fhemMsgStateTypes audio:1
Attributes:
   comment    FHEM Global Configuration for command 'msg'
   group      Global
   icon       rc_SETUP
   msgCmdScreen KODI
   msgContactAudio play1_wz
   msgContactLight fl_tischlampe_licht
   msgContactPush fhemBot
   msgDialog_evalSpecials me=Q\
TelegramBot=fhemBot
   msgResidentsDev <mein RESIDENTS device>
   msgTitleAudio jingle
   msgType    text
   room       90_System
   stateFormat fhemMsgState
   userattr   msgDialog_evalSpecials:textField-long msgDialog_msgCommand:textField
   verbose    2


Was läuft hier denn gerade für ein Film?!  :o

Wuehler

#492
Das msgDevice fehlte irgendwann zwischendurch mal. Die Meldungen werden nicht aufgeräumt, wenn es wieder da ist.
Schau mal im Notepad++, und lass dir dort alle Zeichen anzeigen. Liegt vielleicht am genutzten Browser oder irgendeine BS-Einstellung.

binford6000

ZitatDas msgDevice fehlte irgendwann zwischendurch mal.
Korrekt, das msgConfig device wurde gelöscht und neu angelegt.
Es ist aber in unveränderter Form aus dem Backup wiederhergestellt.
Mehr als fhem.cfg und fhem.save muss ich doch nicht wiederherstellen oder?

ZitatDie Meldungen werden nicht aufgeräumt, wenn es wieder da ist.
Hmmm, das motd-Attribut aus der Sicherung ist leer. Die Meldungen sind also vom aktuellen Start.

ZitatSchau mal im Notepad++, und lass dir dort alle Zeichen anzeigen.
Was meinst du mit allen Zeichen anzeigen lassen?
Ich habe Dialoge mit Emojis, hatte aber noch nie Probleme damit. Der metaDialog hat zB. keine
und der lässt sich nicht per RAW importieren.

ZitatLiegt vielleicht am genutzten Browser oder irgendeine BS-Einstellung.
Hmm, was hat der Browser damit zu tun? Nutze ausschließlich Chrome und das
FHEM läuft auf einem aktuellen Debian Stretch. Aber mit Firefox gehts auch nicht...




igami

Dann einfach mal Stück für Stück abtippen ;)
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