Class InsteonSequence

java.lang.Object
jmri.jmrix.powerline.InsteonSequence

public class InsteonSequence
extends 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.

  • Field Details

  • Constructor Details

  • Method Details

    • 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
    • getCommand

      Retrieve the next command in the sequence
      Returns:
      single Insteon cmd
    • functionName

      public static 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 String formatAddressByte​(int b)
      Pretty-print an address code
      Parameters:
      b - address as value
      Returns:
      text of address explained
    • formatCommandByte

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

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

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