mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-27 10:37:13 +00:00
Pushsafer: added new option "ttl" (short: "l") to define a time-to-live for a message (Forum: #59004), implement a value check for several options
git-svn-id: https://svn.fhem.de/fhem/trunk@12375 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
79c2dbf5b1
commit
7a173b84de
@ -35,15 +35,16 @@ use HttpUtils;
|
|||||||
use utf8;
|
use utf8;
|
||||||
|
|
||||||
my %Pushsaver_Params = (
|
my %Pushsaver_Params = (
|
||||||
"title" => "t",
|
"title" => {"short" => "t", "check" => qr/^.*$/},
|
||||||
"sound" => "s",
|
"sound" => {"short" => "s", "check" => qr/^\d+$/},
|
||||||
"vibration" => "v",
|
"vibration" => {"short" => "v", "check" => qr/^\d+$/},
|
||||||
"icon" => "i",
|
"icon" => {"short" => "i", "check" => qr/^\d+$/},
|
||||||
"url" => "u",
|
"url" => {"short" => "u", "check" => qr/^[a-z]+:/},
|
||||||
"device" => "d",
|
"device" => {"short" => "d", "check" => qr/^(?:gs)?\d+$/},
|
||||||
"key" => "k",
|
"key" => {"short" => "k", "check" => qr/^[a-zA-Z\d]{20}$/},
|
||||||
"urlText" => "ut",
|
"urlText" => {"short" => "ut"},
|
||||||
"message" => "m"
|
"message" => {"short" => "m"},
|
||||||
|
"ttl" => {"short" => "l", "check" => qr/^\d+$/}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@ -158,12 +159,28 @@ sub Pushsafer_createBody($$)
|
|||||||
{
|
{
|
||||||
if(exists($Pushsaver_Params{$item}))
|
if(exists($Pushsaver_Params{$item}))
|
||||||
{
|
{
|
||||||
push @urlParts, $Pushsaver_Params{$item}."=".urlEncode($args->{$item});
|
if(exists($Pushsaver_Params{$item}{check}) and $args->{$item} !~ $Pushsaver_Params{$item}{check})
|
||||||
|
{
|
||||||
|
push @errs, "wrong syntax for option $item: ".$args->{$item};
|
||||||
}
|
}
|
||||||
elsif(grep($Pushsaver_Params{$_} eq $item, keys(%Pushsaver_Params)))
|
else
|
||||||
|
{
|
||||||
|
push @urlParts, $Pushsaver_Params{$item}{short}."=".urlEncode($args->{$item});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elsif(grep($Pushsaver_Params{$_}{short} eq $item, keys(%Pushsaver_Params)))
|
||||||
|
{
|
||||||
|
my $command = join "", grep($Pushsaver_Params{$_}{short} eq $item, keys(%Pushsaver_Params));
|
||||||
|
|
||||||
|
if(exists($Pushsaver_Params{$command}{check}) and $args->{$item} !~ $Pushsaver_Params{$command}{check})
|
||||||
|
{
|
||||||
|
push @errs, "wrong syntax for option $item: ".$args->{$item};
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
push @urlParts, $item."=".urlEncode($args->{$item});
|
push @urlParts, $item."=".urlEncode($args->{$item});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
push @errs, "unsupported parameter $item";
|
push @errs, "unsupported parameter $item";
|
||||||
@ -315,6 +332,7 @@ sub Pushsafer_Callback($$$)
|
|||||||
<code><b>url</b> </code> - short: <code>u </code> - type: text - A URL that should be included in the message. This can be regular http:// URL's but also specific app schemas. See <a href="https://www.pushsafer.com/en/url_schemes" target="_new">Pushsafer.com</a> for a complete list of supported URL schemas.<br>
|
<code><b>url</b> </code> - short: <code>u </code> - type: text - A URL that should be included in the message. This can be regular http:// URL's but also specific app schemas. See <a href="https://www.pushsafer.com/en/url_schemes" target="_new">Pushsafer.com</a> for a complete list of supported URL schemas.<br>
|
||||||
<code><b>urlText</b> </code> - short: <code>ut</code> - type: text - A text that should be used to display a URL from the "url" option.<br>
|
<code><b>urlText</b> </code> - short: <code>ut</code> - type: text - A text that should be used to display a URL from the "url" option.<br>
|
||||||
<code><b>key</b> </code> - short: <code>k </code> - type: text - Overrides the private key given in the define statement. Also an alias key can be used.<br>
|
<code><b>key</b> </code> - short: <code>k </code> - type: text - Overrides the private key given in the define statement. Also an alias key can be used.<br>
|
||||||
|
<code><b>ttl</b> </code> - short: <code>l </code> - type: number - Defines a "time-to-live" given in minutes after the message will be deleted on the target device(s). Possible range is between 1 - 43200 minutes (30 days).<br>
|
||||||
<br>
|
<br>
|
||||||
Examples:<br>
|
Examples:<br>
|
||||||
<br>
|
<br>
|
||||||
@ -402,9 +420,10 @@ sub Pushsafer_Callback($$$)
|
|||||||
<code><b>sound</b> </code> - Kurzform: <code>s </code> - Typ: Ganzzahl - Die Nummer eines Tons, welcher beim Empfang der Nachricht auf dem Zielgerät ertönen soll (siehe <a href="https://www.pushsafer.com/de/pushapi" target="_new">pushsafer.com</a> für eine Liste möglicher Werte).<br>
|
<code><b>sound</b> </code> - Kurzform: <code>s </code> - Typ: Ganzzahl - Die Nummer eines Tons, welcher beim Empfang der Nachricht auf dem Zielgerät ertönen soll (siehe <a href="https://www.pushsafer.com/de/pushapi" target="_new">pushsafer.com</a> für eine Liste möglicher Werte).<br>
|
||||||
<code><b>icon</b> </code> - Kurzform: <code>i </code> - Typ: Ganzzahl - Die Nummer eines Icons, welches zusammen mit der Nachricht auf dem Zielgerät angezeigt werden soll (siehe <a href="https://www.pushsafer.com/de/pushapi" target="_new">Pushsafer.com</a> für eine Liste möglicher Werte).<br>
|
<code><b>icon</b> </code> - Kurzform: <code>i </code> - Typ: Ganzzahl - Die Nummer eines Icons, welches zusammen mit der Nachricht auf dem Zielgerät angezeigt werden soll (siehe <a href="https://www.pushsafer.com/de/pushapi" target="_new">Pushsafer.com</a> für eine Liste möglicher Werte).<br>
|
||||||
<code><b>vibration</b></code> - Kurzform: <code>v </code> - Typ: Ganzzahl - Die Anzahl, wie oft das Zielgerät vibrieren soll beim Empfang der Nachricht (maximal 3 mal; nur für iOS-/Android-Geräte nutzbar). Falls nicht benutzt, wird die geräteinterne Einstellung verwendet.<br>
|
<code><b>vibration</b></code> - Kurzform: <code>v </code> - Typ: Ganzzahl - Die Anzahl, wie oft das Zielgerät vibrieren soll beim Empfang der Nachricht (maximal 3 mal; nur für iOS-/Android-Geräte nutzbar). Falls nicht benutzt, wird die geräteinterne Einstellung verwendet.<br>
|
||||||
<code><b>url</b> </code> - Kurzform: <code>u </code> - Typ: Text - Eine URL welche der Nachricht angehangen werden soll. Dies kann eine normale http:// bzw. https:// URL sein, es sind jedoch auch weitere spezielle Schemas möglich. Eine Liste aller möglichen URL-Schemas gibt es unter <a href="https://www.pushsafer.com/de/url_schemes" target="_new">pushsafer.com</a> .<br>
|
<code><b>url</b> </code> - Kurzform: <code>u </code> - Typ: Text - Eine URL, welche der Nachricht angehangen werden soll. Dies kann eine normale http:// bzw. https:// URL sein, es sind jedoch auch weitere spezielle Schemas möglich. Eine Liste aller möglichen URL-Schemas gibt es unter <a href="https://www.pushsafer.com/de/url_schemes" target="_new">pushsafer.com</a> .<br>
|
||||||
<code><b>urlText</b> </code> - Kurzform: <code>ut</code> - Typ: Text - Der Text, welcher zum Anzeigen der URL benutzt werden soll anstatt der Zieladresse.<br>
|
<code><b>urlText</b> </code> - Kurzform: <code>ut</code> - Typ: Text - Der Text, welcher zum Anzeigen der URL benutzt werden soll anstatt der Zieladresse.<br>
|
||||||
<code><b>key</b> </code> - Kurzform: <code>k </code> - Typ: Text - Übersteuert den zu nutzenden Schlüssel zur Identifikation aus dem define-Kommando. Es kann hierbei auch ein Email-Alias-Schlüssel benutzt werden.<br>
|
<code><b>key</b> </code> - Kurzform: <code>k </code> - Typ: Text - Übersteuert den zu nutzenden Schlüssel zur Identifikation aus dem define-Kommando. Es kann hierbei auch ein Email-Alias-Schlüssel benutzt werden.<br>
|
||||||
|
<code><b>ttl</b> </code> - Kurzform: <code>l </code> - Typ: Ganzzahl - Die Lebensdauer der Nachricht in Minuten. Sobald die Lebensdauer erreicht ist, wird die Nachricht selbstständig auf allen Geräten gelöscht. Der mögliche Wertebereich liegt zwischen 1 - 43200 Minuten (entspricht 30 Tagen).<br>
|
||||||
<br>
|
<br>
|
||||||
Beispiele:<br>
|
Beispiele:<br>
|
||||||
<br>
|
<br>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user