Class InsteonSequence


  • public class InsteonSequence
    extends java.lang.Object
    Represent a sequence of one or more Insteon commands (addresses and functions).

    These are Insteon specific, but not device/interface specific.

    A sequence should consist of addressing (1 or more), and then one or more commands. It can address multiple devices.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  InsteonSequence.Address
      Represent a single "set address" Insteon command
      static interface  InsteonSequence.Command
      Represent a single Insteon command, which is either a "set address" or "do function" operation
      static class  InsteonSequence.ExtData
      Represent a single "Extended Data" Insteon command
      static class  InsteonSequence.Function
      Represent a single "do function" Insteon command
    • Constructor Summary

      Constructors 
      Constructor Description
      InsteonSequence()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addAddress​(int idhighbyte, int idmiddlebyte, int idlowbyte)
      Append a new "set address" operation to the sequence
      void addFunction​(int idhighbyte, int idmiddlebyte, int idlowbyte, int function, int flag, int command1, int command2)
      Append a new "do function" operation to the sequence
      static int decode​(int i)
      Get house (A-P as 1-16) or device (1-16) from line-coded value.
      static int encode​(int i)
      For the house (A-P) and device (1-16) codes, get the line-coded value.
      static java.lang.String formatAddressByte​(int b)
      Pretty-print an address code
      static java.lang.String formatCommandByte​(int b)
      Pretty-print a function code
      static java.lang.String functionName​(int i)
      Return a human-readable name for a function code
      InsteonSequence.Command getCommand()
      Retrieve the next command in the sequence
      static java.lang.String houseCodeToText​(int hC)
      Translate House Code to text
      static java.lang.String houseValueToText​(int hV)
      Translate House Value (1 to 16) to text
      void reset()
      Next getCommand will be the first in the sequence
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • addFunction

        public void addFunction​(int idhighbyte,
                                int idmiddlebyte,
                                int idlowbyte,
                                int function,
                                int flag,
                                int command1,
                                int command2)
        Append a new "do function" operation to the sequence
        Parameters:
        idhighbyte - 1st id value
        idmiddlebyte - 2nd id value
        idlowbyte - 3rd id value
        function - function
        flag - option flag
        command1 - cmd1
        command2 - cmd2
      • addAddress

        public void addAddress​(int idhighbyte,
                               int idmiddlebyte,
                               int idlowbyte)
        Append a new "set address" operation to the sequence
        Parameters:
        idhighbyte - 1st addr
        idmiddlebyte - 2nd addr
        idlowbyte - 3rd addr
      • reset

        public void reset()
        Next getCommand will be the first in the sequence
      • functionName

        public static java.lang.String functionName​(int i)
        Return a human-readable name for a function code
        Parameters:
        i - function value
        Returns:
        text of the fuction
      • encode

        public static int encode​(int i)
        For the house (A-P) and device (1-16) codes, get the line-coded value. Argument is from 1 to 16 only.
        Parameters:
        i - code to convert
        Returns:
        converted code
      • decode

        public static int decode​(int i)
        Get house (A-P as 1-16) or device (1-16) from line-coded value.
        Parameters:
        i - encoded value
        Returns:
        int value
      • formatAddressByte

        public static java.lang.String formatAddressByte​(int b)
        Pretty-print an address code
        Parameters:
        b - address as value
        Returns:
        text of address explained
      • formatCommandByte

        public static java.lang.String formatCommandByte​(int b)
        Pretty-print a function code
        Parameters:
        b - function code value
        Returns:
        text of function code
      • houseValueToText

        public static java.lang.String houseValueToText​(int hV)
        Translate House Value (1 to 16) to text
        Parameters:
        hV - value for housecode
        Returns:
        text for housecode
      • houseCodeToText

        public static java.lang.String houseCodeToText​(int hC)
        Translate House Code to text
        Parameters:
        hC - housecode value
        Returns:
        text for the housecode