MLLighting Plugin

From Cinemar Wiki
Jump to: navigation, search

About

MLLighting is a plugin that allows for management of one or more lighting controller drivers like UPB / Insteon / ZWave etc. It allows for standarized MainLobby Client scene configuration that the MLLighting then routes the commands to the appropriate lighting controller. This allows for scenes to be reusable across multiple lighting control technologies. It also allows for usage of multiple concurrant lighting controllers.


Software Requirements

Mainlobby3 Server 3.0.319 (or newer)

MainLobby3 Client 3.0.85 (or newer)

MLLighting Device Family Manager Download Latest Version via MLInstaller

Appropriate MLLighting compliant device driver (PLM / PLC / UPB / ZWave) - latest downloadable version - Download from registered user's login


File Versions

Best way to check file versions is to navigate to the files in mlserver\plugins\ and in the plugins\mllighting directory and right click, choose properties and you should see the version numbers.

You can also tell from within the plugin. To get the version of the device driver (Insteon / UPB / Zwave etc), you have to get into the device driver (double click on it in the MLLighting plugin) and then look for the version.

Installation

General hardware setup for UPB Lighting

Plug in the UPB PLC controller into the serial port of the MLServer PC. You load the UPStart software on that PC and configure the UPB devices as per the UPStart / UPB core installation instructions.


General hardware setup for Insteon Lighting when using the PLM Controller

Detailed Insteon PLM instructions

Plug in the SmartHome PLM controller into an unused serial port of the MLServer PC.

Do NOT link devices manually as described in the Insteon device installation instructions.

It is highly recommended to use the newer MLInsteonPLM plugin when using a PLM controller (and not the MLLighting plugin). Details are found here: MLInsteonPLM_Plugin


Software installation

1) Shut down MLServer3

2) Download and run the mllighting_family_plugi_setup.exe file on the primary MLServer3 PC that is physically connected to the lighting hardware.

3) Download and run the appropriate lighting hardware device on same MLServer3 PC.

4) Launch MLServer and right click on the MLLighting plugin and click Settings.

5) Add a Controller in the top of the plugin window (Insteon / UPB / ZWave controller).

6) Add your lighting devices.

Note:

X10 addresses should be formatted without the 0. So B1.

From an MLServeCmd you can control it just like an Insteon light.

MLServeCmd.MLLighting|On~37

Assuming your X10 device is light #37.

The SendX10 would be used if you want to send an X10 command to a device not in your lighting database.

Supported MainLobby3 Server Commands

On

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|On~MLLighting_Id~OnLevel*


(Literal)

MLServeCmd.MLLighting|On~Office Light

MLServeCmd.MLLighting|On~Office Light~25

MLServeCmd.MLLighting|On~002~90

MLServeCmd.MLLighting|On~005~90


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to turn on.
OnLevel = The level the device should go on to. (optional)


Returns

Nothing


Description

Turns the specified light on.

If the level is included in the command the switch will go on to that level.

If the level is not included the switch will go to its full on level.


Notes


Off

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|Off~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|Off~Office Light

MLServeCmd.MLLighting|Off~009


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to turn off.


Returns

Nothing


Description

Turns the specified light off.


Notes


Bright

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|Bright~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|Bright~Office Light

MLServeCmd.MLLighting|Bright~004


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to brighten.


Returns

Nothing


Description

Brightens the specified light by approximately 6%.


Notes


Dim

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|Dim~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|Dim~Office Light

MLServeCmd.MLLighting|Dim~002


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to dim.


Returns

Nothing


Description

Dims the specified light by approximately 6%.


Notes


Toggle

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|Toggle~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|Toggle~Office Light

MLServeCmd.MLLighting|Toggle~002

MLServeCmd.MLLighting|Toggle~005


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to toggle.


Returns

Nothing


Description

Toggles the light on or off based on its current status.


Notes


FastOn

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|FastOn~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|FastOn~Office Light

MLServeCmd.MLLighting|FastOn~005


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to turn on.


Returns

Nothing


Description

Turns the specified light on to the lights preset dim level. By default this is full on.


Notes


FastOff

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|FastOff~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|FastOff~Office Light

MLServeCmd.MLLighting|FastOff~016


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to turn offf.


Returns

Nothing


Description

Turns the specified light off ignoring the ramp rate.


Notes


GetStatus

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|GetStatus~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|GetStatus~Office Light

MLServeCmd.MLLighting|GetStatus~005


Parameters

MLLighting_Id = The Alias or Id number of the device you wish to update status for.


Returns

Nothing


Description

Returns the status of the requested light to an MLServer variable.


Notes


SendX10

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|SendX10~Command~MLLighting_Id~*Controller


(Literal)

MLServeCmd.MLLighting|SendX10~On~Office Light

MLServeCmd.MLLighting|SendX10~Off~005~2

MLServeCmd.MLLighting|SendX10~Bright~A4


Parameters

MLLighting_Id = The Alias, Id number or the x10 address of the device you wish to controll.
Command = On, Off, Bright, Dim
Controller = The Id number of Controller listed in MLLighting Family Plugin


Returns

Nothing


Description

Allows user to send X10 commands to devices whether they are in the MLLighting Database or not.


Notes

SendX10 is only functional when using an Insteon PLC.

The controller parameter is optional. If not present will default to first controller in list or 1.


GroupOn

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|GroupOn~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|GroupOn~Office

MLServeCmd.MLLighting|GroupOn~25


Parameters

MLLighting_Id = The Alias or Id number of the group you wish to turn on.


Returns

Nothing


Description

Turns the specified light group on.


Notes

When adding a light to a group there will be a delay while the light is being added to the group.

This will cause the visuals of MLServer to not be accessible. If you attempt to click on any part of MLServer while a light is being added to the group you will see a message box saying that the other application is busy, Please click "Switch To...".


GroupOff

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|GroupOff~MLLighting_Id


(Literal)

MLServeCmd.MLLighting|GroupOff~Office Light

MLServeCmd.MLLighting|GroupOff~9


Parameters

MLLighting_Id = The Alias or Id number of the group you wish to turn off.


Returns

Nothing


Description

Turns the specified light group off.


Notes

When adding a light to a group there will be a delay while the light is being added to the group.

This will cause the visuals of MLServer to not be accessible. If you attempt to click on any part of MLServer while a light is being added to the group you will see a message box saying that the other application is busy, Please click "Switch To...".


MLServeCmd

{MLServeCmd}Script Usage

MLServeCmd.MLLighting|MLServeCmd~Enabled


(Literal)

MLServeCmd.MLLighting|MLServeCmd~True

MLServeCmd.MLLighting|MLServeCmd~False


Parameters

Enabled = The new send mlservecmd state for MLLighting.


Returns

Nothing


Description

This command enabled/disables the sending of MLServeCmd's on light states.


Notes

This command is global to MLLighting and effects all controllers and lights.


MLServer Variables

MLLighting_{{MLLighting_Id}}_Alias

Description: The alias of the device.

Values: Text

MLLighting_{{MLLighting_Id}}_Id

Description: The numeric id of the device.

Values: A number

MLLighting_{{MLLighting_Id}}_Model

Description: The model of the device.

Values:

MLLighting_{{MLLighting_Id}}_Room

Description: The room the device is in.

Values: Text

MLLighting_{{MLLighting_Id}}_Status

Description: The current status of the device.

Values: On, Off

MLLighting_{{MLLighting_Id}}_Value

Description: The percentage value of the current status of the device.

Values: 0-100

MLLighting_controller_{{MLLighting_Id}}_Alias

Description: The alias of the controller.

Values: Text

MLLighting_controller_{{MLLighting_Id}}_Id

Description: The id number of the controller.

Values: A number

MLLighting_controller_{{MLLighting_Id}}_Manufacturer

Description: The manufacturer of the controller.

Values: Text

MLLighting_Room_{{room_name}}_Status

Description: If any lights or ceiling fans are ON in the room, this variable will be set to On, otherwise Off.

Values: On, Off

Driver Specific Information

UPB

Configuration Notes

  • By default, UPB devices will not report their status unless you configure each UPB device to do so. To do this, Edit the UPB device in UPSTART. Select the ROCKER SWITCH tab. Then check the box labeled "Report light level after rocker switch is pressed" Finally program the switch for the settings to be stored in the device.

Upb report light level.jpg

  • Make sure the NetworkID for the PIM is set to a number less than 250.

Insteon PLC

Insteon PLM

Installation

Purchase a SmartHome PLM:

SmartHome

Plug the serial cable from the PLM into an unused PC serial port. This serial port cannot be in use by any other software. Disable that software if it exists.

Plug the PLM into the powerline. Ideal locations are away from any other power line controller, and not in a power strip (plug into wall directly).

Highly recommended is to also use SmartHome RF Access Points to bridge your home's electric panel phases so that the Insteon signals from the PLM can "jump" (via RF) from one phase to the other. This allows the Insteon signal to control devices on both phases. Install the Access Points as per the instructions that it ships with.

If you find a particular Insteon device doesn't work, you may want to also install SmartHome powerline filters on suspect appliances that may be "sucking" the powerline communications. Examples might include microwave ovens, PC UPS's, or devices with motors like refrigerators or washing machines. To isolate, disconnect these devices until the communcations improve. Once found, plug that device into the appropriate Insteon filter.

Install the Insteon wall switches / plug in modules as per the instructions it ships with, following all safety precautions. However, do not link switches or the PLM as per the instructions that ship with the devices. The Cinemar PLM driver does this linking for you. This saves signficant installation time, and labor. This also ensures that the links are established in the way the Cinemar software requires.



Add support for multi-way switches

1. Add all lights to MLLighting.

A. Open the MLLighting plugin

B. Click the add button in the lights frame (A window will now open)

C. Select the controller to add the light to (in most cases this will be controller #1)

D.Enter the light address

E. Enter the light alias

F. Enter the light room name

G. Select the number to assign to the light

H. Select the model of the light from the drop down list

I. Click "Add"


Link desired lights

A. Open one of the lights control panel in MLLighting. (this light will be refered to as light#1 for the remainder of the steps)

B. Click on the "Links" tab at the top

C. Click the "Add" button near the bottom (A window will now open)

D. Select which light to link to from the drop down list (the selected light will be refered to as light#2 for the remainder of the steps)

E. Leave the "Group/Button" field set to 1

F. Click "OK" ( another window will now open)

G. Select the type of linking you wish to perform

H. Click "OK" ( another window will now open)

I. Select the ramp rate and preset level you would like to use for light#1

J. Click "OK", the plugin will now link light#1 to light #2

K. If you selected 2-way linking another window will open, select the ramp rate and preset level you would like to use for light#2

L. Click "OK", the plugin will not link light#2 to light#1

At this point manual control of the lights is ready, the lights will go on/off with one another and status will be reported accuratlly in mllighting. However computer control of the lights will not produces the desired results, as in when one light is turned on/off only that one light will go on/off not any linked lights. To keep the lights insync for computer control we recommend placing all the lights in a group.


Add lights to group

If you have already added a group for the desired lights skip steps A & B

A. Add the group to mllighting by clicking on the "Add" button in the groups frame of the mllighting plugin

B. Enter the name of the new group (the group is now added)

C. Selecte the desired light from the lights list

D. Drag the light to the desired group ( a window will now open)

E. Select the desired ramp rate and preset level to use with the light for the group The plugin will now add the light to the group Repeat steps C-E for each light you wish to add to the group


By default all lights are added to group 1.

Setting the local preset on level and ramp rate only effect the light when that light is controlled alone, not with groups. To get a light to go to 80% with a 2 sec ramp rate with a group you need to set that when adding the light to the group. After dragging the light to the desired group a window will pop up what ramp rate and preset on level you would like to use for that light for that group only.


Tips

How to use a button on a keypadlink to fire off a MLServeCmd

For example: When you press button #7 on the KPL though nothing happens.

The KPL button (in the case #7) must be linked in an of itself to the PLC. Then it works.

Z-Wave

About

The ZWave device driver provides ZWave device control for MainLobby3 Server. It is used with the MLLighting Family Manager Plugin.

Hardware Requirements

ControlThink USB ZWave control stick

ZWave lighting control device(s)


Software Requirements

MLServer3

MainLobby3 Client

MLLightingFamily Manager plugin

ZWave device driver


Installation

Shutdown MLServer3

Install the ControlThink USB ZWave device in the primary MLServer3 PC.

Download the latest MLLightingFamily Manager software and run the installer on the primary MLServer3 PC.

Download the latest ZWave device driver and run the installer on the primary MLServer3 PC.

Configuration

Using a remote control to add devices

1. Press the MENU button on the remote until the remote.

2. Select "GROUPS" by pressing the right or left arrow buttons.

3. Press the OK button.

4. Select "ADD Unit to Group" by pressing the lefet or right arrows.

5. Select the group you wish to add the device to by pressing the right or left arrow buttons.

6. Pres the OK button.

7. Press the PROGRAM button on the device you wish to add.

8. The remote should briefly display "Unit Included".

9. Repeat steps 18 for each device you wish add.

10. Open the MLLighting ZWaveController plugin.

11. Click on the Network tab at the top.

12. Click the Copy Remote button at the bottom.

13. The plugin should display a message saying that it is waiting for the remote to send its data.

14. Press the MENU button on the remote control.

15. Select "Setup" by pressing the left or right arrow buttons.

16. Press the OK button.

17. Select "Copy Remote Ctrl." by pressing the left or right arrows.

18. Press the OK button.

19. Select "Send Information" by pressing the left or right arrow buttons.

20. Press the OK button.

21. Select "Identical Copy" by pressing the left or right arrow buttons.

22. Press the OK button.

23. The remote will display "Sending...".

24. If the remote can connect to the ZWave controller it will display "Wait......."

25. If the data is successfully sent the remote will display "Send Completed"

26. The MLLighting ZWaveController plugin should now display a list of devices on your ZWave network.

27. Click the Import Network button in the plugin.

28. Click Yes when you are promted to confirm that you want to Import your ZWave network.

29. Click OK in the window that pops up saying the the network has been successfully imported.

Notes:

To add a device to a group using a remote control the device must be within 35ft. of the remote control.

If you are unable to get a device to be added by the remote control reset the device and retry. Please see section on Reseting Devices with Remote Control.


Reseting Devices with Remote Control

1. Press the MENU button on the remote.

2. Select "Setup" by pressing the right or left arrow buttons.

3. Press the OK button.

4. Select "Reset Unit" by pressing the left or right arrow buttons.

5. Press the OK button.

6. The remote will display a confirmation message.

7. Press the OK button.

8. Press the PROGRAM button on the device.

9. The remote will display "Unit Reset".

Notes:

To reset a device using a remote control the device must be within 35ft of the remote control.

Bugs

New Feature Requests

Please update this WIKI to include a UPB section.