Subversion Repositories HomeAutomation

Rev

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

  1. var sensorServices = new Array();
  2. var sensorValues = new Array();
  3.  
  4. ServiceManager.addCallback(this._TempSensors_SensorSeviceOnline);
  5.  
  6. function _TempSensors_SensorSeviceOnline(service) {
  7.   if (service.getName() == "DS18x20" || service.getName() == "TC1047A" || service.getName() == "FOST02") {
  8.     _TempSensors_updateSensorList();
  9.   }
  10. //log("Sensor online\n");
  11. }
  12.  
  13. function _TempSensors_updateSensorList() {
  14.   this.sensorServices = new Array();
  15.   for (var id in ServiceManager.Services)
  16.   {
  17.     if (ServiceManager.Services[id].getName() == "DS18x20" || ServiceManager.Services[id].getName() == "TC1047A" || ServiceManager.Services[id].getName() == "FOST02")
  18.   {
  19.     ServiceManager.Services[id].registerEventCallback("newValue", function(args) { _TempSensors_NewTemperature(args); });
  20.     ServiceManager.Services[id].registerEventCallback("offline", function(args) { _TempSensors_SensorOffline(args); });
  21.     ServiceManager.Services[id].setReportInterval(2);
  22.     this.sensorServices[sensorServices.length] = ServiceManager.Services[id];
  23. //log("found sensors\n");
  24.   }
  25.   }
  26. }
  27.  
  28. //dataArray["service"] = self;
  29. //dataArray["sensor"] = canMessage.getData("SensorId");
  30. //dataArray["value"] = canMessage.getData("Value");
  31. //dataArray["moduleName"] = canMessage.getModuleName();
  32. //dataArray["moduleId"] = canMessage.getModuleId();
  33. function _TempSensors_NewTemperature(array){
  34. sensorValues[""+array["moduleName"]+array["moduleId"]+array["sensor"]] = new Array();
  35. sensorValues[""+array["moduleName"]+array["moduleId"]+array["sensor"]]['value'] = array["value"];
  36. sensorValues[""+array["moduleName"]+array["moduleId"]+array["sensor"]]['service'] = array["service"];
  37. //log("new value: from: "+""+array["moduleName"]+array["moduleId"]+array["sensor"] +"with value: "+ sensorValues[""+array["moduleName"]+array["moduleId"]+array["sensor"]]["value"]+"\n");
  38. //log("length is now: "+sensorValues.+" \n");
  39. }
  40.  
  41. function _TempSensors_SensorOffline(data) {
  42.   var sensorValues = new Array();
  43. }
  44.        
  45. function getSensorValue(SensorName)
  46. {
  47.     var sensorStore = DataStore.getStore("SensorNames");
  48.     if (sensorStore)
  49.     {
  50.         for (var n = 0; n < sensorStore['SensorNames'].length; n++)
  51.         {
  52.             if (sensorStore['SensorNames'][n]['name'] == SensorName)
  53.             {
  54.                 if (sensorValues[sensorStore['SensorNames'][n]['moduleType']+sensorStore['SensorNames'][n]['moduleId']+sensorStore['SensorNames'][n]['sensorId']] != null) {
  55.                     var returnvalue = sensorValues[sensorStore['SensorNames'][n]['moduleType']+sensorStore['SensorNames'][n]['moduleId']+sensorStore['SensorNames'][n]['sensorId']]['value'];
  56.                     if (returnvalue != null) {
  57.                         return returnvalue;
  58.                     } else {
  59.                         return -50;
  60.                     }
  61.                 }
  62.             }
  63.            
  64.         }
  65.     }
  66.     return -50;
  67.    
  68. }
  69.  
  70. function getSensorInfo(SensorName)
  71. {
  72.     var sensorStore = DataStore.getStore("SensorNames");
  73.     if (sensorStore)
  74.     {
  75.         for (var n = 0; n < sensorStore['SensorNames'].length; n++)
  76.         {
  77.             if (sensorStore['SensorNames'][n]['name'] == SensorName)
  78.             {
  79.                 var returnvalue = new Array();
  80.                 returnvalue['name'] = sensorStore['SensorNames'][n]['name'];
  81.                 returnvalue['description'] = sensorStore['SensorNames'][n]['description'];
  82.                 returnvalue['shortName'] = sensorStore['SensorNames'][n]['shortName'];
  83.                 returnvalue['moduleType'] = sensorStore['SensorNames'][n]['moduleType'];
  84.                 returnvalue['moduleId'] = sensorStore['SensorNames'][n]['moduleId'];
  85.                 returnvalue['sensorId'] = sensorStore['SensorNames'][n]['sensorId'];
  86.                 return returnvalue;
  87.             }
  88.            
  89.         }
  90.     }
  91.     return null;
  92. }
  93.  
  94. function getSensorService(SensorName)
  95. {
  96.     var sensorStore = DataStore.getStore("SensorNames");
  97.     if (sensorStore)
  98.     {
  99.         for (var n = 0; n < sensorStore['SensorNames'].length; n++)
  100.         {
  101.             if (sensorStore['SensorNames'][n]['name'] == sensorName)
  102.             {
  103.                 return this.sensorValues[sensorStore['SensorNames'][n]['moduleType']+sensorStore['SensorNames'][n]['moduleId']+sensorStore['SensorNames'][n]['sensorId']]['service'];
  104.             }
  105.            
  106.         }
  107.     }
  108.     return null;
  109. }
  110.  
  111. function getSensorList()
  112. {
  113.     var sensorStore = DataStore.getStore("SensorNames");
  114.     var sensorList = new Array();
  115.     var sensorIndex = 0;
  116.     if (sensorStore)
  117.     {
  118.         for (var n = 0; n < sensorStore['SensorNames'].length; n++)
  119.         {
  120.             if (this.sensorValues[sensorStore['SensorNames'][n]['moduleType']+sensorStore['SensorNames'][n]['moduleId']+sensorStore['SensorNames'][n]['sensorId']] != null)
  121.             {
  122.                 if (this.sensorValues[sensorStore['SensorNames'][n]['moduleType']+sensorStore['SensorNames'][n]['moduleId']+sensorStore['SensorNames'][n]['sensorId']]['service'].isOnline()) {
  123.                     sensorList[sensorIndex] = new Array();
  124.                     sensorList[sensorIndex]['name'] = sensorStore['SensorNames'][n]['name'];
  125.                     sensorList[sensorIndex]['shortName'] = sensorStore['SensorNames'][n]['shortName'];
  126.                     sensorList[sensorIndex]['sensorId'] = sensorStore['SensorNames'][n]['sensorId'];
  127.                     sensorList[sensorIndex]['description'] = sensorStore['SensorNames'][n]['description'];
  128.                     sensorList[sensorIndex]['service'] = this.sensorValues[sensorStore['SensorNames'][n]['moduleType']+sensorStore['SensorNames'][n]['moduleId']+sensorStore['SensorNames'][n]['sensorId']]['service'];
  129. //log("SensorList"+sensorIndex+" "+sensorList[sensorIndex]['name']+" \n");
  130.                     sensorIndex++;
  131.                 }
  132.             }
  133.         }
  134.     }
  135.     return sensorList;
  136. }
  137.  
  138. function getSensorName(moduleType, moduleId, sensorId)
  139. {
  140.     var sensorStore = DataStore.getStore("SensorNames");
  141.     var sensorIndex = 0;
  142.     if (sensorStore)
  143.     {
  144.         for (var n = 0; n < sensorStore['SensorNames'].length; n++)
  145.         {
  146.             if (this.sensorValues[moduleType +""+moduleId+""+sensorId] != null)
  147.             {
  148.                 return sensorStore['SensorNames'][n]['name'];
  149.             }
  150.         }
  151.     }
  152.     return null;
  153. }
  154.