Subversion Repositories HomeAutomation

Rev

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

Rev 1646 Rev 1647
Line 1... Line 1...
1
 
1
 
2
Serial_ModuleName     = "Serial";
2
Serial_ModuleNames    = [ "Serial" ];
3
Serial_Aliases        = function() { return Module_GetAliasNames([ Serial_ModuleName ]); };
3
Serial_Aliases        = function() { return Module_GetAliasNames(Serial_ModuleNames); };
4
Serial_AvailableIds   = function() { return Module_GetAvailableIds([ Serial_ModuleName ]); };
4
Serial_AvailableIds   = function() { return Module_GetAvailableIds(Serial_ModuleNames); };
5
 
5
 
6
function Serial_MessageAliasLookup(module_id, command, variables)
6
function Serial_Configure(alias_name)
-
 
7
{
-
 
8
    if (arguments.length < 1)
7
{
9
    {
8
    var aliases_data = {};
-
 
9
   
-
 
10
    aliases_data = Module_LookupAliases({
-
 
11
        "module_name" : Serial_ModuleName,
10
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
12
        "module_id"   : module_id
-
 
13
    });
-
 
14
   
-
 
15
    return aliases_data;
11
        return false;
16
}
-
 
17
Module_RegisterMessageAliasLookup(Serial_ModuleName, Serial_MessageAliasLookup);
-
 
18
 
-
 
19
function Serial_CreateAlias(alias_name, module_id, channel)
-
 
20
{
-
 
21
    var alias_data = {
-
 
22
        "group"       : false,
-
 
23
        "name"        : alias_name,
-
 
24
        "module_name" : Serial_ModuleName,
-
 
25
        "module_id"   : module_id
-
 
26
    };
-
 
27
   
-
 
28
    return Storage_SetParameter("alias", alias_name, JSON.stringify(alias_data));
-
 
29
}
12
    }
30
Console_RegisterCommand(Serial_CreateAlias, function(args) { return Console_StandardAutocomplete(args, Serial_Aliases(), Serial_AvailableIds()); });
-
 
31
 
-
 
32
 
-
 
33
function Serial_Configure(alias_name)
-
 
34
{
-
 
35
    if (arguments.length < 1)
-
 
36
    {
-
 
37
        throw("Not enought parameters given");
-
 
38
    }
-
 
39
   
13
   
40
    var result_text = "";
-
 
41
    var aliases_data = Module_ResolveAlias(alias_name, [ Serial_ModuleName ]);
14
    var aliases_data = Module_ResolveAlias(alias_name, Serial_ModuleNames);
-
 
15
    var found = false;
42
   
16
   
43
    for (var name in aliases_data)
17
    for (var name in aliases_data)
44
    {
18
    {
45
        var variables = {
19
        var variables = {
46
            "BaudRate"  : "9600",
20
        "BaudRate"       : 9600,
47
            "PhysicalFormat" : "RS232",
21
        "PhysicalFormat" : "RS232",
48
            "DataBits"   : "8",
22
        "DataBits"       : 8,
49
            "StopBits"   : "1",
23
        "StopBits"       : 1,
50
            "Parity"     : "ParityNone"
24
        "Parity"         : "ParityNone" };
51
        };
-
 
52
           
25
           
53
            if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "SerialConfig", variables))
26
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "SerialConfig", variables))
54
            {
27
        {
55
                result_text += "Configure sent successfully to " + name + "\n";
28
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
56
            }
29
        }
57
            else
30
        else
58
            {
31
        {
59
                result_text += "Configure failed to send to " + name + "\n";
32
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
60
            }
33
        }
-
 
34
       
-
 
35
        found = true;
61
    }
36
    }
62
   
37
   
63
    if (result_text.length == 0)
38
    if (!found)
64
    {
39
    {
65
        result_text = "No aliases by the name " + alias_name + " were applicable to Configure.";
40
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
41
        return false;
66
    }
42
    }
67
   
43
   
68
    return result_text;
44
    return true;
69
}
45
}
70
Console_RegisterCommand(Serial_Configure, function(args) { return Console_StandardAutocomplete(args, Serial_Aliases()); });
46
Console_RegisterCommand(Serial_Configure, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Serial_Aliases()); });
71
 
47
 
72
function Serial_Send(alias_name)
48
function Serial_Send(alias_name)
73
{
49
{
74
    if (arguments.length < 1)
50
    if (arguments.length < 1)
75
    {
51
    {
76
        throw("Not enought parameters given");
52
        Log("\033[31;1mNot enough parameters given.\033[0m\n");
-
 
53
        return false;
77
    }
54
    }
78
   
55
   
79
    var data = "";
56
    var data = "";
80
   
57
   
81
    for (var n = 1; n < arguments.length; n++)
58
    for (var n = 1; n < arguments.length; n++)
82
    {
59
    {
83
      data += arguments[n] + " ";
60
      data += arguments[n] + " ";
84
    }
61
    }
85
   
62
   
86
    data = data.trim(" ") + "\r";
63
    data = data.trim(" ") + "\r";
87
   
64
   
88
    var result_text = "";
-
 
89
    var aliases_data = Module_ResolveAlias(alias_name, [ Serial_ModuleName ]);
65
    var aliases_data = Module_ResolveAlias(alias_name, Serial_ModuleNames);
-
 
66
    var found = false;
90
   
67
   
91
    for (var name in aliases_data)
68
    for (var name in aliases_data)
92
    {
69
    {
93
        var variables = {
70
        var variables = {
94
            "Text"  : data
71
        "Text"  : data };
95
        };
-
 
96
       
72
       
97
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "SerialData", variables))
73
        if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "SerialData", variables))
98
        {
74
        {
99
            result_text += "Sent \"" + data + "\" successfully to " + name + "\n";
75
            Log("\033[32;1mCommand sent successfully to " + name + ".\033[0m\n");
100
        }
76
        }
101
        else
77
        else
102
        {
78
        {
103
            result_text += "Send failed to send to " + name + "\n";
79
            Log("\033[31;1mFailed to send command to " + name + ".\033[0m\n");
104
        }
80
        }
-
 
81
       
-
 
82
        found = true;
105
    }
83
    }
106
   
84
   
107
    if (result_text.length == 0)
85
    if (!found)
108
    {
86
    {
109
        result_text = "No aliases by the name " + alias_name + " were applicable to Send.";
87
        Log("\033[31;1mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
-
 
88
        return false;
110
    }
89
    }
111
   
90
   
112
    return result_text;
91
    return true;
113
}
92
}
114
Console_RegisterCommand(Serial_Send, function(args) { return Console_StandardAutocomplete(args, Serial_Aliases()); });
93
Console_RegisterCommand(Serial_Send, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Serial_Aliases()); });
115
 
94