From 2df743230934864418c2d22b5cbaf969c2300517 Mon Sep 17 00:00:00 2001 From: KRKeegan Date: Wed, 14 May 2014 17:41:00 -0700 Subject: [PATCH 1/2] Insteon: Fix PLM Enable_Monitor Mode; Fix Deaf Device Syncing --- lib/Insteon/BaseInsteon.pm | 2 +- lib/Insteon_PLM.pm | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/Insteon/BaseInsteon.pm b/lib/Insteon/BaseInsteon.pm index 948ef3288..d619cac8f 100644 --- a/lib/Insteon/BaseInsteon.pm +++ b/lib/Insteon/BaseInsteon.pm @@ -3367,7 +3367,7 @@ sub _process_sync_queue { my $link_req_ptr = shift(@{$$self{sync_queue}}); my %link_req = %$link_req_ptr; my $link_member = $link_req{member}; - if ($link_member->is_deaf){ + if ($link_member->is_deaf && !$link_member->is_awake){ $link_member->_build_deaf_sync_queue($link_req_ptr); $self->_process_sync_queue(); } diff --git a/lib/Insteon_PLM.pm b/lib/Insteon_PLM.pm index 806594ef9..588dec1c9 100644 --- a/lib/Insteon_PLM.pm +++ b/lib/Insteon_PLM.pm @@ -704,6 +704,12 @@ sub _parse_data { $self->_clear_timeout('command'); $self->clear_active_message(); } + elsif ($record_type eq $prefix{plm_set_config}) { + # The PLM ACK is all we get in response to + # setting the config parameters + $self->clear_active_message(); + } + $data =~ s/^$ackcmd//; } elsif ($is_nack) { From ac3402e19bc3b54bef5f410285ba981aef693ff8 Mon Sep 17 00:00:00 2001 From: KRKeegan Date: Wed, 14 May 2014 17:43:00 -0700 Subject: [PATCH 2/2] Insteon Deaf Device: Send Queued Commands on Manual Awake --- lib/Insteon/BaseInsteon.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/Insteon/BaseInsteon.pm b/lib/Insteon/BaseInsteon.pm index d619cac8f..aede7a7e6 100644 --- a/lib/Insteon/BaseInsteon.pm +++ b/lib/Insteon/BaseInsteon.pm @@ -1464,6 +1464,8 @@ sub manual_awake { my ($self, $p_time) = @_; $$self{manual_awake} = time + $p_time if $p_time; + #Start sending any messages that are queued for the device + $self->_process_command_stack(); return $$self{manual_awake}; }