Difference between revisions of "Insteon PLM Ruby Code 351"

From LinuxMCE
Jump to: navigation, search
 
m (Added category: GSD)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<pre>
+
{{Versioninfo}}
#### Written by Dan Damron
+
[[Category: GSD]]
 +
<pre>#### Written by Dan Damron
 
#### #351 Process IDLE ####
 
#### #351 Process IDLE ####
 
############################ RECEIVE Error Trap ###########################
 
############################ RECEIVE Error Trap ###########################
 
if  $cmdqueue.length != 0
 
if  $cmdqueue.length != 0
 
   if $resetNext != 0
 
   if $resetNext != 0
     log($redBack + 'receive timeout='+$resetNext.to_s + $blackBack)
+
     log($red + 'receive timeout='+$resetNext.to_s + $grey)
 
   end
 
   end
 
   if $cmdqueue.to_s == $savedstate
 
   if $cmdqueue.to_s == $savedstate
 
     if $resetNext == $timeout
 
     if $resetNext == $timeout
      if $attempts == 2 then
+
if $attempts == 2 then
        #Third attempt.. fail the command.
+
#Third attempt.. fail the command.
        log('Third attempt, Failing Command!')
+
log('Third attempt, Failing Command!')
        $recvbuff = ''
+
$recvbuff = ''
        $currentcmd = 0
+
$currentcmd = 0
        $attempts = 0
+
$attempts = 0
        cmdComplete
+
                #Here, I should remove the child
 +
                removecurrentcommand
 
 
      else
+
        #Command has stalled. Reset wait flag and resend command.
+
else
        log('Command Stalled!  resetting and retrying')
+
      #Command has stalled. Reset wait flag and resend command.
 +
      log('Command Stalled!  resetting and retrying')
  
        log('Current Command:' + $currentcmd.to_s)
+
      log('Current Command:' + $currentcmd.to_s)
        $recvbuff = ''
+
      $recvbuff = ''
        $currentcmd = 0
+
      $currentcmd = 0
        $attempts += 1
+
      $attempts += 1
        #hack to reset the command
+
      #hack to reset the command
        if $cmdqueue[0]['Command'] == 'InsStdMsg'
+
      if $cmdqueue[0]['Command'] == 'InsStdMsg'
          $cmdqueue[0]['Command'] = 'SndIns'
+
        $cmdqueue[0]['Command'] = 'SndIns'
        end
+
      end
      end
+
end
 
       $wAIT = false
 
       $wAIT = false
 
       $resetNext = 0
 
       $resetNext = 0
Line 41: Line 44:
 
     $attempts = 0
 
     $attempts = 0
 
   end
 
   end
end
+
end</pre>
</pre>
+
[[category: Insteon]]

Latest revision as of 14:52, 7 July 2016

Version Status Date Updated Updated By
710 Unknown N/A N/A
810 Unknown N/A N/A
1004 Unknown N/A N/A
1204 Unknown N/A N/A
1404 Unknown N/A N/A
Usage Information
#### Written by Dan Damron
#### #351 Process IDLE ####
############################ RECEIVE Error Trap ###########################
if  $cmdqueue.length != 0
  if $resetNext != 0
    log($red + 'receive timeout='+$resetNext.to_s + $grey)
  end
  if $cmdqueue.to_s == $savedstate
    if $resetNext == $timeout
	if $attempts == 2 then
		#Third attempt.. fail the command.
		log('Third attempt, Failing Command!')
		$recvbuff = ''
		$currentcmd = 0
		$attempts = 0
                #Here, I should remove the child
                removecurrentcommand
		
		
	else
	      #Command has stalled. Reset wait flag and resend command.
	      log('Command Stalled!  resetting and retrying')

	      log('Current Command:' + $currentcmd.to_s)
	      $recvbuff = ''
	      $currentcmd = 0
	      $attempts += 1
	      #hack to reset the command
	      if $cmdqueue[0]['Command'] == 'InsStdMsg'
	        $cmdqueue[0]['Command'] = 'SndIns'
	      end
	end
      $wAIT = false
      $resetNext = 0
      SndIns()
    else
      $resetNext +=1
    end
  else
    $resetNext = 0
    $savedstate = $cmdqueue.to_s
    $attempts = 0
  end
end