Subversion Repositories HomeAutomation

Rev

Rev 1660 | Rev 1666 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  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.     var lines = [["Id", "Modules"]];
  36.    
  37.     for (var n in available_nodes)
  38.     {
  39.         var parts = available_nodes[n].split(",");
  40.         var id = parts.shift();
  41.         var modules = "<none>";
  42.        
  43.         if (parts.length > 0)
  44.         {
  45.             modules = parts.join(", ");
  46.         }
  47.        
  48.         lines.push([id, modules]);
  49.     }
  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.     {
  57.         Log(table_lines[n] + "\n");
  58.     }
  59.    
  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()); });
  87.  
  88. function Node_GetInformation(node_id)
  89. {
  90.     if (arguments.length < 1)
  91.     {
  92.         Log("\033[31mNot enough parameters given.\033[0m\n");
  93.         return false;
  94.     }
  95.    
  96.     var result = NodeExport_GetNodeInformation(node_id);
  97.    
  98.     if (!result)
  99.     {
  100.         Log("\033[31mNo node with id " + node_id + " found.\033[0m\n");
  101.         return false;
  102.     }
  103.    
  104.     var date = new Date(result["LastActive"] * 1000);
  105.    
  106.     Log("Id: " + result["Id"] + "\n");
  107.     Log("Valid: " + result["Valid"] + "\n");
  108.     Log("BiosVersion: " + result["BiosVersion"] + "\n");
  109.     Log("DeviceType: " + result["DeviceType"] + "\n");
  110.     Log("HasApplication: " + result["HasApplication"] + "\n");
  111.     Log("LastActive: " + date.toString() + "\n");
  112.    
  113.     return true;
  114. }
  115. Console_RegisterCommand(Node_GetInformation, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Node_GetAvailableIds()); });
  116.