Subversion Repositories HomeAutomation

Rev

Rev 1101 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1.  
  2. function TC1047A(type, name, id)
  3. {
  4.     this.CanService(type, name, id);
  5.    
  6.     this.myLastValue = new Array();
  7. }
  8.  
  9. extend(TC1047A, CanService);
  10.  
  11. TC1047A.prototype.myReportInterval = null;
  12. TC1047A.prototype.myLastValue = null;
  13.  
  14. TC1047A.prototype.canMessageHandler = function(canMessage)
  15. {
  16.     if (canMessage.getDirectionFlag() == "From_Owner")
  17.     {
  18.         switch (canMessage.getCommandName())
  19.         {
  20.         case "Temperature_Celsius":
  21.         log(this.myName + ":" + this.myId + "> New value: " + canMessage.getData("Value") + "\n");
  22.         this.myLastValue[canMessage.getData("SensorId")] = canMessage.getData("Value");
  23.         //this.callEvent("newValue", canMessage.getData("SensorId"));
  24.         var dataArray = new Array();
  25.         dataArray["service"] = self;
  26.         dataArray["sensor"] = canMessage.getData("SensorId");
  27.         dataArray["value"] = canMessage.getData("Value");
  28.         dataArray["moduleName"] = canMessage.getModuleName();
  29.         dataArray["moduleId"] = canMessage.getModuleId();
  30.         this.callEvent("newValue", dataArray);
  31.         break;
  32.        
  33.         case "Sensor_Report_Interval":
  34.         log(this.myName + ":" + this.myId + "> New report interval: " + canMessage.getData("Time") + "\n");
  35.         this.myReportInterval = canMessage.getData("Time");
  36.         break;
  37.         }
  38.     }
  39.    
  40.     this.CanService.prototype.canMessageHandler.call(this, canMessage);
  41. }
  42.  
  43. TC1047A.prototype.getValue = function(sensorId)
  44. {
  45.     return this.myLastValue[sensorId];
  46. }
  47.  
  48. TC1047A.prototype.setReportInterval = function(time)
  49. {
  50.     var canMessage = new CanMessage("sns", "To_Owner", this.myName, this.myId, "Sensor_Report_Interval");
  51.     canMessage.setData("Time", time);
  52.     sendMessage(canMessage);
  53. }
  54.