Subversion Repositories HomeAutomation

Rev

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

  1.  
  2. function power(type, name, id)
  3. {
  4.     this.CanService(type, name, id);
  5.    
  6.     this.myLastValue = new Array();
  7. }
  8.  
  9. extend(power, CanService);
  10.  
  11. power.prototype.myReportInterval = null;
  12. power.prototype.myLastValuePower = null;
  13. power.prototype.myLastValuePower4 = null;
  14. power.prototype.myLastValuePower32 = null;
  15. power.prototype.myLastValueEngergy = null;
  16.  
  17. power.prototype.canMessageHandler = function(canMessage)
  18. {
  19.     if (canMessage.getDirectionFlag() == "From_Owner")
  20.     {
  21.         switch (canMessage.getCommandName())
  22.         {
  23.         case "ElectricPower":
  24.         //log(this.myName + ":" + this.myId + "> New value: " + canMessage.getData("Value") + "\n");
  25.         this.myLastValuePower = canMessage.getData("Power");
  26.         this.myLastValuePower4 = canMessage.getData("Power4");
  27.         this.myLastValuePower32 = canMessage.getData("Power32");
  28.         this.myLastValueEnergy = canMessage.getData("EnergySum");
  29.         this.callEvent("newValue");
  30.         break;
  31.        
  32.         case "Report_Interval":
  33.         log(this.myName + ":" + this.myId + "> New report interval: " + canMessage.getData("Time") + "\n");
  34.         this.myReportInterval = canMessage.getData("Time");
  35.         break;
  36.         }
  37.     }
  38.    
  39.     this.CanService.prototype.canMessageHandler.call(this, canMessage);
  40. }
  41.  
  42. power.prototype.getPower = function()
  43. {
  44.     return this.myLastValuePower;
  45. }
  46. power.prototype.getPower4 = function()
  47. {
  48.     return this.myLastValuePower4;
  49. }
  50. power.prototype.getPower32 = function()
  51. {
  52.     return this.myLastValuePower32;
  53. }
  54. power.prototype.getEnergy = function()
  55. {
  56.     return this.myLastValueEnergy;
  57. }
  58. power.prototype.setEnergy = function(energy)
  59. {
  60.     var canMessage = new CanMessage("sns", "To_Owner", this.myName, this.myId, "setEnergy");
  61.     canMessage.setData("Energy", energy);
  62.     sendMessage(canMessage);
  63. }
  64.  
  65. power.prototype.setReportInterval = function(time)
  66. {
  67.     var canMessage = new CanMessage("sns", "To_Owner", this.myName, this.myId, "Report_Interval");
  68.     canMessage.setData("Time", time);
  69.     sendMessage(canMessage);
  70. }
  71.