Subversion Repositories HomeAutomation

Rev

Rev 1665 | 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.     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()); });
  84.