> For the complete documentation index, see [llms.txt](https://docs.tricloudnexus.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tricloudnexus.io/edge/nexus-modules/data-connector-modules/scenecontrollermodule/lighting-controller.md).

# Lighting Controller

## Lighting Controller

The SceneController module is able to control up to 8 lights, using either the *PD3-10024-8-E* or *PD3-10024-4-E* digital control unit from CCS (<https://www.ccs-grp.com/products/model/3316> ).

![Lighting Controller](https://dev.azure.com/triclouddk/41425339-6cb1-4d0f-8e6c-5514158775a1/_apis/git/repositories/6b6b8a13-5559-495c-bccd-1fa3b670ab26/Items?path=/Documentation/Edge-Module-Documentation/modules/SceneControllerModule/Lighting.png\&download=false\&resolveLfs=true&%24format=octetStream\&api-version=5.0-preview.1\&sanitize=true\&versionDescriptor.version=wikiMaster)

The lighting controller is controlled using a TCP connection, requiring network connection between edge device and lighting controller.

### Configuring IP address and port

Factory default of the lighting controller sets the IP address is *192.168.0.2* on default port *40001*. While this is not always convenient, the IP address and port can be changed, using the following procedure:

1. Reset the PD3 controller, by pressing reset button, using something pointy (toothpick, etc.)
2. Recycle power on the PD3 controller by disconnecting it from the power supply for 5 seconds
3. Call direct command **SetLightingControllerIP** on SceneControllerModule with the following payload, where expected response is "ok":

```
   { 
        "newIpAddress": "xxx.xxx.xxx.xxx", 
        "newPort": "xxxxx" 
   }
```

4. Reconfigure the LightingController in the Twin configuration (either manually or by deployment) to configure the new IP address.
5. Recycle power on the PD3 controller by disconnecting it from the power supply for 5 seconds
6. Test new IP calling direct command **CallLightingController** on SceneControllerModule with the following payload, where expected response is "ok":

```
   { 
       "command": "@00M"
   }
```
