<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.hubitat.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bcopeland</id>
	<title>Hubitat Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.hubitat.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bcopeland"/>
	<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=Special:Contributions/Bcopeland"/>
	<updated>2026-04-30T06:23:22Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=Developer_Documentation&amp;diff=5317</id>
		<title>Developer Documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=Developer_Documentation&amp;diff=5317"/>
		<updated>2021-11-24T18:02:38Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* LIFX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;App Structure&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[App_Definition|&amp;lt;big&amp;gt;Definition&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[App_Preferences|&amp;lt;big&amp;gt;Preferences&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[App_Code|&amp;lt;big&amp;gt;Code&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[App_OAuth|&amp;lt;big&amp;gt;OAuth Process&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Driver Structure&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[Device_Definition|&amp;lt;big&amp;gt;Definition&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Device_Preferences|&amp;lt;big&amp;gt;Preferences&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Device_Code|&amp;lt;big&amp;gt;Code&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Method Documentation&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[App_Object|&amp;lt;big&amp;gt;App&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Driver_Object|&amp;lt;big&amp;gt;Driver&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Common_Methods_Object|&amp;lt;big&amp;gt;Common Methods&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Attribute_Object|&amp;lt;big&amp;gt;Attribute&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Capability_Object|&amp;lt;big&amp;gt;Capability&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Command_Object|&amp;lt;big&amp;gt;Command&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Device_Object|&amp;lt;big&amp;gt;Device&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Event_Object|&amp;lt;big&amp;gt;Event&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Hub_Object|&amp;lt;big&amp;gt;Hub&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[HubAction_Object|&amp;lt;big&amp;gt;HubAction&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[HubMultiAction_Object|&amp;lt;big&amp;gt;HubMultiAction&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Protocol_Object|&amp;lt;big&amp;gt;Protocol&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[InstalledApp_Object|&amp;lt;big&amp;gt;InstalledApp&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Location_Object|&amp;lt;big&amp;gt;Location&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Mode_Object|&amp;lt;big&amp;gt;Mode&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[State_Object|&amp;lt;big&amp;gt;State&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Zwave_Object|&amp;lt;big&amp;gt;Zwave&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Zigbee_Object|&amp;lt;big&amp;gt;Zigbee&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[HexUtils_Object|&amp;lt;big&amp;gt;HexUtils&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[ColorUtils_Object|&amp;lt;big&amp;gt;ColorUtils&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[NetworkUtils_Object|&amp;lt;big&amp;gt;NetworkUtils&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;App Interfaces&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[Hubitat® Safety Monitor Interface|&amp;lt;big&amp;gt;Hubitat&amp;lt;sup&amp;gt;®&amp;lt;/sup&amp;gt; Safety Monitor Interface&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Driver Interfaces&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[EventStream_Interface|&amp;lt;big&amp;gt;EventStream Interface&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Telnet_Interface|&amp;lt;big&amp;gt;Telnet Interface&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Websocket_Interface|&amp;lt;big&amp;gt;Websocket Interface&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[Raw_Socket_Interface|&amp;lt;big&amp;gt;Raw Socket Interface&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[MQTT_Interface|&amp;lt;big&amp;gt;MQTT Interface&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;ZWave Classes&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[ZWave_Classes|&amp;lt;big&amp;gt;ZWave Classes&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;LIFX&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[LIFX_Classes|&amp;lt;big&amp;gt;LIFX Classes&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[LIFX_Structures|&amp;lt;big&amp;gt;LIFX Structures&amp;lt;/big&amp;gt;]]&lt;br /&gt;
:[[LIFX_Methods|&amp;lt;big&amp;gt;LIFX Methods&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
==&amp;lt;big&amp;gt;Capabilities&amp;lt;/big&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
:[[Driver_Capability_List|&amp;lt;big&amp;gt;Driver&amp;lt;/big&amp;gt; &amp;lt;big&amp;gt;Capability List&amp;lt;/big&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
[[File:Doc Card Document List.png|frameless|alt=Go to the full document list|link=Hubitat_Elevation_Documentation]]&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5316</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5316"/>
		<updated>2021-11-24T17:58:26Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfo===&lt;br /&gt;
Packet 34&lt;br /&gt;
===StateInfo===&lt;br /&gt;
Packet 35&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
  class hubitat.lifx.commands.Get64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.Set64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
  class hubitat.lifx.commands.GetTileEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
  class hubitat.lifx.commands.SetTileEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
      Short paletteCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; palette&lt;br /&gt;
  &lt;br /&gt;
      static Short TILE_EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED1 = 0x01&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_MORPH = 0x02&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_FLAME = 0x03&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED2 = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;br /&gt;
  class hubitat.lifx.commands.StateTileEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
      Short paletteCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; palette&lt;br /&gt;
  &lt;br /&gt;
      static Short TILE_EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED1 = 0x01&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_MORPH = 0x02&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_FLAME = 0x03&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED2 = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5315</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5315"/>
		<updated>2021-11-24T17:56:49Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateTileEffect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
  class hubitat.lifx.commands.Get64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.Set64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
  class hubitat.lifx.commands.GetTileEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
  class hubitat.lifx.commands.SetTileEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
      Short paletteCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; palette&lt;br /&gt;
  &lt;br /&gt;
      static Short TILE_EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED1 = 0x01&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_MORPH = 0x02&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_FLAME = 0x03&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED2 = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;br /&gt;
  class hubitat.lifx.commands.StateTileEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
      Short paletteCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; palette&lt;br /&gt;
  &lt;br /&gt;
      static Short TILE_EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED1 = 0x01&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_MORPH = 0x02&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_FLAME = 0x03&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED2 = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5314</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5314"/>
		<updated>2021-11-24T17:55:54Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetTileEffect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
  class hubitat.lifx.commands.Get64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.Set64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
  class hubitat.lifx.commands.GetTileEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
  class hubitat.lifx.commands.SetTileEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
      Short paletteCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; palette&lt;br /&gt;
  &lt;br /&gt;
      static Short TILE_EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED1 = 0x01&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_MORPH = 0x02&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_FLAME = 0x03&lt;br /&gt;
      static Short TILE_EFFECT_TYPE_RESERVED2 = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5313</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5313"/>
		<updated>2021-11-24T17:53:24Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetTileEffect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
  class hubitat.lifx.commands.Get64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.Set64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
  class hubitat.lifx.commands.GetTileEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5312</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5312"/>
		<updated>2021-11-24T17:52:56Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* Set64 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
  class hubitat.lifx.commands.Get64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.Set64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5311</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5311"/>
		<updated>2021-11-24T17:51:57Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* Get64 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
  class hubitat.lifx.commands.Get64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5310</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5310"/>
		<updated>2021-11-24T17:51:04Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* Set64 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short length&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      Long duration&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5309</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5309"/>
		<updated>2021-11-24T17:29:22Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* State64 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
  class hubitat.lifx.commands.State64 {&lt;br /&gt;
      Short tileIndex&lt;br /&gt;
      Short x&lt;br /&gt;
      Short y&lt;br /&gt;
      Short width&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5308</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5308"/>
		<updated>2021-11-24T17:27:08Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateDeviceChain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
  class hubitat.lifx.commands.StateDeviceChain {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Tile|hubitat.lifx.structures.Tile]]&amp;gt; tileDevices&lt;br /&gt;
      Short tileDevicesCount&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5307</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5307"/>
		<updated>2021-11-24T17:24:36Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetDeviceChain */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
  class hubitat.lifx.commands.GetDeviceChain {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5306</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5306"/>
		<updated>2021-11-24T15:31:44Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetExtendedColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5305</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5305"/>
		<updated>2021-11-24T15:31:05Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateExtendedColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;[[LIFX Structures#Color|hubitat.lifx.structures.Color]]&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5304</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5304"/>
		<updated>2021-11-24T15:27:16Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateRPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
  class hubitat.lifx.commands.StateRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5303</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5303"/>
		<updated>2021-11-24T15:26:54Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetRPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
  class hubitat.lifx.commands.SetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5302</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5302"/>
		<updated>2021-11-24T15:26:11Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetRPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
  class hubitat.lifx.commands.GetRPower {&lt;br /&gt;
      Short relayIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5301</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5301"/>
		<updated>2021-11-24T15:24:52Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateExtendedColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Integer zonesCount&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5300</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5300"/>
		<updated>2021-11-24T15:23:55Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetExtendedColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetExtendedColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5299</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5299"/>
		<updated>2021-11-24T15:23:41Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetExtendedColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
  class hubitat.lifx.commands.GetExtendedColorZones {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5298</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5298"/>
		<updated>2021-11-24T15:23:07Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetExtendedColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
      Integer zoneIndex&lt;br /&gt;
      Short colorsCount&lt;br /&gt;
      List&amp;lt;hubitat.lifx.structures.Color&amp;gt; colors&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5297</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5297"/>
		<updated>2021-11-24T15:15:36Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateMultiZoneEffect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5296</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5296"/>
		<updated>2021-11-24T15:14:17Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetMultiZoneEffect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
  class hubitat.lifx.commands.SetMultiZoneEffect {&lt;br /&gt;
      Long instanceId&lt;br /&gt;
      Short type&lt;br /&gt;
      Long speed&lt;br /&gt;
      Long duration&lt;br /&gt;
      byte[] parameters&lt;br /&gt;
  &lt;br /&gt;
      static Short EFFECT_TYPE_OFF = 0x00&lt;br /&gt;
      static Short EFFECT_TYPE_MOVE = 0x01&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED1 = 0x02&lt;br /&gt;
      static Short EFFECT_TYPE_RESERVED2 = 0x03&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5295</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5295"/>
		<updated>2021-11-24T15:12:05Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetMultiZoneEffect */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
  class hubitat.lifx.commands.GetMultiZoneEffect {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5294</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5294"/>
		<updated>2021-11-24T15:11:20Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateZone */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
  class hubitat.lifx.commands.StateZone {&lt;br /&gt;
      Short zonesCount&lt;br /&gt;
      Short zoneIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5293</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5293"/>
		<updated>2021-11-24T15:09:39Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
  class hubitat.lifx.commands.GetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5292</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5292"/>
		<updated>2021-11-24T14:57:19Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetColorZones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
  class hubitat.lifx.commands.SetColorZones {&lt;br /&gt;
      Short startIndex&lt;br /&gt;
      Short endIndex&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
      Short apply&lt;br /&gt;
  &lt;br /&gt;
      static Short APPLY_NO_APPLY = 0x00&lt;br /&gt;
      static Short APPLY_APPLY = 0x01&lt;br /&gt;
      static Short APPLY_APPLY_ONLY = 0x02&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5291</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5291"/>
		<updated>2021-11-24T14:53:06Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateLastHevCycleResult */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
  class hubitat.lifx.commands.StateLastHevCycleResult {&lt;br /&gt;
      Short result&lt;br /&gt;
  &lt;br /&gt;
      static Short RESULT_SUCCESS = 0x00&lt;br /&gt;
      static Short RESULT_BUSY = 0x01&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_RESET = 0x02&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_HOMEKIT = 0x03&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_LAN = 0x04&lt;br /&gt;
      static Short RESULT_INTERRUPTED_BY_CLOUD = 0x05&lt;br /&gt;
      static Short RESULT_NONE = 0xFF&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5290</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5290"/>
		<updated>2021-11-24T14:51:20Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetLastHevCycleResult */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
  class hubitat.lifx.commands.GetLastHevCycleResult {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5289</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5289"/>
		<updated>2021-11-24T14:50:55Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateHevCycleConfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5288</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5288"/>
		<updated>2021-11-24T14:50:13Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetHevCycleConfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycleConfiguration {&lt;br /&gt;
      Boolean indication&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5287</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5287"/>
		<updated>2021-11-24T14:49:32Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetHevCycleConfiguration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycleConfiguration {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5286</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5286"/>
		<updated>2021-11-24T14:48:58Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateHevCycle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
  class hubitat.lifx.commands.StateHevCycle {&lt;br /&gt;
      Long duration&lt;br /&gt;
      Long remaining&lt;br /&gt;
      Boolean lastPower&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5285</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5285"/>
		<updated>2021-11-24T14:48:12Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetHevCycle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
  class hubitat.lifx.commands.SetHevCycle {&lt;br /&gt;
      Boolean enabled&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5284</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5284"/>
		<updated>2021-11-24T14:47:11Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetHevCycle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
  class hubitat.lifx.commands.GetHevCycle {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5283</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5283"/>
		<updated>2021-11-24T14:46:44Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetInfrared */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
  class hubitat.lifx.commands.SetInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5282</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5282"/>
		<updated>2021-11-24T14:46:09Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateInfrared */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
  class hubitat.lifx.commands.StateInfrared {&lt;br /&gt;
      Integer brightness&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5281</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5281"/>
		<updated>2021-11-24T14:44:18Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetInfrared */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
  class hubitat.lifx.commands.GetInfrared {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5280</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5280"/>
		<updated>2021-11-24T14:43:44Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetWaveformOptional */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveformOptional {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
      Boolean hueSet&lt;br /&gt;
      Boolean saturationSet&lt;br /&gt;
      Boolean brightnessSet&lt;br /&gt;
      Boolean kelvinSet&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5279</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5279"/>
		<updated>2021-11-24T14:40:29Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetWaveform */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      static Short WAVEFORM_SAW = 0x00&lt;br /&gt;
      static Short WAVEFORM_SINE = 0x01&lt;br /&gt;
      static Short WAVEFORM_HALF_SINE = 0x02&lt;br /&gt;
      static Short WAVEFORM_TRIANGLE = 0x03&lt;br /&gt;
      static Short WAVEFORM_PULSE = 0x04&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5278</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5278"/>
		<updated>2021-11-24T14:38:43Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* StateLightPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
  class hubitat.lifx.commands.StateLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5277</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5277"/>
		<updated>2021-11-24T14:38:05Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetLightPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
  class hubitat.lifx.commands.SetLightPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
      Integer duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5276</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5276"/>
		<updated>2021-11-24T14:37:15Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetLightPower */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
  class hubitat.lifx.commands.GetLightPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5275</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5275"/>
		<updated>2021-11-24T14:36:40Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* LightState */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
  class hubitat.lifx.commands.LightState {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Integer power&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5274</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5274"/>
		<updated>2021-11-24T14:35:26Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetWaveform */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
  class hubitat.lifx.commands.SetWaveform {&lt;br /&gt;
      Boolean isTransient&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long period&lt;br /&gt;
      Float cycles&lt;br /&gt;
      Short skewRatio&lt;br /&gt;
      Short waveform&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5273</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5273"/>
		<updated>2021-11-24T14:32:00Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* SetColor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
  class hubitat.lifx.commands.SetColor {&lt;br /&gt;
      Integer hue&lt;br /&gt;
      Integer saturation&lt;br /&gt;
      Integer brightness&lt;br /&gt;
      Integer kelvin&lt;br /&gt;
      Long duration&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5272</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5272"/>
		<updated>2021-11-24T14:30:56Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetColor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
  class hubitat.lifx.commands.GetColor {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5271</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5271"/>
		<updated>2021-11-24T14:30:25Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.EchoRequest {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.EchoResponse {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5270</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5270"/>
		<updated>2021-11-24T14:29:37Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* Device */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
  class hubitat.lifx.commands.SetReboot {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
  class hubitat.lifx.commands.GetLocation {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
  class hubitat.lifx.commands.SetLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
  class hubitat.lifx.commands.StateLocation {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
  class hubitat.lifx.commands.SetGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
  class hubitat.lifx.commands.StateGroup {&lt;br /&gt;
      String uuid&lt;br /&gt;
      String label&lt;br /&gt;
      Long updatedAt&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
  class hubitat.lifx.commands.GetGroup {&lt;br /&gt;
      byte[] echoing&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5269</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5269"/>
		<updated>2021-11-24T14:23:02Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetInfo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
	<entry>
		<id>https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5268</id>
		<title>LIFX Classes</title>
		<link rel="alternate" type="text/html" href="https://docs.hubitat.com/index.php?title=LIFX_Classes&amp;diff=5268"/>
		<updated>2021-11-24T14:19:22Z</updated>

		<summary type="html">&lt;p&gt;Bcopeland: /* GetInfo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Top}}&lt;br /&gt;
==Discovery==&lt;br /&gt;
===GetService===&lt;br /&gt;
Packet 2&lt;br /&gt;
  class hubitat.lifx.commands.GetService {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateService===&lt;br /&gt;
Packet 3&lt;br /&gt;
  class hubitat.lifx.commands.StateService {&lt;br /&gt;
      Short service&lt;br /&gt;
      Long port&lt;br /&gt;
      &lt;br /&gt;
      static Short SERVICE_UDP = 0x01&lt;br /&gt;
      static Short SERVICE_RESERVED1 = 0x02&lt;br /&gt;
      static Short SERVICE_RESERVED2 = 0x03&lt;br /&gt;
      static Short SERVICE_RESERVED3 = 0x04&lt;br /&gt;
      static Short SERVICE_RESERVED4 = 0x05&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
==Device==&lt;br /&gt;
===GetHostFirmware===&lt;br /&gt;
Packet 14&lt;br /&gt;
  class hubitat.lifx.commands.GetHostFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateHostFirmware===&lt;br /&gt;
Packet 15&lt;br /&gt;
  class hubitat.lifx.commands.StateHostFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiInfo===&lt;br /&gt;
Packet 16&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiInfo===&lt;br /&gt;
Packet 17&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiInfo {&lt;br /&gt;
      Float signal&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetWifiFirmware===&lt;br /&gt;
Packet 18&lt;br /&gt;
  class hubitat.lifx.commands.GetWifiFirmware {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateWifiFirmware===&lt;br /&gt;
Packet 19&lt;br /&gt;
  class hubitat.lifx.commands.StateWifiFirmware {&lt;br /&gt;
      Long build&lt;br /&gt;
      Integer versionMinor&lt;br /&gt;
      Integer versionMajor&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetPower===&lt;br /&gt;
Packet 20&lt;br /&gt;
  class hubitat.lifx.commands.GetPower {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetPower===&lt;br /&gt;
Packet 21&lt;br /&gt;
  class hubitat.lifx.commands.SetPower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StatePower===&lt;br /&gt;
Packet 22&lt;br /&gt;
  class hubitat.lifx.commands.StatePower {&lt;br /&gt;
      Integer level&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetLabel===&lt;br /&gt;
Packet 23&lt;br /&gt;
  class hubitat.lifx.commands.GetLabel {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetLabel===&lt;br /&gt;
Packet 24&lt;br /&gt;
  class hubitat.lifx.commands.SetLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateLabel===&lt;br /&gt;
Packet 25&lt;br /&gt;
  class hubitat.lifx.commands.StateLabel {&lt;br /&gt;
      String label&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetVersion===&lt;br /&gt;
Packet 32&lt;br /&gt;
  class hubitat.lifx.commands.GetVersion {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===StateVersion===&lt;br /&gt;
Packet 33&lt;br /&gt;
  class hubitat.lifx.commands.StateVersion {&lt;br /&gt;
      Long vendor&lt;br /&gt;
      Long product&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===GetInfo===&lt;br /&gt;
Packet 34&lt;br /&gt;
  class hubitat.lifx.commands.GetInfo {&lt;br /&gt;
  &lt;br /&gt;
      byte[] getPayload()&lt;br /&gt;
      String format()&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
===SetReboot===&lt;br /&gt;
Packet 38&lt;br /&gt;
===GetLocation===&lt;br /&gt;
Packet 48&lt;br /&gt;
===SetLocation===&lt;br /&gt;
Packet 49&lt;br /&gt;
===StateLocation===&lt;br /&gt;
Packet 50&lt;br /&gt;
===GetGroup===&lt;br /&gt;
Packet 51&lt;br /&gt;
===SetGroup===&lt;br /&gt;
Packet 52&lt;br /&gt;
===StateGroup===&lt;br /&gt;
Packet 53&lt;br /&gt;
===EchoRequest===&lt;br /&gt;
Packet 58&lt;br /&gt;
===EchoResponse===&lt;br /&gt;
Packet 59&lt;br /&gt;
==Light==&lt;br /&gt;
===GetColor===&lt;br /&gt;
Packet 101&lt;br /&gt;
===SetColor===&lt;br /&gt;
Packet 102&lt;br /&gt;
===SetWaveform===&lt;br /&gt;
Packet 103&lt;br /&gt;
===LightState===&lt;br /&gt;
Packet 107&lt;br /&gt;
===GetLightPower===&lt;br /&gt;
Packet 116&lt;br /&gt;
===SetLightPower===&lt;br /&gt;
Packet 117&lt;br /&gt;
===StateLightPower===&lt;br /&gt;
Packet 118&lt;br /&gt;
===SetWaveformOptional===&lt;br /&gt;
Packet 119&lt;br /&gt;
===GetInfrared===&lt;br /&gt;
Packet 120&lt;br /&gt;
===StateInfrared===&lt;br /&gt;
Packet 121&lt;br /&gt;
===SetInfrared===&lt;br /&gt;
Packet 122&lt;br /&gt;
===GetHevCycle===&lt;br /&gt;
Packet 142&lt;br /&gt;
===SetHevCycle===&lt;br /&gt;
Packet 143&lt;br /&gt;
===StateHevCycle===&lt;br /&gt;
Packet 144&lt;br /&gt;
===GetHevCycleConfiguration===&lt;br /&gt;
Packet 145&lt;br /&gt;
===SetHevCycleConfiguration===&lt;br /&gt;
Packet 146&lt;br /&gt;
===StateHevCycleConfiguration===&lt;br /&gt;
Packet 147&lt;br /&gt;
===GetLastHevCycleResult===&lt;br /&gt;
Packet 148&lt;br /&gt;
===StateLastHevCycleResult===&lt;br /&gt;
Packet 149&lt;br /&gt;
==MultiZone==&lt;br /&gt;
===SetColorZones===&lt;br /&gt;
Packet 501&lt;br /&gt;
===GetColorZones===&lt;br /&gt;
Packet 502&lt;br /&gt;
===StateZone===&lt;br /&gt;
Packet 503&lt;br /&gt;
===GetMultiZoneEffect===&lt;br /&gt;
Packet 507&lt;br /&gt;
===SetMultiZoneEffect===&lt;br /&gt;
Packet 508&lt;br /&gt;
===StateMultiZoneEffect===&lt;br /&gt;
Packet 509&lt;br /&gt;
===SetExtendedColorZones===&lt;br /&gt;
Packet 510&lt;br /&gt;
===GetExtendedColorZones===&lt;br /&gt;
Packet 511&lt;br /&gt;
===StateExtendedColorZones===&lt;br /&gt;
Packet 512&lt;br /&gt;
==Relay==&lt;br /&gt;
===GetRPower===&lt;br /&gt;
Packet 816&lt;br /&gt;
===SetRPower===&lt;br /&gt;
Packet 817&lt;br /&gt;
===StateRPower===&lt;br /&gt;
Packet 818&lt;br /&gt;
==Tile==&lt;br /&gt;
===GetDeviceChain===&lt;br /&gt;
Packet 701&lt;br /&gt;
===StateDeviceChain===&lt;br /&gt;
Packet 702&lt;br /&gt;
===SetUserPosition===&lt;br /&gt;
Packet 703&lt;br /&gt;
===Get64===&lt;br /&gt;
Packet 707&lt;br /&gt;
===State64===&lt;br /&gt;
Packet 711&lt;br /&gt;
===Set64===&lt;br /&gt;
Packet 715&lt;br /&gt;
===GetTileEffect===&lt;br /&gt;
Packet 718&lt;br /&gt;
===SetTileEffect===&lt;br /&gt;
Packet 719&lt;br /&gt;
===StateTileEffect===&lt;br /&gt;
Packet 720&lt;/div&gt;</summary>
		<author><name>Bcopeland</name></author>
		
	</entry>
</feed>