# Class RoomLightDevice Namespace: [Aeon.Environment](Aeon.Environment.md) Assembly: Aeon.Environment.dll ```csharp [Combinator] public class RoomLightDevice ``` #### Inheritance [object](https://learn.microsoft.com/dotnet/api/system.object) ← [RoomLightDevice](Aeon.Environment.RoomLightDevice.md) #### Inherited Members [object.ToString\(\)](https://learn.microsoft.com/dotnet/api/system.object.tostring), [object.Equals\(object\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\)), [object.Equals\(object, object\)](https://learn.microsoft.com/dotnet/api/system.object.equals\#system\-object\-equals\(system\-object\-system\-object\)), [object.ReferenceEquals\(object, object\)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.GetHashCode\(\)](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType\(\)](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone\(\)](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone) ## Properties ### MessageDelay ```csharp public TimeSpan MessageDelay { get; set; } ``` #### Property Value [TimeSpan](https://learn.microsoft.com/dotnet/api/system.timespan) ### MessageDelayXml ```csharp [Browsable(false)] public string MessageDelayXml { get; set; } ``` #### Property Value [string](https://learn.microsoft.com/dotnet/api/system.string) ### PortName ```csharp [TypeConverter(typeof(SerialPortNameConverter))] public string PortName { get; set; } ``` #### Property Value [string](https://learn.microsoft.com/dotnet/api/system.string) ## Methods ### Process\(IObservable\) ```csharp public IObservable Process(IObservable source) ``` #### Parameters `source` [IObservable](https://learn.microsoft.com/dotnet/api/system.iobservable\-1)<[RoomLightMessage](Aeon.Environment.RoomLightMessage.md)\> #### Returns [IObservable](https://learn.microsoft.com/dotnet/api/system.iobservable\-1)<[RoomLightMessage](Aeon.Environment.RoomLightMessage.md)\>