Class SerialLight

All Implemented Interfaces:
Comparable<NamedBean>, AnalogIO, PropertyChangeProvider, DigitalIO, Light, NamedBean, VariableLight
Direct Known Subclasses:
SerialX10Light, SpecificInsteonLight, SpecificInsteonLight

public abstract class SerialLight
extends AbstractVariableLight
Implementation of the Light Object for Powerline devices.

For X10 devices, uses dimming commands to set intensity unless the value is 0.0 or 1.0, in which case it uses on/off commands only.

For Insteon devices, uses direct setting of intensity level unless the value is 0.0 or 1.0, in which case it uses on/off commands only.

For X10, since the dim/bright step of the hardware is unknown then the Light object is first created, the first time the intensity (not state) is set to other than 0.0 or 1.0, the output is run to it's maximum dim or bright step so that we know the count is right.

For X10, keeps track of the controller's "dim count", and if not certain forces it to zero to be sure.