Subversion Repositories HomeAutomation

Rev

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

  1. var dimmerServices = new Array();
  2. var dimmerValues = new Array();
  3.  
  4. ServiceManager.addCallback(this._Dimmers_DimmerSeviceOnline);
  5.  
  6. function _Dimmers_DimmerSeviceOnline(service) {
  7.   if (service.getName() == "Dimmer230" || service.getName() == "hwPWM") {
  8.     _Dimmers_updateDimmerList();
  9.   }
  10. }
  11.  
  12. function _Dimmers_updateDimmerList() {
  13.   this.dimmerServices = new Array();
  14.   for (var id in ServiceManager.Services)
  15.   {
  16.     if (ServiceManager.Services[id].getName() == "Dimmer230" || ServiceManager.Services[id].getName() == "hwPWM")
  17.   {
  18.     ServiceManager.Services[id].registerEventCallback("newValue", function(args) { _Dimmers_NewData(args); });
  19.     ServiceManager.Services[id].registerEventCallback("offline", function(args) { _Dimmers_DimmerOffline(args); });
  20.     //ServiceManager.Services[id].setReportInterval(2);
  21.     this.dimmerServices[dimmerServices.length] = ServiceManager.Services[id];
  22.   }
  23.   }
  24. }
  25.  
  26. //dataArray["service"] = self;
  27. //dataArray["sensor"] = canMessage.getData("SensorId");
  28. //dataArray["value"] = canMessage.getData("Value");
  29. //dataArray["moduleName"] = canMessage.getModuleName();
  30. //dataArray["moduleId"] = canMessage.getModuleId();
  31. function _Dimmers_NewData(array){
  32. dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]] = new Array();
  33.   dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]]["service"] = array["service"];
  34. dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]]["channel"] = array["channel"];
  35. dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]]["connection"] = array["connection"];
  36. dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]]["currentValue"] = array["currentValue"];
  37. dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]]["moduleName"] = array["moduleName"];
  38. dimmerValues[""+array["moduleName"]+array["moduleId"]+array["channel"]]["moduleId"] = array["moduleId"];
  39. }
  40.  
  41.  
  42. function _Dimmers_DimmerOffline(data) {
  43.   var dimmerValues = new Array();
  44. }
  45.        
  46. function getDimmerValue(dimmerName)
  47. {
  48.     var dimmerStore = DataStore.getStore("DimmerNames");
  49.     if (dimmerStore)
  50.     {
  51.         for (var n = 0; n < dimmerStore['DimmerNames'].length; n++)
  52.         {
  53.             if (dimmerStore['DimmerNames'][n]['name'] == dimmerName)
  54.             {
  55.            
  56.                 var returnvalue = dimmerValues[dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']]['currentValue'];
  57.                 return returnvalue;
  58.             }
  59.            
  60.         }
  61.     }
  62.     return null;
  63. }
  64.  
  65. function getDimmerInfo(DimmerName)
  66. {
  67.     var dimmerStore = DataStore.getStore("DimmerNames");
  68.     if (dimmerStore)
  69.     {
  70.         for (var n = 0; n < dimmerStore['DimmerNames'].length; n++)
  71.         {
  72.             if (dimmerStore['DimmerNames'][n]['name'] == DimmerName)
  73.             {
  74.                 var returnvalue = new Array();
  75.                 returnvalue['name'] = dimmerStore['DimmerNames'][n]['name'];
  76.                 returnvalue['description'] = dimmerStore['DimmerNames'][n]['description'];
  77.                 returnvalue['shortName'] = dimmerStore['DimmerNames'][n]['shortName'];
  78.                 returnvalue['moduleType'] = dimmerStore['DimmerNames'][n]['moduleType'];
  79.                 returnvalue['moduleId'] = dimmerStore['DimmerNames'][n]['moduleId'];
  80.                 returnvalue['channel'] = dimmerStore['DimmerNames'][n]['channel'];
  81.                 return returnvalue;
  82.             }
  83.            
  84.         }
  85.     }
  86.     return null;
  87. }
  88.  
  89. function getDimmerService(dimmerName)
  90. {
  91.     var dimmerStore = DataStore.getStore("DimmerNames");
  92.     if (dimmerStore)
  93.     {
  94.         for (var n = 0; n < dimmerStore['DimmerNames'].length; n++)
  95.         {
  96.             if (dimmerStore['DimmerNames'][n]['name'] == dimmerName)
  97.             {
  98.             //log("Hej3: "+dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']+"\n");
  99. //log("Hej3: "+dimmerValues[dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']]['currentValue']+"\n");
  100.                 return this.dimmerValues[dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']]['service'];
  101.                
  102.             }
  103.            
  104.         }
  105.     }
  106.     return null;
  107. }
  108.  
  109. function getDimmerList()
  110. {
  111.     var dimmerStore = DataStore.getStore("DimmerNames");
  112.     var dimmerList = new Array();
  113.     var dimmerIndex = 0;
  114.     if (dimmerStore)
  115.     {
  116.         for (var n = 0; n < dimmerStore['DimmerNames'].length; n++)
  117.         {
  118.             if (this.dimmerValues[dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']] != null)
  119.             {
  120.                 if (this.dimmerValues[dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']]['service'].isOnline()) {
  121.                     dimmerList[dimmerIndex] = new Array();
  122.                     dimmerList[dimmerIndex]['name'] = dimmerStore['DimmerNames'][n]['name'];
  123.                     dimmerList[dimmerIndex]['shortName'] = dimmerStore['DimmerNames'][n]['shortName'];
  124. dimmerList[dimmerIndex]['channel'] = dimmerStore['DimmerNames'][n]['channel'];
  125.                     dimmerList[dimmerIndex]['description'] = dimmerStore['DimmerNames'][n]['description'];
  126.                     dimmerList[dimmerIndex]['service'] = this.dimmerValues[dimmerStore['DimmerNames'][n]['moduleType']+dimmerStore['DimmerNames'][n]['moduleId']+dimmerStore['DimmerNames'][n]['channel']]['service'];
  127.                     dimmerIndex++;
  128.                 }
  129.             }
  130.         }
  131.     }
  132.     return dimmerList;
  133. }
  134.  
  135.  
  136.