Class FeatureProcessor

java.lang.Object
org.openremote.agent.protocol.velbus.device.FeatureProcessor
Direct Known Subclasses:
AnalogInputProcessor, ChannelProcessor, CounterProcessor, OLEDProcessor, TemperatureProcessor, ThermostatProcessor

public abstract class FeatureProcessor extends Object
Base class for reading/writing a set of device properties that relate to a feature/capability. A FeatureProcessor will be used as a singleton and must therefore not store any device specific state.
  • Constructor Details

    • FeatureProcessor

      protected FeatureProcessor()
  • Method Details

    • getPropertyDescriptors

      public abstract List<FeatureProcessor.PropertyDescriptor> getPropertyDescriptors(VelbusDeviceType deviceType)
    • getStatusRequestPackets

      public List<VelbusPacket> getStatusRequestPackets(VelbusDevice device)
      Get the packets that need to be sent to the device to get the state data of this feature's properties
    • getPropertyWritePackets

      public abstract List<VelbusPacket> getPropertyWritePackets(VelbusDevice device, String property, Object value)
      Asks the processor to generate the packets required to write the requested value to this property.

      Once a processor returns a non null value then no other processors will be asked to handle the write

    • processReceivedPacket

      public abstract boolean processReceivedPacket(VelbusDevice device, VelbusPacket packet)
      Allows this feature processor to handle the inbound packet. If a processor handles a packet then it should set the packets VelbusPacket.isHandled() flag.

      The processor can prevent other processors from processing the packet by returning true (processors should only do this if they are certain no other processor is interested in the packet).

      Returns:
      whether or not to allow other processors to process the packet.