mod-CmdMSG/msgSchema.pm
2023-01-03 16:32:25 +01:00

522 lines
19 KiB
Perl
Executable File

###############################################################################
# $Id$
package main;
sub msgSchema_Initialize() { }
package msgSchema;
use strict;
use warnings;
# FHEM module schema definitions for messaging commands
my $db = {
'audio' => {
'AMADDevice' => {
'Normal' => 'set %DEVICE% ttsMsg &%LANG%;; %MSGSHRT%',
'ShortPrio' => 'set %DEVICE% ttsMsg &%LANG%;; %SHOUTOUT%',
'Short' => 'set %DEVICE% ttsMsg &%LANG%;; %SHOUTOUT%',
'defaultValues' => {
'Normal' => {
'LANG' => 'de',
},
'ShortPrio' => {
'LANG' => 'de',
'SHOUTOUT' => 'Achtung!',
},
'Short' => {
'LANG' => 'de',
'SHOUTOUT' => 'Hinweis!',
},
},
},
'SB_PLAYER' => {
'Normal' => 'set %DEVICE% talk |%TITLE%| %MSGSHRT%',
'ShortPrio' => 'set %DEVICE% talk |%TITLE%| %SHOUTOUT%',
'Short' => 'set %DEVICE% talk |%TITLE%| %SHOUTOUT%',
'defaultValues' => {
'Normal' => {
'TITLE' => 'Announcement',
},
'ShortPrio' => {
'SHOUTOUT' => 'Achtung!',
'TITLE' => 'Announcement',
},
'Short' => {
'SHOUTOUT' => '',
'TITLE' => 'Announcement',
},
},
},
'SONOSPLAYER' => {
'Normal' =>
'set %DEVICE% Speak %VOLUME% %LANG% |%TITLE%| %MSGSHRT%',
'ShortPrio' =>
'set %DEVICE% Speak %VOLUME% %LANG% |%TITLE%| %SHOUTOUT%',
'Short' =>
'set %DEVICE% Speak %VOLUME% %LANG% |%TITLE%| %SHOUTOUT%',
'defaultValues' => {
'Normal' => {
'VOLUME' => 38,
'LANG' => 'de',
'TITLE' => 'Announcement',
},
'ShortPrio' => {
'VOLUME' => 33,
'LANG' => 'de',
'TITLE' => 'Announcement',
'SHOUTOUT' => 'Achtung!',
},
'Short' => {
'VOLUME' => 28,
'LANG' => 'de',
'TITLE' => 'Announcement',
'SHOUTOUT' => '',
},
},
},
'Text2Speech' => {
'Normal' => 'set %DEVICE% tts %MSGSHRT%',
'ShortPrio' => 'set %DEVICE% tts %SHOUTOUT%',
'Short' => 'set %DEVICE% tts %SHOUTOUT%',
'defaultValues' => {
'ShortPrio' => {
'SHOUTOUT' => 'Achtung!',
},
'Short' => {
'SHOUTOUT' => 'Hinweis!',
},
},
},
'FULLY' => {
'Normal' => 'set %DEVICE% speak %MSGSHRT%',
'ShortPrio' => 'set %DEVICE% speak %SHOUTOUT%',
'Short' => 'set %DEVICE% speak %SHOUTOUT%',
'defaultValues' => {
'ShortPrio' => {
'SHOUTOUT' => 'Achtung!',
},
'Short' => {
'SHOUTOUT' => 'Hinweis!',
},
},
},
},
'light' => {
'HUEDevice' => {
'Normal' =>
'{ my $d=\'%DEVICE%\'; my $state=ReadingsVal($d,"state","off"); fhem "set $d blink 2 1"; fhem "sleep 4.25; set $d:FILTER=state!=$state $state"; }',
'High' =>
'{ my $d=\'%DEVICE%\'; my $state=ReadingsVal($d,"state","off"); fhem "set $d blink 10 1"; fhem "sleep 20.25; set $d:FILTER=state!=$state $state"; }',
'Low' => 'set %DEVICE% alert select',
},
},
'mail' => {
'fhemMsgMail' => {
'Normal' =>
'{ my $d=\'%DEVICE%\'; my $title=\'%TITLE%\'; my $msg=\'%MSG%\'; system("echo \'$msg\' | /usr/bin/mail -s \'$title\' \'$d\'"); }',
'High' =>
'{ my $d=\'%DEVICE%\'; my $title=\'%TITLE%\'; my $msg=\'%MSG%\'; system("echo \'$msg\' | /usr/bin/mail -s \'$title\' \'$d\'"); }',
'Low' =>
'{ my $d=\'%DEVICE%\'; my $title=\'%TITLE%\'; my $msg=\'%MSG%\'; system("echo \'$msg\' | /usr/bin/mail -s \'$title\' \'$d\'"); }',
'defaultValues' => {
'Normal' => {
'TITLE' => 'System Message',
},
'High' => {
'TITLE' => 'System Message',
},
'Low' => {
'TITLE' => 'System Message',
},
},
},
},
'push' => {
'Fhemapppush' => {
'Normal' => 'set %DEVICE% message \'%MSG%\' %ACTION%',
'High' => 'set %DEVICE% message \'%MSG%\' %ACTION%',
'Low' => 'set %DEVICE% message \'%MSG%\' %ACTION%',
'defaultValues' => {
'Normal' => {
'ACTION' => '',
},
'High' => {
'ACTION' => '',
},
'Low' => {
'ACTION' => '',
},
},
},
'Jabber' => {
'Normal' => 'set %DEVICE% msg%Jabber_MTYPE% %RECIPIENT% %MSG%',
'High' => 'set %DEVICE% msg%Jabber_MTYPE% %RECIPIENT% %MSG%',
'Low' => 'set %DEVICE% msg%Jabber_MTYPE% %RECIPIENT% %MSG%',
'defaultValues' => {
'Normal' => {
'Jabber_MTYPE' => '',
},
'High' => {
'Jabber_MTYPE' => '',
},
'Low' => {
'Jabber_MTYPE' => '',
},
},
},
'Pushbullet' => {
'Normal' => 'set %DEVICE% message %MSG% | %TITLE% %RECIPIENT%',
'High' => 'set %DEVICE% message %MSG% | %TITLE% %RECIPIENT%',
'Low' => 'set %DEVICE% message %MSG% | %TITLE% %RECIPIENT%',
'defaultValues' => {
'Normal' => {
'RECIPIENT' => '',
},
'High' => {
'RECIPIENT' => '',
},
'Low' => {
'RECIPIENT' => '',
},
},
},
'PushNotifier' => {
'Normal' => 'set %DEVICE% message %MSG%',
'High' => 'set %DEVICE% message %MSG%',
'Low' => 'set %DEVICE% message %MSG%',
},
'Matrix' => {
'Normal' => 'set %DEVICE% msg %MSG%',
'High' => 'set %DEVICE% msg %MSG%',
'Low' => 'set %DEVICE% msg %MSG%',
},
'Pushover' => {
'Normal' =>
'set %DEVICE% %Pushover_MTYPE% title=\'%TITLE%\' device=\'%RECIPIENT%:%TERMINAL%\' priority=%PRIORITY% url_title="%URLTITLE%" message=\'%MSG%\'',
'High' =>
'set %DEVICE% %Pushover_MTYPE% title=\'%TITLE%\' device=\'%RECIPIENT%:%TERMINAL%\' priority=%PRIORITY% url_title="%URLTITLE%" retry=%RETRY% expire=%EXPIRE% message=\'%MSG%\'',
'Low' =>
'set %DEVICE% %Pushover_MTYPE% title=\'%TITLE%\' device=\'%RECIPIENT%:%TERMINAL%\' priority=%PRIORITY% url_title="%URLTITLE%" message=\'%MSG%\'',
'defaultValues' => {
'Normal' => {
'RECIPIENT' => '',
'TERMINAL' => '',
'URLTITLE' => '',
'Pushover_MTYPE' => 'msg',
},
'High' => {
'RECIPIENT' => '',
'TERMINAL' => '',
'RETRY' => '120',
'EXPIRE' => '600',
'URLTITLE' => '',
'Pushover_MTYPE' => 'msg',
},
'Low' => {
'RECIPIENT' => '',
'TERMINAL' => '',
'URLTITLE' => '',
'Pushover_MTYPE' => 'msg',
},
},
},
'Pushsafer' => {
'Normal' =>
'set %DEVICE% message "%MSG%" title="%TITLE%" key="%RECIPIENT%" device="%TERMINAL%" vibration="%Pushsafer_VIBRATION%" url="%ACTION%" urlText="%URLTITLE%" ttl="%EXPIRE%"',
'High' =>
'set %DEVICE% message "%MSG%" title="%TITLE%" key="%RECIPIENT%" device="%TERMINAL%" vibration="%Pushsafer_VIBRATION%" url="%ACTION%" urlText="%URLTITLE%" ttl="%EXPIRE%"',
'Low' =>
'set %DEVICE% message "%MSG%" title="%TITLE%" key="%RECIPIENT%" device="%TERMINAL%" url="%ACTION%" urlText="%URLTITLE%" ttl="%EXPIRE%"',
'defaultValues' => {
'Normal' => {
'RECIPIENT' => '',
'TERMINAL' => '',
'EXPIRE' => '',
'URLTITLE' => '',
'ACTION' => '',
'Pushsafer_VIBRATION' => '1',
},
'High' => {
'RECIPIENT' => '',
'TERMINAL' => '',
'EXPIRE' => '',
'URLTITLE' => '',
'ACTION' => '',
'Pushsafer_VIBRATION' => '2',
},
'Low' => {
'RECIPIENT' => '',
'TERMINAL' => '',
'EXPIRE' => '',
'URLTITLE' => '',
'ACTION' => '',
},
},
},
'SiSi' => {
'Normal' => 'set %DEVICE% %SiSi_MTYPE% @%RECIPIENT% %MSG%',
'High' => 'set %DEVICE% %SiSi_MTYPE% @%RECIPIENT% %MSG%',
'Low' => 'set %DEVICE% %SiSi_MTYPE% @%RECIPIENT% %MSG%',
'defaultValues' => {
'Normal' => {
'RECIPIENT' => '',
'SiSi_MTYPE' => 'message',
},
'High' => {
'RECIPIENT' => '',
'SiSi_MTYPE' => 'message',
},
'Low' => {
'RECIPIENT' => '',
'SiSi_MTYPE' => 'message',
},
},
},
'TelegramBot' => {
'Normal' => 'set %DEVICE% %TelegramBot_MTYPE% %RECIPIENT% %MSG%',
'High' => 'set %DEVICE% %TelegramBot_MTYPE% %RECIPIENT% %MSG%',
'Low' => 'set %DEVICE% %TelegramBot_MTYPE% %RECIPIENT% %MSG%',
'defaultValues' => {
'Normal' => {
'RECIPIENT' => '',
'TelegramBot_MTYPE' => 'message',
},
'High' => {
'RECIPIENT' => '',
'TelegramBot_MTYPE' => 'message',
},
'Low' => {
'RECIPIENT' => '',
'TelegramBot_MTYPE' => 'message',
},
},
},
'Signalbot' => {
'Normal' => 'set %DEVICE% %Signalbot_MTYPE% %RECIPIENT% %MSG%',
'High' => 'set %DEVICE% %Signalbot_MTYPE% %RECIPIENT% %MSG%',
'Low' => 'set %DEVICE% %Signalbot_MTYPE% %RECIPIENT% %MSG%',
'defaultValues' => {
'Normal' => {
'RECIPIENT' => '',
'Signalbot_MTYPE' => 'send',
},
'High' => {
'RECIPIENT' => '',
'Signalbot_MTYPE' => 'send',
},
'Low' => {
'RECIPIENT' => '',
'Signalbot_MTYPE' => 'send',
},
},
},
'yowsup' => {
'Normal' => 'set %DEVICE% send %RECIPIENT% %MSG%',
'High' => 'set %DEVICE% send %RECIPIENT% %MSG%',
'Low' => 'set %DEVICE% send %RECIPIENT% %MSG%',
},
},
'screen' => {
'AMADDevice' => {
'Normal' => 'set %DEVICE% screenMsg %MSG%',
'High' => 'set %DEVICE% screenMsg %MSG%',
'Low' => 'set %DEVICE% screenMsg %MSG%',
},
'ENIGMA2' => {
'Normal' => 'set %DEVICE% msg %ENIGMA2_MTYPE% %TIMEOUT% %MSG%',
'High' => 'set %DEVICE% msg %ENIGMA2_MTYPE% %TIMEOUT% %MSG%',
'Low' => 'set %DEVICE% msg %ENIGMA2_MTYPE% %TIMEOUT% %MSG%',
'defaultValues' => {
'Normal' => {
'ENIGMA2_MTYPE' => 'info',
'TIMEOUT' => 8,
},
'High' => {
'ENIGMA2_MTYPE' => 'attention',
'TIMEOUT' => 12,
},
'Low' => {
'ENIGMA2_MTYPE' => 'message',
'TIMEOUT' => 8,
},
},
},
'LGTV_WebOS' => {
'Normal' => 'set %DEVICE% screenMsg %MSG%',
'High' => 'set %DEVICE% screenMsg %MSG%',
'Low' => 'set %DEVICE% screenMsg %MSG%',
},
'KODI' => {
'Normal' =>
'{ my $d=\'%DEVICE%\'; my $msg=\'%MSG%\'; my $title=\'%TITLE%\'; my $timeout=%TIMEOUT%*1000; fhem "set $d msg \'$title\' \'$msg\' $timeout %KODI_ICON%"; }',
'High' =>
'{ my $d=\'%DEVICE%\'; my $msg=\'%MSG%\'; my $title=\'%TITLE%\'; my $timeout=%TIMEOUT%*1000; fhem "set $d msg \'$title\' \'$msg\' $timeout %KODI_ICON%"; }',
'Low' =>
'{ my $d=\'%DEVICE%\'; my $msg=\'%MSG%\'; my $title=\'%TITLE%\'; my $timeout=%TIMEOUT%*1000; fhem "set $d msg \'$title\' \'$msg\' $timeout %KODI_ICON%"; }',
'defaultValues' => {
'Normal' => {
'TIMEOUT' => 8,
'TITLE' => 'Info',
'KODI_ICON' => 'info',
},
'High' => {
'TIMEOUT' => 12,
'TITLE' => 'Warning',
'KODI_ICON' => 'warning',
},
'Low' => {
'TIMEOUT' => 8,
'TITLE' => 'Notice',
'KODI_ICON' => '',
},
},
},
'PostMe' => {
'Normal' =>
'set %DEVICE% create %TITLESHRT2%_%MSGID%; set %DEVICE% add %TITLESHRT2%_%MSGID% %MSGDATETIME%; set %DEVICE% add %TITLESHRT2%_%MSGID% %TITLE%; set %DEVICE% add %TITLESHRT2%_%MSGID% %PostMe_TO%%SRCALIAS% (%SOURCE%); set %DEVICE% add %TITLESHRT2%_%MSGID% _________________________; set %DEVICE% add %TITLESHRT2%_%MSGID% %MSG%',
'High' =>
'set %DEVICE% create %TITLESHRT2%_%MSGID%; set %DEVICE% add %TITLESHRT2%_%MSGID% %MSGDATETIME%; set %DEVICE% add %TITLESHRT2%_%MSGID% %TITLE%; set %DEVICE% add %TITLESHRT2%_%MSGID% %PostMe_PRIO%%PRIOCAT%/%PRIORITY%; set %DEVICE% add %TITLESHRT2%_%MSGID% %PostMe_TO%%SRCALIAS% (%SOURCE%); set %DEVICE% add %TITLESHRT2%_%MSGID% _________________________; set %DEVICE% add %TITLESHRT2%_%MSGID% %MSG%',
'Low' =>
'set %DEVICE% create %TITLESHRT2%_%MSGID%; set %DEVICE% add %TITLESHRT2%_%MSGID% %MSGDATETIME%; set %DEVICE% add %TITLESHRT2%_%MSGID% %TITLE%; set %DEVICE% add %TITLESHRT2%_%MSGID% %PostMe_PRIO%%PRIOCAT%/%PRIORITY%; set %DEVICE% add %TITLESHRT2%_%MSGID% %PostMe_TO%%SRCALIAS% (%SOURCE%); set %DEVICE% add %TITLESHRT2%_%MSGID% _________________________; set %DEVICE% add %TITLESHRT2%_%MSGID% %MSG%',
'defaultValues' => {
'Normal' => {
'TITLE' => 'Info',
'PostMe_TO' => 'To: ',
'PostMe_SUB' => 'Subject: ',
'PostMe_PRIO' => 'Priority: ',
},
'High' => {
'TITLE' => 'Warning',
'PostMe_TO' => 'To',
'PostMe_SUB' => 'Subject',
'PostMe_PRIO' => 'Priority',
},
'Low' => {
'TITLE' => 'Notice',
'PostMe_TO' => 'To: ',
'PostMe_SUB' => 'Subject: ',
'PostMe_PRIO' => 'Priority: ',
},
},
},
'LaMetric2' => {
'Normal' =>
'set %DEVICE% msg title=\'%TITLE%\' lifetime=%EXPIRE% priority=%LaMetric2_PRIORITY% sound=%LaMetric2_SOUND% repeat=%LaMetric2_REPEAT% cycles=%LaMetric2_CYCLES% message=\'%MSG%\'',
'High' =>
'set %DEVICE% msg title=\'%TITLE%\' lifetime=%EXPIRE% priority=%LaMetric2_PRIORITY% sound=%LaMetric2_SOUND% repeat=%LaMetric2_REPEAT% cycles=%LaMetric2_CYCLES% message=\'%MSG%\'',
'Low' =>
'set %DEVICE% msg title=\'%TITLE%\' lifetime=%EXPIRE% priority=%LaMetric2_PRIORITY% sound=%LaMetric2_SOUND% repeat=%LaMetric2_REPEAT% cycles=%LaMetric2_CYCLES% message=\'%MSG%\'',
'defaultValues' => {
'Normal' => {
'EXPIRE' => '120',
'LaMetric2_PRIORITY' => 'warning',
'LaMetric2_SOUND' => 'notification',
'LaMetric2_REPEAT' => '1',
'LaMetric2_CYCLES' => '1',
},
'High' => {
'EXPIRE' => '120',
'LaMetric2_PRIORITY' => 'critical',
'LaMetric2_SOUND' => 'alarm13',
'LaMetric2_REPEAT' => '3',
'LaMetric2_CYCLES' => '2',
},
'Low' => {
'EXPIRE' => '120',
'LaMetric2_PRIORITY' => 'info',
'LaMetric2_SOUND' => 'positive5',
'LaMetric2_REPEAT' => '1',
'LaMetric2_CYCLES' => '1',
},
},
},
'XBMC' => {
'Normal' =>
'{ my $d=\'%DEVICE%\'; my $msg=\'%MSG%\'; my $title=\'%TITLE%\'; my $timeout=%TIMEOUT%*1000; fhem "set $d msg \'$title\' \'$msg\' $timeout %XBMC_ICON%"; }',
'High' =>
'{ my $d=\'%DEVICE%\'; my $msg=\'%MSG%\'; my $title=\'%TITLE%\'; my $timeout=%TIMEOUT%*1000; fhem "set $d msg \'$title\' \'$msg\' $timeout %XBMC_ICON%"; }',
'Low' =>
'{ my $d=\'%DEVICE%\'; my $msg=\'%MSG%\'; my $title=\'%TITLE%\'; my $timeout=%TIMEOUT%*1000; fhem "set $d msg \'$title\' \'$msg\' $timeout %XBMC_ICON%"; }',
'defaultValues' => {
'Normal' => {
'TIMEOUT' => 8,
'TITLE' => 'Info',
'XBMC_ICON' => 'info',
},
'High' => {
'TIMEOUT' => 12,
'TITLE' => 'Warning',
'XBMC_ICON' => 'warning',
},
'Low' => {
'TIMEOUT' => 8,
'TITLE' => 'Notice',
'XBMC_ICON' => '',
},
},
},
},
};
sub get {
return $db;
}
1;
__END__
=pod
=encoding utf8
=for :application/json;q=META.json msgSchema.pm
{
"author": [
"Julian Pawlowski <julian.pawlowski@gmail.com>"
],
"x_fhem_maintainer": [
"loredo"
],
"x_fhem_maintainer_github": [
"jpawlowski"
],
"keywords": [
"messaging"
]
}
=end :application/json;q=META.json
=cut