Subversion Repositories HomeAutomation

Rev

Rev 1644 | Rev 1649 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1644 Rev 1647
Line 2... Line 2...
2
Require("plugin/module.js");
2
Require("plugin/module.js");
3
 
3
 
4
Dimmer_ModuleName     = "Dimmer230";
4
Dimmer_ModuleNames    = [ "Dimmer230" ];
5
Dimmer_SpeedLevels    = function() { return [ 50, 135, 200, 255 ]; };
5
Dimmer_SpeedLevels    = function() { return [ 50, 135, 200, 255 ]; };
6
Dimmer_StrengthLevels = function() { return [ 0, 50, 100, 150, 200, 255 ]; };
6
Dimmer_StrengthLevels = function() { return [ 0, 50, 100, 150, 200, 255 ]; };
7
Dimmer_StepsLevels    = function() { return [ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 ]; };
7
Dimmer_StepsLevels    = function() { return [ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 ]; };
8
Dimmer_Directions     = function() { return [ "Increase", "Decrease" ]; };
8
Dimmer_Directions     = function() { return [ "Increase", "Decrease" ]; };
9
Dimmer_Channels       = function() { return [ 0 ]; };
9
Dimmer_Channels       = function() { return [ 0 ]; };
10
Dimmer_Aliases        = function() { return Module_GetAliasNames([ Dimmer_ModuleName ]); };
10
Dimmer_Aliases        = function() { return Module_GetAliasNames(Dimmer_ModuleNames); };
11
Dimmer_AvailableIds   = function() { return Module_GetAvailableIds([ Dimmer_ModuleName ]); };
11
Dimmer_AvailableIds   = function() { return Module_GetAvailableIds(Dimmer_ModuleNames); };
12
 
12
 
13
function Dimmer_MessageAliasLookup(module_id, command, variables)
-
 
14
{
-
 
15
    var aliases_data = {};
-
 
16
   
-
 
17
    if (command == "Netinfo")
-
 
18
    {
-
 
19
        aliases_data = Module_LookupAliases({
-
 
20
            "module_name" : Dimmer_ModuleName,
-
 
21
            "module_id"   : module_id,
-
 
22
            "channel"     : channel
-
 
23
        });
-
 
24
    }
-
 
25
   
-
 
26
    return aliases_data;
-
 
27
}
-
 
28
Module_RegisterMessageAliasLookup(Dimmer_ModuleName, Dimmer_MessageAliasLookup);
-
 
29
 
-
 
30
function Dimmer_CreateAlias(alias_name, module_id, channel)
-
 
31
{
-
 
32
    var alias_data = {
-
 
33
        "group"       : false,
-
 
34
        "name"        : alias_name,
-
 
35
        "module_name" : Dimmer_ModuleName,
-
 
36
        "module_id"   : module_id,
-
 
37
        "channel"     : channel
-
 
38
    };
-
 
39
 
-
 
40
    return Storage_SetParameter("alias", alias_name, JSON.stringify(alias_data));
-
 
41
}
-
 
42
Console_RegisterCommand(Dimmer_CreateAlias, function(args) { return Console_StandardAutocomplete(args, Dimmer_Aliases(), Dimmer_AvailableIds(), Dimmer_Channels()); });
-
 
43
 
-
 
44
function Dimmer_StartFade(alias_name, speed, direction)
13
function Dimmer_StartFade(alias_name, speed, direction)
45
{
14
{
46
    if (arguments.length < 3)
15
    if (arguments.length < 3)
47
    {
16
    {
48
        throw("Not enought parameters given");
17
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
-
 
18
        return false;
49
    }
19
    }
50
   
20
   
51
    var result_text = "";
-
 
52
    var aliases_data = Module_ResolveAlias(alias_name, [ Dimmer_ModuleName ]);
21
    var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
-
 
22
    var found = false;
53
   
23
   
54
    for (var name in aliases_data)
24
    for (var name in aliases_data)
55
    {
25
    {
56
        var variables = {
26
        var variables = {
57
            "Channel"   : aliases_data[name]["channel"],
27
            "Channel"   : aliases_data[name]["specific"]["Channel"],
58
            "Speed"     : speed,
28
            "Speed"     : speed,
59
            "Direction" : direction };
29
            "Direction" : direction };
60
   
30
   
61
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Start_Fade", variables))
31
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Start_Fade", variables))
62
        {
32
        {
63
            result_text += "StartFade sent successfully to " + name + "\n";
33
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
64
        }
34
        }
65
        else
35
        else
66
        {
36
        {
67
            result_text += "StartFade failed to send to " + name + "\n";
37
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
68
        }
38
        }
-
 
39
       
-
 
40
        found = true;
-
 
41
    }
-
 
42
   
-
 
43
    if (!found)
-
 
44
    {
-
 
45
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
46
        return false;
-
 
47
    }
-
 
48
   
-
 
49
    return true;
69
    }
50
}
-
 
51
Console_RegisterCommand(Dimmer_StartFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_Directions()); });
70
   
52
 
-
 
53
function Dimmer_StopFade(alias_name)
-
 
54
{
71
    if (result_text.length == 0)
55
    if (arguments.length < 1)
72
    {
56
    {
73
        result_text = "No aliases by the name " + alias_name + " were applicable to StartFade.";
57
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
-
 
58
        return false;
74
    }
59
    }
75
   
60
   
76
    return result_text;
-
 
77
}
-
 
78
Console_RegisterCommand(Dimmer_StartFade, function(args) { return Console_StandardAutocomplete(args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_Directions()); });
-
 
79
 
-
 
80
function Dimmer_StopFade(alias_name)
-
 
81
{
-
 
82
    if (arguments.length < 1)
-
 
83
    {
-
 
84
        throw("Not enought parameters given");
-
 
85
    }
-
 
86
   
-
 
87
    var result_text = "";
-
 
88
    var aliases_data = Module_ResolveAlias(alias_name, [ Dimmer_ModuleName ]);
61
    var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
-
 
62
    var found = false;
89
   
63
   
90
    for (var name in aliases_data)
64
    for (var name in aliases_data)
91
    {
65
    {
92
        var variables = {
66
        var variables = {
93
            "Channel" : aliases_data[name]["channel"] };
67
        "Channel" : aliases_data[name]["specific"]["Channel"] };
94
       
68
       
95
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Stop_Fade", variables))
69
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Stop_Fade", variables))
96
        {
70
        {
97
            result_text += "StopFade sent successfully to " + name + "\n";
71
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
98
        }
72
        }
99
        else
73
        else
100
        {
74
        {
101
            result_text += "StopFade failed to send to " + name + "\n";
75
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
102
        }
76
        }
-
 
77
       
-
 
78
        found = true;
103
    }
79
    }
104
   
80
   
105
    if (result_text.length == 0)
81
    if (!found)
106
    {
82
    {
107
        result_text = "No aliases by the name " + alias_name + " were applicable to StopFade.";
83
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
84
        return false;
108
    }
85
    }
109
   
86
   
110
    return result_text;
87
    return true;
111
}
88
}
112
Console_RegisterCommand(Dimmer_StopFade, function(args) { return Console_StandardAutocomplete(args, Dimmer_Aliases()); });
89
Console_RegisterCommand(Dimmer_StopFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases()); });
113
 
90
 
114
function Dimmer_AbsoluteFade(alias_name, speed, level)
91
function Dimmer_AbsoluteFade(alias_name, speed, level)
115
{
92
{
116
    if (arguments.length < 3)
93
    if (arguments.length < 3)
117
    {
94
    {
118
        throw("Not enought parameters given");
95
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
-
 
96
        return false;
119
    }
97
    }
120
   
98
   
121
    var result_text = "";
-
 
122
    var aliases_data = Module_ResolveAlias(alias_name, [ Dimmer_ModuleName ]);
99
    var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
-
 
100
    var found = false;
123
   
101
   
124
    for (var name in aliases_data)
102
    for (var name in aliases_data)
125
    {
103
    {
126
        var variables = {
104
        var variables = {
127
            "Channel"   : aliases_data[name]["channel"],
105
        "Channel"   : aliases_data[name]["specific"]["Channel"],
128
            "Speed"     : speed,
106
        "Speed"     : speed,
129
            "EndValue"  : level };
107
        "EndValue"  : level };
130
       
108
       
131
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Abs_Fade", variables))
109
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Abs_Fade", variables))
132
        {
110
        {
133
            result_text += "AbsolutFade sent successfully to " + name + "\n";
111
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
134
        }
112
        }
135
        else
113
        else
136
        {
114
        {
137
            result_text += "AbsolutFade failed to send to " + name + "\n";
115
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
138
        }
116
        }
-
 
117
       
-
 
118
        found = true;
139
    }
119
    }
140
   
120
   
141
    if (result_text.length == 0)
121
    if (!found)
142
    {
122
    {
143
        result_text = "No aliases by the name " + alias_name + " were applicable to AbsolutFade.";
123
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
124
        return false;
144
    }
125
    }
145
   
126
   
146
    return result_text;
127
    return true;
147
}
128
}
148
Console_RegisterCommand(Dimmer_AbsoluteFade, function(args) { return Console_StandardAutocomplete(args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_StrengthLevels()); });
129
Console_RegisterCommand(Dimmer_AbsoluteFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_StrengthLevels()); });
149
 
130
 
150
function Dimmer_RelativeFade(alias_name, speed, direction, steps)
131
function Dimmer_RelativeFade(alias_name, speed, direction, steps)
151
{
132
{
152
    if (arguments.length < 4)
133
    if (arguments.length < 4)
153
    {
134
    {
154
        throw("Not enought parameters given");
135
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
-
 
136
        return false;
155
    }
137
    }
156
   
138
   
157
    var result_text = "";
-
 
158
    var aliases_data = Module_ResolveAlias(alias_name, [ Dimmer_ModuleName ]);
139
    var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
-
 
140
    var found = false;
159
   
141
   
160
    for (var name in aliases_data)
142
    for (var name in aliases_data)
161
    {
143
    {
162
        var variables = {
144
        var variables = {
163
            "Channel"   : aliases_data[name]["channel"],
145
        "Channel"   : aliases_data[name]["specific"]["Channel"],
164
            "Speed"     : speed,
146
        "Speed"     : speed,
165
            "Direction" : direction,
147
        "Direction" : direction,
166
            "Steps"     : steps };
148
        "Steps"     : steps };
167
       
149
       
168
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Rel_Fade", variables))
150
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Rel_Fade", variables))
169
        {
151
        {
170
            result_text += "RelativeFade sent successfully to " + name + "\n";
152
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
171
        }
153
        }
172
        else
154
        else
173
        {
155
        {
174
            result_text += "RelativeFade failed to send to " + name + "\n";
156
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
175
        }
157
        }
-
 
158
       
-
 
159
        found = true;
-
 
160
    }
-
 
161
   
-
 
162
    if (!found)
-
 
163
    {
-
 
164
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
165
        return false;
-
 
166
    }
-
 
167
   
-
 
168
    return true;
176
    }
169
}
-
 
170
Console_RegisterCommand(Dimmer_RelativeFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_Directions(), Dimmer_StepsLevels()); });
177
   
171
 
-
 
172
function Dimmer_Demo(alias_name, speed, steps)
-
 
173
{
178
    if (result_text.length == 0)
174
    if (arguments.length < 3)
179
    {
175
    {
180
        result_text = "No aliases by the name " + alias_name + " were applicable to RelativeFade.";
176
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
181
    }
-
 
182
   
-
 
183
    return result_text;
177
        return false;
184
}
-
 
185
Console_RegisterCommand(Dimmer_RelativeFade, function(args) { return Console_StandardAutocomplete(args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_Directions(), Dimmer_StepsLevels()); });
-
 
186
 
-
 
187
function Dimmer_Demo(alias_name, speed, steps)
-
 
188
{
-
 
189
    if (arguments.length < 3)
-
 
190
    {
-
 
191
        throw("Not enought parameters given");
-
 
192
    }
178
    }
193
   
179
   
194
    var result_text = "";
-
 
195
    var aliases_data = Module_ResolveAlias(alias_name, [ Dimmer_ModuleName ]);
180
    var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
-
 
181
    var found = false;
196
   
182
   
197
    for (var name in aliases_data)
183
    for (var name in aliases_data)
198
    {
184
    {
199
        var variables = {
185
        var variables = {
200
            "Channel"   : aliases_data[name]["channel"],
186
        "Channel"   : aliases_data[name]["specific"]["Channel"],
201
            "Speed"     : speed,
187
        "Speed"     : speed,
202
            "Steps"     : steps };
188
        "Steps"     : steps };
203
       
189
       
204
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Demo", variables))
190
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Demo", variables))
205
        {
191
        {
206
            result_text += "Demo sent successfully to " + name + "\n";
192
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
207
        }
193
        }
208
        else
194
        else
209
        {
195
        {
210
            result_text += "Demo failed to send to " + name + "\n";
196
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
211
        }
197
        }
-
 
198
       
-
 
199
        found = true;
212
    }
200
    }
213
   
201
   
214
    if (result_text.length == 0)
202
    if (!found)
215
    {
203
    {
216
        result_text = "No aliases by the name " + alias_name + " were applicable to Demo.";
204
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
205
        return false;
217
    }
206
    }
218
   
207
   
219
    return result_text;
208
    return true;
220
}
209
}
221
Console_RegisterCommand(Dimmer_Demo, function(args) { return Console_StandardAutocomplete(args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_StepsLevels()); });
210
Console_RegisterCommand(Dimmer_Demo, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_StepsLevels()); });