Class DimmerItem

All Implemented Interfaces:
Identifiable<String>, ActiveItem, Item
Direct Known Subclasses:
ColorItem

@NonNullByDefault public class DimmerItem extends SwitchItem
A DimmerItem can be used as a switch (ON/OFF), but it also accepts percent values to reflect the dimmed state.
Author:
Kai Kreuzer - Initial contribution, Markus Rathgeb - Support more types for getStateAs
  • Constructor Details

    • DimmerItem

      public DimmerItem(String name)
  • Method Details

    • send

      public void send(PercentType command)
    • send

      public void send(IncreaseDecreaseType command)
    • getAcceptedDataTypes

      public List<Class<? extends State>> getAcceptedDataTypes()
      Description copied from interface: Item

      This method provides a list of all data types that can be used to update the item state

      Imagine e.g. a dimmer device: It's status could be 0%, 10%, 50%, 100%, but also OFF or ON and maybe UNDEFINED. So the accepted data types would be in this case PercentType, and UnDefType

      The order of data types denotes the order of preference. So in case a state needs to be converted in order to be accepted, it will be attempted to convert it to a type from top to bottom. Therefore the type with the least information loss should be on top of the list - in the example above the PercentType carries more information than the , hence it is listed first.

      Specified by:
      getAcceptedDataTypes in interface Item
      Overrides:
      getAcceptedDataTypes in class SwitchItem
      Returns:
      a list of data types that can be used to update the item state
    • getAcceptedCommandTypes

      public List<Class<? extends Command>> getAcceptedCommandTypes()
      Description copied from interface: Item

      This method provides a list of all command types that can be used for this item

      Imagine e.g. a dimmer device: You could ask it to dim to 0%, 10%, 50%, 100%, but also to turn OFF or ON. So the accepted command types would be in this case PercentType,

      Specified by:
      getAcceptedCommandTypes in interface Item
      Overrides:
      getAcceptedCommandTypes in class SwitchItem
      Returns:
      a list of all command types that can be used for this item
    • setState

      public void setState(State state)
      Description copied from class: GenericItem
      Set a new state. Subclasses may override this method in order to do necessary conversions upfront. Afterwards, GenericItem.applyState(State) should be called by classes overriding this method.
      Overrides:
      setState in class SwitchItem
      Parameters:
      state - new state of this item
    • setTimeSeries

      public void setTimeSeries(TimeSeries timeSeries)
      Description copied from class: GenericItem
      Set a new time series.

      Subclasses may override this method in order to do necessary conversions upfront. Afterwards, GenericItem.applyTimeSeries(TimeSeries) should be called by classes overriding this method.

      A time series may only contain events that are compatible with the item's internal state.

      Overrides:
      setTimeSeries in class SwitchItem
      Parameters:
      timeSeries - new time series of this item