Insteon PLM Ruby Code 351
From LinuxMCE
#### 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 cmdComplete 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