msgDialog: Sammlung fertiger Dialoge

Begonnen von jazzor, 23 Mai 2018, 10:04:45

Vorheriges Thema - Nächstes Thema

jazzor

Hallo!
Wie im Thread zum Modul msgDialog besprochen, soll dieser Thread als Sammlung fertiger Dialoge dienen. Bei Bedarf können diese Dialoge dann gerne ins Wiki übernommen werden.

Um die Übersichtlichkeit zu gewährleisten sollten Rückfragen nur zu den Dialogen selber gestellt werden und generelle Supportanfragen im offiziellen msgDialog-Thread gestellt werden.

Ich werde versuchen, diesen ersten Beitrag als Inhaltsverzeichnis der einzelnen Dialoge aktuell zu halten. Sollte ich jemanden vergessen, bitte ich um kurze Nachricht.



Inhaltsverzeichnis:
Dialog: Verpasster Anruf - https://forum.fhem.de/index.php/topic,88050.msg804800.html#msg804800
- to be continued

jazzor

Dialog: Verpasster Anruf

Kurzbeschreibung: Bei verpassten Anrufen zuhause wird der Dialog in Telegram angezeigt. Ist die Nummer der Fritzbox bekannt, wird der Name angezeigt. Ist der Anrufer unbekannt, kann ein Name eingegeben werden, der auch in das Telefonbuch der Fritzbox übernommen wird.

Notwendiges:
Geräte: FRITZBOX (Fritzbox), FB_CALLMONITOR (FritzBoxAnruf), NOTIFY (notifyVerpAnruf), msgDialog (Dialog_AnrufZuHause)

NOTIFY
defmod notifyVerpAnrufBenachrichtigung notify FritzBoxAnruf:missed_call:.* attr Dialog_AnrufZuHause dialog_Rufnummer $EVTPART1;; attr Dialog_AnrufZuHause dialog_Name $EVTPART2;; sleep 3;; set Dialog_AnrufZuHause say VerpassterAnruf
Dialog JSON:

{
   "VerpassterAnruf":{
      "message":[
         "{return('(Nummer speichern) ') if(AttrVal('$SELF', 'dialog_Name', '') eq '$EVTPART2')}",
         "(abbrechen) ",
         "<b>Anruf in Abwesenheit</b>",
         "{return (AttrVal('$SELF', 'dialog_Rufnummer', ''))}",
         "{if(AttrVal('$SELF', 'dialog_Name', '') eq '$EVTPART2') {return ('<i>Unbekannter Anrufer</i>')} else {return ('<i>'.(AttrVal('$SELF', 'dialog_Name', '')).'</i>')}}"
      ],
  "Nummer speichern":{
  "commands": "{fhem('attr Dialog_AnrufZuHause dialog_zuSpeicherndeNummer '.(AttrVal('$SELF', 'dialog_Rufnummer', '')))}",
  "message":[
"(abbrechen) ",
"Bitte den Namen eingeben."
],
"test":{
"match":"^((?!abbrechen).)*$",
"commands": "attr Dialog_AnrufZuHause dialog_zuSpeichernderNamen $message",
"message":[
"(speichern) ",
"(abbrechen) ",
"<b>$message</b> als zugehörigen Namen speichern?"
],
"speichern":{
"commands":["{fhem(\"get %Fritzboxdevice% tr064Command X_AVM-DE_OnTel:1 x_contact SetPhonebookEntry NewPhonebookID %TelefonbuchId% NewPhonebookEntryID 0 NewPhonebookEntryData '<Envelope xmlns:s=\\\"http:\\\/\\\/www.w3.org\\\/2003\\\/05\\\/soap-envelope\\\"><contact><category>0<\\\/category><person><realName>\".AttrVal('$SELF', 'dialog_zuSpeichernderNamen', '').\"<\\\/realName><\\\/person><telephony nid=\\\"1\\\"><number type=\\\"home\\\" prio=\\\"1\\\" id=\\\"0\\\">\".AttrVal('$SELF', 'dialog_zuSpeicherndeNummer', '').\"<\\\/number><\\\/telephony><\\\/contact>'\")}",
"set %FBCallmonitorDevice% rereadPhonebook"
],
"message":"Die Telefonnumer wurde gespeichert."
}
}
  }
   }
}


Dialog Attribute:
evalSpecials Fritzboxdevice=Fritzbox TelefonbuchId=0 FBCallmonitorDevice=FritzBoxAnruf

userattr dialog_Rufnummer:textField dialog_Name:textField dialog_AnruferBekannt:textField dialog_zuSpeicherndeNummer:textField dialog_zuSpeichernderNamen:textField


Einrichtung:

  • Es werden je ein Device vom Typ FRITZBOX und eines vom Typ FB_CALLMONITOR benötigt. Falls noch nicht geschehen, sind diese jetzt anzulegen. Um das Telefonbuch der Fritzbox einzubinden müssen
    folgende attribute im FB_CALLMONITOR gesetzt werden: "fritzbox-remote-phonebook 1", "reverse-search phonebook"
  • Erstellung des Notify von oben. Achtung: im Code sind die Gerätenamen für FB_CALLMONITOR und den Dialog anzupassen.
  • Erstellung des msgDialogs: Definition mit leerem JSON, einkopieren in DEF (nicht die RAW Definition).
  • Anpassen der Attribute: Sowohl die userattr als auch  die evalSpecials sind als Attribute für den msgDialog zu setzen. Bei den evalSpecials können anschließend die Namen der Fritzboxgeräte eingetragen werden, sofern diese abweichen. Bezüglich der TelefonbuchID gibt es hier weitere Informationen.
  • Speichern und durch Anruf testen. Fertig!  :)


gestein

Hallo,

ich arbeite mich gerade durch die Anleitungen um mir selbst solche Dialoge zu erstellen.
Allerdings ist das Thema ziemlich komplex und um ehrlich zu sein, komme ich irgendwie nicht klar damit.

Dieser Thread wäre ein sehr guter Startpunkt.
Hätte jemand Beispiele?

Danke im Voraus
lg, Gerhard