Subversion Repositories HomeAutomation

Rev

Rev 1657 | Rev 1665 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1657 Rev 1660
1
 
1
 
2
Node_ResetNodeId = null;
2
Node_ResetNodeId = null;
3
Node_ResetClientId = null;
3
Node_ResetClientId = null;
4
 
4
 
5
function Node_OnChange(node_id, available)
5
function Node_OnChange(node_id, available)
6
{
6
{
7
    if (node_id == Node_ResetNodeId && available)
7
    if (node_id == Node_ResetNodeId && available)
8
    {
8
    {
9
        Console_LogToClient(Node_ResetClientId, "\033[32m" + Node_ResetNodeId + " started okay.\033[0m\n");
9
        Console_LogToClient(Node_ResetClientId, "\033[32m" + Node_ResetNodeId + " started okay.\033[0m\n");
10
        Node_ResetNodeId = null;
10
        Node_ResetNodeId = null;
11
        Node_ResetClientId = null;
11
        Node_ResetClientId = null;
12
        Console_SetDefaultPrompt();
12
        Console_SetDefaultPrompt();
13
    }
13
    }
14
}
14
}
15
 
15
 
16
function Node_GetAvailableIds()
16
function Node_GetAvailableIds()
17
{
17
{
18
    var result_list = [];
18
    var result_list = [];
19
    var available_nodes = NodeExport_GetAvailableNodes();
19
    var available_nodes = NodeExport_GetAvailableNodes();
20
   
20
   
21
    for (var n in available_nodes)
21
    for (var n in available_nodes)
22
    {
22
    {
23
        var id_parts = available_nodes[n].split(",", 2);
23
        var id_parts = available_nodes[n].split(",", 2);
24
       
24
       
25
        result_list.push(id_parts[0]);
25
        result_list.push(id_parts[0]);
26
    }
26
    }
27
   
27
   
28
    return result_list;
28
    return result_list;
29
}
29
}
30
 
30
 
31
function Node_ListAvailable()
31
function Node_ListAvailable()
32
{
32
{
33
    var available_nodes = NodeExport_GetAvailableNodes();
33
    var available_nodes = NodeExport_GetAvailableNodes();
-
 
34
   
-
 
35
    var lines = [["Id", "Modules"]];
34
   
36
   
35
    for (var n in available_nodes)
37
    for (var n in available_nodes)
36
    {
38
    {
37
        var id_parts = available_nodes[n].split(",");
39
        var parts = available_nodes[n].split(",");
38
        var line = id_parts[0] + " Modules: ";
40
        var id = parts.shift();
39
 
-
 
40
        for (var c = 1; c < id_parts.length; c++)
-
 
41
        {
-
 
42
            line += id_parts[c] += ",";
41
        var modules = "<none>";
43
        }
42
       
44
 
-
 
45
        if (id_parts.length <= 1)
43
        if (parts.length > 0)
46
        {
44
        {
47
            line += "<none>";
45
            modules = parts.join(", ");
48
        }
46
        }
49
        else
-
 
50
        {
47
       
51
            line = line.rtrim(',');
48
        lines.push([id, modules]);
52
        }
49
    }
53
       
50
   
-
 
51
    var table_lines = create_table(lines);
-
 
52
   
-
 
53
    Log("\033[29;1m" + table_lines[0] + "\033[0m\n");
-
 
54
   
-
 
55
    for (var n = 1; n < table_lines.length; n++)
-
 
56
    {
54
        Log(line + "\n");
57
        Log(table_lines[n] + "\n");
55
    }
58
    }
56
   
59
   
57
    return true;
60
    return true;
58
}
61
}
59
Console_RegisterCommand(Node_ListAvailable);
62
Console_RegisterCommand(Node_ListAvailable);
60
 
63
 
61
function Node_Reset(node_id)
64
function Node_Reset(node_id)
62
{
65
{
63
    if (arguments.length < 1)
66
    if (arguments.length < 1)
64
    {
67
    {
65
        Log("\033[31mNot enough parameters given.\033[0m\n");
68
        Log("\033[31mNot enough parameters given.\033[0m\n");
66
        return false;
69
        return false;
67
    }
70
    }
68
   
71
   
69
    Log("Sending reset to " + node_id + ".\n");
72
    Log("Sending reset to " + node_id + ".\n");
70
   
73
   
71
    if (!NodeExport_ResetNode(node_id))
74
    if (!NodeExport_ResetNode(node_id))
72
    {
75
    {
73
        Log("\033[31mFailed to send reset.\033[0m\n");
76
        Log("\033[31mFailed to send reset.\033[0m\n");
74
        return false;
77
        return false;
75
    }
78
    }
76
   
79
   
77
    Node_ResetClientId = Console_GetClientId();
80
    Node_ResetClientId = Console_GetClientId();
78
    Node_ResetNodeId = node_id;
81
    Node_ResetNodeId = node_id;
79
    Console_PreventDefaultPrompt();
82
    Console_PreventDefaultPrompt();
80
 
83
 
81
    return true;
84
    return true;
82
}
85
}
83
Console_RegisterCommand(Node_Reset, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
86
Console_RegisterCommand(Node_Reset, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
84
 
87