Subversion Repositories HomeAutomation

Rev

Rev 1610 | Go to most recent revision | Blame | Last modification | View Log | SVN | RSS feed

  1.  
  2. var dimmer_module = GetModule("Dimmer230");
  3. var ir_module = GetModule("irReceive");
  4.  
  5. function test_press(event, id, channel, data, protocol)
  6. {
  7.     if (protocol == "NEC" && data == 3877174275)
  8.     {
  9.         Dimmer230_StartFade(2, 0, 135, "Increase");
  10.         Dimmer230_StartFade(1, 0, 135, "Increase");
  11.     }
  12.     else if (protocol == "NEC" && data == 3860462595)
  13.     {
  14.         Dimmer230_StartFade(2, 0, 135, "Decrease");
  15.         Dimmer230_StartFade(1, 0, 135, "Decrease");
  16.     }
  17. }
  18.  
  19. function test_release(event, id, channel, data, protocol)
  20. {
  21.     if (protocol == "NEC" && (data == 3877174275 || data == 3860462595))
  22.     {
  23.         Dimmer230_StopFade(2, 0);
  24.     }
  25. }
  26.  
  27. function test_status(event, id, available)
  28. {
  29.     //Log("status change!");
  30. }
  31.  
  32. ir_module.Bind("onStatusChange", test_status);
  33. ir_module.Bind("onPressed", test_press);
  34. ir_module.Bind("onReleased", test_release);
  35.  
  36.  
  37. CreateModuleAlias("bardisk", "Dimmer230", 2, { "channel" : 0 });
  38. CreateModuleAlias("bokhylla", "Dimmer230", 1, { "channel" : 0 });
  39. CreateModuleAliasGroup("vardagsrum", [ "bokhylla", "bardisk" ]);
  40.  
  41.  
  42. function fadeto(alias, level, speed)
  43. {
  44.     if (typeof module_aliases[alias] == 'undefined')
  45.     {
  46.         return "No such module name found";
  47.     }
  48.    
  49.     if (module_aliases[alias]["is_group"])
  50.     {
  51.         var result = "";
  52.        
  53.         for (var n = 0; n < module_aliases[alias]["aliases"].length; n++)
  54.         {
  55.             result += fadeto(module_aliases[alias]["aliases"][n], level, speed) + "\n";
  56.         }
  57.        
  58.         return result;
  59.     }
  60.    
  61.     if (module_aliases[alias]["module_name"] != "Dimmer230")
  62.     {
  63.         return "Module type " + module_aliases[alias]["module_name"] + " is not valid for this action, valid are Dimmer230";
  64.     }
  65.    
  66.     if (!speed)
  67.     {
  68.         speed = 135;
  69.     }
  70.  
  71.     return Dimmer230_AbsoluteFade(module_aliases[alias]["module_id"], module_aliases[alias]["extra"]["channel"], speed, level);
  72. }
  73.  
  74. RegisterConsoleCommand(fadeto, function(args) { return StandardAutocomplete(args, Dimmer230.instance_.GetAvailableNames(), [ 0, 50, 100, 150, 200, 255 ], [ 50, 135, 200, 255 ]); });
  75.