Subversion Repositories HomeAutomation

Rev

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

  1.  
  2. Require("plugin/module.js");
  3.  
  4. Dimmer_ModuleNames    = [ "Dimmer230" ];
  5. Dimmer_SpeedLevels    = function() { return [ 50, 135, 200, 255 ]; };
  6. Dimmer_StrengthLevels = function() { return [ 0, 50, 100, 150, 200, 255 ]; };
  7. Dimmer_StepsLevels    = function() { return [ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 ]; };
  8. Dimmer_Directions     = function() { return [ "Increase", "Decrease" ]; };
  9. Dimmer_Channels       = function() { return [ 0 ]; };
  10. Dimmer_Aliases        = function() { return Module_GetAliasNames(Dimmer_ModuleNames); };
  11. Dimmer_AvailableIds   = function() { return Module_GetAvailableIds(Dimmer_ModuleNames); };
  12.  
  13. function Dimmer_StartFade(alias_name, speed, direction)
  14. {
  15.     if (arguments.length < 3)
  16.     {
  17.         Log("\033[31mNot enough parameters given.\033[0m\n");
  18.         return false;
  19.     }
  20.    
  21.     var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
  22.     var found = false;
  23.    
  24.     for (var name in aliases_data)
  25.     {
  26.         var variables = {
  27.             "Channel"   : aliases_data[name]["specific"]["Channel"],
  28.             "Speed"     : speed,
  29.             "Direction" : direction };
  30.    
  31.         if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Start_Fade", variables))
  32.         {
  33.             Log("\033[32mCommand sent successfully to " + name + ".\033[0m\n");
  34.         }
  35.         else
  36.         {
  37.             Log("\033[31mFailed to send command to " + name + ".\033[0m\n");
  38.         }
  39.        
  40.         found = true;
  41.     }
  42.    
  43.     if (!found)
  44.     {
  45.         Log("\033[31mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
  46.         return false;
  47.     }
  48.    
  49.     return true;
  50. }
  51. Console_RegisterCommand(Dimmer_StartFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_Directions()); });
  52.  
  53. function Dimmer_StopFade(alias_name)
  54. {
  55.     if (arguments.length < 1)
  56.     {
  57.         Log("\033[31mNot enough parameters given.\033[0m\n");
  58.         return false;
  59.     }
  60.    
  61.     var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
  62.     var found = false;
  63.    
  64.     for (var name in aliases_data)
  65.     {
  66.         var variables = {
  67.         "Channel" : aliases_data[name]["specific"]["Channel"] };
  68.        
  69.         if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Stop_Fade", variables))
  70.         {
  71.             Log("\033[32mCommand sent successfully to " + name + ".\033[0m\n");
  72.         }
  73.         else
  74.         {
  75.             Log("\033[31mFailed to send command to " + name + ".\033[0m\n");
  76.         }
  77.        
  78.         found = true;
  79.     }
  80.    
  81.     if (!found)
  82.     {
  83.         Log("\033[31mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
  84.         return false;
  85.     }
  86.    
  87.     return true;
  88. }
  89. Console_RegisterCommand(Dimmer_StopFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases()); });
  90.  
  91. function Dimmer_AbsoluteFade(alias_name, speed, level)
  92. {
  93.     if (arguments.length < 3)
  94.     {
  95.         Log("\033[31mNot enough parameters given.\033[0m\n");
  96.         return false;
  97.     }
  98.    
  99.     var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
  100.     var found = false;
  101.    
  102.     for (var name in aliases_data)
  103.     {
  104.         var variables = {
  105.         "Channel"   : aliases_data[name]["specific"]["Channel"],
  106.         "Speed"     : speed,
  107.         "EndValue"  : level };
  108.        
  109.         if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Abs_Fade", variables))
  110.         {
  111.             Log("\033[32mCommand sent successfully to " + name + ".\033[0m\n");
  112.         }
  113.         else
  114.         {
  115.             Log("\033[31mFailed to send command to " + name + ".\033[0m\n");
  116.         }
  117.        
  118.         found = true;
  119.     }
  120.    
  121.     if (!found)
  122.     {
  123.         Log("\033[31mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
  124.         return false;
  125.     }
  126.    
  127.     return true;
  128. }
  129. Console_RegisterCommand(Dimmer_AbsoluteFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_StrengthLevels()); });
  130.  
  131. function Dimmer_RelativeFade(alias_name, speed, direction, steps)
  132. {
  133.     if (arguments.length < 4)
  134.     {
  135.         Log("\033[31mNot enough parameters given.\033[0m\n");
  136.         return false;
  137.     }
  138.    
  139.     var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
  140.     var found = false;
  141.    
  142.     for (var name in aliases_data)
  143.     {
  144.         var variables = {
  145.         "Channel"   : aliases_data[name]["specific"]["Channel"],
  146.         "Speed"     : speed,
  147.         "Direction" : direction,
  148.         "Steps"     : steps };
  149.        
  150.         if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Rel_Fade", variables))
  151.         {
  152.             Log("\033[32mCommand sent successfully to " + name + ".\033[0m\n");
  153.         }
  154.         else
  155.         {
  156.             Log("\033[31mFailed to send command to " + name + ".\033[0m\n");
  157.         }
  158.        
  159.         found = true;
  160.     }
  161.    
  162.     if (!found)
  163.     {
  164.         Log("\033[31mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
  165.         return false;
  166.     }
  167.    
  168.     return true;
  169. }
  170. Console_RegisterCommand(Dimmer_RelativeFade, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_Directions(), Dimmer_StepsLevels()); });
  171.  
  172. function Dimmer_Demo(alias_name, speed, steps)
  173. {
  174.     if (arguments.length < 3)
  175.     {
  176.         Log("\033[31mNot enough parameters given.\033[0m\n");
  177.         return false;
  178.     }
  179.    
  180.     var aliases_data = Module_ResolveAlias(alias_name, Dimmer_ModuleNames);
  181.     var found = false;
  182.    
  183.     for (var name in aliases_data)
  184.     {
  185.         var variables = {
  186.         "Channel"   : aliases_data[name]["specific"]["Channel"],
  187.         "Speed"     : speed,
  188.         "Steps"     : steps };
  189.        
  190.         if (Module_SendMessage(aliases_data[name]["module_name"], aliases_data[name]["module_id"], "Demo", variables))
  191.         {
  192.             Log("\033[32mCommand sent successfully to " + name + ".\033[0m\n");
  193.         }
  194.         else
  195.         {
  196.             Log("\033[31mFailed to send command to " + name + ".\033[0m\n");
  197.         }
  198.        
  199.         found = true;
  200.     }
  201.    
  202.     if (!found)
  203.     {
  204.         Log("\033[31mNo aliases by the name " + alias_name + " were applicable for this command.\033[0m\n");
  205.         return false;
  206.     }
  207.    
  208.     return true;
  209. }
  210. Console_RegisterCommand(Dimmer_Demo, function(arg_index, args) { return Console_StandardAutocomplete(arg_index, args, Dimmer_Aliases(), Dimmer_SpeedLevels(), Dimmer_StepsLevels()); });
  211.