Subversion Repositories HomeAutomation

Rev

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

Rev 1665 Rev 1666
1
 
1
 
2
Node_ResetNodeId = null;
2
Node_ResetNodeId = null;
3
Node_ResetClientId = null;
3
Node_ResetClientId = null;
-
 
4
 
-
 
5
Node_ProgramNodeId = null;
-
 
6
Node_ProgramClientId = null;
4
 
7
 
5
function Node_OnChange(node_id, available)
8
function Node_OnChange(node_id, available)
6
{
9
{
7
    if (node_id == Node_ResetNodeId && available)
10
    if (node_id == Node_ResetNodeId && available)
8
    {
11
    {
9
        Console_LogToClient(Node_ResetClientId, "\033[32m" + Node_ResetNodeId + " started okay.\033[0m\n");
12
        Console_LogToClient(Node_ResetClientId, "\033[32m" + Node_ResetNodeId + " started okay.\033[0m\n");
10
        Node_ResetNodeId = null;
13
        Node_ResetNodeId = null;
11
        Node_ResetClientId = null;
14
        Node_ResetClientId = null;
12
        Console_SetDefaultPrompt();
15
        Console_SetDefaultPrompt();
13
    }
16
    }
-
 
17
   
-
 
18
    if (node_id == Node_ProgramNodeId && available)
-
 
19
    {
-
 
20
        Console_LogToClient(Node_ProgramClientId, "\033[32m" + Node_ProgramNodeId + " started okay.\033[0m\n");
-
 
21
        Node_ProgramNodeId = null;
-
 
22
        Node_ProgramClientId = null;
-
 
23
        Console_SetDefaultPrompt();
-
 
24
    }
14
}
25
}
15
 
26
 
16
function Node_GetAvailableIds()
27
function Node_GetAvailableIds()
17
{
28
{
18
    var result_list = [];
29
    var result_list = [];
19
    var available_nodes = NodeExport_GetAvailableNodes();
30
    var available_nodes = NodeExport_GetAvailableNodes();
20
   
31
   
21
    for (var n in available_nodes)
32
    for (var n in available_nodes)
22
    {
33
    {
23
        var id_parts = available_nodes[n].split(",", 2);
34
        var id_parts = available_nodes[n].split(",", 2);
24
       
35
       
25
        result_list.push(id_parts[0]);
36
        result_list.push(id_parts[0]);
26
    }
37
    }
27
   
38
   
28
    return result_list;
39
    return result_list;
29
}
40
}
30
 
41
 
31
function Node_ListAvailable()
42
function Node_ListAvailable()
32
{
43
{
33
    var available_nodes = NodeExport_GetAvailableNodes();
44
    var available_nodes = NodeExport_GetAvailableNodes();
34
   
45
   
35
    var lines = [["Id", "Modules"]];
46
    var lines = [["Id", "Modules"]];
36
   
47
   
37
    for (var n in available_nodes)
48
    for (var n in available_nodes)
38
    {
49
    {
39
        var parts = available_nodes[n].split(",");
50
        var parts = available_nodes[n].split(",");
40
        var id = parts.shift();
51
        var id = parts.shift();
41
        var modules = "<none>";
52
        var modules = "<none>";
42
       
53
       
43
        if (parts.length > 0)
54
        if (parts.length > 0)
44
        {
55
        {
45
            modules = parts.join(", ");
56
            modules = parts.join(", ");
46
        }
57
        }
47
       
58
       
48
        lines.push([id, modules]);
59
        lines.push([id, modules]);
49
    }
60
    }
50
   
61
   
51
    var table_lines = create_table(lines);
62
    var table_lines = create_table(lines);
52
   
63
   
53
    Log("\033[29;1m" + table_lines[0] + "\033[0m\n");
64
    Log("\033[29;1m" + table_lines[0] + "\033[0m\n");
54
   
65
   
55
    for (var n = 1; n < table_lines.length; n++)
66
    for (var n = 1; n < table_lines.length; n++)
56
    {
67
    {
57
        Log(table_lines[n] + "\n");
68
        Log(table_lines[n] + "\n");
58
    }
69
    }
59
   
70
   
60
    return true;
71
    return true;
61
}
72
}
62
Console_RegisterCommand(Node_ListAvailable);
73
Console_RegisterCommand(Node_ListAvailable);
63
 
74
 
64
function Node_Reset(node_id)
75
function Node_Reset(node_id)
65
{
76
{
66
    if (arguments.length < 1)
77
    if (arguments.length < 1)
67
    {
78
    {
68
        Log("\033[31mNot enough parameters given.\033[0m\n");
79
        Log("\033[31mNot enough parameters given.\033[0m\n");
69
        return false;
80
        return false;
70
    }
81
    }
71
   
82
   
72
    Log("Sending reset to " + node_id + "...\n");
83
    Log("Sending reset to " + node_id + "...\n");
73
   
84
   
74
    if (!NodeExport_ResetNode(node_id))
85
    if (!NodeExport_ResetNode(node_id))
75
    {
86
    {
76
        Log("\033[31mFailed to send reset.\033[0m\n");
87
        Log("\033[31mFailed to send reset.\033[0m\n");
-
 
88
        return false;
-
 
89
    }
-
 
90
   
-
 
91
    Node_ProgramClientId = Console_GetClientId();
-
 
92
    Node_ProgramNodeId = node_id;
-
 
93
    Console_PreventDefaultPrompt();
-
 
94
 
-
 
95
    return true;
-
 
96
}
-
 
97
Console_RegisterCommand(Node_Reset, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
-
 
98
 
-
 
99
function Node_Program(node_id, bios, filename)
-
 
100
{
-
 
101
    if (arguments.length < 3)
-
 
102
    {
-
 
103
        Log("\033[31mNot enough parameters given.\033[0m\n");
-
 
104
        return false;
-
 
105
    }
-
 
106
   
-
 
107
    Log("Initiating programming of " + node_id + "...\n");
-
 
108
   
-
 
109
    if (!NodeExport_ProgramNode(node_id, bios > 0, filename))
-
 
110
    {
-
 
111
        Log("\033[31mFailed to start programming.\033[0m\n");
77
        return false;
112
        return false;
78
    }
113
    }
79
   
114
   
80
    Node_ResetClientId = Console_GetClientId();
115
    Node_ResetClientId = Console_GetClientId();
81
    Node_ResetNodeId = node_id;
116
    Node_ResetNodeId = node_id;
82
    Console_PreventDefaultPrompt();
117
    Console_PreventDefaultPrompt();
83
 
118
   
84
    return true;
119
    return true;
85
}
120
}
86
Console_RegisterCommand(Node_Reset, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
121
Console_RegisterCommand(Node_Program, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds(), [0, 1]); });
87
 
122
 
88
function Node_GetInformation(node_id)
123
function Node_GetInformation(node_id)
89
{
124
{
90
    if (arguments.length < 1)
125
    if (arguments.length < 1)
91
    {
126
    {
92
        Log("\033[31mNot enough parameters given.\033[0m\n");
127
        Log("\033[31mNot enough parameters given.\033[0m\n");
93
        return false;
128
        return false;
94
    }
129
    }
95
   
130
   
96
    var result = NodeExport_GetNodeInformation(node_id);
131
    var result = NodeExport_GetNodeInformation(node_id);
97
   
132
   
98
    if (!result)
133
    if (!result)
99
    {
134
    {
100
        Log("\033[31mNo node with id " + node_id + " found.\033[0m\n");
135
        Log("\033[31mNo node with id " + node_id + " found.\033[0m\n");
101
        return false;
136
        return false;
102
    }
137
    }
103
   
138
   
104
    var date = new Date(result["LastActive"] * 1000);
139
    var date = new Date(result["LastActive"] * 1000);
105
   
140
   
106
    Log("Id: " + result["Id"] + "\n");
141
    Log("Id: " + result["Id"] + "\n");
107
    Log("Valid: " + result["Valid"] + "\n");
142
    Log("Valid: " + result["Valid"] + "\n");
108
    Log("BiosVersion: " + result["BiosVersion"] + "\n");
143
    Log("BiosVersion: " + result["BiosVersion"] + "\n");
109
    Log("DeviceType: " + result["DeviceType"] + "\n");
144
    Log("DeviceType: " + result["DeviceType"] + "\n");
110
    Log("HasApplication: " + result["HasApplication"] + "\n");
145
    Log("HasApplication: " + result["HasApplication"] + "\n");
111
    Log("LastActive: " + date.toString() + "\n");
146
    Log("LastActive: " + date.toString() + "\n");
112
   
147
   
113
    return true;
148
    return true;
114
}
149
}
115
Console_RegisterCommand(Node_GetInformation, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
150
Console_RegisterCommand(Node_GetInformation, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
116
 
151