msgDialog: Instant Messaging als FHEM Interface

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

Vorheriges Thema - Nächstes Thema

binford6000

Zitat von: brown78 am 04 April 2020, 10:15:22
Derzeit habe ich keinen Roommate, brauche ich den zwingend?

Ja!
VG Sebastian


Gesendet von iPad mit Tapatalk

brown78

Ok, habe ich angelegt. In welchem Device muss das Reading fhemMsgRcvPush ein Event erzeugen?

binford6000

Zitat von: brown78 am 04 April 2020, 11:58:45
Ok, habe ich angelegt. In welchem Device muss das Reading fhemMsgRcvPush ein Event erzeugen?
Aus dem Wiki:

ROOMMATE / GUEST
Für jeden Dialog kann festgelegt werden welche Person dazu berechtigt ist. Dazu sind Geräte vom Typ ROOMMATE oder GUEST mit definiertem msgContactPush Attribut erforderlich. Es ist darauf zu achten, dass das Reading fhemMsgRcvPush ein Event erzeugt. Siehe auch Attribut "allowed" in msgDialog.
Der Inhalt vom Attribut msgContactPush muss folgendem Muster entsprechen:
<NAME des TelegramBot Device>:@<zum ROOMMATE/GUEST gehörende Telegram ID> 


Event-on-update für o.g. Reading [emoji6]
VG Sebastian


Gesendet von iPad mit Tapatalk

brown78

Ja das habe ich gelesen, war nur unsicher ob das event-on-update in msgDialog oder Roommate muß...

brown78

Bekomme trotzdem keinen Dialog...
Hier mal die Listings:

msgConfig:
Internals:
   CFGFN     
   FUUID      5e88317a-f33f-47f9-e073-7bdcd458fb6930c4
   FVERSION   75_msgConfig.pm:0.189950/2019-03-22
   NAME       SkynetConfig
   NOTIFYDEV  TYPE=(Jabber|TelegramBot|yowsup)
   NR         1239
   NTFY_ORDER 50-SkynetConfig
   STATE      initialized
   TYPE       msgConfig
   READINGS:
     2020-04-04 09:04:26   fhemMsgState    initialized
Attributes:
   comment    FHEM Global Configuration for command 'msg'
   group      Global
   msgContactPush Skynet
   msgDialog_evalSpecials me=diag TelegramBot=Skynet
   msgType    text
   room       Steuerung->Benachrichtigungen
   stateFormat fhemMsgState
   userattr   msgDialog_evalSpecials:textField-long msgDialog_msgCommand:textField
   verbose    3


msgDialog:
Internals:
   CFGFN     
   CHANGED   
   DEF        {
  "%me%": {
    "match": "\/?(start|%me%)",
    "commands": [
  "deletereading TYPE=msgDialog $recipient_history",
  "deletereading %TelegramBot% $recipient_sentMsgId"
    ],
    "message": [
      "{return('(' . join(') (', sort(split('\n', fhem('get TYPE=msgDialog:FILTER=NAME!=$SELF:FILTER=allowed=.*($recipient|everyone).* trigger')))) . ') ')}",
      "(abbrechen) ",
      "Ich kann folgendes für dich tun:"
    ]
  },
  "abbrechen": {
    "match": "\/?abbrechen",
    "commands": [
  "deletereading TYPE=msgDialog $recipient_history",
  "deletereading %TelegramBot% $recipient_sentMsgId"
    ],
    "message": [
      "(%me%) ",
      "Dialog abgebrochen."
    ]   
  },
  "beenden": {
    "match": "\/?beenden",
    "commands": [
  "deletereading TYPE=msgDialog $recipient_history",
  "deletereading %TelegramBot% $recipient_sentMsgId"
    ],
    "message": [
      "(%me%) ",
      "Dialog beendet."
    ]
  }
}
   FUUID      5e8832a4-f33f-47f9-49a7-a358ef363ba732f4
   MSGCOMMAND msg push \@$recipients $message
   NAME       metaDialog
   NOTIFYDEV  TYPE=(ROOMMATE|GUEST)
   NR         1274
   NTFY_ORDER 50-metaDialog
   STATE      Initialized
   TRIGGER    beenden,abbrechen,diag
   TYPE       msgDialog
   READINGS:
     2020-04-04 13:44:19   state           Initialized
Attributes:
   allowed    Marius_Kraft
   disable    1
   room       Steuerung->Benachrichtigungen


Roommate:
Internals:
   CFGFN     
   CHANGED   
   DURATIONTIMER 1586001016.11085
   FUUID      5e884bcf-f33f-47f9-2dfa-594fcee60dbb8ade
   FVERSION   20_ROOMMATE.pm:0.195330/2019-06-02
   NAME       Marius_Kraft
   NOTIFYDEV  global,
   NR         1694
   NTFY_ORDER 50-MKr
   READY      1
   STATE      home
   SUBTYPE    adult
   TYPE       ROOMMATE
   READINGS:
     2020-04-04 10:57:02   durTimerAbsence 00:00:00
     2020-04-04 10:57:02   durTimerAbsence_cr 0
     2020-04-04 13:49:16   durTimerPresence 02:51:32
     2020-04-04 13:49:16   durTimerPresence_cr 172
     2020-04-04 10:57:02   durTimerSleep   00:00:00
     2020-04-04 10:57:02   durTimerSleep_cr 0
     2020-04-04 10:57:44   lastArrival     2020-04-04 10:57:44
     2020-04-04 10:57:44   lastLocation    undefined
     2020-04-04 10:57:44   lastState       initialized
     2020-04-04 10:57:44   location        home
     2020-04-04 10:57:44   mood            calm
     2020-04-04 10:57:44   presence        present
     2020-04-04 10:57:44   state           home
     2020-04-04 10:57:44   wayhome         0
   TIMER:
     MKr_DurationTimer:
       HASH       Marius_Kraft
       MODIFIER   DurationTimer
       NAME       MKr_DurationTimer
     Marius_Kraft_DurationTimer:
       HASH       Marius_Kraft
       MODIFIER   DurationTimer
       NAME       Marius_Kraft_DurationTimer
Attributes:
   alias      Status
   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
   event-on-change-reading fhemMsgRcvPush
   event-on-update-reading fhemMsgRcvPush
   group      MKr
   icon       people_sensor
   msgContactPush Skynet:@[i]TelegramID[/i]
   room       Steuerung->Benachrichtigungen
   rr_realname group
   sortby     1
   webCmd     state

binford6000

Sind im device globalMsg die msgDialog_evalSpecials eingetragen?


Gesendet von iPhone mit Tapatalk

brown78

#696
Ja sind sie, ist das Listing msgConfig aus oberem Post.

Edit: Das senden von Nachrichten mittels msg an Telegram funktioniert, die Befehle von Telegram aus kommen auch im Bot an.

binford6000

#697
Dein metaDialog ist (immer noch) disabled? Und es fehlt auch noch das allowed-Attribut.
Entweder auf everyone oder auf deinen ROOMMATE setzen.

VG Sebastian


Gesendet von iPhone mit Tapatalk

brown78

#698
Wenn ich disabled auf 0 Stelle, bekommt das device den status disabled. Deswegen disabled 1, damn ist der Status initialized. Das allowed schau ich nochmal an

Edit: allowed war auf meinen Nutzernamen bei Telegram gesetzt, hab es auf everyone geändert - ohne Erfolg leider.

binford6000

Zitat von: brown78 am 04 April 2020, 16:42:38
Wenn ich disabled auf 0 Stelle, bekommt das device den status disabled. Deswegen disabled 1, damn ist der Status initialized. Das allowed schau ich nochmal an

Edit: allowed war auf meinen Nutzernamen bei Telegram gesetzt, hab es auf everyone geändert - ohne Erfolg leider.

Dann lösche halt das Attribut disable. Sonst sieht eigentlich alles Okay aus. Wenn du dich nach dem Wiki hältst sollte es funktionieren.

brown78

Wenn ich das Attribut lösche, springt es auch auf disabled...?

binford6000

Zitat von: brown78 am 04 April 2020, 17:03:44
Wenn ich das Attribut lösche, springt es auch auf disabled...?

Dann ist irgendwas total faul...  :o

binford6000

Lösche mal alle
  "deletereading %TelegramBot% $recipient_sentMsgId"
aus deinem metaDialog. Wo hast du die her? Aus dem Wiki jedenfalls nicht....

brown78

#703
Also entweder von hier aus dem thred oder aus dem Wiki. Hab nur C&P gemacht bisher

Edit: hab jetzt nochmal den metaDialog aus dem Wiki genommen, leider bekomme ich immer noch keine Dialoge in Telegram. Brauch ich noch etwas anders? Ich habe den TelegramBot, msgConfi, Roommate, einen metaDialog und den Waschmaschinen Dialog?

binford6000

Was mir noch einfällt:
Das Attribut utf8Special fehlt beim TelegramBot device?