Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save florian-asche/fc8023c28041e99736f43438a0f22242 to your computer and use it in GitHub Desktop.
Save florian-asche/fc8023c28041e99736f43438a0f22242 to your computer and use it in GitHub Desktop.
FHEM - MSGDEVICE
define myMsgConfig msgConfig
attr myMsgConfig userattr msgDialog_evalSpecials:textField-long msgDialog_msgCommand:textField
attr myMsgConfig msgContactPush telegram
attr myMsgConfig msgDialog_evalSpecials me=go\
TelegramBot=telegram
attr myMsgConfig room msg
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 rr_Florian
attr meta_Dialog room msg
define msgTEST msgDialog {\
"Wohnung": {\
"message": [\
"(Temperatur/Heizen) ",\
"(Beleuchtung) ",\
"(Rollläden) ",\
"(Müll) ",\
"(Lüften) ",\
"(Szenen) ",\
"(abbrechen) ",\
"Wähle ein Thema."\
],\
"Temperatur/Heizen": {\
"message": [\
"TelegramBot_MTYPE=queryInline (%me%) ",\
"Badezimmer: [CUL_TX_13:temperature]°C [CUL_TX_13:humidity]%",\
"Küche: [CUL_TX_98:temperature]°C [CUL_TX_98:humidity]%",\
"Lüftung Flur: [CUL_TX_23:temperature]°C [CUL_TX_23:humidity]%",\
"Wohnzimmer: [wiffi:temperature]°C [wiffi:humidity]%",\
"Wintergarten: [WintergartenFeinTemp:temperature]°C [WintergartenFeinTemp:humidity]%",\
"Draußen: [Wetter:temperature]°C [Wetter:humidity]%"\
]\
},\
"Beleuchtung": {\
"message": [\
"(Flur) ",\
"(Badezimmer) ",\
"(Schlafzimmer) ",\
"(Kinderzimmer) ",\
"(Wohnzimmer) ",\
"(Esszimmer) ",\
"(Wintergarten) ",\
"(Küche) ",\
"(abbrechen) ",\
"Wähle ein Zimmer."\
],\
"Flur": {\
"message": [\
"(ein | aus) ",\
"(abbrechen) ",\
"Flurlicht ein oder aus"\
],\
"ein": {\
"commands": "set %Flur% on"\
},\
"aus": {\
"commands": "set %Flur% off"\
},\
"Schlafzimmer": {\
"message": [\
"(ein | aus) ",\
"(abbrechen) ",\
"Schlafzimmerlicht ein oder aus?"\
],\
"ein": {\
"commands": "set %SchlafZiLicht% on"\
},\
"aus": {\
"commands": "set %SchlafZiLicht% off"\
}\
}\
}\
},\
"Rollläden": {\
"message": [\
"(Schlafzimmer) ",\
"(Kinderzimmer) ",\
"(Wohnzimmer) ",\
"(abbrechen) ",\
"Wähle ein Zimmer."\
],\
"Schlafzimmer": {\
"message": [\
"(oben | sonnenschutz/lüften |schlafen | unten) ",\
"(abbrechen) ",\
"Wähle eine Rollladenszene"\
],\
"oben": {\
"commands": "set %SchlafziRollo% oben"\
},\
"sonnenschutz/lüften": {\
"commands": "set %SchlafziRollo% sonnenschutz/lüften"\
},\
"schlafen": {\
"commands": "set %SchlafziRollo% schlafen"\
},\
"unten": {\
"commands": "set %SchlafziRollo% unten"\
},\
"Wohnzimmer": {\
"message": [\
"(oben | sonnenschutz/lüften | unten) ",\
"(abbrechen) ",\
"Wähle eine Rollladenszene"\
],\
"oben": {\
"commands": "set %WoziRollo% oben"\
},\
"sonnenschutz/lüften": {\
"commands": "set %WoziRollo% sonnenschutz/lüften"\
},\
"unten": {\
"commands": "set %WoziRollo% unten"\
}\
}\
}\
},\
"Müll": {\
"message": [\
"TelegramBot_MTYPE=queryInline (%me%) ",\
"Datum Heute: [Wetter:fc0_date]",\
"Restmüll: [Abfallkalender:Restmuell_Restabfallbehaelter_weekday] den [Abfallkalender:Restmuell_Restabfallbehaelter_date] ([Abfallkalender:Restmuell_Restabfallbehaelter_days] Tage)",\
"Wertstofftonne: [Abfallkalender:Wertstofftonne_Wertstofftonne_weekday] den [Abfallkalender:Wertstofftonne_Wertstofftonne_date] ([Abfallkalender:Wertstofftonne_Wertstofftonne_days] Tage)",\
"Biomüll: [Abfallkalender:Biomuell_Bioabfallbehaelter_weekday] den [Abfallkalender:Biomuell_Bioabfallbehaelter_date] ([Abfallkalender:Biomuell_Bioabfallbehaelter_days] Tage)",\
"Papiermüll: [Abfallkalender:Papiermuell_Papierbehaelter_weekday] den [Abfallkalender:Papiermuell_Papierbehaelter_date] ([Abfallkalender:Papiermuell_Papierbehaelter_days] Tage)"\
]\
}\
}\
}
attr msgTEST allowed rr_Florian
attr msgTEST room msg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment