Subversion Repositories HomeAutomation

Rev

Rev 1657 | Rev 1665 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | SVN | RSS feed

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