Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

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