I would be that iLight rep. The system is all setup thatās the Device editor bit. The source controllers (These actually control the lights) SCMDx for dali, SCMI0402 for mains diming etc. respond to Scene or channel messages sent via the iCANnet network. The EG2-s sits on ethernet and iCANnet and provides the API integration.
What I need to know is how or where you make the connection in HA. Below is part of the API documentation.
Ethernet Gateway API
Introduction
This document contains the Application Programming Interface (API) detail to control communication and
bridging with the next generation Ethernet Gateway (EG) devices. The purpose of the communication, and the
scope of this document, is to allow the transmission and receipt of Controller Area Network (CAN) messages
to iLight devices. The iLight CAN properties are not defined within this document. Bridging allows the
forwarding on CAN messages to another CAN network, controlled by an equally capable EG.
All communication uses WebSockets and JSON Remote Procedure Calls (RPC), specifically version 2.0.
The URL to an EG is:
wss:///eg/
The EG2-S will generate a new 2048-bit RSA private key and X.509 certificate when first run. This may be read from the device using the ReadCertificate command on the EG2-S model element and is returned in PEM
format. A new certificate may be generated at any time using the GenerateCertificate command and must be
done after changing the hostname. A reboot is required to use the generated key and certificate.
Once connected, all RPCs within this document take the following JSON format:
{
ājsonrpcā:ā2.0ā,
āidā:,
āmethodā:,
āparamsā:
{
<argumentsā¦>
}
}
The deviations from the JSON RPC 2.0 specification are:
ā¢ should be a UUID, in string format, but an integer will also be accepted.
ā¢ āparamsā must always be a JSON object. Therefore, {} is expected if no arguments exist for the RPC.
The prototypes in this document take the following format:
(
):
Arguments are expressed as a comma separated list of zero to many names and types (taking the format : ). Details of types may be in the Types section.
The example below will transmit a CAN message with a zero identifier and a single zero value byte of data.
With the prototype and JSON representation following respectively:
Transmit(
id: Integer<$000ā¦$7FF>,
data: Array<Integer<$00ā¦$FF>>
):String
{
ājsonrpcā:ā2.0ā,
āidā:ādbbcab75-d992-4a1c-9e26-9f28d352656cā,
āmethodā:āTransmitā,
āparamsā:
{
āidā:0,
ādataā:[0]
}
}
Page 6 of 19
Ethernet Gateway API
Classified
Remote Procedure Calls
Execute
Prototype
Execute(
id: UUID,
command : String,
args : Object
): Value
Description
Execute the command, with args, on the target identifed by id. The commands available and arguments
required and returned value will depend on the version and type of the target. The data model provides
information on available commands. This is only possible once the client has logged into the EG.
Log In
Prototype
LogIn(
username: String,
password: String
): String
Description
Log in to the EG device as username with password to allow communication on CAN and configuration of the
device. The default username and password are ācommissionerā and āpasswordā. It is not possible to use the
default password to log into the API, the password should first be changed using the SetPassword RPC.
Log Out
Prototype
LogOut(): String
Set the level of all channels in the area to level over fade milliseconds.
SetScene(
scene: UUID,
fade: Integer<0ā¦3600000>
): String