Subversion Repositories HomeAutomation

Rev

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

Rev Author Line No. Line
1351 linlun 1
var dimmerServices = new Array();
2
var dimmerValues = new Array();
3
 
4
ServiceManager.addCallback(this._Dimmers_DimmerSeviceOnline);
5
 
6
function _Dimmers_DimmerSeviceOnline(service) {
1424 linlun 7
  if (service.getName() == "Dimmer230" || service.getName() == "hwPWM") {
1351 linlun 8
    _Dimmers_updateDimmerList();
9
  }
10
}
11
 
12
function _Dimmers_updateDimmerList() {
13
  this.dimmerServices = new Array();
14
  for (var id in ServiceManager.Services)
15
  {
1424 linlun 16
    if (ServiceManager.Services[id].getName() == "Dimmer230" || ServiceManager.Services[id].getName() == "hwPWM")
1351 linlun 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