Skip to content

Commit

Permalink
Merge pull request #594 from hollie/revert-590-stable
Browse files Browse the repository at this point in the history
Revert "Allows the control of WGL rain8Net serial sprinkler control modules" as it was created against stable...
  • Loading branch information
hollie committed May 12, 2016
2 parents 3c136aa + d40b085 commit 29e0fc5
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 831 deletions.
40 changes: 10 additions & 30 deletions lib/Pushover.pm
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,7 @@ Configure the required pushover settings in your mh.private.ini file:
Pushover_token = <API token from Pushover.net registration>
Pushover_user = <User or Group ID from Pushover.net registraton>
Pushover_device = <Default device or device list to sedn notifications to. List is comma-separated>
Pushover_priority = [-1 | 0 | 1 | 2] Default message priority, defaults to 0.
Pushover_html = [ 0 | 1 ] Support HTML messages, see https://pushover.net/api#html. Defaults to 0.
Pushover_title = "MisterHouse" Default title for messages if none provided
Pushover_disable = 1 Disable notifications. Messages will still be logged
Expand Down Expand Up @@ -41,9 +39,6 @@ values provided on initialization. See the method documentation for below more
$push->notify( "Some important message", { title => 'Security Alert', priority => 2 });
Or with HTML formmatting
$push->notify( "Some <b>important</b> message", { title => 'Security Alert', priority => 2, html => 1 });
=head2 DESCRIPTION
The Pushover instance establishes the defaults for messages and acts as a rudimentary rate limiter for notifications.
Expand Down Expand Up @@ -95,8 +90,7 @@ Creates a new Pushover object. The parameter hash is optional. Defaults will be
B<This must be excluded from the primary misterhouse loop, or the acknowledgment checking and duplicate message rate limiting will be lost>
my $push = Pushover->new( { priority => 0, # Set default Message priority, -1, 0, 1, 2
html => 1, # Support HTML formatting of message ...see https://pushover.net/api#html
retry => 60, # Set default retry priority 2 notification every 60 seconds
retry => 60, # Set default retry priority 2 notification every 60 seconds
expire => 3600, # Set default expration of the retry timer
title => "Some title", # Set default title for messages
token => "xxxx...", # Set the API Token
Expand Down Expand Up @@ -128,12 +122,11 @@ sub new {
$params = {} unless defined $params;

my $self = {};
$self->{priority} = 0; # Priority zero - honour quite times
$self->{speak} = 1; # Speak notifications and acknowledgements
$self->{html} = 0; # Default html off
$self->{priority} = 0; # Priority zero - honor quite times
$self->{speak} = 1; # Speak notifications and acknowledgments

# Merge the mh.private.ini defaults into the object
foreach (qw( token user priority html title device server retry expire speak disable)) {
foreach (qw( token user priority title server retry expire speak disable)) {
$self->{$_} = $params->{$_};
$self->{$_} = $::config_parms{"Pushover_$_"} unless defined $self->{$_};
}
Expand Down Expand Up @@ -170,13 +163,11 @@ information for the notification. The list is not exclusive. Additional parame
in the POST to Pushover.net. This allows support of any API parameter as defined at https://pushover.net/api
$push->notify("Some urgent message", { priority => 2, # Message priority, -1, 0, 1, 2
html => 1, # HTML formatting of message 0-off, 1-on ... see https://pushover.net/api#html
retry => 60, # Retry priority 2 notification every 60 seconds
expire => 3600, # Give up if not ack of priority 2 notify after 1 hour
title => "Some title", # Override title of message
device => "nexus5,iphone" # Device or device-list
token => "xxxx...", # Override the API Token - probably not useful
user => "xxxx...", # Override the target user/group
retry => 60, # Retry priority 2 notification every 60 seconds
expire => 3600, # Give up if not ack of priority 2 notify after 1 hour
title => "Some title", # Override title of message
token => "xxxx...", # Override the API Token - probably not useful
user => "xxxx...", # Override the target user/group
});
Notify will record the last message sent along with a timestamp. If the duplicate message is sent within
Expand Down Expand Up @@ -219,7 +210,7 @@ sub notify {
}

# Merge in the message defaults, They can be overridden
foreach (qw( token user priority html title device url url_title sound retry expire )) {
foreach (qw( token user priority title url url_title sound retry expire )) {
next unless ( defined $self->{$_} );
$callparms->{$_} = $self->{$_} unless defined $callparms->{$_};
}
Expand All @@ -234,11 +225,6 @@ sub notify {
$callparms->{expire} = 86400 if ( $callparms->{expire} > 86400 );
}

# remove html if off
if ( $callparms->{html} != 1 ) {
delete $callparms->{html};
}

&::print_log(
"[Pushover] Notify parameters: " . Data::Dumper::Dumper( \$callparms ) )
if TRACE;
Expand Down Expand Up @@ -368,11 +354,6 @@ sub _checkReceipt {
George Clark
=head2 MODIFICATIONS
2016/04/29 Marc [email protected]
Added html and device support on API call
=head2 SEE ALSO
http://Pushover.net/
Expand All @@ -387,4 +368,3 @@ You should have received a copy of the GNU General Public License along with thi
=cut


Loading

0 comments on commit 29e0fc5

Please sign in to comment.