Advertisement
enishoca

syncLink

Feb 22nd, 2015
706
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.98 KB | None | 0 0
  1. #!/usr/bin/php
  2. # Usage details in this post https://groups.google.com/forum/#!category-topic/openhab/examples/AROBZn-WjnM
  3. <?php
  4.  
  5. date_default_timezone_set('EST');
  6.  
  7. $debug = 1;
  8. #sleep for 6 hours after the initial run
  9. $sleepinterval = 360;
  10.  
  11. # $item[0] master_id - master_id, as listed by aprontest -l
  12. # $item[1] aprontest attribute - attribute to monitor
  13. # $item[2] aprontest attribute description  
  14.  
  15. $items = array
  16. (
  17.   array(3,"1","On_Off"),
  18.   array(6,"1","On_Off","2")
  19. );
  20.  
  21. while(true) {
  22.   $count = 0;
  23.   foreach($items as &$item) {
  24.     $cmd = "aprontest -l -m " . $item[0] . " | grep " . $item[2] . " | awk '{ print $9 }'";
  25.     if($debug == 1) echo "$cmd\n";
  26.     unset($out);
  27.     exec($cmd,$out,$retval);
  28.     $getvalue = $out[0];
  29.  
  30.     $cmd = "aprontest -l -m " . $item[0] . " | grep " . $item[2] . " | awk '{ print $ 11}'";                                            
  31.     if($debug == 1) echo "$cmd\n";                                                                                                                    
  32.     unset($out);                                                                                                                      
  33.     exec($cmd,$out,$retval2);
  34.     $setvalue = $out[0];
  35.    
  36.     if($debug == 1) { echo "Master ".$item[0]." Set value = " . $setvalue . ".Get value = ". $getvalue." \n"; }
  37.     if($retval == 0 && $retval2 == 0) {
  38.       if($getvalue == $setvalue) {
  39.         if($debug == 1) { echo "Life is good\n"; }
  40.       } else {
  41.         if($debug == 1) { echo "resetting...\n"; }
  42.         $cmd = "aprontest -u -m " . $item[0] . " -t " . $item[1] . " -v ". $setvalue;                                            
  43.         if($debug == 1) echo "$cmd\n";                                                                                                                    
  44.         unset($out);
  45.         exec($cmd,$out,$retval);
  46.         print_r($out);
  47.       }
  48.     }
  49.   }
  50.   sleep($sleepinterval);                                            
  51. }  
  52. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement