Subversion Repositories HomeAutomation

Rev

Rev 1660 | Go to most recent revision | Details | 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
 
35
	for (var n in available_nodes)
36
	{
37
		var id_parts = available_nodes[n].split(",");
38
		var line = id_parts[0] + " Modules: ";
39
 
40
		for (var c = 1; c < id_parts.length; c++)
41
		{
42
			line += id_parts[c] += ",";
43
		}
44
 
45
		if (id_parts.length <= 1)
46
		{
47
			line += "<none>";
48
		}
49
		else
50
		{
51
			line = line.rtrim(',');
52
		}
53
 
54
		Log(line + "\n");
55
	}
56
 
57
	return true;
58
}
59
Console_RegisterCommand(Node_ListAvailable);
60
 
61
function Node_Reset(node_id)
62
{
63
	if (arguments.length < 1)
64
	{
65
		Log("\033[31mNot enough parameters given.\033[0m\n");
66
		return false;
67
	}
68
 
69
	Log("Sending reset to " + node_id + ".\n");
70
 
71
	if (!NodeExport_ResetNode(node_id))
72
	{
73
		Log("\033[31mFailed to send reset.\033[0m\n");
74
		return false;
75
	}
76
 
77
	Node_ResetClientId = Console_GetClientId();
78
	Node_ResetNodeId = node_id;
79
	Console_PreventDefaultPrompt();
80
 
81
	return true;
82
}
83
Console_RegisterCommand(Node_Reset, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });