Subversion Repositories HomeAutomation

Rev

Rev 1060 | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1.  
  2. function irTransmit(type, name, id)
  3. {
  4.     this.CanService(type, name, id);
  5. }
  6.  
  7. extend(irTransmit, CanService);
  8.  
  9. irTransmit.prototype.canMessageHandler = function(canMessage)
  10. {
  11.     /*if (canMessage.getDirectionFlag() == "From_Owner")
  12.     {
  13.         switch (canMessage.getCommandName())
  14.         {
  15.         case "IR":
  16.         break;
  17.         }
  18.     }*/
  19.    
  20.     this.CanService.prototype.canMessageHandler.call(this, canMessage);
  21. }
  22.  
  23. irTransmit.prototype.sendClick = function(remoteName, buttonName, time)
  24. {
  25.     this.sendButton(remoteName, buttonName, true);
  26.    
  27.     if (time)
  28.     {
  29.         sleep(time);
  30.     }
  31.     else
  32.     {
  33.         sleep(50000);
  34.     }
  35.    
  36.     this.sendButton(remoteName, buttonName, false);
  37. }
  38.  
  39. irTransmit.prototype.sendButton = function(remoteName, buttonName, down)
  40. {
  41.     var remotesStore = DataStore.getStore("IRRemotes");
  42.    
  43.     if (remotesStore)
  44.     {
  45.         for (var n = 0; n < remotesStore['remotes'].length; n++)
  46.         {
  47.             if (remotesStore['remotes'][n]['name'] == remoteName)
  48.             {
  49.                 for (var code in remotesStore['remotes'][n]['codes'])
  50.                 {
  51.                     if (remotesStore['remotes'][n]['codes'][code] == buttonName)
  52.                     {
  53.                         this.sendData(remotesStore['remotes'][n]['protocol'], code, down ? "Pressed" : "Released");
  54.                         return;
  55.                     }
  56.                 }
  57.             }
  58.         }
  59.     }
  60. }
  61.  
  62. irTransmit.prototype.sendData = function(protocol, data, status)
  63. {
  64.     var canMessage = new CanMessage("sns", "To_Owner", this.myName, this.myId, "IR");
  65.     canMessage.setData("Status", status);
  66.     canMessage.setData("Protocol", protocol);
  67.     canMessage.setData("IRdata", data);
  68.     sendMessage(canMessage);
  69. }
  70.