Subversion Repositories HomeAutomation

Rev

Rev 1620 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1620 Rev 1624
Line -... Line 1...
-
 
1
 
-
 
2
RequireModule("irReceive");
-
 
3
RequireModule("irTransmit");
-
 
4
RequireModule("Dimmer230");
1
 
5
 
2
var dimmer_module = GetModule("Dimmer230");
6
var dimmer_module = GetModule("Dimmer230");
3
var ir_module = GetModule("irReceive");
7
var ir_module = GetModule("irReceive");
4
 
8
 
5
function test_press(event, id, channel, data, protocol)
9
function test_press(event, id, channel, data, protocol)
6
{
10
{
7
    Log("Pressed: protocol=" + protocol + ", channel=" + channel + ", data=" + data);
11
    Log("Pressed: protocol=" + protocol + ", channel=" + channel + ", data=" + data);
8
   
12
   
9
    if (protocol == "NEC" && data == 3877174275)
13
    if (protocol == "NEC" && data == 3877174275)
10
    {
14
    {
11
        Dimmer230_StartFade(2, 0, 135, "Increase");
15
        Dimmer230_StartFade(2, 0, 135, "Increase");
12
        Dimmer230_StartFade(1, 0, 135, "Increase");
16
        Dimmer230_StartFade(1, 0, 135, "Increase");
13
    }
17
    }
14
    else if (protocol == "NEC" && data == 3860462595)
18
    else if (protocol == "NEC" && data == 3860462595)
15
    {
19
    {
16
        Dimmer230_StartFade(2, 0, 135, "Decrease");
20
        Dimmer230_StartFade(2, 0, 135, "Decrease");
17
        Dimmer230_StartFade(1, 0, 135, "Decrease");
21
        Dimmer230_StartFade(1, 0, 135, "Decrease");
18
    }
22
    }
Line 32... Line 36...
32
   
36
   
33
    if (protocol == "NEC" && (data == 3877174275 || data == 3860462595))
37
    if (protocol == "NEC" && (data == 3877174275 || data == 3860462595))
34
    {
38
    {
35
        Dimmer230_StopFade(2, 0);
39
        Dimmer230_StopFade(2, 0);
36
        Dimmer230_StopFade(1, 0);
40
        Dimmer230_StopFade(1, 0);
37
    }
41
    }
38
    else if (protocol == "NEC" && (data == 4144561155 || data == 4211407875))
42
    else if (protocol == "NEC" && (data == 4144561155 || data == 4211407875))
39
    {
43
    {
40
        //irTransmit_SendCode(1, 0, "Released", "NEC", data);
44
        //irTransmit_SendCode(1, 0, "Released", "NEC", data);
41
    }
45
    }
42
}
46
}
43
 
47
 
44
function test_status(event, id, available)
48
function test_status(event, id, available)
45
{
49
{
46
    //Log("status change!");
50
    //Log("status change!");
47
}
51
}
48
 
52
 
49
//ir_module.Bind("onStatusChange", test_status);
53
ir_module.Bind("onStatusChange", test_status);
50
//ir_module.Bind("onPressed", test_press);
54
ir_module.Bind("onPressed", test_press);
51
//ir_module.Bind("onReleased", test_release);
55
ir_module.Bind("onReleased", test_release);
52
 
56
 
53
 
57
 
54
/*CreateModuleAlias("bardisk", "Dimmer230", 2, { "channel" : 0 });
58
/*CreateModuleAlias("bardisk", "Dimmer230", 2, { "channel" : 0 });
55
CreateModuleAlias("bokhylla", "Dimmer230", 1, { "channel" : 0 });
59
CreateModuleAlias("bokhylla", "Dimmer230", 1, { "channel" : 0 });
56
CreateModuleAliasGroup("vardagsrum", [ "bokhylla", "bardisk" ]);
60
CreateModuleAliasGroup("vardagsrum", [ "bokhylla", "bardisk" ]);
57
*/
61
*/
58
 
62
 
59
function fadeto(alias, level, speed)
63
function fadeto(alias, level, speed)
60
{
64
{
61
    var alias_data = resolvealias(alias);
65
    var alias_data = resolvealias(alias);
62
   
66
   
63
    if (alias_data == null)
67
    if (alias_data == null)
-
 
68
    {
-
 
69
        return "No such module name found";
-
 
70
    }
-
 
71
   
-
 
72
    if (alias_data["is_group"])
-
 
73
    {
-
 
74
        var result = "";
-
 
75
       
-
 
76
        for (var n = 0; n < alias_data["aliases"].length; n++)
-
 
77
        {
-
 
78
            result += fadeto(alias_data["aliases"][n], level, speed) + "\n";
-
 
79
        }
-
 
80
       
-
 
81
        return result;
-
 
82
    }
-
 
83
   
-
 
84
    if (alias_data["module_name"] != "Dimmer230")
-
 
85
    {
-
 
86
        return "Module type " + alias_data["module_name"] + " is not valid for this action, valid are Dimmer230";
-
 
87
    }
-
 
88
   
-
 
89
    if (!speed)
-
 
90
    {
-
 
91
        speed = 135;
-
 
92
    }
-
 
93
 
-
 
94
    return Dimmer230_AbsoluteFade(alias_data["module_id"], alias_data["extra"], speed, level);
-
 
95
}
-
 
96
RegisterConsoleCommand(fadeto, function(args) { return StandardAutocomplete(args, Dimmer230.instance_.GetAvailableNames(), [ 0, 50, 100, 150, 200, 255 ], [ 50, 135, 200, 255 ]); });
-
 
97
 
-
 
98
function irsend_autocomplete(args)
-
 
99
{
-
 
100
    // args[0] == command name
-
 
101
    var arg_index = args.length - 2;
-
 
102
   
-
 
103
    if (arg_index == 0)
-
 
104
    {
-
 
105
        return irTransmit.instance_.GetAvailableNames();
-
 
106
    }
-
 
107
    else if (arg_index == 1)
-
 
108
    {
-
 
109
        var remotes = Storage_GetParameters("RemoteList");
-
 
110
       
-
 
111
        var result = new Array();
-
 
112
       
-
 
113
        for (var name in remotes)
-
 
114
        {
-
 
115
            result.push(name);
-
 
116
        }
-
 
117
       
-
 
118
        return result;
-
 
119
    }
-
 
120
    else if (arg_index == 2)
-
 
121
    {
-
 
122
        var remote_storage_name = Storage_GetParameter("RemoteList", args[arg_index]);
-
 
123
 
-
 
124
        var buttons = Storage_GetParameters(remote_storage_name);
-
 
125
 
-
 
126
        var result = new Array();
-
 
127
       
-
 
128
        for (var name in buttons)
-
 
129
        {
-
 
130
            result.push(name);
-
 
131
        }
-
 
132
       
-
 
133
        return result;
-
 
134
    }
-
 
135
   
-
 
136
    return new Array();
-
 
137
}
-
 
138
 
-
 
139
 
-
 
140
function irsend(alias, remote, button)
-
 
141
{
-
 
142
    var alias_data = resolvealias(alias);
-
 
143
   
-
 
144
    if (alias_data == null)
64
    {
145
    {
65
        return "No such module name found";
146
        return "No such module name found";
66
    }
147
    }
67
   
148
   
68
    if (alias_data["is_group"])
149
    if (alias_data["is_group"])
69
    {
150
    {
70
        var result = "";
151
        var result = "";
71
       
152
       
72
        for (var n = 0; n < alias_data["aliases"].length; n++)
153
        for (var n = 0; n < alias_data["aliases"].length; n++)
73
        {
154
        {
74
            result += fadeto(alias_data["aliases"][n], level, speed) + "\n";
155
            result += irsend(alias_data["aliases"][n], remote, button) + "\n";
75
        }
156
        }
76
       
157
       
77
        return result;
158
        return result;
78
    }
-
 
79
   
-
 
80
    if (alias_data["module_name"] != "Dimmer230")
-
 
81
    {
-
 
82
        return "Module type " + alias_data["module_name"] + " is not valid for this action, valid are Dimmer230";
-
 
83
    }
-
 
84
   
-
 
85
    if (!speed)
-
 
86
    {
-
 
87
        speed = 135;
-
 
88
    }
159
    }
89
 
160
   
90
    return Dimmer230_AbsoluteFade(alias_data["module_id"], alias_data["extra"], speed, level);
161
    if (alias_data["module_name"] != "irTransmit")
91
}
-
 
92
 
-
 
93
RegisterConsoleCommand(fadeto, function(args) { return StandardAutocomplete(args, Dimmer230.instance_.GetAvailableNames(), [ 0, 50, 100, 150, 200, 255 ], [ 50, 135, 200, 255 ]); });
-
 
94
 
-
 
95
function prompt_test_callback(response)
-
 
96
{
-
 
97
    return "You answered: \"" + response + "\"\n";
-
 
98
}
-
 
99
 
-
 
100
function prompt_test()
-
 
101
{
162
    {
102
    return prompt("How are you?", prompt_test_callback, "This is a test!\n");
163
        return "Module type " + alias_data["module_name"] + " is not valid for this action, valid are irTransmit";
103
}
164
    }
104
RegisterConsoleCommand(prompt_test);
-
 
105
 
165
   
-
 
166
    Log(remote);
-
 
167
    var remote_storage_name = Storage_GetParameter("RemoteList", remote);
-
 
168
    Log(remote_storage_name);
-
 
169
    var button = eval("(" + Storage_GetParameter(remote_storage_name, button) + ")");
-
 
170
    Log(JSON.stringify(button));
-
 
171
    Log(alias_data["module_id"]);
-
 
172
    Log(alias_data["extra"]);
-
 
173
    Log(button["protocol"]);
-
 
174
    Log(button["data"]);
-
 
175
   
-
 
176
    return irTransmit_SendCode(alias_data["module_id"], alias_data["extra"], "Burst", button["protocol"], button["data"]);
-
 
177
}
-
 
178
RegisterConsoleCommand(irsend, irsend_autocomplete);