<?xml version="1.0" encoding="utf-8"?>
<!--
              !!!!!!!!!!!!!!!!!!!!  W A R N I N G  !!!!!!!!!!!!!!!!!!!!
                             This file is auto-generated
                  see https://github.com/grodansparadis/vscp-classes
                          Generated: 2024-04-08 08:39:24.159237
-->
<vscpevents>
<class id="0" name="VSCP Protocol Functionality" token="CLASS1.PROTOCOL" description="## Description\n\nThis class defines some types that must be implemented by every node that implements the VSCP protocol. The types in this class must be handled by all level I and Level II nodes. Note also that this class is repeated as Level II class=512 with the only difference that GUID&amp;apos;s are used instead of nicknames. This means that for all Level II class=512 events the data described here is preceded by the 16-bit destination GUID (address of receiver) stored with MSB first followed by the data specified here. Nickname is present also if documented below but have no meaning and should be discarded.\n\nAll other events are optional except for **one exception**. All nodes should send [CLASS1.INFORMATION, Type=9 (HEARTBEAT)](./class1.information.md#type9) at least once every minute.\n" >
<type id="0" token="VSCP_TYPE_PROTOCOL_GENERAL" name="General event." description="General Event." />
<type id="1" token="VSCP_TYPE_PROTOCOL_SEGCTRL_HEARTBEAT" name="Segment Controller Heartbeat." description="**Not mandatory.** Implement in device if needed by application. \n\nA segment controller sends this event once a second on the segment that it controls. The data field contains the 8-bit CRC of the segment controller GUID and the time since the epoch (00:00:00 UTC, January 1, 1970) as a 32-bit value. A node that receive (and recognize) this event could respond with a CLASS1.INFORMATION, Type=9 event (HEARTBEAT) and should do so if it does not send out a regular heartbeat event.\n\nOther nodes can originate this event on the segment. For these nodes the data part, as specified below, should be omitted. A better choice for periodic heartbeat events from a node may be [CLASS1.INFORMATION, Type=9 (HEARTBEAT)](./class1.information.md#type9)\n\nAll nodes that recognize this event should save the 8-bit CRC in non-volatile storage and use it on power up. When a node starts up on a segment it should begin to listen for the Segment controller heartbeat. When/if it is received the node compares it with the stored value and if equal and the node is assigned a nickname-ID it continues to its working mode. If different, the node has detected that it has been moved to a new segment and therefore must drop its nickname-ID and enters the configuration mode to obtain a new nickname-ID from the segment controller.\n\nIf the node is in working mode and its nickname-ID changes, the node should do a complete restart after first setting all controls to their default state.\n\nAs a segment can be without a segment controller this event is not available on all segments and is not mandatory. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | 8-bit CRC of the segment controller GUID. | \n | 1 | MSB of time since epoch (optional). |\n | 2  | Time since epoch (optional). | \n | 3         | Time since epoch (optional).|\n | 4         | LSB of time since epoch | \n\nUninitiated nodes have the CRC of the segment controller set to 0xFF.\n\nA node that is initialized on a segment and does not receive a Heartbeat can take the role of segment controller if it wishes to do so. Only one node one a segment are allowed to do this fully by setting its nickname=0 and therefore a standard node should not have this feature built in. Any node can however behave like a segment controller but use a nickname other then zero. \n\nTime is UTC.\n" />
<type id="2" token="VSCP_TYPE_PROTOCOL_NEW_NODE_ONLINE" name="New node on line / Probe." description="**Mandatory.** Must be implemented by all level I and Level II devices.\n\nThis is intended for nodes that have been initiated, is part of the segment and is powered up. All nodes that have a nickname-ID that is not set to 0xFF should send this event before they go on line to do their “day to day” work.\n\nNormally all nodes should save their assigned nickname-ID in non-volatile memory and use this assigned ID when powered up. A segment controller can however keep track of nodes that it controls and reassign the ID to a node that it did not get a new node on-line event from. This is the method a segment controller uses to detect nodes that have been removed from the segment.\n\nFor the nickname discovery procedure this event is used as the probe. The difference between a probe and a new node on line is that the later has the same originating nickname as value in byte 0.\n\nIf a node send this event with the unassigned ID 0xFF and byte 0 set to 0xFF it has given up the search for a free ID.\n\nIt is recommended that also level II nodes send this event when they come alive. In this case the target address is the 16-byte data GUID of the node with MSB in the first byte. \n\nStandard form (Mandatory)\n\n | Data | Description | \n | :----: | ----------- | \n | 0    | **Target address**. This is the probe nickname that the new node is using to test if this is a valid target node. If there is a node with this nickname address it should answer with probe ACK. A probe always has 0xff as it&amp;apos;s own temporary nickname while a new node on line use a non 0xff nickname. | \n\n Extended Form for node with 16-bit nickname. (Mandatory for nodes with 16-bit nickname)\n\n | Data | Description | \n | :----: | ----------- | \n | 0    | **Target address**. This is the MSB of the probe nickname that the new node is using to test if this is a valid target node. If there is a node with this nickname address it should answer with probe ACK. A probe always has 0xff as it&amp;apos;s own temporary nickname while a new node on line use a non 0xff nickname. | \n | 1 | LSB of probe nickname. |\n\nOn a Level II system.\n\n | Data | Description | \n | :----: | ----------- | \n | 0-15 | **GUID**. This is the GUID of the node. MSB in byte 0. | \n\n " />
<type id="3" token="VSCP_TYPE_PROTOCOL_PROBE_ACK" name="Probe ACK." description="**Mandatory.** Must be implemented by all level I and level II devices.\n\nThis event is sent from a node as a response to a probe. There are no arguments.\n\n" />
<type id="4" token="VSCP_TYPE_PROTOCOL_RESERVED4" name="Reserved for future use." description="Reserved for future use.\n\n" />
<type id="5" token="VSCP_TYPE_PROTOCOL_RESERVED5" name="Reserved for future use." description="Reserved for future use.\n" />
<type id="6" token="VSCP_TYPE_PROTOCOL_SET_NICKNAME" name="Set nickname-ID for node." description="**Mandatory.** Must be implemented by all level I devices.\n\nThis event can be used to change the nickname for a node. The node just uses the new nickname and don&amp;apos;t start nickname discovery or similar.\n\nStandard form. (Mandatory).\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | Old nickname for node. | \n | 1  | The new nickname for the node. | \n\n Extended form that can handle 16-bit nickname (not mandatory for devices with 8-bit nickname)\n\n  | Data byte | Description | \n | :---------: | ----------- | \n | 0  | MSB of old nickname for node. | \n | 1  | LSB of old nickname for the node. |\n | 2  | MSB of new nickname for node. | \n | 3  | LSB of new nickname for the node. |\n\nUse data size to determine between 8-bit and 16-bit node-id format. A 16-bit node should handle a 8-bit nickname as a 16-bit node id with MSB = 0. It should handle also the 8-bit node-id version of the event.\n" />
<type id="7" token="VSCP_TYPE_PROTOCOL_NICKNAME_ACCEPTED" name="Nickname-ID accepted." description="**Mandatory.** Must be implemented by all level I devices.\n\nA node sends this event to confirm that it accepts its assigned nickname-ID. When sending this event the node uses its newly assigned nickname address.\n" />
<type id="8" token="VSCP_TYPE_PROTOCOL_DROP_NICKNAME" name="Drop nickname-ID / Reset Device." description="**Mandatory.** Must be implemented by all level I devices.\n\nRequest a node to drop its nickname. The node should drop its nickname and then behave in the same manner as when it was first powered up on the segment. \n\nStandard form (Mandatory)\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | The current nickname for the node. |\n | 1  | **Optional:** Flags. | \n | 2  | **Optional:** Time the node should wait before it starts a nickname discovery or starts the device. The time is in seconds. | \n\n Extended Form for node with 16-bit nickname. (Mandatory for nodes with 16-bit nickname)\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | MSB of current nickname for the node. |\n | 1  | LSB of current nickname for node |\n | 2  | **Optional:** Flags. | \n | 3  | **Optional:** Time the node should wait before it starts a nickname discovery or starts the device. The time is in seconds. | \n\nUse data size to determine between 8-bit and 16-bit node-id format. A 16-bit node should handle a 8-bit nickname as a 16-bit node id with MSB = 0. It should handle also the 8-bit node-id version of the event.\n\n**Optional byte 1 flags**\n\n | Bit | Description | \n | :---: | ----------- | \n | 0   | Reserved. | \n | 1   | Reserved. | \n | 2   | Reserved. | \n | 3   | Reserved. | \n | 4   | Reserved. | \n | 5   | Reset device. Keep nickname. | \n | 6   | Set persistent storage to default.| \n | 7   | Go idle. Do not start up again. | \n\nSo if byte 1 and 2 is not in event restart device, set default parameters and do a nickname discovery. If byte 1 and 2 are present and bit 5 is set load defaults into device, restart but keep nickname. In all cases byte 2 delays before the node is restarted.\n\n 1.  With just one byte as an argument. The node should do a standard node discovery in the same way as if the status button of the node is pressed. Preserve initiated data,\n 2.  If byte 1 is present bit 5: Just restart. Don&amp;apos;t change any data. not even nickname. bit 6: Restart write default to persistent storage. bit 7: die die my darling. If both bit 5 and 6 is set, do 5 and then 6 == 6 or do 6 and then 5 == 6\n 3.  Byte 1 + byte 2 Wait this amount of seconds after the above operation has been carried out.\n\nThere is a variant of this where the GUID is used instead of the nickname to identify the device, [CLASS1.PROTOCOL, Type=23 (GUID drop nickname-ID / reset device.)](./class1.protocol.md#type23).\n\n" />
<type id="9" token="VSCP_TYPE_PROTOCOL_READ_REGISTER" name="Read register." description="**Mandatory.** Must be implemented by all level I devices.\n\nRead a register from a node. \n\n*If a node have several pages with user defined registers Extended Register Read is a better choice to choose for reading as the page also is set when reading register using that type. The standard registers can always be read without setting a page though as they are always mapped into the upper 128 bytes.*\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address. | \n | 1 | Register to read. | \n\nA read/write response event is returned on success.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID (MSB -&gt; LSB) for interface. | \n | 16 | Node id for node to read | \n | 17 | Register to read. | \n" />
<type id="10" token="VSCP_TYPE_PROTOCOL_RW_RESPONSE" name="Read/Write response." description="**Mandatory.** Must be implemented by all level I devices.\n\nResponse for a read/write event. . Note that the data is returned for both a read and a write and can and probably should be checked for validity. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Register read/written. | \n | 1 | Content of register.   | \n\n\n" />
<type id="11" token="VSCP_TYPE_PROTOCOL_WRITE_REGISTER" name="Write register." description="**Mandatory.** Must be implemented by all level I devices.\n\nWrite register content to a node. \n\n*If a node have several pages with user defined registers Extended Register Write is a better choice to choose for writing as the page is also set when writing a register using that type. The standard registers can always be read without setting a page though as they are always mapped into the upper 128 bytes.*\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address.         | \n | 1 | Register to write.    | \n | 2 | Content for register. | \n\nA read/write response event is returned on success.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID (MSB -&gt; LSB). | \n | 16 | Reserved. | \n | 17 | Register to write.   | \n | 18 | Content of register. | \n" />
<type id="12" token="VSCP_TYPE_PROTOCOL_ENTER_BOOT_LOADER" name="Enter boot loader mode." description="\n**Mandatory.** Must be implemented by all devices.\n\nSend NACK (Class=0,Type=14 if no boot-loader implemented)\n\nThis is the first event in the boot loader sequence. The node should stop all other activities when in boot loader mode. This also means that the node should not react on other events (commands) then the boot loader related.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | The nickname for the node. | \n | 1 | Code that select boot loader algorithm to use. | \n | 2 | GUID byte 0 (MSB) | \n | 3 | GUID byte 3 (MSB + 3) | \n | 4 | GUID byte 5 (MSB + 5) | \n | 5 | GUID byte 7 (MSB + 7) | \n | 6 | Content of register 0x92, Page select MSB. | \n | 7 | Content of register 0x93, Page select LSB. | \n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description |\n | :---------: | ----------- | \n | 0-15 | GUID. | \n | 16   | Boot-loader algorithm code. |\n\n\n**Boot-loader Codes**\n\n\n | Code | Algorithm               | \n | :----: | ---------             | \n | 0x00 | VSCP algorithm.         | \n | 0x01 | Microchip PIC algorithm | \n | 0x10 | Atmel AVR algorithm 0   | \n | 0x20 | NXP ARM algorithm 0     | \n | 0x30 | ST ARM algorithm 0      |\n | 0x40 | Freescale algorithm 0   |\n | 0x50 | Espressif algorithm 0   |\n | 0xF0-FE | User defined algorithms |\n | 0xFF | No bootloader available |\n\nAll other codes reserved.\n" />
<type id="13" token="VSCP_TYPE_PROTOCOL_ACK_BOOT_LOADER" name="ACK boot loader mode." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nThis event has no meaning for any node that is not in boot mode and should be disregarded.\n\nThe node confirms that it has entered boot loader mode. This is only sent for the VSCP boot loader algorithm. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of flash block size.            | \n | 1 | Flash block size.                   | \n | 2 | Flash block size.                   | \n | 3 | LSB of flash block size.            | \n | 4 | MSB of number of blocks available.  | \n | 5 | Number of block s available.        | \n | 6 | Number of block s available.        | \n | 7 | LSB of number of blocks available.  |\n\n \n" />
<type id="14" token="VSCP_TYPE_PROTOCOL_NACK_BOOT_LOADER" name="NACK boot loader mode." description="**Mandatory.** Should be implemented by all devices.\n\nThe node was unable to enter boot loader mode. The reason is given by a user specified error code byte. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Optional user defined error code. | \n" />
<type id="15" token="VSCP_TYPE_PROTOCOL_START_BLOCK" name="Start block data transfer." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nBegin transfer of data for a block of memory. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | MSB of block number. | \n | 1         | Block number. | \n | 2         | Block number. | \n | 3         | LSB of block number. | \n | 4         | (optional) Type of Memory we want to write. See table below | \n | 5         | (optional) Bank/Image to be written Used together with byte 4 to specify either separate Flash or EEPROM/MRAM spaces. If absent or set to zero normally, means first memory from the view of the node creator, e.g. internal Flash, internal EEPROM etc. Useful for projects that have internal as well as external EEPROMs so the external one could be addressed with byte5=1. Also with byte4=0 and byte5=1 an SD-Card as well as a second firmware image inside the flash could be addressed. |\n\n**Type of memory to write (byte 4)**\n\n\n | Memory type | Description | \n | :-----------: | ----------- | \n | 0 or byte absent | PROGRAM Flash (status quo for old nodes) | \n | 1 | DATA (EEPROM, MRAM, FRAM) | \n | 2 | CONFIG (Fuses, CPU configuration) | \n | 3 | RAM | \n | 4-255  | Currently undefined - send a NACK as response | \n\nResponse can be \n\n   [CLASS1.PROTOCOL, Type=50 (Start block data transfer ACK)](./class1.protocol.md#type50) \n   \n   or \n   \n   [CLASS1.PROTOCOL, Type=51 (Start block data transfer NACK)](./class1.protocol.md#type51).\n\n   " />
<type id="16" token="VSCP_TYPE_PROTOCOL_BLOCK_DATA" name="Block data." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nData for a block of memory. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | Data.       | \n | 1         | Data.       | \n | 2         | Data.       | \n | 3         | Data.       | \n | 4         | Data.       | \n | 5         | Data.       | \n | 6         | Data.       | \n | 7         | Data.       | \n\nA [CLASS1.PROTOCOL, Type=50 (Block Data ACK)](./class1.protocol.md#type50)\nis sent as a response for each event received.\n\nA [CLASS1.PROTOCOL, Type=51 (Block Data NACK)](./class1.protocol.md#type51)\nis sent on failure.\n\n**Note** If the block to fill is not a multiple of eight the receiving node should handle and discard any excess data. This is true also if more block data frames are received than the block can hold.\n\n**Level II** The size of the block is level II max data (512 bytes) or a smaller block or a mix of both.\n" />
<type id="17" token="VSCP_TYPE_PROTOCOL_BLOCK_DATA_ACK" name="ACK data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nConfirm the reception of a complete data block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of 16-bit CRC for block. | \n | 1 | LSB for 16-bit CRC for block. | \n | 2 | MSB of write pointer.         | \n | 3 | write pointer.                | \n | 4 | write pointer.                | \n | 5 | LSB of write pointer.         | \n\nThe write pointer is the actual pointer after the last data has been written i,e the next position on which data will be written. \n" />
<type id="18" token="VSCP_TYPE_PROTOCOL_BLOCK_DATA_NACK" name="NACK data block." description="\n**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nNACK the reception of data block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined error code. | \n | 1 | MSB of write pointer.    | \n | 2 | write pointer.           | \n | 3 | write pointer.           | \n | 4 | LSB of write pointer.    | \n\nThe write pointer is the actual pointer after the last data has been written i,e the next position on which data will be written. \n" />
<type id="19" token="VSCP_TYPE_PROTOCOL_PROGRAM_BLOCK_DATA" name="Program data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nRequest from a node to program a data block that has been uploaded and confirmed. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of block number. | \n | 1 | Block number.        | \n | 2 | Block number.        | \n | 3 | LSB of block number. | \n" />
<type id="20" token="VSCP_TYPE_PROTOCOL_PROGRAM_BLOCK_DATA_ACK" name="ACK program data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nA node confirms the successful programming of a block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of block number. | \n | 1 | Block number.        | \n | 2 | Block number.        | \n | 3 | LSB of block number. | \n" />
<type id="21" token="VSCP_TYPE_PROTOCOL_PROGRAM_BLOCK_DATA_NACK" name="NACK program data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nA node failed to program a data block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description              | \n | :---------: | -----------              | \n | 0         | User defined error code. | \n | 1         | MSB of block number.     | \n | 2         | Block number.            | \n | 3         | Block number.            | \n | 4         | LSB of block number.     | \n" />
<type id="22" token="VSCP_TYPE_PROTOCOL_ACTIVATE_NEW_IMAGE" name="Activate new image." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nThis command is sent as the last command during the boot-loader sequence. It resets the device and starts it up using the newly loaded code. The 16-bit CRC for the entire program block is sent as an argument. This must be correct for the reset/activation to be performed. NACK boot loader mode will be sent if the CRC is not correct and the node will not leave boot loader mode. \n\n | Data byte | Description | \n | :-------: | ----------- | \n | 0 | 16 bit CRC of full flash data block, MSB | \n | 1 | 16 bit CRC of full flash data block LSB  | \n\nTo leave boot mode just send this event and a dummy CRC. Other methods could have been used to load the code but it can still be activated with this event as long as the CRC is correct. This event has no meaning for any node that is not in boot mode and should be disregarded. \n\nResponse can be \n\n[CLASS1.PROTOCOL, Type=48 (Activate new image ACK)](./class1.protocol.md#type48)\n\nor\n\n[CLASS1.PROTOCOL, Type=49 (Activate new image NACK)](./class1.protocol.md#type49). \n\n" />
<type id="23" token="VSCP_TYPE_PROTOCOL_RESET_DEVICE" name="GUID drop nickname-ID / reset device." description="**Mandatory.** Should be implemented by all level I devices.\n\n&gt; Added in version 1.4.0\n\nThis is a variant of Class=0, Type=8 but here the full GUID is used instead of the nickname to identify the node that should drop its current nickname and enter the node-name discovery procedure.\n\nAs the GUID is 16 bytes this is a multi-frame event. To ease the storage requirements on the nodes only four GUID bytes are send in each frame. The frames must be sent out within one second interval. \n\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | index.      | \n | 1         | GUID byte.  | \n | 2         | GUID byte.  | \n | 3         | GUID byte.  | \n | 4         | GUID byte.  | \n\nwhere index goes from 0-3 and GUID bytes are sent MSB first, like\n\n | Index = Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | \n | -------------- | ------       | ------       | ------       | ------       | \n | Index = 0      | GUID byte 15 | GUID byte 14 | GUID byte 13 | GUID byte 12 | \n | Index = 1      | GUID byte 11 | GUID byte 10 | GUID byte 9  | GUID byte 8  | \n | Index = 2      | GUID byte 7  | GUID byte 6  | GUID byte 5  | GUID byte 4  | \n | Index = 3      | GUID byte 3  | GUID byte 2  | GUID byte 1  | GUID byte 0  | \n\nA device can use just one byte to detect this. This byte is initialized to zero and holds four bits that match correct frames. That is, when this register is equal to 0x0f the nickname should be dropped and the nickname discovery sequence started. The node must also have a timer that reset this byte one second after any of the above frames have been received or when the nickname discovery sequence is started.\n\nHi-level software must take this one second interval into account when more then one node should be initialized. This event can be used to assign nickname-IDs to silent nodes. This is nodes that does not start the nickname discovery process on startup and instead just sits and wait until they are assigned an ID with this event. \n" />
<type id="24" token="VSCP_TYPE_PROTOCOL_PAGE_READ" name="Page read." description="**Mandatory.** Should be implemented by all level I devices.\n\nThe page read is implemented to make it possible to read/write larger blocks of data. Two register positions are reserved to select a base into this storage. This is a 16-bit number pointing to a 256-byte page. This means that a total of 65535 * 256 bytes are accessible with this method (page 0 is the standard registers).\n\nTo read a block of data from the storage, first write the base registers then issue this event and n events will be sent out from the node containing the data from the specified area. If the count pass the border it of the page ( &gt; 0xFF) the transfer will end there.\n\nNote that the page select registers only selects a virtual page that can be accessed with page read/write and not with the ordinary read/write.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID which registers should be read. | \n | 1 | Index into page. | \n | 2 | Number of bytes to read (1-255). | \n\nResponse is \n\n[CLASS1.PROTOCOL, Type=26 (Read page response)](./class1.protocol.md#type26)\n\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID. |\n | 16 | Index into page. | \n | 17 | Number of bytes to read (1-255). | \n\n" />
<type id="25" token="VSCP_TYPE_PROTOCOL_PAGE_WRITE" name="Page write." description="**Mandatory.** Should be implemented by all level I devices.\n\nThe write page is implemented to make it possible to write larger blocks of data. One data-space positions is reserved to select a base into this storage. See Page read for a full description.\n\nIt is only possible to write one 6-byte chunk at a time in contrast to reading several. This is because VSCP at Level I is aimed at low end devices with limited resources meaning little room for buffers. \n\n | Data byte | Description  | \n | :---------: | ----------- |\n | 0 | Node-ID         |\n | 1 | Register start. |\n | 2-7 | Data. |\n\nResponse is \n\n[CLASS1.PROTOCOL, Type=26 (Read Page Response)](./class1.protocol.md#type26)\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15      | GUID.       | \n | 16        | Base index. | \n | 17-…    | Data.       | \n\nData count can be as many as the buffer of the Level II node accepts. \n\n" />
<type id="26" token="VSCP_TYPE_PROTOCOL_RW_PAGE_RESPONSE" name="Read/Write page response." description="**Mandatory.** Should be implemented by all level I devices.\n\nThis is a response frame for the read/write page command. The Sequence number goes from 0 up to the last sent frame for a read page request. \n\n | Data byte | Description      | \n | :---------: | -----------      | \n | 0         | Sequence number. | \n | 1-7       | Data.            | \n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description      | \n | :---------: | -----------      | \n | 0-15      | GUID.            | \n | 16        | Sequence number. | \n | 17-…    | Data.            | \n\nData count can be as many as the buffer of the Level II node accepts. \n" />
<type id="27" token="VSCP_TYPE_PROTOCOL_HIGH_END_SERVER_PROBE" name="High end server/service probe." description="Should be implemented by all devices that work over 802.15.4/Ethernet/Internet or other high end protocols.This event can be broadcasted on a segment by a node to get information about available servers. \n\nThe [VSCP daemon documentation](https://grodansparadis.gitbooks.io/the-vscp-daemon) have a description on how server/service discovery works. \n" />
<type id="28" token="VSCP_TYPE_PROTOCOL_HIGH_END_SERVER_RESPONSE" name="High end server/service response." description="Should be implemented by all devices that work on 802.15.4/Ethernet/Internet and have a Level I link. This is because a Level II device can be present on a Level I bus. A typical example is a Bluetooth gateway. A user find the bus/segment by the Bluetooth device and can then discover other parts of the system through it.\n\nA Level II node respond with [CLASS2.PROTOCOL, Type=32 Level II who is response](./class2.protocol.md#type32) to this event. It is also possible to listen for  [CLASS2.PROTOCOL, Type=20 (0x14) High end server capabilities](./class2.protocol.md#type20) to discover Level II nodes.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | VSCP server low 16-bit capability code MSB | \n | 1 | VSCP server low 16-bit capability code LSB | \n | 2 | Server IP address MSB - or other relevant data as of server capabilities (Network byte order) | \n | 3 | Server IP address - or other relevant data as of server capabilities (Network byte order)     | \n | 4 | Server IP address - or other relevant data as of server capabilities (Network byte order)     | \n | 5 | Server IP address LSB - or other relevant data as of server capabilities (Network byte order) | \n | 6 | Server Port MSB - or other relevant data as of server capabilities | \n | 7 | Server Port LSB - or other relevant data as of server capabilities | \n\nBit codes for capabilities is the same as for the lower 16 bits of [CLASS2.PROTOCOL, Type=20 (0x14) High end server capabilities](class2.protocol.md#type20).\n\n**For programmers:** Bits are defined in [vscp.h](https://github.com/grodansparadis/vscp/blob/master/src/vscp/common/vscp.h).\n\nA node that need a TCP connection to a host. Broadcast HIGH END SERVER PROBE on the segment and waits for HIGH END SERVER RESPONSE from one or more servers to connect to. If a suitable server has responded it can decide to connect to that server. Note that one server can reply with **none, one or many** HIGH END SERVER RESPONSE events.\n\nA server like the VSCP server can span multiple segments and a reply can therefore be received from a remote segment as well. This can be an advantage in some cases and unwanted in some cases. The server configuration should have control on how it is handled. \n\nThe [VSCP daemon documentation](https://grodansparadis.gitbooks.io/the-vscp-daemon) have a description on how server/service discovery works. \n" />
<type id="29" token="VSCP_TYPE_PROTOCOL_INCREMENT_REGISTER" name="Increment register." description="**Mandatory.** Should be implemented by all level I devices.\n\nIncrement a register content by one with no risk of it changing in between \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID | \n | 1 | Register to increment. | \n\nNode should answer with [CLASS1.PROTOCOL, Type=10 (Read/Write register response)](./class1.protocol.md#type10).\n" />
<type id="30" token="VSCP_TYPE_PROTOCOL_DECREMENT_REGISTER" name="Decrement register." description="**Mandatory.** Should be implemented by all level I devices.\n\nDecrement a register content by one with no risk of it changing in between \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID                | \n | 1 | Register to decrement. | \n\nNode should answer with [CLASS1.PROTOCOL, Type=10 (Read/Write register response)](./class1.protocol.md#type10).\n" />
<type id="31" token="VSCP_TYPE_PROTOCOL_WHO_IS_THERE" name="Who is there?" description="**Mandatory.** Must be implemented by all level I and level II devices.\n\nThis event can be used as a fast way to find out which nodes there is on a segment. All nodes receiving it should respond. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID or 0xFF for all nodes. | \n\nResponse for a Level I node is [CLASS1.PROTOCOL, Type=32 (Who is there response)](./class1.prototocol.md#type32).\n    \nA Level II node respond with [CLASS2.PROTOCOL, Type=32 (Level II who is response)](./class2.protocol.md#type32) to this event.\n" />
<type id="32" token="VSCP_TYPE_PROTOCOL_WHO_IS_THERE_RESPONSE" name="Who is there response." description="**Mandatory.** Must be implemented by all devices. Note that the response form a level II device is different than from a level I device.\n\nResponse from node(s) looks like this from a level I device:\n\n | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 | \n | :------: | ------ | ------ | ------ | ------ | ------ | ------ | ------ | \n | 0      | GUID15 | GUID14 | GUID13 | GUID12 | GUID11 | GUID10 | GUID9  | \n | 1      | GUID8  | GUID7  | GUID6  | GUID5  | GUID4  | GUID3  | GUID2  | \n | 2      | GUID1  | GUID0  | MDF0   | MDF1   | MDF2   | MDF3   | MDF4   | \n | 3      | MDF5   | MDF6   | MDF7   | MD8    | MDF9   | MDF10  | MDF11  | \n | 4      | MDF12  | MDF13  | MDF14  | MDF15  | MDF16  | MDF17  | MDF18  | \n | 5      | MDF19  | MDF20  | MDF21  | MDF22  | MDF23  | MDF24  | MDF25  | \n | 6      | MDF26  | MDF27  | MDF28  | MDF29  | MDF30  | MDF31  | 0      | \n\nAll seven frames should be sent also if the MDF URL is shorter than 32 characters,\n\nA level II device should respond with [CLASS2_PROTOCOL, TYPE=32](./class2.protocol.md#type20)\n" />
<type id="33" token="VSCP_TYPE_PROTOCOL_GET_MATRIX_INFO" name="Get decision matrix info." description="**Mandatory**\n\nRequest a node to report size and offset for its decision matrix. \n\n | Data byte | Description   | \n | :---------: | -----------   | \n | 0 | Node address. | \n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID.       | \n\nA node that does not have a decision matrix should return zero rows.\n" />
<type id="34" token="VSCP_TYPE_PROTOCOL_GET_MATRIX_INFO_RESPONSE" name="Decision matrix info response." description="**Mandatory** for level I nodes with a decision matrix\n\nReport the size for the decision matrix and the offset to its storage. The reported size is the number of decision matrix lines. The offset is the offset in the register address counter from 0x00 (See the register model in this document). If the size returned is zero the node does not have a decision matrix. A node without a decision matrix can also skip to implement this event but it&amp;apos;s better if it returns a decision matrix size of zero. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | Matrix size (number of rows). Zero for a device with no decision matrix. | \n | 1 | Offset in register space. | \n | 2 | Optional page start MSB ( Interpret as zero if not sent ) | \n | 3 | Optional page start LSB ( Interpret as zero if not sent ) | \n | 4 | Optional page end MSB ( Interpret as zero if not sent ) Deprecated. Set to zero. | \n | 5 | Optional page end LSB ( Interpret as zero if not sent ) Deprecated. Set to zero. | \n | 6 | For a Level II node this is the size of a decision matrix row. **deprecated** See info below | \n\nThe decision matrix can as noted be stored in paged registers and if so it must be accessed with the paged read/write. \n\n**Level II**: Level II nodes should respond with [CLASS2_PROTOCOL, TYPE=VSCP2_TYPE_PROTOCOL_GET_MATRIX_INFO_RESPONSE](./class2.protocol#type34)\n\n" />
<type id="35" token="VSCP_TYPE_PROTOCOL_GET_EMBEDDED_MDF" name="Get embedded MDF." description="**Not mandatory.**\n\nA node that get this event and has an embedded MDF description in flash or similar respond with the description . \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID. | \n\n" />
<type id="36" token="VSCP_TYPE_PROTOCOL_GET_EMBEDDED_MDF_RESPONSE" name="Embedded MDF response." description="**Not mandatory.** \n\nThis is the response from a Get embedded MDF. The response consist of several frames where an index in byte0/1 is incremented for each frame and MDF data is in byte 2-7.\n\nIf an embedded MDF is not available a response on the form\n\n     byte 0 = 0 \n     byte 1 = 0 \n     byte 2 = 0\n\nshould be sent. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | High byte of MDF description index. |\n | 1 | Low byte of MDF description index.  |\n | 2-7 | MDF data. | \n\nNote that if sending the events back to back some devices will not be able to cope with the data stream. It is therefor advisable to have a short delay between each mdf data frame sent out.\n\n**Level II**: Level II nodes should respond with [CLASS2_PROTOCOL, TYPE=VSCP2_TYPE_PROTOCOL_GET_EMBEDDED_MDF_RESPONSE](./class2.protocol#type36)\n\n\n" />
<type id="37" token="VSCP_TYPE_PROTOCOL_EXTENDED_PAGE_READ" name="Extended page read register." description="**Mandatory.** Must be implemented by all devices.\n\nRead a register from a node with page information.\n\nImplementation must take care so all page register change done by these routines must restore the content of the page registers to there original content when they are done. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address. | \n | 1 | MSB of page where the register is located. | \n | 2 | LSB of page where the register is located. | \n | 3 | Register to read (offset into page). | \n | 4 | Optional: Number of registers to read.     | \n\nIf the number of registers to read is set to zero 256 registers will be read. __Some nodes my have small buffers so this bursts of messages may be a problem.__\n\nAn extended read/write response event is returned on success.\n\nThis means that a register (or a maximum of 256 consecutive registers) located on any page can be read in a single operation.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID. | \n | 16 | MSB of page where the register is located. | \n | 17 | LSB of page where the register is located. | \n | 18  | Register to read. | \n | 19   | Optional: bytes to read (1-255). |\n " />
<type id="38" token="VSCP_TYPE_PROTOCOL_EXTENDED_PAGE_WRITE" name="Extended page write register." description="**Mandatory.** Must be implemented by all devices.\n\nWrite register content to a node.\n\nImplementation must take care so all page register change done by these routines must restore the content of the page registers to there original content when they are done. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address. | \n | 1 | MSB of page where the register is located. | \n | 2 | LSB of page where the register is located. | \n | 3 | Register to write. | \n | 4 | Content for register. | \n | 5,6,7 | Optional extra data bytes to write. | \n\nA read/write response event is returned on success.\n\nEvent allows a register (or a maximum of four consecutive registers) located on any page can be written in a single operation.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID. | \n | 16 | MSB of page where the register is located. | \n | 17 | LSB of page where the register is located. | \n | 18 | Register to write. | \n | 19  | Content of register. byte 20-buffer-size Optional extra data bytes to write. | \n" />
<type id="39" token="VSCP_TYPE_PROTOCOL_EXTENDED_PAGE_RESPONSE" name="Extended page read/write response." description="**Mandatory.** Must be implemented by all devices.\n\nThis is the replay sent for events CLASS1.PROTOCOL, Type=40,41. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index (starts at zero). | \n | 1 | MSB of page where the register is located. | \n | 2 | LSB of page where the register is located. | \n | 3 | Register read/written. | \n | 4 | Content of register. | \n | 5-7 | Content of register if multi register read/write. | \n\nA multi. register read/write can generate up to 256 events of this type. Index will then be increased by one for each event sent. __Some nodes my have small buffers so this bursts of messages may be a problem. Therefore send them with a low priority.__\n" />
<type id="40" token="VSCP_TYPE_PROTOCOL_GET_EVENT_INTEREST" name="Get event interest." description="**Not Mandatory.** Implemented if needed.\n\nIt is possible to ask a node which event(s) it is interested in with this event. If not implemented the node is supposed to be interested in all events.\n\nAll nodes are by default interested in **CLASS1.PROTOCOL**.\n\nThe event is intended for very low bandwidth nodes like low power wireless nodes where it saves a lot of bandwidth if only events that really concerns the node is sent to them. \n" />
<type id="41" token="VSCP_TYPE_PROTOCOL_GET_EVENT_INTEREST_RESPONSE" name="Get event interest response." description="**Not mandatory.** Implemented if needed.\n\nResponse for event [CLASS1.PROTOCOL, Type=40 (Get event interest)](./class1.protocol.md#type40). The node report all events it is interested in. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index | \n | 1 | class bit 9 (see table) | \n | 2 | class 1 | \n | 3 | type 1 | \n | 4 | class 2 | \n | 5 | type 2 | \n | 6 | class 3 | \n | 7 | type 3 | \n\n | Bit | Description | \n | :---: | ----------- | \n | 0 | Bit 9 for class 1 | \n | 1 | Bit 9 for class 2 | \n | 2 | Bit 9 for class 3 | \n | 3 | All Type 1 is recognized (set type to zero). | \n | 4 | All Type 2 is recognized (set type to zero). | \n | 5 | All Type 3 is recognized (set type to zero). | \n | 6 | 0 | \n | 7 | 0 | \n\nA node that is interested in everything just send a [CLASS1.PROTOCOL, Type=41 (Get event interest response)](./class1.protocol.md#type41) with no data if asked to provide that information.\n\nNodes that want to specify events of interest fill them in. If all types of a class should be recognized set the corresponding bit in byte 1 and the related type to zero.\n\nA maximum of 255 frames (index = 0-254) may be sent. \n\nFill unused pairs with zero.\n\nA **level II node** respond by sending [CLASS2.PROTOCOL, Type=41 (Get event interest response)](./class2.protocol.md#type41)\n" />
<type id="48" token="VSCP_TYPE_PROTOCOL_ACTIVATE_NEW_IMAGE_ACK" name="Activate new image ACK." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the positive response after a node received a [CLASS1.PROTOCOL, Type=22 (Activate new image)](./class1.protocol.md#type22). It is sent by the node before the new firmware is booted into.\n" />
<type id="49" token="VSCP_TYPE_PROTOCOL_ACTIVATE_NEW_IMAGE_NACK" name="Activate new image NACK." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the negative response after a node received a [CLASS1.PROTOCOL, Type=22 (Activate new image)](./class1.protocol.md#type22). It is sent by the node to inform it that it will (or can not) switch to the new firmware image. \n" />
<type id="50" token="VSCP_TYPE_PROTOCOL_START_BLOCK_ACK" name="Block data transfer ACK." description="**Not mandatory** Only needed if a VSCP boot loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the positive response after a node received a [CLASS1.PROTOCOL, Type=16 (Block data)](./class1.protocol.md#type16) event. It is sent by the node as a validation that it can handle the block data transfer. \n" />
<type id="51" token="VSCP_TYPE_PROTOCOL_START_BLOCK_NACK" name="Block data transfer NACK." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the negative response after a node received a [CLASS1.PROTOCOL, Type=16 (Block data)](./class1.protocol.md#type16) event. It is sent by the node as an indication that it can NOT handle the block data transfer. \n" />
</class>
<class id="1" name="Alarm functionality" token="CLASS1.ALARM" description="## Description\n\nAlarm events that indicate that something not ordinary has occurred. Note that the priority bits can be used as a mean to level alarm for severity. \n" >
<type id="0" token="VSCP_TYPE_ALARM_GENERAL" name="General event" description="General Event. \n" />
<type id="1" token="VSCP_TYPE_ALARM_WARNING" name="Warning" description="Indicates a warning condition. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="2" token="VSCP_TYPE_ALARM_ALARM" name="Alarm occurred" description="Indicates an alarm condition.\n\n | Data byte | Description                                                        |\n | :-------: | ------------------------------------------------------------------ |\n |     0     | Alarm byte from standard register 128/0x80 or a code of choice describing the alarm. |\n |     1     | Zone for which event applies to (0-255). 255 is all zones.         |\n |     2     | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n\nIf byte 0 is zero this event can be interpreted as alarm-reset.\n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="3" token="VSCP_TYPE_ALARM_SOUND" name="Alarm sound on/off" description="Alarm sound should be turned on or off. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="4" token="VSCP_TYPE_ALARM_LIGHT" name="Alarm light on/off" description="Alarm light should be turned on or off. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="5" token="VSCP_TYPE_ALARM_POWER" name="Power on/off" description="Power has been lost or is available again. \n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones.| \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="6" token="VSCP_TYPE_ALARM_EMERGENCY_STOP" name="Emergency Stop" description="Emergency stop has been hit/activated. All systems on the zone/sub-zone should go to their inactive/safe state.\n \n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="7" token="VSCP_TYPE_ALARM_EMERGENCY_PAUSE" name="Emergency Pause" description="Emergency pause has been hit/activated. All systems on the zone/sub-zone should go to their inactive/safe state but preserve there settings. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all subzones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="8" token="VSCP_TYPE_ALARM_EMERGENCY_RESET" name="Emergency Reset" description="Issued after an emergency stop or pause in order for nodes to reset and start operating .\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="9" token="VSCP_TYPE_ALARM_EMERGENCY_RESUME" name="Emergency Resume" description="Issued after an emergency pause in order for nodes to start operating from where they left of without resetting their registers . \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="10" token="VSCP_TYPE_ALARM_ARM" name="Arm" description="Issued after an alarm system has been armed. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="11" token="VSCP_TYPE_ALARM_DISARM" name="Disarm" description="Issued after an alarm system has been disarmed. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="12" token="VSCP_TYPE_ALARM_WATCHDOG" name="Watchdog" description="Issued when a watchdog has been triggered. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | index. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n\n\n" />
<type id="13" token="VSCP_TYPE_ALARM_RESET" name="Alarm reset" description="Indicates an alarm reset condition.\n\n | Data byte | Description                                                        |\n | :-------: | ------------------------------------------------------------------ |\n |     0     | Alarm byte from standard register 128/0x80  or a code of choice describing the alarm. |\n |     1     | Zone for which event applies to (0-255). 255 is all zones.         |\n |     2     | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
</class>
<class id="2" name="Security" token="CLASS1.SECURITY" description="## Description\n\nSecurity related events for alarms and similar devices. \n" >
<type id="0" token="VSCP_TYPE_SECURITY_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_SECURITY_MOTION" name="Motion Detect" description="A motion has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3 | Optional. Status | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n\nThe optional status byte can have the following values. If not present value = 0 should be assumed.\n\n| Value | Description | \n | :---------: | ----------- | \n | 0 | Security event occurred. | \n | 1 | Activated |\n | 2 | Inactivated |\n" />
<type id="2" token="VSCP_TYPE_SECURITY_GLASS_BREAK" name="Glass break" description="A glass break event has been detected. \n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2  | Sub-zone for which event applies to (0-255). 255 is all subzones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="3" token="VSCP_TYPE_SECURITY_BEAM_BREAK" name="Beam break" description="A beam break event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="4" token="VSCP_TYPE_SECURITY_SENSOR_TAMPER" name="Sensor tamper" description="A sensor tamper has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="5" token="VSCP_TYPE_SECURITY_SHOCK_SENSOR" name="Shock sensor" description="A shock sensor event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="6" token="VSCP_TYPE_SECURITY_SMOKE_SENSOR" name="Smoke sensor" description="A smoke sensor event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="7" token="VSCP_TYPE_SECURITY_HEAT_SENSOR" name="Heat sensor" description="A heat sensor event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="8" token="VSCP_TYPE_SECURITY_PANIC_SWITCH" name="Panic switch" description="A panic switch event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="9" token="VSCP_TYPE_SECURITY_DOOR_OPEN" name="Door Contact" description="Indicates a door sensor reports that a door is open. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="10" token="VSCP_TYPE_SECURITY_WINDOW_OPEN" name="Window Contact" description="Indicates a window sensor reports that a window is open.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="11" token="VSCP_TYPE_SECURITY_CO_SENSOR" name="CO Sensor" description="CO sensor has detected CO at non secure level\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="12" token="VSCP_TYPE_SECURITY_FROST_DETECTED" name="Frost detected" description="A frost sensor condition is detected\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="13" token="VSCP_TYPE_SECURITY_FLAME_DETECTED" name="Flame detected" description="Flame is detected.\n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="14" token="VSCP_TYPE_SECURITY_OXYGEN_LOW" name="Oxygen Low" description="Low oxygen level detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="15" token="VSCP_TYPE_SECURITY_WEIGHT_DETECTED" name="Weight detected." description="Weight-detector triggered.\n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="16" token="VSCP_TYPE_SECURITY_WATER_DETECTED" name="Water detected." description="Water has been detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="17" token="VSCP_TYPE_SECURITY_CONDENSATION_DETECTED" name="Condensation detected." description="Condensation (humidity) detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="18" token="VSCP_TYPE_SECURITY_SOUND_DETECTED" name="Noise (sound) detected." description="Noise (sound) has been detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="19" token="VSCP_TYPE_SECURITY_HARMFUL_SOUND_LEVEL" name="Harmful sound levels detected." description="Harmful sound levels detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="20" token="VSCP_TYPE_SECURITY_TAMPER" name="Tamper detected." description="Tamper detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_SECURITY_AUTHENTICATED" name="Authenticated" description="Authenticated. A user or a device has been authenticated.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="22" token="VSCP_TYPE_SECURITY_UNAUTHENTICATED" name="Unauthenticated" description="Unauthenticated. A user or a device has failed authentication.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="23" token="VSCP_TYPE_SECURITY_AUTHORIZED" name="Authorized" description="Authorized. A user or a device has been authorized.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="24" token="VSCP_TYPE_SECURITY_UNAUTHORIZED" name="Unauthorized" description="Unauthorized. A user or a device has failed authorization.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="25" token="VSCP_TYPE_SECURITY_ID_CHECK" name="ID check" description="ID Check. A user or a device has gone through an identification test and is either allowed or not allowed access according to bits in byte 0.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | ID check bits. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n\n **ID Check bits**\n \n | Bit | Description |\n | :---------: | ----------- |\n | 0 | Authenticated if set to one. |\n | 1 | Authorized if set to one. |\n" />
<type id="26" token="VSCP_TYPE_SECURITY_PIN_OK" name="Valid pin" description="Valid pin. A valid pin has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="27" token="VSCP_TYPE_SECURITY_PIN_FAIL" name="Invalid pin" description="Invalid pin. An invalid pin has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="28" token="VSCP_TYPE_SECURITY_PIN_WARNING" name="Pin warning" description="Pin warning. An invalid pin has been entered by a device or user and a warning has been given. This warning is typically a warning that the pin will be unusable if further failures are detected.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="29" token="VSCP_TYPE_SECURITY_PIN_ERROR" name="Pin error" description="Pin error. An invalid pin has been entered by a device or user and it has failed so many times that the pin is now locked and unusable.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="30" token="VSCP_TYPE_SECURITY_PASSWORD_OK" name="Valid password" description="Valid password. A valid password has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="31" token="VSCP_TYPE_SECURITY_PASSWORD_FAIL" name="Invalid password" description="Invalid password. An invalid password has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="32" token="VSCP_TYPE_SECURITY_PASSWORD_WARNING" name="Password warning" description="Password warning. An invalid password has been entered by a device or user and a warning has been given. This warning is typically a warning that the password will be unusable if further failures are detected.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="33" token="VSCP_TYPE_SECURITY_PASSWORD_ERROR" name="Password error" description="Password error. An invalid password has been entered by a device or user and it has failed so many times that the password is now locked and unusable.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n" />
<type id="34" token="VSCP_TYPE_SECURITY_GAS_SENSOR" name="Gas" description="Gas has been detected.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
<type id="35" token="VSCP_TYPE_SECURITY_IN_MOTION_DETECTED" name="In motion" description="An object is in motion\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
<type id="36" token="VSCP_TYPE_SECURITY_NOT_IN_MOTION_DETECTED" name="Not in motion" description="An object is in rest (jammed)\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
<type id="37" token="VSCP_TYPE_SECURITY_VIBRATION_DETECTED" name="Vibration" description="Vibration detected\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
</class>
<class id="10" name="Measurement" token="CLASS1.MEASUREMENT" description="## Description\n\nMeasurements are fetched from the [SI units and from SI derived units](https://en.wikipedia.org/wiki/International_System_of_Units). The SI unit (or the SI derived unit) is also used as the default unit. As in the SI unit standard, names for a unit is in lower case (&amp;quot;newton&amp;quot;) and the unit (&amp;quot;N&amp;quot;) is in upper case.\n\n**Byte 0** is the data coding byte for all measurement packages. The default unit has bits 0,1,2 set to 000 and the first optional unit 001 and so on. It also have a field for the item ( if more than one sensor is controlled by the node) that the value belongs to. See [data-coding](./vscp_data_coding.md) for a full description on data coding used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT32=70 (0x46)](./class1.measurement32.md_) as a single precision float. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT64=60 (0x3C)](./class1.measurement64.md) as floating point values using only the default unit .\n\nAll events in this class are mirrored in [CLASS1.MEASUREZONE=65 (0x41)](./class1.measurezone.md) as normalized integer values with index, zone, sub-zone. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.SETVALUEZONE=85 (0x55)](./class1.setvaluezone.md) as a normalized value using only the default unit but with index/zone/subzone.\n\nAll of the above is also available as [LEVEL I events over Level II](./class2.protocol1.md).\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_STR=1040 (0x410)](./class2.measurement_str.md) as the events, in the range 0-255, which use decimal string values.\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_FLOAT=1060 (0x424)](./class2.measurement_float.md) as the events, in the range 0-255, which use decimal float values.\n\nThe relationship between Level II measurement events and Level I measurement events is like this\n\n  - [CLASS1.MEASUREMENT=10 (0x0A)](./class1.measurement.md) which is mirrored as Level II measurements 0-255.\n  - [CLASS1.MEASUREMENT=11 (0x0B)](./class1.measurementx1.md) which is mirrored as Level II measurements 256-511.\n  - [CLASS1.MEASUREMENT=12 (0x0C)](./class1.measurementx2.md) which is mirrored as Level II measurements 512-767.\n  - [CLASS1.MEASUREMENT=13 (0x0D)](./class1.measurementx3.md) which is mirrored as Level II measurements 768-1023.\n  - [CLASS1.MEASUREMENT=14 (0x0E)](./class1.measurementx3.md) which is mirrored as Level II measurements 1024-1279.\n\nLevel II measurement events with type &gt;= 1280 have no relation to any Level I measurement events.\n\n## Data format\n| Data byte | Description | \n | :---------: | ----------- | \n | 0 | [Data coding]((./vscp_measurements.md)).  | \n | 1-7 | Data with format defined by byte 0. | \n\n " >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="11" name="Measurement" token="CLASS1.MEASUREMENTX1" description="## Description\n\nMeasurements are fetched from the [SI units and from SI derived units](https://en.wikipedia.org/wiki/International_System_of_Units). The SI unit (or the SI derived unit) is also used as the default unit. As in the SI unit standard, names for a unit is in lower case (&amp;quot;newton&amp;quot;) and the unit (&amp;quot;N&amp;quot;) is in upper case.\n\n**Byte 0** is the data coding byte for all measurement packages. The default unit has bits 0,1,2 set to 000 and the first optional unit 001 and so on. It also have a field for the item ( if more than one sensor is controlled by the node) that the value belongs to. See [data-coding](./vscp_data_coding.md) for a full description on data coding used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT32=70 (0x46)](./class1.measurement32.md_) as a single precision float. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT64=60 (0x3C)](./class1.measurement64.md) as floating point values using only the default unit .\n\nAll events in this class are mirrored in [CLASS1.MEASUREZONE=65 (0x41)](./class1.measurezone.md) as normalized integer values with index, zone, sub-zone. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.SETVALUEZONE=85 (0x55)](./class1.setvaluezone.md) as a normalized value using only the default unit but with index/zone/subzone.\n\nAll of the above is also available as [LEVEL I events over Level II](./class2.protocol1.md).\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_STR=1040 (0x410)](./class2.measurement_str.md) as the events, in the range 256-511, which use decimal string values.\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_FLOAT=1060 (0x424)](./class2.measurement_float.md) as the events, in the range 256-511, which use decimal float values.\n\nThe relationship between Level II measurement events and Level I measurement events is like this\n\n  - [CLASS1.MEASUREMENT=10 (0x0A)](./class1.measurement.md) which is mirrored as Level II measurements 0-255.\n  - [CLASS1.MEASUREMENT=11 (0x0B)](./class1.measurementx1.md) which is mirrored as Level II measurements 256-511.\n  - [CLASS1.MEASUREMENT=12 (0x0C)](./class1.measurementx2.md) which is mirrored as Level II measurements 512-767.\n  - [CLASS1.MEASUREMENT=13 (0x0D)](./class1.measurementx3.md) which is mirrored as Level II measurements 768-1023.\n  - [CLASS1.MEASUREMENT=14 (0x0E)](./class1.measurementx3.md) which is mirrored as Level II measurements 1024-1279.\n\nLevel II measurement events with type &gt;= 1280 have no relation to any Level I measurement events.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="12" name="Measurement" token="CLASS1.MEASUREMENTX2" description="## Description\n\nMeasurements are fetched from the [SI units and from SI derived units](https://en.wikipedia.org/wiki/International_System_of_Units). The SI unit (or the SI derived unit) is also used as the default unit. As in the SI unit standard, names for a unit is in lower case (&amp;quot;newton&amp;quot;) and the unit (&amp;quot;N&amp;quot;) is in upper case.\n\n**Byte 0** is the data coding byte for all measurement packages. The default unit has bits 0,1,2 set to 000 and the first optional unit 001 and so on. It also have a field for the item ( if more than one sensor is controlled by the node) that the value belongs to. See [data-coding](./vscp_data_coding.md) for a full description on data coding used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT32=70 (0x46)](./class1.measurement32.md_) as a single precision float. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT64=60 (0x3C)](./class1.measurement64.md) as floating point values using only the default unit .\n\nAll events in this class are mirrored in [CLASS1.MEASUREZONE=65 (0x41)](./class1.measurezone.md) as normalized integer values with index, zone, sub-zone. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.SETVALUEZONE=85 (0x55)](./class1.setvaluezone.md) as a normalized value using only the default unit but with index/zone/subzone.\n\nAll of the above is also available as [LEVEL I events over Level II](./class2.protocol1.md).\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_STR=1040 (0x410)](./class2.measurement_str.md) as the events, in the range 512-767, which use decimal string values.\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_FLOAT=1060 (0x424)](./class2.measurement_float.md) as the events, in the range 512-767, which use decimal float values.\n\nThe relationship between Level II measurement events and Level I measurement events is like this\n\n  - [CLASS1.MEASUREMENT=10 (0x0A)](./class1.measurement.md) which is mirrored as Level II measurements 0-255.\n  - [CLASS1.MEASUREMENT=11 (0x0B)](./class1.measurementx1.md) which is mirrored as Level II measurements 256-511.\n  - [CLASS1.MEASUREMENT=12 (0x0C)](./class1.measurementx2.md) which is mirrored as Level II measurements 512-767.\n  - [CLASS1.MEASUREMENT=13 (0x0D)](./class1.measurementx3.md) which is mirrored as Level II measurements 768-1023.\n  - [CLASS1.MEASUREMENT=14 (0x0E)](./class1.measurementx3.md) which is mirrored as Level II measurements 1024-1279.\n\nLevel II measurement events with type &gt;= 1280 have no relation to any Level I measurement events.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="13" name="Measurement" token="CLASS1.MEASUREMENTX3" description="## Description\n\nMeasurements are fetched from the [SI units and from SI derived units](https://en.wikipedia.org/wiki/International_System_of_Units). The SI unit (or the SI derived unit) is also used as the default unit. As in the SI unit standard, names for a unit is in lower case (&amp;quot;newton&amp;quot;) and the unit (&amp;quot;N&amp;quot;) is in upper case.\n\n**Byte 0** is the data coding byte for all measurement packages. The default unit has bits 0,1,2 set to 000 and the first optional unit 001 and so on. It also have a field for the item ( if more than one sensor is controlled by the node) that the value belongs to. See [data-coding](./vscp_data_coding.md) for a full description on data coding used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT32=70 (0x46)](./class1.measurement32.md_) as a single precision float. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT64=60 (0x3C)](./class1.measurement64.md) as floating point values using only the default unit .\n\nAll events in this class are mirrored in [CLASS1.MEASUREZONE=65 (0x41)](./class1.measurezone.md) as normalized integer values with index, zone, sub-zone. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.SETVALUEZONE=85 (0x55)](./class1.setvaluezone.md) as a normalized value using only the default unit but with index/zone/subzone.\n\nAll of the above is also available as [LEVEL I events over Level II](./class2.protocol1.md).\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_STR=1040 (0x410)](./class2.measurement_str.md) as the events, in the range 768-1023, which use decimal string values.\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_FLOAT=1060 (0x424)](./class2.measurement_float.md) as the events, in the range 768-1023, which use decimal float values.\n\nThe relationship between Level II measurement events and Level I measurement events is like this\n\n  - [CLASS1.MEASUREMENT=10 (0x0A)](./class1.measurement.md) which is mirrored as Level II measurements 0-255.\n  - [CLASS1.MEASUREMENT=11 (0x0B)](./class1.measurementx1.md) which is mirrored as Level II measurements 256-511.\n  - [CLASS1.MEASUREMENT=12 (0x0C)](./class1.measurementx2.md) which is mirrored as Level II measurements 512-767.\n  - [CLASS1.MEASUREMENT=13 (0x0D)](./class1.measurementx3.md) which is mirrored as Level II measurements 768-1023.\n  - [CLASS1.MEASUREMENT=14 (0x0E)](./class1.measurementx3.md) which is mirrored as Level II measurements 1024-1279.\n\nLevel II measurement events with type &gt;= 1280 have no relation to any Level I measurement events.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="14" name="Measurement" token="CLASS1.MEASUREMENTX4" description="## Description\n\nMeasurements are fetched from the [SI units and from SI derived units](https://en.wikipedia.org/wiki/International_System_of_Units). The SI unit (or the SI derived unit) is also used as the default unit. As in the SI unit standard, names for a unit is in lower case (&amp;quot;newton&amp;quot;) and the unit (&amp;quot;N&amp;quot;) is in upper case.\n\n**Byte 0** is the data coding byte for all measurement packages. The default unit has bits 0,1,2 set to 000 and the first optional unit 001 and so on. It also have a field for the item ( if more than one sensor is controlled by the node) that the value belongs to. See [data-coding](./vscp_data_coding.md) for a full description on data coding used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT32=70 (0x46)](./class1.measurement32.md_) as a single precision float. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.MEASUREMENT64=60 (0x3C)](./class1.measurement64.md) as floating point values using only the default unit .\n\nAll events in this class are mirrored in [CLASS1.MEASUREZONE=65 (0x41)](./class1.measurezone.md) as normalized integer values with index, zone, sub-zone. Default unit is used.\n\nAll events in this class are mirrored in [CLASS1.SETVALUEZONE=85 (0x55)](./class1.setvaluezone.md) as a normalized value using only the default unit but with index/zone/subzone.\n\nAll of the above is also available as [LEVEL I events over Level II](./class2.protocol1.md).\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_STR=1040 (0x410)](./class2.measurement_str.md) as the events, in the range 1024-1279, which use decimal string values.\n\nAll events in this class are mirrored in\n[CLASS2.MEASUREMENT_FLOAT=1060 (0x424)](./class2.measurement_float.md) as the events, in the range 1024-1279, which use decimal float values.\n\nThe relationship between Level II measurement events and Level I measurement events is like this\n\n  - [CLASS1.MEASUREMENT=10 (0x0A)](./class1.measurement.md) which is mirrored as Level II measurements 0-255.\n  - [CLASS1.MEASUREMENT=11 (0x0B)](./class1.measurementx1.md) which is mirrored as Level II measurements 256-511.\n  - [CLASS1.MEASUREMENT=12 (0x0C)](./class1.measurementx2.md) which is mirrored as Level II measurements 512-767.\n  - [CLASS1.MEASUREMENT=13 (0x0D)](./class1.measurementx3.md) which is mirrored as Level II measurements 768-1023.\n  - [CLASS1.MEASUREMENT=14 (0x0E)](./class1.measurementx3.md) which is mirrored as Level II measurements 1024-1279.\n\nLevel II measurement events with type &gt;= 1280 have no relation to any Level I measurement events.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="15" name="Data" token="CLASS1.DATA" description="## Description\n\nRepresentation for different general data types. **Byte 0** is the data coding byte described [here](./data_coding.md). Unit may not have meaning for some of the types and should be set to zero in that case.\n" >
<type id="0" token="VSCP_TYPE_DATA_GENERAL" name="General event" description="General event.\n\n" />
<type id="1" token="VSCP_TYPE_DATA_IO" name="I/O value" description="General I/O value. First data byte defines format. \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n" />
<type id="2" token="VSCP_TYPE_DATA_AD" name="A/D value" description="General A/D value. First data byte defines format. \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n" />
<type id="3" token="VSCP_TYPE_DATA_DA" name="D/A value" description="General D/A value. First data byte defines format. \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n" />
<type id="4" token="VSCP_TYPE_DATA_RELATIVE_STRENGTH" name="Relative strength" description="Relative strength.  \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n\n### Coding of units (Level I)\n\n | Code | Description  | \n | :----: | ----------- | \n | 0    | **Byte count = 2**: Min = 0, Max = 255 &lt;br&gt; **Byte count = 3**: Min = 0, Max = 65535 &lt;br&gt; and so on... | \n | 1    | db (decibel) | \n | 2    | dbV (decibel volts) | \n | 3    | Undefined | \n\nUnits for Level II are the same as for Level I for the first four units.\n" />
<type id="5" token="VSCP_TYPE_DATA_SIGNAL_LEVEL" name="Signal Level" description="Signal Level is a relative strength value that (as default) has its maximum at 100 and minimum at 0 interpreted as a percentage. For a digital transmission Signal Level it can be used to give an indication of the analogue signal and [CLASS1.DATA, Type = 6, Signal Quality](./class1.data.md#type6) can be used to give an indication of the quality of the digital part as BER (Bit Error Ratio) for example.\n\n | Data byte | Description                         | \n | :---------: | -----------                         | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n\n### Coding of units (Level I)\n | Code | Description                                                                                        | \n | :----: | -----------                                                                                        | \n | 0    | (0-100) percentage.                                                                               | \n | 1    | **Byte count = 2**: Min = 0, Max = 255&lt;br&gt;**Byte count = 3**: Min = 0, Max = 65535&lt;br&gt;  and so on... | \n\n\nUnits for Level II are the same as for Level I for the first four units.\n" />
<type id="6" token="VSCP_TYPE_DATA_SIGNAL_QUALITY" name="Signal Quality" description="Signal Quality be used to give an indication of the quality of the digital part as BER (Bit Error Ratio) for example.\n\n | Data byte | Description                         |\n | :---------: | -----------                       |\n | 0         | Data coding.                        |\n | 1-7       | Data with format defined by byte 0. |\n\n### Coding of units (Level I)\n\n | Code | Description                                                                                        |\n | :----: | -----------                                                                                        |\n | 0    | 0-100, Percent                                                                                     |\n | 1    | **Byte count = 2**: Min = 0, Max = 255  **Byte count = 3**: Min = 0, Max = 65535  and so on... |\n | 2    | dBm  |\n | 3    | To be defined |\n\nUnits for Level II are the same as for Level I for the first four units.\n" />
</class>
<class id="20" name="Information" token="CLASS1.INFORMATION" description="## Description\n\nMost of the events below have an index parameter that can be used to indicate which of several SECO (sensor/control) units on a node originated the event. Set to zero if the node only control one item. \n" >
<type id="0" token="VSCP_TYPE_INFORMATION_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_INFORMATION_BUTTON" name="Button" description="A button has been pressed/released. \n\n | Data byte | Description                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                        | \n | 0         | Bits 0,1,2 If 0 the button has been released. If 1 the button is pressed. If equal to 2 this is a key value (press followed by release). Bits 3-7 is repeats 0-32. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones                                                                                                          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones                                                                                                  | \n | 3         | MSB of code for button.                                                                                                                                            | \n | 4         | LSB of code for button.                                                                                                                                            | \n | 5         | MSB of optional code-page.                                                                                                                                         | \n | 6         | LSB of optional code-page.                                                                                                                                         | \n" />
<type id="2" token="VSCP_TYPE_INFORMATION_MOUSE" name="Mouse" description="A mouse movement has occurred. \n\n | Data byte | Description                                                                       | \n | :---------: | -----------                                                                       | \n | 0         | If zero absolute coordinates follow. If equal to one relative coordinates follow. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones                 | \n | 3         | MSB of normalized X-coordinate.                                                   | \n | 4         | LSB of normalized X-coordinate.                                                   | \n | 5         | MSB of normalized Y-coordinate.                                                   | \n | 6         | LSB of normalized Y-coordinate.                                                   | \n" />
<type id="3" token="VSCP_TYPE_INFORMATION_ON" name="On" description="A node indicates that a condition is in its on state. Heater on, lights on are two examples. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | index. Often used as an index for channels within a module.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_INFORMATION_OFF" name="Off" description="A node indicates that a condition is in its off state. Heater off, lights off are two examples. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_INFORMATION_ALIVE" name="Alive" description="A node tells the world that it is alive. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_INFORMATION_TERMINATING" name="Terminating" description="A node tells the world that it is terminating. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nByte2 Sub-zone for which event applies to (0-255). 255 is all sub-zones.\n" />
<type id="7" token="VSCP_TYPE_INFORMATION_OPENED" name="Opened" description="A node indicates that an open has occurred. This can be a door/window open, a modem line open etc. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_INFORMATION_CLOSED" name="Closed" description="A node indicates that a close has occurred. This can be a door/window close, a modem line closure etc. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_INFORMATION_NODE_HEARTBEAT" name="Node Heartbeat" description="Heartbeats can be used to indicate that a unit is alive or to send periodic data. This can be sent out at predefined intervals to indicate that the node is alive, however, it does not necessarily mean the node is functioning as it should. It simply states that the node is connected to the network. To check if a node is functioning, other properties such as a measurement event or registry should be used. This event should be sent as a response to a “Segment Status Heartbeat” (CLASS1.PROTOCOL, Type=1) in order to provide a method of finding out what is connected to the network. The data bytes from byte 3 and forward can be used to send a descriptive/user friendly name if desired.\n\n**Mandatory.** All nodes should send this event at least once each minute. A Level II node should normally not send this event but instead send [Level II node heartbeat](./class2.information.md#type2). Recommended interval is 30-60 seconds but in a node that need to sleep longer to save resources a longer interval can be used.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_INFORMATION_BELOW_LIMIT" name="Below limit" description="This indicates that the node has a condition that is below a configurable limit. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_INFORMATION_ABOVE_LIMIT" name="Above limit" description="This indicates that the node has a condition that is above a configurable limit. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_INFORMATION_PULSE" name="Pulse" description="This can be used for slow pulse counts. This can be an S0-pulse interface or something similar. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_INFORMATION_ERROR" name="Error" description="A node indicates that an error occurred. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_INFORMATION_RESUMED" name="Resumed" description="A node indicates that it has resumed operation. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_INFORMATION_PAUSED" name="Paused" description="A node indicates that it has paused. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_INFORMATION_SLEEP" name="Sleeping" description="A node indicates that it entered a sleeping state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="17" token="VSCP_TYPE_INFORMATION_GOOD_MORNING" name="Good morning" description="The system should enter its morning state. This can be a user pressing a button to set his/her house to its morning state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="18" token="VSCP_TYPE_INFORMATION_GOOD_DAY" name="Good day" description="The system should enter its day state. This can be a user pressing a button to set his/her house to its day state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="19" token="VSCP_TYPE_INFORMATION_GOOD_AFTERNOON" name="Good afternoon" description="The system should enter its afternoon state. This can be a user pressing a button to set his/her house to its afternoon state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="20" token="VSCP_TYPE_INFORMATION_GOOD_EVENING" name="Good evening" description="The system should enter its evening state. This can be a user pressing a button to set his/her house to its evening state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_INFORMATION_GOOD_NIGHT" name="Good night" description="The system should enter its night state. This can be a user pressing a button to set his/her house to its night state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="22" token="VSCP_TYPE_INFORMATION_SEE_YOU_SOON" name="See you soon" description="The system should be on a temporary alert. This can be a user locking the door to go out to the waste bin or similar situation. An alarm system should not be activated in this situation. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_INFORMATION_GOODBYE" name="Goodbye" description="The system should be on a goodbye alert. This can be a user locking the door to go out for a days work or similar situation. All alarm systems should be activated in this situation. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_INFORMATION_STOP" name="Stop" description="A node indicates that a stop event occurred. This can for example be a motor stopping. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="25" token="VSCP_TYPE_INFORMATION_START" name="Start" description="A node indicates that a start event occurred. This can be a motor starting. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="26" token="VSCP_TYPE_INFORMATION_RESET_COMPLETED" name="ResetCompleted" description="A node indicates that a reset occurred. This can be a node doing a warm start. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_INFORMATION_INTERRUPTED" name="Interrupted" description="A node indicates that a reset occurred. This can also be a node doing a warm start. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="28" token="VSCP_TYPE_INFORMATION_PREPARING_TO_SLEEP" name="PreparingToSleep" description="A node indicates that a sleep event occurred. This can be a node going to its inactive state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_INFORMATION_WOKEN_UP" name="WokenUp" description="A node indicates that a wakeup event occurred. This can be a node going to it awake state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="30" token="VSCP_TYPE_INFORMATION_DUSK" name="Dusk" description="A node indicates that the system should enter its dusk state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="31" token="VSCP_TYPE_INFORMATION_DAWN" name="Dawn" description="A node indicates that the system should enter its dawn state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="32" token="VSCP_TYPE_INFORMATION_ACTIVE" name="Active" description="A node indicates that its active. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="33" token="VSCP_TYPE_INFORMATION_INACTIVE" name="Inactive" description="A node indicates that its inactive. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="34" token="VSCP_TYPE_INFORMATION_BUSY" name="Busy" description="A node indicates that its busy. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_INFORMATION_IDLE" name="Idle" description="A node indicates that its idle. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_INFORMATION_STREAM_DATA" name="Stream Data" description="A steam of information from a node can be reported with this event. This can be a serial RS-232 channel or some other sequential stream. \n\n | Data byte | Description                                                                                                                                                                                                                                  | \n | :---------: | -----------                                                                                                                                                                                                                                  | \n | 0         | Sequence number which is increased by one for every new event with stream data. The sequence number is increased for every frame sent going from 0 - 255 and back to 0 and so on if needed. A new stream starts with a sequence number of 0. | \n | 1-7       | Stream data.                                                                                                                                                                                                                                 | \n" />
<type id="37" token="VSCP_TYPE_INFORMATION_TOKEN_ACTIVITY" name="Token Activity" description="This event is used for cards, RFID&amp;apos;s, iButtons, GSM phones and other identification devices. The event is generated when the token device is attached/detached to/from the system. Level II has a counterpart to this event that can take more data. CLASS2.INFORMATION Type=1\n\nDepending on the Token device type a number of this event are sent on the segment with frame index increase for each event. The total expected number can be deduced from the type. \n\n | Data byte | Description                                                                                      | \n | :---------: | -----------                                                                                      | \n | 0         | Bit 0,1 - Event code. Bit 2-7 - Token device type code.                                          | \n | 1         | Zone.                                                                                            | \n | 2         | Sub-zone.                                                                                        | \n | 3         | Frame index (Increase by one for every frame sent out for one token activity. Start with zero ). | \n | 4-7       | Token data.                                                                                      | \n\n#####  Event codes\n\n | Code | Description           | \n | ---- | -----------           | \n | 0    | Touched and released. | \n | 1    | Touched.              | \n | 2    | Released.             | \n | 3    | Reserved.             | \n\n##### Token device type codes\n\n | Code  | Description                                                                                                                     | Size    \n | ----  | -----------                                                                                                                     | ----    \n | 0     | Unknown Token.                                                                                                                  | 128-bits | \n | 1     | iButton 64-bit token.                                                                                                           | 64-bits  | \n | 2     | RFID Token.                                                                                                                     | 64-bits  | \n | 3     | RFID Token.                                                                                                                     | 128-bits | \n | 4     | RFID Token.                                                                                                                     | 256-bits | \n | 5-8   | Reserved.                                                                                                                       |          | \n | 9     | ID/Credit card.                                                                                                                 | 128-bits | \n | 10-15 | Reserved.                                                                                                                       |          | \n | 16    | Biometric device.                                                                                                               | 256-bits | \n | 17    | Biometric device.                                                                                                               | 64-bits  | \n | 18    | Bluetooth device.                                                                                                               | 48-bits  | \n | 19    | GSM IMEI code (International Mobile Equipment Identity) AA-BBBBBB-CCCCCC-D packed in 64 bits. https://en.wikipedia.org/wiki/IMEI | 64-bits  | \n | 20    | GSM IMSI code (International Mobile Subscriber Identity) packed in 64 bits. https://en.wikipedia.org/wiki/IMSI                   | 64-bits  | \n | 21    | RFID Token.                                                                                                                     | 40-bits  | \n | 22    | RFID Token.                                                                                                                     | 32-bits  | \n | 23    | RFID Token.                                                                                                                     | 24-bits  | \n | 24    | RFID Token.                                                                                                                     | 16-bits  | \n | 25    | RFID Token.                                                                                                                     | 8-bits   | \n | 26-63 | Reserved.                         |          | " />
<type id="38" token="VSCP_TYPE_INFORMATION_STREAM_DATA_WITH_ZONE" name="Stream Data with zone" description="A steam of information from a node can be reported with this event. This can be a serial RS-232 channel or some other sequential stream. \n\n | Data byte | Description                                                                                                                                                                                                                                  | \n | :---------: | -----------                                                                                                                                                                                                                                  | \n | 0         | Zone.                                                                                                                                                                                                                                        | \n | 1         | Sub-zone.                                                                                                                                                                                                                                    | \n | 2         | Sequence number which is increased by one for every new event with stream data. The sequence number is increased for every frame sent going from 0 - 255 and back to 0 and so on if needed. A new stream starts with a sequence number of 0. | \n | 3-7       | Stream data.                                                                                                                                                                                                                                | \n" />
<type id="39" token="VSCP_TYPE_INFORMATION_CONFIRM" name="Confirm" description="This event can be used as a general confirm event for zoned and stream data. \n\n | Data byte | Description             | \n | :---------: | -----------           | \n | 0         | Zone.                   | \n | 1         | Sub-zone.               | \n | 2         | Sequence number byte    |\n | 3         | Class MSB.              | \n | 4         | Class LSB.              | \n | 5         | Type MSB.               | \n | 6         | Type LSB.               | \n" />
<type id="40" token="VSCP_TYPE_INFORMATION_LEVEL_CHANGED" name="Level Changed" description="Response/confirmation from ex. a dimmer control after a dimmer command or some other unit that change a level. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Relative or absolute level.                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="41" token="VSCP_TYPE_INFORMATION_WARNING" name="Warning" description=" A node indicates that a warning condition occurred. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | Reserved level. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones. | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="42" token="VSCP_TYPE_INFORMATION_STATE" name="State" description="A node indicates that a state change has occurred. Th numerical ID for the current state and the state that is about to become active is supplied. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | State changed from.                                                | \n | 4         | New State.                                                         | \n" />
<type id="43" token="VSCP_TYPE_INFORMATION_ACTION_TRIGGER" name="Action Trigger" description="A node indicates that an action has been triggered by this event. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Action ID.                                                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="44" token="VSCP_TYPE_INFORMATION_SUNRISE" name="Sunrise" description="A node indicates that sunrise is detected/calculated. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="45" token="VSCP_TYPE_INFORMATION_SUNSET" name="Sunset" description="A node indicates that sunset is detected/calculated. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="46" token="VSCP_TYPE_INFORMATION_START_OF_RECORD" name="Start of record" description="This event is used to mark the start of a multi-frame data transfer. This can typically be a GPS received which sends a train of events from one GPS record. The index byte can be used to distinguish record between each other. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Number of frames to follow or zero for not used.                   | \n" />
<type id="47" token="VSCP_TYPE_INFORMATION_END_OF_RECORD" name="End of record" description="This event is used to mark the end of a multi-frame data transfer. The index byte can be used to distinguish record between each other. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="48" token="VSCP_TYPE_INFORMATION_PRESET_ACTIVE" name="Pre-set active" description="This event is used to tell the system that a pre-set configuration is active. Usually a response from a node after a CLASS1.CONTROL, Type=28 has been received by a node.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Code for pre-set that has been set.                                | \n" />
<type id="49" token="VSCP_TYPE_INFORMATION_DETECT" name="Detect" description="This event is used to tell the system that a detection of some kind has occurred. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nThe first byte is used as an index if a module have several channels or detectors. \n" />
<type id="50" token="VSCP_TYPE_INFORMATION_OVERFLOW" name="Overflow" description="This event is used to tell the system that an overflow of some kind has occurred. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nThe first byte is used as an index if a module have several channels or detectors.\n" />
<type id="51" token="VSCP_TYPE_INFORMATION_BIG_LEVEL_CHANGED" name="Big level changed" description="This is meant to be used as a confirmation event for CLASS1.CONTROL, Type=33 events.\n\n | Data byte | Description                                                                                               | \n | :---------: | -----------                                                                                               | \n | 0         | Index.                                                                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                        | \n | 3,4,5,6,7 | Level as signed Integer. The range can be adjusted by the user by sending the needed number of bytes 1-5. | \n" />
<type id="52" token="VSCP_TYPE_INFORMATION_SUNRISE_TWILIGHT_START" name="Civil sunrise twilight time" description="Civil twilight is the period when the Sun is below the horizon but its center is less than 6 degrees below. The &amp;quot;Civil Twilight Starts&amp;quot; time is the dawn or civil dawn, with the center of the Sun at exactly 6 degrees below the horizon. Equally, the &amp;quot;Civil Twilight Ends&amp;quot; time is dusk or civil dusk, when the Sun is 6 degrees below the horizon in the evening.\n\nDuring civil twilight, the sky is still illuminated, and with clear weather it is brightest in the direction of the Sun. The Moon and the brightest stars and planets may be visible. It is usually bright enough for outdoor activities without additional lighting.\n\nNear the equator, where the Sun sets and rises in an almost vertical direction, the civil twilight period can last only 21 minutes, a very fast nightfall compared to the much longer periods at southern and northern latitudes. In regions north of 60°24&amp;apos; N or south of 60°24&amp;apos; S, there will be at least one night when it does not get darker than this.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 96 degrees from the zenith position.\n\nA node indicates that sunrise twilight time is detected/calculated. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="53" token="VSCP_TYPE_INFORMATION_SUNSET_TWILIGHT_START" name="Civil sunset twilight time" description="A node indicates that sunset twilight time is detected/calculated.\n\nCivil twilight is the period when the Sun is below the horizon but its center is less than 6 degrees below. The &amp;quot;Civil Twilight Starts&amp;quot; time is the dawn or civil dawn, with the center of the Sun at exactly 6 degrees below the horizon. Equally, the &amp;quot;Civil Twilight Ends&amp;quot; time is dusk or civil dusk, when the Sun is 6 degrees below the horizon in the evening.\n\nDuring civil twilight, the sky is still illuminated, and with clear weather it is brightest in the direction of the Sun. The Moon and the brightest stars and planets may be visible. It is usually bright enough for outdoor activities without additional lighting.\n\nNear the equator, where the Sun sets and rises in an almost vertical direction, the civil twilight period can last only 21 minutes, a very fast nightfall compared to the much longer periods at southern and northern latitudes. In regions north of 60°24&amp;apos; N or south of 60°24&amp;apos; S, there will be at least one night when it does not get darker than this.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 96 degrees from the zenith position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="54" token="VSCP_TYPE_INFORMATION_NAUTICAL_SUNRISE_TWILIGHT_START" name="Nautical sunrise twilight time" description="A node indicates that nautical sunrise twilight time is detected/calculated. \n\nNautical twilight is the period when the center of the Sun is between 6 and 12 degrees below the horizon, when bright stars are still visible in clear weather and the horizon is becoming visible. It is too dark to do outdoor activities without additional lighting.\n\nIn the morning, nautical twilight starts at nautical dawn, when the Sun rises above 12 degrees below the horizon; it ends when the Sun&amp;apos;s center reaches 6 degrees below the horizon. In the evening, nautical twilight begins when the Sun sinks below 6 degrees; it ends at nautical dusk, when the Sun is lower than 12 degrees below the horizon.\n\nFor locations north of 54°34&amp;apos; N or south of 54°34&amp;apos; S latitude, the Sun will never be lower than 12 degrees below the horizon for a period in the summer.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 102 degrees from the zenith position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="55" token="VSCP_TYPE_INFORMATION_NAUTICAL_SUNSET_TWILIGHT_START" name="Nautical sunset twilight time" description="A node indicates that nautical sunset twilight time is detected/calculated.\n\nNautical twilight is the period when the center of the Sun is between 6 and 12 degrees below the horizon, when bright stars are still visible in clear weather and the horizon is becoming visible. It is too dark to do outdoor activities without additional lighting.\n\nIn the morning, nautical twilight starts at nautical dawn, when the Sun rises above 12 degrees below the horizon; it ends when the Sun&amp;apos;s center reaches 6 degrees below the horizon. In the evening, nautical twilight begins when the Sun sinks below 6 degrees; it ends at nautical dusk, when the Sun is lower than 12 degrees below the horizon.\n\nFor locations north of 54°34&amp;apos; N or south of 54°34&amp;apos; S latitude, the Sun will never be lower than 12 degrees below the horizon for a period in the summer.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 102 degrees from the zenith position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="56" token="VSCP_TYPE_INFORMATION_ASTRONOMICAL_SUNRISE_TWILIGHT_START" name="Astronomical sunrise twilight time" description="A node indicates that astronomical sunrise twilight time is detected/calculated. \n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon. It starts at astronomical dawn, early in the morning when the Sun is higher than 18 degrees below the horizon. From this point, it will be difficult to observe certain faint stars, galaxies, and other objects because the Sun starts to illuminate the sky. Astronomical twilight ends at astronomical dusk in the late evening, when those faint objects again can be visible because the Sun is lower than 18 degrees below the horizon. In locations north of 48°24&amp;apos; N or south of 48°24&amp;apos;, it never gets darker than this near the middle of the summer solstice (June or December).\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 108 degrees from the zenith position, or directly above the observer.\n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="57" token="VSCP_TYPE_INFORMATION_ASTRONOMICAL_SUNSET_TWILIGHT_START" name="Astronomical sunset twilight time" description="A node indicates that astronomical sunset twilight time is detected/calculated.\n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon. It starts at astronomical dawn, early in the morning when the Sun is higher than 18 degrees below the horizon. From this point, it will be difficult to observe certain faint stars, galaxies, and other objects because the Sun starts to illuminate the sky. Astronomical twilight ends at astronomical dusk in the late evening, when those faint objects again can be visible because the Sun is lower than 18 degrees below the horizon. In locations north of 48°24&amp;apos; N or south of 48°24&amp;apos;, it never gets darker than this near the middle of the summer solstice (June or December).\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 108 degrees from the zenith position, or directly above the observer.\n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="58" token="VSCP_TYPE_INFORMATION_CALCULATED_NOON" name="Calculated Noon" description="This event is used for reporting of a calculated noon (real noon).\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="59" token="VSCP_TYPE_INFORMATION_SHUTTER_UP" name="Shutter up" description="Shutter is moving up.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="60" token="VSCP_TYPE_INFORMATION_SHUTTER_DOWN" name="Shutter down" description="Shutter is moving down.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="61" token="VSCP_TYPE_INFORMATION_SHUTTER_LEFT" name="Shutter left" description="Shutter is moving left.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="62" token="VSCP_TYPE_INFORMATION_SHUTTER_RIGHT" name="Shutter right" description="Shutter is moving right.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="63" token="VSCP_TYPE_INFORMATION_SHUTTER_END_TOP" name="Shutter reached top end" description="Shutter reached top end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="64" token="VSCP_TYPE_INFORMATION_SHUTTER_END_BOTTOM" name="Shutter reached bottom end" description="Shutter reached bottom end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="65" token="VSCP_TYPE_INFORMATION_SHUTTER_END_MIDDLE" name="Shutter reached middle end" description="Shutter reached middle end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="66" token="VSCP_TYPE_INFORMATION_SHUTTER_END_PRESET" name="Shutter reached preset end" description="Shutter reached preset end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="67" token="VSCP_TYPE_INFORMATION_SHUTTER_END_LEFT" name="Shutter reached preset left" description="Shutter reached preset left.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="68" token="VSCP_TYPE_INFORMATION_SHUTTER_END_RIGHT" name="Shutter reached preset right" description="Shutter reached preset right.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="69" token="VSCP_TYPE_INFORMATION_LONG_CLICK" name="Long click" description="Long click detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating long click. Set to zero if not used.   | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="70" token="VSCP_TYPE_INFORMATION_SINGLE_CLICK" name="Single click" description="Single click detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating single click. Set to zero if not used. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="71" token="VSCP_TYPE_INFORMATION_DOUBLE_CLICK" name="Double click" description="Double click detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating double click. Set to zero if not used. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="72" token="VSCP_TYPE_INFORMATION_DATE" name="Date" description="A device generated a date event. Time is UTC. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating date. Set to zero if not used.         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | year century                                                       | \n | 4         | year                                                               | \n | 5         | month (1-12)                                                       | \n | 6         | day (1-31)                                                         | \n\nSee also [CLASS1.INFORMATION, Type=77](./class1.information.md#type77) which combines date and time in one event.\n" />
<type id="73" token="VSCP_TYPE_INFORMATION_TIME" name="Time" description="A device generated a time event. Time is UTC. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating time. Set to zero if not used.         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Hour (0-23)                                                        | \n | 4         | minutes (0-59)                                                     | \n | 5         | seconds (0-60)                                                     | \n | 6         | milliseconds MSB (0-999)                                           | \n | 7         | milliseconds LSB (0-999)                                           | \n\nSee also [CLASS1.INFORMATION, Type=77](./class1.information.md#type77) which combines date and time in one event.\n" />
<type id="74" token="VSCP_TYPE_INFORMATION_WEEKDAY" name="Weekday" description="A device generated a weekday event.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating weekday info. Set to zero if not used. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Weekday ( 0 (Monday) - 6 (Sunday))                                 | \n" />
<type id="75" token="VSCP_TYPE_INFORMATION_LOCK" name="Lock" description="A device got locked.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="76" token="VSCP_TYPE_INFORMATION_UNLOCK" name="Unlock" description="A device got unlocked.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="77" token="VSCP_TYPE_INFORMATION_DATETIME" name="DateTime" description="A device generated a date/time event. Time is UTC. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3 - 7     | Date/time in  five byte bit array.                                 | \n\n**Bitfields** \n\n | Year  | Month | Day   | Hour  | Minute | Second | \n | :----:  | :-----: | :---:   | :----:  | :------: | :------: | \n | 26-37 | 22-25 | 17-21 | 12-16 | 6-11   | 0-5    | \n\nBit 39 is bit 7 of data byte 4. Bit 0 is bit 0 of data byte 7.\n\nBit 39 and bit 38 is reserved.\n\n** Valid values**\n\n | Item    | Value range | \n | :----:    | :-----------: | \n | Year    | 0-4095      | \n | Month   | 1-12        | \n | Day     | 1-31        | \n | Hour    | 0-23        | \n | Minute  | 0-59        | \n | Seconds | 0-59        | \n" />
<type id="78" token="VSCP_TYPE_INFORMATION_RISING" name="Rising" description="A rising (edge) is detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="79" token="VSCP_TYPE_INFORMATION_FALLING" name="Falling" description="A falling (edge) is detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="80" token="VSCP_TYPE_INFORMATION_UPDATED" name="Updated" description="Something has been updated.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="81" token="VSCP_TYPE_INFORMATION_CONNECT" name="Connect" description="Something has been connected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="82" token="VSCP_TYPE_INFORMATION_DISCONNECT" name="Disconnect" description="Something has been disconnected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="83" token="VSCP_TYPE_INFORMATION_RECONNECT" name="Reconnect" description="Something has been reconnected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="84" token="VSCP_TYPE_INFORMATION_ENTER" name="Enter" description="Enter, something has been entered.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index for device. Set to zero if not used. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="85" token="VSCP_TYPE_INFORMATION_EXIT" name="Exit" description="Exit, something has been exited.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index for device. Set to zero if not used.| \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="86" token="VSCP_TYPE_INFORMATION_INCREMENTED" name="Incremented" description="This is meant to be used as a confirmation event for CLASS1.CONTROL, Type=52 events.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Incremented value. The range can be adjusted by the user by sending just the needed number of bytes 1-5. | \n" />
<type id="87" token="VSCP_TYPE_INFORMATION_DECREMENTED" name="Decremented" description="This is meant to be used as a confirmation event for CLASS1.CONTROL, Type=53 events.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Decremented value. The range can be adjusted by the user by sending just the needed number of bytes 1-5. | \n" />
<type id="88" token="VSCP_TYPE_INFORMATION_PROXIMITY_DETECTED" name="Proximity detected" description="Proximity detected.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0 | Optional byte that have a meaning given by the issuer of the event. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3, 4 | Optional uint16 that sets proximity level if present. | \n \n" />
</class>
<class id="30" name="Control" token="CLASS1.CONTROL" description="## Description\n\nControl functionality. One of the main concepts of VSCP is that it is an event driven protocol. Commands are sent out as events to the network not as events to specific devices. A device can belong to a zone which select limit events of interest for the particular node.. If there is a need to control a specific device the registry model should be used. This is the only way to directly control a device. \n" >
<type id="0" token="VSCP_TYPE_CONTROL_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_CONTROL_MUTE" name="Mute on/off" description="Mute/Un-mute all sound generating nodes in a zone \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | If equal to zero no mute else mute.                                | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="2" token="VSCP_TYPE_CONTROL_ALL_LAMPS" name="(All) Lamp(s) on/off" description="Turn on/off lamps on nodes in zone.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | If equal to zero off else on.                                      | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nSee also [CLASS1.CONTROL, Type=40](./class1.control.md#type40) and [CLASS1.CONTROL, Type=42](./class1.control.md#type41) which don&amp;apos;t use byte 0 but instead are separated in two distinct events.\n" />
<type id="3" token="VSCP_TYPE_CONTROL_OPEN" name="Open" description="Perform open on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="4" token="VSCP_TYPE_CONTROL_CLOSE" name="Close" description="Perform close on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="5" token="VSCP_TYPE_CONTROL_TURNON" name="TurnOn" description="Turn On a nodes in a zone/subzone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="6" token="VSCP_TYPE_CONTROL_TURNOFF" name="TurnOff" description="Turn Off a nodes in a zone/subzone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="7" token="VSCP_TYPE_CONTROL_START" name="Start" description="Start all nodes in a zone.\n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n" />
<type id="8" token="VSCP_TYPE_CONTROL_STOP" name="Stop" description="Stop all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="9" token="VSCP_TYPE_CONTROL_RESET" name="Reset" description="Perform Reset on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="10" token="VSCP_TYPE_CONTROL_INTERRUPT" name="Interrupt" description="Perform Interrupt on all nodes in zone. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Interrupt level. (0 – 255 , zero is lowest interrupt level. ).   | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="11" token="VSCP_TYPE_CONTROL_SLEEP" name="Sleep" description="Perform Sleep on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="12" token="VSCP_TYPE_CONTROL_WAKEUP" name="Wakeup" description="Wakeup all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="13" token="VSCP_TYPE_CONTROL_RESUME" name="Resume" description="Resume all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="14" token="VSCP_TYPE_CONTROL_PAUSE" name="Pause" description="Pause all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="15" token="VSCP_TYPE_CONTROL_ACTIVATE" name="Activate" description="Activate all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="16" token="VSCP_TYPE_CONTROL_DEACTIVATE" name="Deactivate" description="Deactivate all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="17" token="VSCP_TYPE_CONTROL_RESERVED17" name="Reserved for future use" description="Reserved. " />
<type id="18" token="VSCP_TYPE_CONTROL_RESERVED18" name="Reserved for future use" description="Reserved. " />
<type id="19" token="VSCP_TYPE_CONTROL_RESERVED19" name="Reserved for future use" description="Reserved." />
<type id="20" token="VSCP_TYPE_CONTROL_DIM_LAMPS" name="Dim lamp(s)" description="Dim all dimmer devices on a segment to a specified dim value. \n\n | Data byte | Description                                                                             | \n | :---------: | -----------                                                                             | \n | 0         | Value (0 – 100) . 0 = off, 100 = full on. 254 dim down one step. 255 dim up one step. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                              | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                      | \n" />
<type id="21" token="VSCP_TYPE_CONTROL_CHANGE_CHANNEL" name="Change Channel" description="This is typical for changing TV channels or for changing AV amp input source etc. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                               | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                               | \n | 0         | A value between 0 and 127 indicates the channel number. A value between 128 to 157 is change down by the specified number of channels. A value between 160 to 191 is change up by the specified number of channels. A value of 255 means that this is an extended change channel event and that the channel number is sent in byte 3 and after if needed. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                        | \n" />
<type id="22" token="VSCP_TYPE_CONTROL_CHANGE_LEVEL" name="Change Level" description="Change an absolute level. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Absolute level.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_CONTROL_RELATIVE_CHANGE_LEVEL" name="Relative Change Level" description="\n Relative Change Level request\n \n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Relative level.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_CONTROL_MEASUREMENT_REQUEST" name="Measurement Request" description="Measurement Request\n\n| Data byte | Description                                                                                                                                                           | \n | :---------: | -----------                                                                                                                                                           | \n | 0         | Zero indicates all measurements supported by node should be sent (as separate events). Non-zero indicates a node specific index specifying which measurement to send. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                            | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                    | \n" />
<type id="25" token="VSCP_TYPE_CONTROL_STREAM_DATA" name="Stream Data" description="Request to stream data\n\n | Data byte | Description                                                               | \n | :---------: | -----------                                                               | \n | 0         | Sequence number which is increase by one for each stream data event sent. | \n | 1-7       | Stream data.                                                              | \n\nUse this event for streamed data out from a node. The source is then given by the nickname. If a specific received is needed use Zoned Stream. \n" />
<type id="26" token="VSCP_TYPE_CONTROL_SYNC" name="Sync" description="Synchronize events on a segment. \n\n | Data byte | Description                                                                                                                                  | \n | :---------: | -----------                                                                                                                                  | \n | 0         | Sensor index for a sensor within a module (see [data coding](./data_coding.md). 255 is all sensors. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                   | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                           | \n\nThe sensor index can be used to index units within a module also or used as some other indexing schema. \n" />
<type id="27" token="VSCP_TYPE_CONTROL_ZONED_STREAM_DATA" name="Zoned Stream Data" description="Request streamed data from nodes identified by zone/subzone.\n\n | Data byte | Description                                                               | \n | :---------: | -----------                                                               | \n | 0         | Sequence number which is increase by one for each stream data event sent. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7       | Stream data.                                                              | \n" />
<type id="28" token="VSCP_TYPE_CONTROL_SET_PRESET" name="Set Pre-set" description="Some nodes may have pre-set configurations to choose from. With this event a pre-set can be set for a zone/sub-zone.\n\nA node that receive and act on this event send CLASS1.INFORMATION, \n\nType=48 as a response event. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Code for pre-set to set.                                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_CONTROL_TOGGLE_STATE" name="Toggle state" description="Toggle the state of a node.\n\nNote: This may be a bad design option as it often demands that the state should be known for the node on beforehand.\n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n" />
<type id="30" token="VSCP_TYPE_CONTROL_TIMED_PULSE_ON" name="Timed pulse on" description="With this event it is possible to generate a timed pulse that is on for a specified time.\n\n | Data byte | Description                                                         |\n | :---------: | ----------- |\n | 0         | Optional byte that have a meaning given by the issuer of the event. |\n | 1         | Zone for which event applies to (0-255). 255 is all zones.      |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  |\n | 3         | Control byte.                                                       |\n | 4-7       | Set time as a long with MSB in the first byte.                      |\n\n##### Control Byte\n\nThe control byte have the following bits defined\n\n | Bit | Description                                                          |\n | :---: | -----------                                                          |\n | 0-3 | Time code (see table below)                                          |\n | 4   | Reserved                                                             |\n | 5   | Reserved                                                             |\n | 6   | Send on event ( Class=20 Type = 3 (0x03) On ) when pulse goes on.    |\n | 7   | Send off event ( Class=20 Type = 4 (0x04) Off ) when pulse goes off. |\n\n##### Time code\n\n | Code | Description                     |\n | :----: | -----------                     |\n | 0    | Time specified in microseconds. |\n | 1    | Time specified in milliseconds. |\n | 2    | Time specified in seconds.      |\n | 3    | Time specified in minutes.      |\n | 4    | Time specified in hours.        |\n | 5    | Time specified in days.         |\n" />
<type id="31" token="VSCP_TYPE_CONTROL_TIMED_PULSE_OFF" name="Timed pulse off" description="With this event it is possible to generate a timed pulse that is off for a specified time.\n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n | 3         | Control byte.                                                       | \n | 4-7       | Set time as a long with MSB in the first byte.                      | \n\n##### Control Byte\n\nThe control byte have the following bits defined\n\n | Bit | Description                                                          | \n | :---: | -----------                                                          | \n | 0-3 | Time code (see table below)                                          | \n | 4   | Reserved                                                             | \n | 5   | Reserved                                                             | \n | 6   | Send on event ( Class=20 Type = 3 (0x03) On ) when pulse goes on.    | \n | 7   | Send off event ( Class=20 Type = 4 (0x04) Off ) when pulse goes off. | \n\n##### Time code\n\n | Code | Description                     | \n | :----: | -----------                     | \n | 0    | Time specified in microseconds. | \n | 1    | Time specified in milliseconds. | \n | 2    | Time specified in seconds.      | \n | 3    | Time specified in minutes.      | \n | 4    | Time specified in hours.        | \n | 5    | Time specified in days.         | \n\n" />
<type id="32" token="VSCP_TYPE_CONTROL_SET_COUNTRY_LANGUAGE" name="Set country/language" description="Set country and language.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Country/Language code.                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3-7       | Country/Language code specific                                     | \n\n | Language code | Description          | Example                                           | \n | :---------: | -----------          | -------                                           | \n | 0             | Custom coded system  | Byte 3 = 0 English, Byte 3 = 1 German or similar. | \n | 1             | ISO 639-1            | nl for Dutch, en for English.                     | \n | 2             | ISO 639-2/T          | nid for Dutch, eng for English.                   | \n | 3             | ISO 639-2/B          | dut for Dutch, eng for English.                   | \n | 4             | ISO 639-3            | nid for Dutch, eng for English.                   | \n | 5             | IETF (RFC-5646/4647) | en-US for American English. en-GB British.        | \n\n\nISO codes can be found [here](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)\n" />
<type id="33" token="VSCP_TYPE_CONTROL_BIG_CHANGE_LEVEL" name="Big Change level" description="Big Change level can be used in situations when the one byte level of CLASS1.CONTROL, Type=22 is not enough.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Index        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Level as signed integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the signed integer (MSB first). | \n" />
<type id="34" token="VSCP_TYPE_CONTROL_SHUTTER_UP" name="Move shutter up" description="Move shutter up.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_CONTROL_SHUTTER_DOWN" name="Move shutter down" description="Move shutter down.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_CONTROL_SHUTTER_LEFT" name="Move shutter left" description="Move shutter left.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="37" token="VSCP_TYPE_CONTROL_SHUTTER_RIGHT" name="Move shutter right" description="Move shutter right.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="38" token="VSCP_TYPE_CONTROL_SHUTTER_MIDDLE" name="Move shutter to middle position" description="Move shutter to middle position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="39" token="VSCP_TYPE_CONTROL_SHUTTER_PRESET" name="Move shutter to preset position" description="Move shutter to preset position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Position 0-100.                                                    | \n" />
<type id="40" token="VSCP_TYPE_CONTROL_ALL_LAMPS_ON" name="(All) Lamp(s) on" description="Turn on all lamps in a zone.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nSee also [CLASS1.CONTROL, Type=2](./class1.control.md#type2)\n" />
<type id="41" token="VSCP_TYPE_CONTROL_ALL_LAMPS_OFF" name="(All) Lamp(s) off" description="Turn off all lamps in a zone.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nSee also [CLASS1.CONTROL, Type=2](./class1.control.md#type2)\n" />
<type id="42" token="VSCP_TYPE_CONTROL_LOCK" name="Lock" description="Lock devices in a zone.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n" />
<type id="43" token="VSCP_TYPE_CONTROL_UNLOCK" name="Unlock" description="Unlock devices in a zone.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                        |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n" />
<type id="44" token="VSCP_TYPE_CONTROL_PWM" name="PWM set" description="With this event it is possible to set duty cycle output such as PWM.\n\n | Data byte | Description   |\n | :---------: | ----------- |\n | 0         | Repeat/counter: 0=repeat forever, &gt;0 number of repeats |\n | 1         | Zone for which event applies to (0-255). 255 is all zones.      |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  |\n | 3         | Control byte.  |\n | 4         | Time-On MSB |\n | 5         | Time-On LSB |\n | 6         | Time-Off MSB |\n | 7         | Time-Off LSB |\n\n##### Control Byte\n\nThe control byte have the following bits defined\n\n | Bit | Description |\n | :---: | ----------- |\n | 0-3 | Time code (see table below) |\n | 4   | Reserved  |\n | 5   | Reserved  |\n | 6   | Reserved  |\n | 7   | Reserved  |\n\n##### Time code\n\n | Code | Description                     |\n | :----: | -----------                   |\n | 0    | Time specified in microseconds. |\n | 1    | Time specified in milliseconds. |\n | 2    | Time specified in seconds.      |\n | 3    | Time specified in minutes.      |\n | 4    | Time specified in hours.        |\n | 5    | Time specified in days.         |\n" />
<type id="45" token="VSCP_TYPE_CONTROL_TOKEN_LOCK" name="Lock with token" description="Lock devices with token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="46" token="VSCP_TYPE_CONTROL_TOKEN_UNLOCK" name="Unlock with token" description="Unlock devices with token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="47" token="VSCP_TYPE_CONTROL_SET_SECURITY_LEVEL" name="Set security level" description="Set security level.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         | Security level to set. 0-255 (Higher value is higher security level).  |\n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n \n" />
<type id="48" token="VSCP_TYPE_CONTROL_SET_SECURITY_PIN" name="Set security pin" description="Set security pin.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Security pin. This pin can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="49" token="VSCP_TYPE_CONTROL_SET_SECURITY_PASSWORD" name="Set security password" description="Set security password.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Security password. This password can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an UTF-8 string with a length set bt event data length - 3 |\n \n" />
<type id="50" token="VSCP_TYPE_CONTROL_SET_SECURITY_TOKEN" name="Set security token" description="Set security token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="51" token="VSCP_TYPE_CONTROL_REQUEST_SECURITY_TOKEN" name="Request new security token" description="Request new security token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n \n \n" />
<type id="52" token="VSCP_TYPE_CONTROL_INCREMENT" name="Increment" description="Increment value.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Increment as unsigned integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the unsigned integer (MSB first). If omitted (or 0) 1 is assumed as default increment value. | \n" />
<type id="53" token="VSCP_TYPE_CONTROL_DECREMENT" name="Decrement" description="Decrement value.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Decrement as unsigned integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the unsigned integer (MSB first). If omitted (or 0) 1 is assumed as default decrement value. | \n" />
</class>
<class id="40" name="Multimedia" token="CLASS1.MULTIMEDIA" description="## Description\n\nDedicated class for multimedia functionality. This class was introduced to supplement the control class and to offer multimedia specific control events.\n\nThe Play/Pause/Stop etc. events in the CLASS1.CONTROL class can also be used for media control.\n\n" >
<type id="0" token="VSCP_TYPE_MULTIMEDIA_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_MULTIMEDIA_PLAYBACK" name="Playback" description="This is for controlling playback functionality \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Function (See below)                                               | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Function Codes\n\n | Code | Description         | \n | :----: | -----------         | \n | 0    | Stop                | \n | 1    | Pause               | \n | 2    | Play                | \n | 3    | Forward             | \n | 4    | Rewind              | \n | 5    | Fast Forward        | \n | 6    | Fast Rewind         | \n | 7    | Next Track          | \n | 30   | Previous Track      | \n | 31   | Toggle repeat mode  | \n | 32   | Repeat mode ON      | \n | 33   | Repeat mode OFF     | \n | 34   | Toggle Shuffle mode | \n | 35   | Shuffle ON          | \n | 36   | Shuffle mode OFF    | \n | 37   | Fade in, Play       | \n | 38   | Fade out, Stop      | \n\nAppropriate **CLASS1.INFORMATION** events should be sent from the controlled device as response to this event. \n" />
<type id="2" token="VSCP_TYPE_MULTIMEDIA_NAVIGATOR_KEY_ENG" name="NavigatorKey English" description="This is typically for navigation functions or DVD controls \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Function                                                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Function Codes\n\n | Code    | Description                                                                            | \n | :----:    | -----------                                                                            | \n | 0..9    | 0..9 keys                                                                              | \n | 10      | 10+ key                                                                                | \n | 20      | OK                                                                                     | \n | 21      | Left                                                                                   | \n | 22      | Right                                                                                  | \n | 23      | Up                                                                                     | \n | 24      | Down                                                                                   | \n | 25      | Menu                                                                                   | \n | 26      | Selecting                                                                              | \n | 65—90 | A..Z Keys                                                                              | \n | 97..122 | a-z keys (can&amp;apos;t use ASCII hex as numbers are too large so this is the next best thing) | \n" />
<type id="3" token="VSCP_TYPE_MULTIMEDIA_ADJUST_CONTRAST" name="Adjust Contrast" description="This is typically for adjusting the contrast level of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific contrast level to set. A value between 128 and 159 is change down by the specified number of contrast levels. A value between 160 and 191 is change up by the specified number of contrast levels. A value of 255 means that this is and extended event and that the specific contrast level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                         | \n" />
<type id="4" token="VSCP_TYPE_MULTIMEDIA_ADJUST_FOCUS" name="Adjust Focus" description="This is typically for adjusting the focus settings of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                    | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                    | \n | 0         | A value between 0 and 127 indicates the specific focus level to set. A value between 128 and 159 is change down by the specified number of focus levels. A value between 160 and 191 is change up by the specified number of focus levels. A value of 255 means that this is and extended event and that the specific focus level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                     | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                             | \n" />
<type id="5" token="VSCP_TYPE_MULTIMEDIA_ADJUST_TINT" name="Adjust Tint" description="This is typically for adjusting the tint settings of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific tint level to set. A value between 128 and 159 is change down by the specified number of tint levels. A value between 160 and 191 is change up by the specified number of tint levels. A value of 255 means that this is and extended event and that the specific tint level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                         | \n" />
<type id="6" token="VSCP_TYPE_MULTIMEDIA_ADJUST_COLOUR_BALANCE" name="Adjust Color Balance" description="This is typically for adjusting the color balance settings of a display device. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_MULTIMEDIA_ADJUST_BRIGHTNESS" name="Adjust Brightness" description="This is typically for adjusting the tint settings of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific brightness level to set. A value between 128 and 159 is change down by the specified number of brightness levels. A value between 160 and 191 is change up by the specified number of brightness levels. A value of 255 means that this is and extended event and that the specific brightness level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                 | \n" />
<type id="8" token="VSCP_TYPE_MULTIMEDIA_ADJUST_HUE" name="Adjust Hue" description="This is typically for adjusting the hue settings of a display device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | A value between 0 and 127 indicates the specific hue level to set. A value between 128 and 159 is change down by the specified number of hue levels. A value between 160 and 191 is change up by the specified number of hue levels. A value of 255 means that this is and extended event and that the specific hue level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_MULTIMEDIA_ADJUST_BASS" name="Adjust Bass" description="This is typically for adjusting the bass level settings of a sound device. Depending on the implementation, this could automatically adjust the treble level. To adjust left and right bass levels, a node would have to use separate zones or sub-zones for left and right. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific bass level to set. A value between 128 and 159 is change down by the specified number of bass levels. A value between 160 and 191 is change up by the specified number of bass levels. A value of 255 means that this is and extended event and that the specific bass level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                         | \n" />
<type id="10" token="VSCP_TYPE_MULTIMEDIA_ADJUST_TREBLE" name="Adjust Treble" description="This is typically for adjusting the treble level settings of a sound device. Depending on the implementation, this could automatically adjust the bass level. To adjust left and right treble levels, a node would have to use separate zones or sub-zones for left and right. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                          | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                          | \n | 0         | 0 A value between 0 and 127 indicates the specific treble level to set. A value between 128 and 159 is change down by the specified number of treble levels. A value between 160 and 191 is change up by the specified number of treble levels. A value of 255 means that this is and extended event and that the specific treble level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                   | \n" />
<type id="11" token="VSCP_TYPE_MULTIMEDIA_ADJUST_MASTER_VOLUME" name="Adjust Master Volume" description="This is typically for adjusting the master volume level. This could be used for adjusting the level for all speakers. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="12" token="VSCP_TYPE_MULTIMEDIA_ADJUST_FRONT_VOLUME" name="Adjust Front Volume" description="This is typically for adjusting the front speaker volume level. This usually means the two front speakers as opposed to the single center speaker. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="13" token="VSCP_TYPE_MULTIMEDIA_ADJUST_CENTRE_VOLUME" name="Adjust Center Volume" description="This is typically for adjusting the front speaker volume level. This usually means the single center speaker as opposed to the two front speakers. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="14" token="VSCP_TYPE_MULTIMEDIA_ADJUST_REAR_VOLUME" name="Adjust Rear Volume" description="This is typically for adjusting the rear speaker volume level. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="15" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SIDE_VOLUME" name="Adjust Side Volume" description="This is typically for adjusting the side speaker volume level. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="16" token="VSCP_TYPE_MULTIMEDIA_RESERVED16" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="17" token="VSCP_TYPE_MULTIMEDIA_RESERVED17" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="18" token="VSCP_TYPE_MULTIMEDIA_RESERVED18" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="19" token="VSCP_TYPE_MULTIMEDIA_RESERVED19" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="20" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_DISK" name="Select Disk" description="This is typically for selecting a disk for playback \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                 | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                 | \n | 0         | A value between 0 and 127 indicates the specific disk number. A value between 128 and 159 is change down by the specified number of disks. A value between 160 and 191 is change up by the specified number of disks. A value of 200 means select a random disk. A value of 255 means that this is and extended event and that the disk number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                  | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                          | \n" />
<type id="21" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_TRACK" name="Select Track" description="This is typically for selecting a track for playback \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                             | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                             | \n | 0         | A value between 0 and 127 indicates the track number. A value between 128 and 159 is change down by the specified number of tracks. A value between 160 and 191 is change up by the specified number of tracks. A value of 200 means select a random track. A value of 255 means that this is and extended event and that the track number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                              | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                      | \n" />
<type id="22" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_ALBUM" name="Select Album/Play list" description="This is typically for selecting an album or play-list for playback \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                                  | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                                  | \n | 0         | A value between 0 and 127 indicates the album/play-list number. A value between 128 and 159 is change down by the specified number of albums/play-lists. A value between 160 and 191 is change up by the specified number of albums. A value of 200 means select a random album. A value of 255 means that this is and extended event and that the album number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                                   | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                           | \n" />
<type id="23" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_CHANNEL" name="Select Channel" description="This is typically for selecting a TV Channel \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                       | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                       | \n | 0         | A value between 0 and 127 indicates the channel number. A value between 128 and 159 is change down by the specified number of channels. A value between 160 and 191 is change up by the specified number of channels. A value of 200 means select a random channel. A value of 255 means that this is and extended event and that the channel number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                | \n" />
<type id="24" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_PAGE" name="Select Page" description="This is typically for selecting a page of a film \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the page number. A value between 128 and 159 is change down by the specified number of pages. A value between 160 and 191 is change up by the specified number of pages. A value of 200 means select a random page. A value of 255 means that this is and extended event and that the page number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="25" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_CHAPTER" name="Select Chapter" description="This is typically for selecting a chapter of a film \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                       | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                       | \n | 0         | A value between 0 and 127 indicates the chapter number. A value between 128 and 159 is change down by the specified number of chapters. A value between 160 and 191 is change up by the specified number of chapters. A value of 200 means select a random chapter. A value of 255 means that this is and extended event and that the chapter number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                | \n" />
<type id="26" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_SCREEN_FORMAT" name="Select Screen Format" description="This is for controlling screen format of a display device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | 0 = Auto, 1 = Just, 2 = Norma,l 3 = Zoom.                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_INPUT_SOURCE" name="Select Input Source" description="This is for controlling the input source of a playback device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Device code                                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Device Code\n\n | Code | Description                        | \n | :----: | -----------                        | \n | 0    | Auto                               | \n | 1    | CD                                 | \n | 2    | AUX                                | \n | 3    | DVD                                | \n | 4    | SAT                                | \n | 5    | VCR                                | \n | 6    | Tape                               | \n | 7    | Phone                              | \n | 8    | Tuner                              | \n | 9    | FM                                 | \n | 10   | AM                                 | \n | 11   | Radio (9 – 10 are more specific) | \n | 16   | Component                          | \n | 17   | VGA                                | \n | 18   | SVideo                             | \n | 19   | Video1                             | \n | 20   | Video2                             | \n | 21   | Video3                             | \n | 22   | Sat1                               | \n | 23   | Sat2                               | \n | 24   | Sat3                               | \n | 25   | mp3 source                         | \n | 26   | mpeg source                        | \n" />
<type id="28" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_OUTPUT" name="Select Output" description="This is for controlling the output of a playback device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Output Code                                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Output Code\n\n | Code | Description | \n | :----: | ----------- | \n | 0    | Auto        | \n | 16   | Component   | \n | 17   | VGA         | \n | 18   | SVideo      | \n | 19   | Video1      | \n | 20   | Video2      | \n | 21   | Video3      | \n | 30   | HDMI1       | \n | 32   | HDMI2       | \n | 32   | HDMI3       | \n" />
<type id="29" token="VSCP_TYPE_MULTIMEDIA_RECORD" name="Record" description="Control a recording device. \n\n | Data byte | Description                                                            | \n | :---------: | -----------                                                            | \n | 0         | 0 - Start to record, 1 - Stop record, 2 - Disable, AGC 3 - Enable AGC. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.             | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.     | \n" />
<type id="30" token="VSCP_TYPE_MULTIMEDIA_SET_RECORDING_VOLUME" name="Set Recording Volume" description="Control a recording device. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific contrast level to set. A value between 128 and 159 is change down by the specified number of contrast levels. A value between 160 and 191 is change up by the specified number of contrast levels. A value of 255 means that this is and extended event and that the specific contrast level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                         | \n" />
<type id="40" token="VSCP_TYPE_MULTIMEDIA_TIVO_FUNCTION" name="Tivo Function" description="This is typically for accessing TIVO functions \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | TIVO Code                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### TIVO Code\n\n | Code | Description   | \n | :----: | -----------   | \n | 1    | Box Office    | \n | 2    | Services      | \n | 3    | Program Guide | \n | 4    | Text          | \n | 5    | Info          | \n | 6    | Help          | \n | 7    | Backup        | \n | 20   | Red key       | \n | 21   | Yellow key    | \n | 22   | Green key     | \n | 23   | Blue key      | \n | 24   | White key     | \n | 25   | Black key     | \n" />
<type id="50" token="VSCP_TYPE_MULTIMEDIA_GET_CURRENT_TITLE" name="Get Current Title" description="Get the title for the current active media. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="51" token="VSCP_TYPE_MULTIMEDIA_SET_POSITION" name="Set media position in milliseconds" description="This is for controlling the position in the stream/file of a playback device \n\n | Data byte | Description                                                                                                                                                                                         | \n | :---------: | -----------                                                                                                                                                                                         | \n | 0         | Reserved                                                                                                                                                                                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                  | \n | 3-7       | Position in milliseconds, This is an integer with a size specified by the event size. This 0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF and 0xFFFFFFFFFF is the maximum that can be sent for different sizes. | \n" />
<type id="52" token="VSCP_TYPE_MULTIMEDIA_GET_MEDIA_INFO" name="Get media information" description="Get various media information from a device. \n\n | Data byte | Description                                                                                                                                                                          | \n | :---------: | -----------                                                                                                                                                                          | \n | 0         | Type of media information requested. 1 - Current Title, 1 - Get Folders, 2 - Get Disks, 3 - Get Tracks, 4 - Get Albums/Play list,s 5 - Get Channels, 6 - Get Pages, 7 - Get Chapters | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                   | \n\nIf a device does not support the requested type of media information its sends a CLASS1.INFORMATION error event or does not response. \n" />
<type id="53" token="VSCP_TYPE_MULTIMEDIA_REMOVE_ITEM" name="Remove Item from Album" description="Remove an item from an album. \n\n | Data byte | Description                                                                                                                                                       | \n | :---------: | -----------                                                                                                                                                       | \n | 0         | 0-128 - Pos to remove from album/play-list A value of 255 means that this is and extended event and that the specific contrast level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                | \n" />
<type id="54" token="VSCP_TYPE_MULTIMEDIA_REMOVE_ALL_ITEMS" name="Remove all Items from Album" description="Remove all items from an album. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="55" token="VSCP_TYPE_MULTIMEDIA_SAVE_ALBUM" name="Save Album/Play list" description="Save album/play-list to permanent storage. \n\n | Data byte | Description                                                          | \n | :---------: | -----------                                                          | \n | 0         | 0 - Do not overwrite if it already exists 1 - Overwrite if it exist. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n" />
<type id="60" token="VSCP_TYPE_MULTIMEDIA_CONTROL" name="Multimedia Control" description="Send multimedia information. This can be the title for the current active media. It can be sent as a response to a “Get Title” or similar event or by its own when a new title is playing or other multimedia information has changed.\n\nResponse should be Type=61 \n\n | Data byte | Description                                                          | \n | :---------: | -----------                                                          | \n | 0         | Control codes                                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3         | Index. Base 0. Increase by one for every fragment of the title sent. | \n | 4-7       | Data.                                                                | \n\n##### Control Codes\n\n | Code | Description                                | \n | :----: | -----------                                | \n | 0    | Active Title (URL).                        | \n | 1    | Set Title(URL).                            | \n | 2    | Active Folder(URL).                        | \n | 3    | Set Active Folder(URL).                    | \n | 4    | Artist(string).                            | \n | 5    | Year(string).                              | \n | 6    | Genre(string).                             | \n | 7    | Album(string).                             | \n | 8    | Comment(string).                           | \n | 9    | Track(integer).                            | \n | 10   | Picture(url).                              | \n | 11   | Sample rate(integer).                      | \n | 12   | Bit-rate(integer).                         | \n | 13   | Channels(integer).                         | \n | 14   | Media size bytes(integer).                 | \n | 15   | Time(string).                              | \n | 16   | Mpeg version(string).                      | \n | 17   | Mpeg layer(string).                        | \n | 18   | Frequency(integer).                        | \n | 19   | Channel Mode.                              | \n | 20   | CRC(integer).                              | \n | 21   | Copyright(string).                         | \n | 22   | Original(string).                          | \n | 23   | Emphasis.                                  | \n | 24   | Media position in milliseconds(integer).   | \n | 25   | Media-length in milliseconds(integer).     | \n | 26   | Version(string).                           | \n | 27   | Album/Play list(string).                   | \n | 28   | Play file(URL).                            | \n | 29   | Add file to album/play-list(URL).          | \n | 30   | Current Folder (URL).                      | \n | 31   | Folder content(URL).                       | \n | 32   | Set Folder(URL).                           | \n | 33   | Get Folder content(URL).                   | \n | 34   | Get Folder content albums/play-lists(URL). | \n | 35   | Get Folder content filter(string)          | \n | 36   | Disks list(String)                         | \n | 37   | Folders list(String)                       | \n | 38   | Tracks list(String)                        | \n | 39   | Albums/Play list list(String)              | \n | 40   | Channels list(String)                      | \n | 41   | Pages list(String)                         | \n | 42   | Chapters list(String)                      | \n | 43   | New Album/Play list(URL)                   | \n\nThe last fragment is sent with no data.\n\nLists in string form have list items separated with a zero (0x00).\n\nAlbum can be looked upon as a play-list which is a term used for many other multimedia products. \n" />
<type id="61" token="VSCP_TYPE_MULTIMEDIA_CONTROL_RESPONSE" name="Multimedia Control response" description="Response for multimedia control." />
</class>
<class id="50" name="Alert On LAN" token="CLASS1.AOL" description="## Description\n\nAOL Event. The main idea of AOL is to send warnings to remote administrators about different PC conditions using a LAN. Info here [https://en.wikipedia.org/wiki/Alert_on_LAN](https://en.wikipedia.org/wiki/Alert_on_LAN)\n" >
<type id="0" token="VSCP_TYPE_AOL_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_AOL_UNPLUGGED_POWER" name="System unplugged from power source" description="This node was unplugged from its power source.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="2" token="VSCP_TYPE_AOL_UNPLUGGED_LAN" name="System unplugged from network" description="This node was unplugged from the network.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="3" token="VSCP_TYPE_AOL_CHASSIS_INTRUSION" name="Chassis intrusion" description="This node detected chassis intrusion.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_AOL_PROCESSOR_REMOVAL" name="Processor removal" description="This node detected processor removal.\n\n | Data byte | Description                                                        | \n | --------- | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_AOL_ENVIRONMENT_ERROR" name="System environmental errors" description="This node detected system environmental errors.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_AOL_HIGH_TEMPERATURE" name="High temperature" description="This node detected high temperature.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_AOL_FAN_SPEED" name="Fan speed problem" description="This node detected Fan speed problem.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_AOL_VOLTAGE_FLUCTUATIONS" name="Voltage fluctuations" description="This node detected Voltage fluctuations.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_AOL_OS_ERROR" name="Operating system errors" description="This node detected Operating system errors.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_AOL_POWER_ON_ERROR" name="System power-on error" description="This node detected System power-on errors.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_AOL_SYSTEM_HUNG" name="System is hung" description="This node detected System is hung.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_AOL_COMPONENT_FAILURE" name="Component failure" description="This node detected Component failure.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_AOL_REBOOT_UPON_FAILURE" name="Remote system reboot upon report of a critical failure" description="This node detected Remote system reboot upon report of a critical failure.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_AOL_REPAIR_OPERATING_SYSTEM" name="Repair Operating System" description="This node detected Repair Operating System.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_AOL_UPDATE_BIOS_IMAGE" name="Update BIOS image" description="This node detected Update BIOS image.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_AOL_UPDATE_DIAGNOSTIC_PROCEDURE" name="Update Perform other diagnostic procedures" description="This node detected Update Perform other diagnostic procedures.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
</class>
<class id="60" name="Double precision floating point measurement" token="CLASS1.MEASUREMENT64" description="## Description\n\nFloating point double precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=10](./class1.measurement.md). The measurement unit is always expressed in the standard unit.\n\nThe value is a &amp;quot;double&amp;quot;\t- IEEE-754, 64 Bits, double precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 11-bits )\n    m = mantissa ( 52-bits )\n\n | Byte | Description                     |\n | ---- | -----------                     |\n | 0    | s e10 e9 e8 e7 e6 e5 e4         |\n | 1    | e3 e2 e1 e0 m51 m50 m49 m48     |\n | 2    | m47 m46 m45 m44 m43 m42 m41 m40 |\n | 3    | m39 m38 m37 m36 m35 m34 m33 m32 |\n | 4    | m31 m30 m29 m28 m27 m26 m25 m24 |\n | 5    | m23 m22 m21 m20 m19 m18 m17 m16 |\n | 6    | m15 m14 m13 m12 m11 m10 m9 m8   |\n | 7    | m7 m6 m5 m4 m3 m2 m1 m0         |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="61" name="Double precision floating point measurement" token="CLASS1.MEASUREMENT64X1" description="## Description\n\nFloating point double precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=11](./class1.measurementx1.md). The measurement unit is always expressed in the standard unit.\n\nThe value is a &amp;quot;double&amp;quot;\t- IEEE-754, 64 Bits, double precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 11-bits )\n    m = mantissa ( 52-bits )\n\n | Byte | Description                     |\n | ---- | -----------                     |\n | 0    | s e10 e9 e8 e7 e6 e5 e4         |\n | 1    | e3 e2 e1 e0 m51 m50 m49 m48     |\n | 2    | m47 m46 m45 m44 m43 m42 m41 m40 |\n | 3    | m39 m38 m37 m36 m35 m34 m33 m32 |\n | 4    | m31 m30 m29 m28 m27 m26 m25 m24 |\n | 5    | m23 m22 m21 m20 m19 m18 m17 m16 |\n | 6    | m15 m14 m13 m12 m11 m10 m9 m8   |\n | 7    | m7 m6 m5 m4 m3 m2 m1 m0         |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="62" name="Double precision floating point measurement" token="CLASS1.MEASUREMENT64X2" description="## Description\n\nFloating point double precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=12](./class1.measurementx2.md). The measurement unit is always expressed in the standard unit.\n\nThe value is a &amp;quot;double&amp;quot;\t- IEEE-754, 64 Bits, double precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 11-bits )\n    m = mantissa ( 52-bits )\n\n | Byte | Description                     |\n | ---- | -----------                     |\n | 0    | s e10 e9 e8 e7 e6 e5 e4         |\n | 1    | e3 e2 e1 e0 m51 m50 m49 m48     |\n | 2    | m47 m46 m45 m44 m43 m42 m41 m40 |\n | 3    | m39 m38 m37 m36 m35 m34 m33 m32 |\n | 4    | m31 m30 m29 m28 m27 m26 m25 m24 |\n | 5    | m23 m22 m21 m20 m19 m18 m17 m16 |\n | 6    | m15 m14 m13 m12 m11 m10 m9 m8   |\n | 7    | m7 m6 m5 m4 m3 m2 m1 m0         |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="63" name="Double precision floating point measurement" token="CLASS1.MEASUREMENT64X3" description="## Description\n\nFloating point double precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=13](./class1.measurementx3.md). The measurement unit is always expressed in the standard unit.\n\nThe value is a &amp;quot;double&amp;quot;\t- IEEE-754, 64 Bits, double precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 11-bits )\n    m = mantissa ( 52-bits )\n\n | Byte | Description                     |\n | ---- | -----------                     |\n | 0    | s e10 e9 e8 e7 e6 e5 e4         |\n | 1    | e3 e2 e1 e0 m51 m50 m49 m48     |\n | 2    | m47 m46 m45 m44 m43 m42 m41 m40 |\n | 3    | m39 m38 m37 m36 m35 m34 m33 m32 |\n | 4    | m31 m30 m29 m28 m27 m26 m25 m24 |\n | 5    | m23 m22 m21 m20 m19 m18 m17 m16 |\n | 6    | m15 m14 m13 m12 m11 m10 m9 m8   |\n | 7    | m7 m6 m5 m4 m3 m2 m1 m0         |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="64" name="Double precision floating point measurement" token="CLASS1.MEASUREMENT64X4" description="## Description\n\nFloating point double precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=14](./class1.measurementx4.md). The measurement unit is always expressed in the standard unit.\n\nThe value is a &amp;quot;double&amp;quot;\t- IEEE-754, 64 Bits, double precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 11-bits )\n    m = mantissa ( 52-bits )\n\n | Byte | Description                     |\n | ---- | -----------                     |\n | 0    | s e10 e9 e8 e7 e6 e5 e4         |\n | 1    | e3 e2 e1 e0 m51 m50 m49 m48     |\n | 2    | m47 m46 m45 m44 m43 m42 m41 m40 |\n | 3    | m39 m38 m37 m36 m35 m34 m33 m32 |\n | 4    | m31 m30 m29 m28 m27 m26 m25 m24 |\n | 5    | m23 m22 m21 m20 m19 m18 m17 m16 |\n | 6    | m15 m14 m13 m12 m11 m10 m9 m8   |\n | 7    | m7 m6 m5 m4 m3 m2 m1 m0         |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="65" name="Measurement with zone" token="CLASS1.MEASUREZONE" description="## Description\n\nMeasurements with zone information. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=10](./class1.measurement.md) with the difference that index, zone, and sub-zone is added. This in turn limits the data-coding options to normalized integer (see [Data-coding](./data_coding.md) for a description). The default unit for the measurement should always be used.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index for device (This is NOT the same as senorindex is in data coding byte). | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | Data coding.                                                       | \n | 4-7  | Data with format defined by byte 0.                                | \n\n\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="66" name="Measurement with zone" token="CLASS1.MEASUREZONEX1" description="## Description\n\nMeasurements with zone information. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=11](./class1.measurementx1.md) with the difference that index, zone, and sub-zone is added. This in turn limits the data-coding options to normalized integer (see [Data-coding](./data_coding.md) for a description). The default unit for the measurement should always be used.\n\n | Byte | Description                                                        |\n | :----: | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="67" name="Measurement with zone" token="CLASS1.MEASUREZONEX2" description="## Description\n\nMeasurements with zone information. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=12](./class1.measurementx2.md) with the difference that index, zone, and sub-zone is added. This in turn limits the data-coding options to normalized integer (see [Data-coding](./data_coding.md) for a description). The default unit for the measurement should always be used.\n\n | Byte | Description                                                        |\n | :----: | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="68" name="Measurement with zone" token="CLASS1.MEASUREZONEX3" description="## Description\n\nMeasurements with zone information. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=13](./class1.measurementx3.md) with the difference that index, zone, and sub-zone is added. This in turn limits the data-coding options to normalized integer (see [Data-coding](./data_coding.md) for a description). The default unit for the measurement should always be used.\n\n | Byte | Description                                                        |\n | :----: | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="69" name="Measurement with zone" token="CLASS1.MEASUREZONEX4" description="## Description\n\nMeasurements with zone information. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=14](./class1.measurementx4.md) with the difference that index, zone, and sub-zone is added. This in turn limits the data-coding options to normalized integer (see [Data-coding](./data_coding.md) for a description). The default unit for the measurement should always be used.\n\n | Byte | Description                                                        |\n | :----: | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="70" name="Single precision floating point measurement" token="CLASS1.MEASUREMENT32" description="## Description\n\nFloating point single precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=10](./class1.measurement.md). The measurement unit is always the standard unit. \n\nThe value is a &amp;quot;float&amp;quot;\t- IEEE-754, 32 Bits, single precision. \n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 8-bits )\n    m = mantissa ( 23-bits )\n\nThat is a total of 32-bits. The most significant byte is stored in byte 0.\n\n | Byte | Description                    | \n | ---- | -----------                    | \n | 0    | s e7 e6 e5 e4 e3 e2 e1         | \n | 1    | e0 m22 m21 m20 m19 m18 m17 m16 | \n | 2    | m15 m14 m13 m12 m11 m19 m9 m8  | \n | 3    | m7 m6 m5 m4 m3 m2 m1 m0        | \n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="71" name="Single precision floating point measurement" token="CLASS1.MEASUREMENT32X1" description="## Description\n\nFloating point single precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=11](./class1.measurementx1.md). The measurement unit is always the standard unit.\n\nThe value is a &amp;quot;float&amp;quot;\t- IEEE-754, 32 Bits, single precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 8-bits )\n    m = mantissa ( 23-bits )\n\nThat is a total of 32-bits. The most significant byte is stored in byte 0.\n\n | Byte | Description                    |\n | ---- | -----------                    |\n | 0    | s e7 e6 e5 e4 e3 e2 e1         |\n | 1    | e0 m22 m21 m20 m19 m18 m17 m16 |\n | 2    | m15 m14 m13 m12 m11 m19 m9 m8  |\n | 3    | m7 m6 m5 m4 m3 m2 m1 m0        |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="72" name="Single precision floating point measurement" token="CLASS1.MEASUREMENT32X2" description="## Description\n\nFloating point single precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=12](./class1.measurementx2.md). The measurement unit is always the standard unit.\n\nThe value is a &amp;quot;float&amp;quot;\t- IEEE-754, 32 Bits, single precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 8-bits )\n    m = mantissa ( 23-bits )\n\nThat is a total of 32-bits. The most significant byte is stored in byte 0.\n\n | Byte | Description                    |\n | ---- | -----------                    |\n | 0    | s e7 e6 e5 e4 e3 e2 e1         |\n | 1    | e0 m22 m21 m20 m19 m18 m17 m16 |\n | 2    | m15 m14 m13 m12 m11 m19 m9 m8  |\n | 3    | m7 m6 m5 m4 m3 m2 m1 m0        |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="73" name="Single precision floating point measurement" token="CLASS1.MEASUREMENT32X3" description="## Description\n\nFloating point single precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=13](./class1.measurementx3.md). The measurement unit is always the standard unit.\n\nThe value is a &amp;quot;float&amp;quot;\t- IEEE-754, 32 Bits, single precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 8-bits )\n    m = mantissa ( 23-bits )\n\nThat is a total of 32-bits. The most significant byte is stored in byte 0.\n\n | Byte | Description                    |\n | ---- | -----------                    |\n | 0    | s e7 e6 e5 e4 e3 e2 e1         |\n | 1    | e0 m22 m21 m20 m19 m18 m17 m16 |\n | 2    | m15 m14 m13 m12 m11 m19 m9 m8  |\n | 3    | m7 m6 m5 m4 m3 m2 m1 m0        |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="74" name="Single precision floating point measurement" token="CLASS1.MEASUREMENT32X4" description="## Description\n\nFloating point single precision measurements. This class mirrors the standard measurement events is [CLASS1.MEASUREMENT=14](./class1.measurementx4.md). The measurement unit is always the standard unit.\n\nThe value is a &amp;quot;float&amp;quot;\t- IEEE-754, 32 Bits, single precision.\n\n    s eeeeeeeeeee mmmmmmmmmmmmmmmmmmmmmmm\n    s = sign bit ( 1-bit )\n    e = exponent ( 8-bits )\n    m = mantissa ( 23-bits )\n\nThat is a total of 32-bits. The most significant byte is stored in byte 0.\n\n | Byte | Description                    |\n | ---- | -----------                    |\n | 0    | s e7 e6 e5 e4 e3 e2 e1         |\n | 1    | e0 m22 m21 m20 m19 m18 m17 m16 |\n | 2    | m15 m14 m13 m12 m11 m19 m9 m8  |\n | 3    | m7 m6 m5 m4 m3 m2 m1 m0        |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="85" name="Set value with zone" token="CLASS1.SETVALUEZONE" description="## Description\n\nThis class mirrors the standard measurement events is [CLASS1.MEASUREMENT=10](./class1.measurement.md) but also have zone information and is intended for setting a value instead of providing a measurement.\n\nThis class can for example be used to set setpoints on a node. If 256 set points is enough (!!!) use index to identify the setpoint. If more is needed use subzone as a page into this storage and make this configurable on the node.\n\nFor large integers and strings several events may need to be used to set a single value.\n\n | Byte | Description                                                        |\n | ---- | -----------                                                        |\n | 0    | Index for device (This is NOT the same as senorindex is in data coding byte). |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n \n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="86" name="Set value with zone" token="CLASS1.SETVALUEZONEX1" description="## Description\n\nThis class mirrors the standard measurement events is [CLASS1.MEASUREMENT=11](./class1.measurementx1.md) but also have zone information and is intended for setting a value instead of providing a measurement.\n\n | Byte | Description                                                        |\n | ---- | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="87" name="Set value with zone" token="CLASS1.SETVALUEZONEX2" description="## Description\n\nThis class mirrors the standard measurement events is [CLASS1.MEASUREMENT=12](./class1.measurementx2.md) but also have zone information and is intended for setting a value instead of providing a measurement.\n\n | Byte | Description                                                        |\n | ---- | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="88" name="Set value with zone" token="CLASS1.SETVALUEZONEX3" description="## Description\n\nThis class mirrors the standard measurement events is [CLASS1.MEASUREMENT=13](./class1.measurementx3.md) but also have zone information and is intended for setting a value instead of providing a measurement.\n\n | Byte | Description                                                        |\n | ---- | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="89" name="Set value with zone" token="CLASS1.SETVALUEZONEX4" description="## Description\n\nThis class mirrors the standard measurement events is [CLASS1.MEASUREMENT=14](./class1.measurement.md) but also have zone information and is intended for setting a value instead of providing a measurement.\n\n | Byte | Description                                                        |\n | ---- | -----------                                                        |\n | 0    | Index for sensor.                                                  |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | Data coding.                                                       |\n | 4-7  | Data with format defined by byte 0.                                |\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="90" name="Weather" token="CLASS1.WEATHER" description="## Description\n\nFuzzy values for weather indications. Intended for warning and information signs.\n\nWeather reporting. Used to report current weather conditions. \n" >
<type id="0" token="VSCP_TYPE_WEATHER_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_WEATHER_SEASONS_WINTER" name="Season winter" description="The winter season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="2" token="VSCP_TYPE_WEATHER_SEASONS_SPRING" name="Season spring" description="The spring season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="3" token="VSCP_TYPE_WEATHER_SEASONS_SUMMER" name="Season summer" description="The summer season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_WEATHER_SEASONS_AUTUMN" name="Autumn summer" description="The autumn season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_WEATHER_WIND_NONE" name="No wind" description="No wind\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_WEATHER_WIND_LOW" name="Low wind" description="Low wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_WEATHER_WIND_MEDIUM" name="Medium wind" description="Medium wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_WEATHER_WIND_HIGH" name="High wind" description="High wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_WEATHER_WIND_VERY_HIGH" name="Very high wind" description="Very high wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_WEATHER_AIR_FOGGY" name="Air foggy" description="Fogg.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_WEATHER_AIR_FREEZING" name="Air freezing" description="Freezing.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_WEATHER_AIR_VERY_COLD" name="Air Very cold" description="Cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_WEATHER_AIR_COLD" name="Air cold" description="Very cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_WEATHER_AIR_NORMAL" name="Air normal" description="Air normal\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_WEATHER_AIR_HOT" name="Air hot" description="Air hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_WEATHER_AIR_VERY_HOT" name="Air very hot" description="Air very hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="17" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_LOW" name="Pollution low" description="Pollution low\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="18" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_MEDIUM" name="Pollution medium" description="Pollution medium\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="19" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_HIGH" name="Pollution high" description="Pollution high\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="20" token="VSCP_TYPE_WEATHER_AIR_HUMID" name="Air humid" description="Air humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_WEATHER_AIR_DRY" name="Air dry" description="Air dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="22" token="VSCP_TYPE_WEATHER_SOIL_HUMID" name="Soil humid" description="soil humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_WEATHER_SOIL_DRY" name="Soil dry" description="soil dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_WEATHER_RAIN_NONE" name="Rain none" description="Rain none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="25" token="VSCP_TYPE_WEATHER_RAIN_LIGHT" name="Rain light" description="Rain light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="26" token="VSCP_TYPE_WEATHER_RAIN_HEAVY" name="Rain heavy" description="Rain heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_WEATHER_RAIN_VERY_HEAVY" name="Rain very heavy" description="Rain very heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="28" token="VSCP_TYPE_WEATHER_SUN_NONE" name="Sun none" description="Sun none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_WEATHER_SUN_LIGHT" name="Sun light" description="Sun light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="30" token="VSCP_TYPE_WEATHER_SUN_HEAVY" name="Sun heavy" description="Sun heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="31" token="VSCP_TYPE_WEATHER_SNOW_NONE" name="Snow none" description="Snow none.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="32" token="VSCP_TYPE_WEATHER_SNOW_LIGHT" name="Snow light" description="Snow light.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="33" token="VSCP_TYPE_WEATHER_SNOW_HEAVY" name="Snow heavy" description="Snow heavy.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="34" token="VSCP_TYPE_WEATHER_DEW_POINT" name="Dew point" description="Dew point.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_WEATHER_STORM" name="Storm" description="Storm.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_WEATHER_FLOOD" name="Flood" description="Flood.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="37" token="VSCP_TYPE_WEATHER_EARTHQUAKE" name="Earthquake" description="Earthquake\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="38" token="VSCP_TYPE_WEATHER_NUCLEAR_DISASTER" name="Nuclear disaster" description="Nuclera disaster\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="39" token="VSCP_TYPE_WEATHER_FIRE" name="Fire" description="Fire.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="40" token="VSCP_TYPE_WEATHER_LIGHTNING" name="Lightning" description="Lightning.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="41" token="VSCP_TYPE_WEATHER_UV_RADIATION_LOW" name="UV Radiation low" description="Radiation low.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="42" token="VSCP_TYPE_WEATHER_UV_RADIATION_MEDIUM" name="UV Radiation medium" description="Radiation medium.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="43" token="VSCP_TYPE_WEATHER_UV_RADIATION_NORMAL" name="UV Radiation normal" description="Radiation normal.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="44" token="VSCP_TYPE_WEATHER_UV_RADIATION_HIGH" name="UV Radiation high" description="Radiation high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="45" token="VSCP_TYPE_WEATHER_UV_RADIATION_VERY_HIGH" name="UV Radiation very high" description="Radiation very high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="46" token="VSCP_TYPE_WEATHER_WARNING_LEVEL1" name="Warning level 1" description="Warning level 1. This is the lowest varning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="47" token="VSCP_TYPE_WEATHER_WARNING_LEVEL2" name="Warning level 2" description="Warninglevel 2.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="48" token="VSCP_TYPE_WEATHER_WARNING_LEVEL3" name="Warning level 3" description="Warninglevel 3.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="49" token="VSCP_TYPE_WEATHER_WARNING_LEVEL4" name="Warning level 4" description="Warning level 4.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="50" token="VSCP_TYPE_WEATHER_WARNING_LEVEL5" name="Warning level 5" description="Warning level 5. This is the highest warning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="51" token="VSCP_TYPE_WEATHER_ARMAGEDON" name="Armageddon" description="The final warning level not seen by humans.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="52" token="VSCP_TYPE_WEATHER_UV_INDEX" name="UV Index" description="\nUV Index is an international scale for UV intensity which can have the range of 1-15 where 1 is very low radiation and a value over 10 is extremely high radiation.\n\n | Data byte | Description                         |\n | :-------: | ----------------------------------- |\n | 0    | Index.                                                             |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | UV index (0-15)                        |\n" />
</class>
<class id="95" name="Weather forecast" token="CLASS1.WEATHER_FORECAST" description="## Description\n\nWeather reporting forecast. The class have the same types as [CLASS1.WEATHER](./class1.weather.md)\n\n" >
<type id="0" token="VSCP_TYPE_WEATHER_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_WEATHER_SEASONS_WINTER" name="Season winter" description="The winter season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="2" token="VSCP_TYPE_WEATHER_SEASONS_SPRING" name="Season spring" description="The spring season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="3" token="VSCP_TYPE_WEATHER_SEASONS_SUMMER" name="Season summer" description="The summer season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_WEATHER_SEASONS_AUTUMN" name="Autumn summer" description="The autumn season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_WEATHER_WIND_NONE" name="No wind" description="No wind\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_WEATHER_WIND_LOW" name="Low wind" description="Low wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_WEATHER_WIND_MEDIUM" name="Medium wind" description="Medium wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_WEATHER_WIND_HIGH" name="High wind" description="High wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_WEATHER_WIND_VERY_HIGH" name="Very high wind" description="Very high wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_WEATHER_AIR_FOGGY" name="Air foggy" description="Fogg.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_WEATHER_AIR_FREEZING" name="Air freezing" description="Freezing.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_WEATHER_AIR_VERY_COLD" name="Air Very cold" description="Cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_WEATHER_AIR_COLD" name="Air cold" description="Very cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_WEATHER_AIR_NORMAL" name="Air normal" description="Air normal\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_WEATHER_AIR_HOT" name="Air hot" description="Air hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_WEATHER_AIR_VERY_HOT" name="Air very hot" description="Air very hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="17" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_LOW" name="Pollution low" description="Pollution low\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="18" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_MEDIUM" name="Pollution medium" description="Pollution medium\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="19" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_HIGH" name="Pollution high" description="Pollution high\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="20" token="VSCP_TYPE_WEATHER_AIR_HUMID" name="Air humid" description="Air humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_WEATHER_AIR_DRY" name="Air dry" description="Air dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="22" token="VSCP_TYPE_WEATHER_SOIL_HUMID" name="Soil humid" description="soil humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_WEATHER_SOIL_DRY" name="Soil dry" description="soil dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_WEATHER_RAIN_NONE" name="Rain none" description="Rain none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="25" token="VSCP_TYPE_WEATHER_RAIN_LIGHT" name="Rain light" description="Rain light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="26" token="VSCP_TYPE_WEATHER_RAIN_HEAVY" name="Rain heavy" description="Rain heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_WEATHER_RAIN_VERY_HEAVY" name="Rain very heavy" description="Rain very heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="28" token="VSCP_TYPE_WEATHER_SUN_NONE" name="Sun none" description="Sun none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_WEATHER_SUN_LIGHT" name="Sun light" description="Sun light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="30" token="VSCP_TYPE_WEATHER_SUN_HEAVY" name="Sun heavy" description="Sun heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="31" token="VSCP_TYPE_WEATHER_SNOW_NONE" name="Snow none" description="Snow none.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="32" token="VSCP_TYPE_WEATHER_SNOW_LIGHT" name="Snow light" description="Snow light.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="33" token="VSCP_TYPE_WEATHER_SNOW_HEAVY" name="Snow heavy" description="Snow heavy.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="34" token="VSCP_TYPE_WEATHER_DEW_POINT" name="Dew point" description="Dew point.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_WEATHER_STORM" name="Storm" description="Storm.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_WEATHER_FLOOD" name="Flood" description="Flood.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="37" token="VSCP_TYPE_WEATHER_EARTHQUAKE" name="Earthquake" description="Earthquake\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="38" token="VSCP_TYPE_WEATHER_NUCLEAR_DISASTER" name="Nuclear disaster" description="Nuclera disaster\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="39" token="VSCP_TYPE_WEATHER_FIRE" name="Fire" description="Fire.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="40" token="VSCP_TYPE_WEATHER_LIGHTNING" name="Lightning" description="Lightning.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="41" token="VSCP_TYPE_WEATHER_UV_RADIATION_LOW" name="UV Radiation low" description="Radiation low.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="42" token="VSCP_TYPE_WEATHER_UV_RADIATION_MEDIUM" name="UV Radiation medium" description="Radiation medium.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="43" token="VSCP_TYPE_WEATHER_UV_RADIATION_NORMAL" name="UV Radiation normal" description="Radiation normal.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="44" token="VSCP_TYPE_WEATHER_UV_RADIATION_HIGH" name="UV Radiation high" description="Radiation high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="45" token="VSCP_TYPE_WEATHER_UV_RADIATION_VERY_HIGH" name="UV Radiation very high" description="Radiation very high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="46" token="VSCP_TYPE_WEATHER_WARNING_LEVEL1" name="Warning level 1" description="Warning level 1. This is the lowest varning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="47" token="VSCP_TYPE_WEATHER_WARNING_LEVEL2" name="Warning level 2" description="Warninglevel 2.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="48" token="VSCP_TYPE_WEATHER_WARNING_LEVEL3" name="Warning level 3" description="Warninglevel 3.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="49" token="VSCP_TYPE_WEATHER_WARNING_LEVEL4" name="Warning level 4" description="Warning level 4.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="50" token="VSCP_TYPE_WEATHER_WARNING_LEVEL5" name="Warning level 5" description="Warning level 5. This is the highest warning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="51" token="VSCP_TYPE_WEATHER_ARMAGEDON" name="Armageddon" description="The final warning level not seen by humans.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="52" token="VSCP_TYPE_WEATHER_UV_INDEX" name="UV Index" description="\nUV Index is an international scale for UV intensity which can have the range of 1-15 where 1 is very low radiation and a value over 10 is extremely high radiation.\n\n | Data byte | Description                         |\n | :-------: | ----------------------------------- |\n | 0    | Index.                                                             |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | UV index (0-15)                        |\n" />
</class>
<class id="100" name="Phone" token="CLASS1.PHONE" description="## Description\n\nThis class is for phone related functionality. \n" >
<type id="0" token="VSCP_TYPE_PHONE_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_PHONE_INCOMING_CALL" name="Incoming call" description="There is an incoming phone call. Usually a caller ID node just sends out numerical information. A database event can follow (later) that contains the real text information.\n\nPhone calls are reported in the following form\n\n    from,to\n\nwhere from is the originating number and to is the receiving phone. Numbers is preferable presented in an international form. So a call from England to a Swedish phone should take the following form\n\n    44-123-1122334,46-657-413430\n\nwhich is sent in tree frames. Some device can&amp;apos;t separate country and area-code and therefore the form\n\n    441231122334,46657413430\n\nwill also be valid.\n\na database connected application can later resolve this and present\n\n    A customer,Eurosource\n\nThis is the type=8 event, database info, (see below). Note that the comma cant be used in the descriptive names.\n\nCalls from unlisted numbers are presented as\n\n    ,to \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Id for the call. This is an incremental identity number for each call. | \n | 1    | Index of phone event (base = 0). Each call can be broken up into fragments. This is the fragment number. | \n | 2    | Total number of events (fragments) for this call information. | \n | 3-7  | Caller information. Number or real text information. | \n" />
<type id="2" token="VSCP_TYPE_PHONE_OUTGOING_CALL" name="Outgoing call" description="There is an outgoing phone call. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Id for the call. This is an incremental ID number for each call. |\n | 1    | Index of phone event (base = 0). Each call can be broken up into fragments. This is the fragment number. | \n | 2    | Total number of events (fragments) for this call information. | \n | 3-7  | Caller information. Number or real text information. | \n" />
<type id="3" token="VSCP_TYPE_PHONE_RING" name="Ring" description="This is a event indicating that there is a “ring” for this call. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | An ID for the call. This can for instance be a number that increases by one for each call. | \n" />
<type id="4" token="VSCP_TYPE_PHONE_ANSWER" name="Answer" description="The call has been answered. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | An ID for the call. This can for instance be a number that increases by one for each call. | \n | 1    | Zone for answer location. | \n | 2    | Sub-zone for answer location. | \n" />
<type id="5" token="VSCP_TYPE_PHONE_HANGUP" name="Hangup" description="The call has been terminated by the receiving end. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0 | An ID for the call. This can for instance be a number that increases by one for each call. | \n \n" />
<type id="6" token="VSCP_TYPE_PHONE_GIVEUP" name="Giveup" description="The call has been terminated by the originating end. byte \n\n| Byte | Description | \n | :----: | ----------- | \n | 0 | An ID for the call. This can for instance be a number that increases by one for each call. | \n\n" />
<type id="7" token="VSCP_TYPE_PHONE_TRANSFER" name="Transfer" description="The call has been transferred. byte \n\n | Byte | Description | \n | :----: | ----------- | \n | 0 | An ID for the call. This can for instance be a number that increases by one for each call. | \n\n" />
<type id="8" token="VSCP_TYPE_PHONE_DATABASE_INFO" name="Database Info" description=" Call database info.\n \n | Byte | Description | \n | :----: | ----------- | \n | 0   | Id for the call. This is a number that is increased by one for each call. In this case the number is the same as for the incoming or outgoing events. | \n | 1   | Index of phone event (base=0). Each call can be broken up into fragments. This is the fragment number. | \n | 2   | Total number of events (fragments) for this call information. | \n | 3-7 | Caller information. Real text information.  | \n" />
</class>
<class id="102" name="Display" token="CLASS1.DISPLAY" description="## Description\n\nThis is generic display related functionality. Show info on a screen, LED-display diode, etc.\n\nThe [CAN4VSCP New York module](https://www.grodansparadis.com) is an example on the how this can be implemented in a module. \n\n##### Escape sequences\n\nAn escape sequence is preceded with a %. As a result to display **”%”** instead **&amp;quot;%%&amp;quot;** should be used.\n\nThe first character after the % is the escape-type. This character is case sensitive. That is “e” is not the same as “E”. \n\n##### Escape character Description\n\n | Escape type | Decription | \n | :-----------: | ---------- | \n | **$**       | Zero terminated string | \n | **!**       | Boolean value | \n | **b**       | signed char | \n | **B**       | unsigned char | \n | **s**       | signed short | \n | **S**       | unsigned short | \n | **i**       | signed int | \n | **I**       | unsigned int | \n | **l**       | signed long | \n | **L**       | unsigned long | \n | **f**       | floating point decimal | \n | **d**       | date format | \n | **t**       | time | \n | **n**       | normalized integer | \n | **p**       | **Parameter data:** Display parameter escapes. The format is &lt;br&gt;**%p001**&lt;br&gt; where “001” is the ID that identifies the parameter. This escape is used for hard parameters displayed by the display maker. Se Type=6 below. | \n | **e**       | **Event data:** Event data escapes. The format is &lt;br&gt;**%eclass,type,r**&lt;br&gt; where class and type tells which event is of interest and r have the same format as the r escape | \n\nThe above is just a recommendation. Anyone can of course use any format they like." >
<type id="0" token="VSCP_TYPE_DISPLAY_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_DISPLAY_CLEAR_DISPLAY" name="Clear Display" description="Clear the display on displays in a certain zone,sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Code - not yet defined.                                            | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="2" token="VSCP_TYPE_DISPLAY_POSITION_CURSOR" name="Position cursor" description="Move the cursor to a specific position on displays in a certain zone,sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | Row to move to (first row is 0).                                   | \n | 4    | Column to move to (first column is 0).                             | \n \n" />
<type id="3" token="VSCP_TYPE_DISPLAY_WRITE_DISPLAY" name="Write Display" description="Write to display(s) in a certain zone,sub-zone. The update of the display is immediate. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7  | Display data.                                                             | \n\nIndex is increased by one for each event that builds up a specific event. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically. \n" />
<type id="4" token="VSCP_TYPE_DISPLAY_WRITE_DISPLAY_BUFFER" name="Write Display buffer" description="Write to the buffers of displays in a certain zone,sub-zone. The update of the display is is not done right away but is instead done when the Show Buffer event is received by the display unit. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7  | Display data.                                                             | \n\nIndex is increased by one for each event that builds up a specific event. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.\n\nMany LCD displays allow definition of special characters. Use this event to define custom matrices buy defining a sub-zone for the user defined matrix(es). \n" />
<type id="5" token="VSCP_TYPE_DISPLAY_SHOW_DISPLAY_BUFFER" name="Show Display Buffer" description="Tells displays in a certain zone,sub-zone to display the content in their display buffers. The update of the display is immediate. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n" />
<type id="6" token="VSCP_TYPE_DISPLAY_SET_DISPLAY_BUFFER_PARAM" name="Set Display Buffer Parameter" description="With this call a display buffer parameter can be sent to a display. This parameter is inserted at the escape position %pn in the string in the buffer *when the buffer is transferred to the display*.\n\nNote that there are no zone and sub-zone defined for this event and the escapes must instead be chosen to be distinct in a system. This means that &amp;p1 will be unique within a system and updating this parameter will update on all displays that has it defined. \n\n | Byte | Description                                | \n | :----: | -----------                                | \n | 0    | Display parameter index.                   | \n | 1    | Data coding byte as of VSCP Specification. | \n | 2-7  | Data as of coding.                         | \n\nNote that the event have one byte less then standard measurement events so all coding types can not be used. \n" />
<type id="32" token="VSCP_TYPE_DISPLAY_SHOW_TEXT" name="Show Text" description="This event contains information that should be displayed on displays pointed out by zone/sub-zone.\n\nThis event can have the same functionality as Write Display or be set on an higher abstraction level. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | Index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7  | event.                                                                    | \n\nIndex is increase by one for each event that builds up a specific event. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.\n\nThe text sent to a node can contain escape characters that themselves display data or other display events. Se the new_york node for examples of this.\n\nFor a multi line display one can use different sub-zones o address different lines. One can also us macro characters to map display events to a line. \n" />
<type id="48" token="VSCP_TYPE_DISPLAY_SHOW_LED" name="Set LED" description="This event contains information that should be displayed on LED(s) pointed out by zone/sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index                                                              | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | 0 =off, 1=on, 2=blink                                              | \n | 4    | Blink period: MSB milliseconds for ON.                             | \n | 5    | Blink period: LSB milliseconds for ON.                             | \n | 6    | Blink period: MSB milliseconds for OFF.                            | \n | 7    | Blink period: LSB milliseconds for OFF.                            | \n\nBlink period can be omitted if not used or if blink period is defined hard. \n" />
<type id="49" token="VSCP_TYPE_DISPLAY_SHOW_LED_COLOR" name="Set RGB Color" description="This event set the color for LED(s) pointed out by zone/sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index                                                              | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | Color R to display 0-255.                                          | \n | 4    | Color G to display 0-255.                                          | \n | 5    | Color B to display 0-255.                                          | \n\nIf multi-byte resolution for the colors is needed use index to address the byte where 0 means the MSB byte, 1 MSB+1 byte etc (Big endian).\n" />
</class>
<class id="110" name="IR Remote I/f" token="CLASS1.IR" description="## Description\n\nThis is the IR code sent/received from common remote controls. \n" >
<type id="0" token="VSCP_TYPE_REMOTE_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_REMOTE_RC5" name="RC5 Send/Receive" description="A RC5 remote code. [http://www.xs4all.nl/~sbp/knowledge/ir/sirc.htm ]Use the VSCP abstract remote format if possible.\n\n | Byte | Description          | \n | :----: | -----------          | \n | 0    | RC5 code.            | \n | 1    | RC5 Address.         | \n | 2    | Repeat count if any. | " />
<type id="3" token="VSCP_TYPE_REMOTE_SONY12" name="SONY 12-bit Send/Receive" description="A SONY remote code. [http://www.xs4all.nl/~sbp/knowledge/ir/sirc.htm] Use the VSCP abstract remote format if possible.\n\n | Byte | Description          | \n | :----: | -----------          | \n | 0    | SONY code.           | \n | 1    | SONY address.        | \n | 2    | Repeat count if any. | \n" />
<type id="32" token="VSCP_TYPE_REMOTE_LIRC" name="LIRC (Linux Infrared Remote Control)" description="Packed LIRC codes code. LRC Codes are normally sent as 64-bit codes or even larger codes. Only codes with a length less then 56 bits (7-bytes) are supported by VSCP and the most significant byte of the LIRC code is not transferred. [http://www.lirc.org/](http://www.lirc.org/) \n\n | Byte | Description          | \n | :----: | -----------          | \n | 0    | LIRC Code, MSB.      | \n | 1    | LIRC Code.           | \n | 2    | LIRC Code.           | \n | 3    | LIRC Code.           | \n | 4    | LIRC Code.           | \n | 5    | LIRC Code.           | \n | 6    | LIRC Code. LSB.      | \n | 7    | Repeat count if any. | \n" />
<type id="48" token="VSCP_TYPE_REMOTE_VSCP" name="VSCP Abstract Remote Format" description="Instead of sending codes that relates to a certain remote this format is general. And therefore more flexible \n\n | Byte | Description                                                            | \n | :----: | -----------                                                            | \n | 0    | Code, MSB.                                                             | \n | 1    | Code LSB.                                                              | \n | 2    | Zone for which event applies to (0-255). 255 is all zones.             | \n | 3    | Sub-zone for which the event applies to (0-255). 255 is all sub-zones. | \n | 4    | Repeat count if any.                                                   | \n" />
<type id="49" token="VSCP_TYPE_REMOTE_MAPITO" name="MAPito Remote Format" description="Instead of sending codes that relates to a certain remote this format is general. And therefore more flexible. \n\n | Byte | Description                                                            | \n | :----: | -----------                                                            | \n | 0    | Repeat Count.                                                          | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.             | \n | 2    | Sub-zone for which the event applies to (0-255). 255 is all sub-zones. | \n | 3    | Control address MSB.                                                   | \n | 4    | Control address.                                                       | \n | 5    | Control address.                                                       | \n | 6    | Control address LSB.                                                   | \n | 7    | Key Code.                                                              | \n" />
</class>
<class id="120" name="Configuration" token="CLASS1.CONFIGURATION" description="## Description\n\nEvents for configuration of sets and parameters on nodes without register manipulation.\n" >
<type id="0" token="VSCP_TYPE_CONFIGURATION_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_CONFIGURATION_LOAD" name="Load configuration" description="Load a specific configuration on a node.  The configuration to load is defined by a 16-byte configuration id. It is recommended that configuration id zero is the default configuration.\n\nThe optional control byte can be used to request a reset if the device after configuration is loaded.\n\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_LOAD_ACK should be sent by the node after loading the new configuration to acknowledge a successful load of configuration data.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_LOAD_NACK should be sent by the node after loading the new configuration to negative acknowledge a failed load of configuration data.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Configuration id MSB. | \n | 4    | Configuration id LSB. |\n | 5    | Control byte (optional). |\n\n##### Control byte\n\n| Bit | Description | \n| :----: | ----------- | \n| 0-6    | Reserved.   | \n| 7    | Reboot device after configuration is loaded.   | \n" />
<type id="2" token="VSCP_TYPE_CONFIGURATION_LOAD_ACK" name="Load configuration acknowledge" description="This event should be sent by the node after loading a new configuration to acknowledge a successful load of configuration data. The configuration id for the successfully loaded configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="3" token="VSCP_TYPE_CONFIGURATION_LOAD_NACK" name="Load configuration negative acknowledge" description="This event should be sent by the node after loading a new configuration to negative acknowledge an unsuccessful load of configuration data. The configuration id for the unsuccessfully loaded configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="4" token="VSCP_TYPE_CONFIGURATION_SAVE" name="Save configuration" description="Save a specific configuration on a node.  The configuration to save is identified by a 16-byte configuration id. It is recommended that configuration id zero is the default configuration.\n\nThe optional control byte can be used to request a reset if the device after configuration is saved.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_SAVE_ACK should be sent by the node after saving the new configuration to acknowledge a successful save of configuration data.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_SAVE_NACK should be sent by the node after saving the new configuration to negative acknowledge a failed save of configuration data.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Configuration id MSB. | \n | 4    | Configuration id LSB. |\n | 5    | Control byte (optional). |\n\n##### Control byte\n\n| Bit | Description | \n| :----: | ----------- | \n| 0-6    | Reserved.   | \n| 7    | Reboot device after configuration is saved.   | \n" />
<type id="5" token="VSCP_TYPE_CONFIGURATION_SAVE_ACK" name="Save configuration acknowledge" description="This event should be sent by the node after saving a new configuration to acknowledge a successful save of configuration data. The configuration id for the successfully saved configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="6" token="VSCP_TYPE_CONFIGURATION_SAVE_NACK" name="Save configuration negative acknowledge" description="This event should be sent by the node after saving a new configuration to negative acknowledge an unsuccessful save of configuration data. The configuration id for the unsuccessfully saved configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="7" token="VSCP_TYPE_CONFIGURATION_COMMIT" name="Commit configuration" description="Commit a specific configuration on a node.  The configuration to commit is identified by a 16-byte configuration id. It is recommended that configuration id zero is the default configuration.\n\nThe optional control byte can be used to request a reset if the device after configuration is saved.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_COMMIT_ACK should be sent by the node after committing the new configuration to acknowledge a successful commit of configuration data.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_COMMIT_NACK should be sent by the node after committing the new configuration to negative acknowledge a failed commit of configuration data.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Configuration id MSB. | \n | 4    | Configuration id LSB. |\n | 5    | Control byte (optional). |\n\n##### Control byte\n\n| Bit | Description | \n| :----: | ----------- | \n| 0-6    | Reserved.   | \n| 7    | Reboot device after configuration is committed.   | \n" />
<type id="8" token="VSCP_TYPE_CONFIGURATION_COMMIT_ACK" name="Commit configuration acknowledge" description="This event should be sent by the node after committing a new configuration to acknowledge a successful commit of configuration data. The configuration id for the successfully committed configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="9" token="VSCP_TYPE_CONFIGURATION_COMMIT_NACK" name="Commit configuration negative acknowledge" description="This event should be sent by the node after committing a new configuration to negative acknowledge an unsuccessful commit of configuration data. The configuration id for the unsuccessfully committed configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="10" token="VSCP_TYPE_CONFIGURATION_RELOAD" name="Reload configuration" description="Reload a specific configuration on a node.  The configuration to reload is identified by a 16-byte configuration id. It is recommended that configuration id zero is the default configuration.\n\nThe optional control byte can be used to request a reset if the device after configuration is saved.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_RELOAD_ACK should be sent by the node after reloadinf the new configuration to acknowledge a successful reload of configuration data.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_RELOAD_NACK should be sent by the node after reloading the new configuration to negative acknowledge a failed reload of configuration data.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Configuration id MSB. | \n | 4    | Configuration id LSB. |\n | 5    | Control byte (optional). |\n\n##### Control byte\n\n| Bit | Description | \n| :----: | ----------- | \n| 0-6    | Reserved.   | \n| 7    | Reboot device after configuration is reloaded.   | \n" />
<type id="11" token="VSCP_TYPE_CONFIGURATION_REALOD_ACK" name="Reload configuration acknowledge" description="This event should be sent by the node after reloading a new configuration to acknowledge a successful reload of configuration data. The configuration id for the successfully reloaded configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="12" token="VSCP_TYPE_CONFIGURATION_RELOAD_NACK" name="Reload configuration negative acknowledge" description="This event should be sent by the node after reloading a new configuration to negative acknowledge an unsuccessful reload of configuration data. The configuration id for the unsuccessfully reloaded configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="13" token="VSCP_TYPE_CONFIGURATION_RESTORE" name="Restore configuration" description="Restore a specific configuration on a node.  The configuration to restore is identified by a 16-byte configuration id. It is recommended that configuration id zero is the default configuration.\n\nThe optional control byte can be used to request a reset if the device after configuration is saved.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_RESTORE_ACK should be sent by the node after restoring the new configuration to acknowledge a successful restore of configuration data.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_RESTORE_NACK should be sent by the node after restoring the new configuration to negative acknowledge a failed restore of configuration data.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Configuration id MSB. | \n | 4    | Configuration id LSB. |\n | 5    | Control byte (optional). |\n\n##### Control byte\n\n| Bit | Description | \n| :----: | ----------- | \n| 0-6    | Reserved.   | \n| 7    | Reboot device after configuration is restored.   | \n" />
<type id="14" token="VSCP_TYPE_CONFIGURATION_RESTORE_ACK" name="Restore configuration acknowledge" description="This event should be sent by the node after restoring a new configuration to acknowledge a successful restore of configuration data. The configuration id for the successfully restored configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="15" token="VSCP_TYPE_CONFIGURATION_RESTORE_NACK" name="Restore configuration negative acknowledge" description="This event should be sent by the node after restoring a new configuration to negative acknowledge an unsuccessful restore of configuration data. The configuration id for the unsuccessfully restored configuration should be given in byte 0 and 1.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Configuration id MSB. | \n | 1    | Configuration id LSB. |\n" />
<type id="30" token="VSCP_TYPE_CONFIGURATION_SET_PARAMETER" name="Set parameter" description="Set a parameter identified by a 16-bit parameter id to a value identified by a 16-bit value identifier. A typical examples of the use of this event is to set the unit for a measurement on one or several nodes. It is recommended that the value identifier zero is used as the default value for a parameter.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_SET_MODE_ACK should be sent by the node after setting the new value.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_SET_MODE_NACK should be sent by the node if it fails to set the new value.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Parameter id MSB. | \n | 4    | Parameter id LSB. |\n | 5    | Value id MSB. | \n | 6    | Value id LSB. |\n" />
<type id="31" token="VSCP_TYPE_CONFIGURATION_SET_PARAMETER_DEFAULT" name="Set parameter to default" description="Set the default value for a parameter identified by a 16-bit parameter id. In most cases this is the same as setting the mode for a parameter to value id zero.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_SET_MODE_ACK should be sent by the node after setting the new value.\n\nCLASS1.CONFIGURATION, VSCP_TYPE_CONFIGURATION_SET_MODE_NACK should be sent by the node if it fails to set the new value.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Index.                | \n | 1    | Zone.                 | \n | 2    | Subzone.              | \n | 3    | Parameter id MSB. | \n | 4    | Parameter id LSB. |\n \n" />
<type id="32" token="VSCP_TYPE_CONFIGURATION_SET_PARAMETER_ACK" name="Set parameter acknowledge" description="This event should be sent by the node after setting the new value.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Parameter id MSB. | \n | 1    | Parameter id LSB. |\n | 2    | Value id MSB. | \n | 3    | Value id LSB. |\n" />
<type id="33" token="VSCP_TYPE_CONFIGURATION_SET_PARAMETER_NACK" name="Set paramter negative acknowledge" description="Should be sent by the node if it fails to set the new value.\n\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Parameter id MSB. | \n | 1    | Parameter id LSB. |\n | 2    | Value id MSB. | \n | 3    | Value id LSB. |\n" />
</class>
<class id="206" name="Position (GNSS)" token="CLASS1.GNSS" description="## Description\n\nControl and interface for the global navigation satellite system (GNSS) (for example GPS) protocols (NMEA, SIRF etc)to VSCP\n\n\n*  For Angle use CLASS1.MEASUREMENT, Type = 30 (0x1E) Angle \n\n*  For Altitude use CLASS1.MEASUREMENT, Type = 51 (0x33) Altitude. \n\n*  For Speed use CLASS1.MEASUREMENT, Type = 32 (0x20) Speed \n\n*  For Signal Quality use CLASS1.DATA, Type = 5 (0x05) Signal Quality \n\n*  For Time-stamp use CLASS1.MEASUREMENT, Type = 4 (0x04) Time\n\nTypically one NMEA, SIRF etc frame with information needs to be translated to many VSCP events. It is possible to group the events together with\n\n\n*  CLASS1.INFORMATION, Type=46 (0x2E) Start of record \n\n*  CLASS1.INFORMATION, Type=47 (0x2F) End of record\n\nif preferred to hold the events together. " >
<type id="0" token="VSCP_TYPE_GNSS_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_GNSS_POSITION" name="Position" description="Position information as decimal Latitude + Longitude. \n\n | Byte | Description                        | \n | :----: | -----------                        | \n | 0-3  | Latitude as floating point value.  | \n | 4-7  | Longitude as floating point value. | \n" />
<type id="2" token="VSCP_TYPE_GNSS_SATELLITES" name="Satellites" description="Number of satellites used. \n\n | Byte | Description                | \n | :----: | -----------                | \n | 0    | Number of satellites used. | \n" />
</class>
<class id="212" name="Wireless" token="CLASS1.WIRELESS" description="## Description\n\nThis class of events is used for wireless equipment such as cellular phones etc.\n\n\n*  For IMEI code use CLASS1.INFORMATION, Type = 37 (0x25) Token Activity.\n*  For IMSI code use CLASS1.INFORMATION, Type = 37 (0x25) Token Activity .\n*  For Signal Quality use CLASS1.DATA, Type = 5 (0x05) Signal Quality\n*  For Time-stamp use CLASS1.MEASUREMENT, Type = 4 (0x04) Time\n" >
<type id="0" token="VSCP_TYPE_WIRELESS_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_WIRELESS_GSM_CELL" name="GSM Cell" description="Event with ID for the GSM cell. Normally this is a 16-bit value but a 32-bit value is used in VSCP. \n\n | Byte | Description  | \n | :----: | -----------  | \n | 0-3  | GSM Cell ID. | " />
</class>
<class id="506" name="Diagnostic" token="CLASS1.DIAGNOSTIC" description="## Description\n\nDiagnostic functionality. \n\nThe diagnostic events can be used to report malfunctions and errors. \n" >
<type id="0" token="VSCP_TYPE_DIAGNOSTIC_GENERAL" name="General event" description="General Event. \n\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | index. Often used as an index for channels/subdevices within a module. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones. | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n        " />
<type id="1" token="VSCP_TYPE_DIAGNOSTIC_OVERVOLTAGE" name="Overvoltage" description="Over voltage has been diagnosed. \n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="2" token="VSCP_TYPE_DIAGNOSTIC_UNDERVOLTAGE" name="Undervoltage" description="Under voltage has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="3" token="VSCP_TYPE_DIAGNOSTIC_VBUS_LOW" name="USB VBUS low" description="Low voltage on USB VBUS has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="4" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_LOW" name="Battery voltage low" description="Low battery voltage has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="5" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_FULL" name="Battery full voltage" description="Battery full voltage has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="6" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_ERROR" name="Battery error" description="Battery error has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="7" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_OK" name="Battery OK" description="Functional battery has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="8" token="VSCP_TYPE_DIAGNOSTIC_OVERCURRENT" name="Over current" description="Over current has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="9" token="VSCP_TYPE_DIAGNOSTIC_CIRCUIT_ERROR" name="Circuit error" description="Circuit error has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="10" token="VSCP_TYPE_DIAGNOSTIC_SHORT_CIRCUIT" name="Short circuit" description="Short circuit has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="11" token="VSCP_TYPE_DIAGNOSTIC_OPEN_CIRCUIT" name="Open Circuit" description="Open Circuit has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="12" token="VSCP_TYPE_DIAGNOSTIC_MOIST" name="Moist" description="Moist has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="13" token="VSCP_TYPE_DIAGNOSTIC_WIRE_FAIL" name="Wire failure" description="Wire failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="14" token="VSCP_TYPE_DIAGNOSTIC_WIRELESS_FAIL" name="Wireless faliure" description="Wireless faliure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="15" token="VSCP_TYPE_DIAGNOSTIC_IR_FAIL" name="IR failure" description="IR failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="16" token="VSCP_TYPE_DIAGNOSTIC_1WIRE_FAIL" name="1-wire failure" description="1-wire failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="17" token="VSCP_TYPE_DIAGNOSTIC_RS222_FAIL" name="RS-222 failure" description="RS-222 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="18" token="VSCP_TYPE_DIAGNOSTIC_RS232_FAIL" name="RS-232 failure" description="RS-232 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="19" token="VSCP_TYPE_DIAGNOSTIC_RS423_FAIL" name="RS-423 failure" description="RS-423 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="20" token="VSCP_TYPE_DIAGNOSTIC_RS485_FAIL" name="RS-485 failure" description="RS-485 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="21" token="VSCP_TYPE_DIAGNOSTIC_CAN_FAIL" name="CAN failure" description="CAN failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="22" token="VSCP_TYPE_DIAGNOSTIC_LAN_FAIL" name="LAN failure" description="LAN failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="23" token="VSCP_TYPE_DIAGNOSTIC_USB_FAIL" name="USB failure" description="USB failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="24" token="VSCP_TYPE_DIAGNOSTIC_WIFI_FAIL" name="Wifi failure" description="Wifi failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="25" token="VSCP_TYPE_DIAGNOSTIC_NFC_RFID_FAIL" name="NFC/RFID failure" description="NFC/RFID failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="26" token="VSCP_TYPE_DIAGNOSTIC_LOW_SIGNAL" name="Low signal" description="Low signal has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="27" token="VSCP_TYPE_DIAGNOSTIC_HIGH_SIGNAL" name="High signal" description="High signal has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="28" token="VSCP_TYPE_DIAGNOSTIC_ADC_FAIL" name="ADC failure" description="ADC failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="29" token="VSCP_TYPE_DIAGNOSTIC_ALU_FAIL" name="ALU failure" description="ALU failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="30" token="VSCP_TYPE_DIAGNOSTIC_ASSERT" name="Assert" description="An assert has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="31" token="VSCP_TYPE_DIAGNOSTIC_DAC_FAIL" name="DAC failure" description="DAC failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="32" token="VSCP_TYPE_DIAGNOSTIC_DMA_FAIL" name="DMA failure" description="DMA failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="33" token="VSCP_TYPE_DIAGNOSTIC_ETH_FAIL" name="Ethernet failure" description="Ethernet failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="34" token="VSCP_TYPE_DIAGNOSTIC_EXCEPTION" name="Exception" description="Exception has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="35" token="VSCP_TYPE_DIAGNOSTIC_FPU_FAIL" name="FPU failure" description="Floating point unit (FPU) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="36" token="VSCP_TYPE_DIAGNOSTIC_GPIO_FAIL" name="GPIO failure" description="General purpose I/O (GPIO) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="37" token="VSCP_TYPE_DIAGNOSTIC_I2C_FAIL" name="I2C failure" description="I2C failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="38" token="VSCP_TYPE_DIAGNOSTIC_I2S_FAIL" name="I2S failure" description="I2C failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="39" token="VSCP_TYPE_DIAGNOSTIC_INVALID_CONFIG" name="Invalid configuration" description="Invalid configuration has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="40" token="VSCP_TYPE_DIAGNOSTIC_MMU_FAIL" name="MMU failure" description="Memory Management Unit (MMU) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="41" token="VSCP_TYPE_DIAGNOSTIC_NMI" name="NMI failure" description="Non mask-able interrupt (NMI) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="42" token="VSCP_TYPE_DIAGNOSTIC_OVERHEAT" name="Overheat" description="Overheat has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="43" token="VSCP_TYPE_DIAGNOSTIC_PLL_FAIL" name="PLL fail" description="Phased Locked Loop (PLL) fail has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="44" token="VSCP_TYPE_DIAGNOSTIC_POR_FAIL" name="POR failure" description="Power ON Reset (POR) fail has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="45" token="VSCP_TYPE_DIAGNOSTIC_PWM_FAIL" name="PWM failure" description="Pulse Width Modulation (PWM) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="46" token="VSCP_TYPE_DIAGNOSTIC_RAM_FAIL" name="RAM failure" description="Random Access Memory (RAM) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="47" token="VSCP_TYPE_DIAGNOSTIC_ROM_FAIL" name="ROM failure" description="Read only memory (ROM) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="48" token="VSCP_TYPE_DIAGNOSTIC_SPI_FAIL" name="SPI failure" description="Serial peripheral interface (SPI) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="49" token="VSCP_TYPE_DIAGNOSTIC_STACK_FAIL" name="Stack failure" description="Stack failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="50" token="VSCP_TYPE_DIAGNOSTIC_LIN_FAIL" name="LIN bus failure" description="LIN bus failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="51" token="VSCP_TYPE_DIAGNOSTIC_UART_FAIL" name="UART failure" description="UART failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="52" token="VSCP_TYPE_DIAGNOSTIC_UNHANDLED_INT" name="Unhandled interrupt" description="Unhandled interrupt has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="53" token="VSCP_TYPE_DIAGNOSTIC_MEMORY_FAIL" name="Memory failure" description="Memory failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="54" token="VSCP_TYPE_DIAGNOSTIC_VARIABLE_RANGE" name="Variable range failure" description="Variable range failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="55" token="VSCP_TYPE_DIAGNOSTIC_WDT" name="WDT failure" description="Watch Dog Timer (WDT) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="56" token="VSCP_TYPE_DIAGNOSTIC_EEPROM_FAIL" name="EEPROM failure" description="EEPROM failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="57" token="VSCP_TYPE_DIAGNOSTIC_ENCRYPTION_FAIL" name="Encryption failure" description="Encryption failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="58" token="VSCP_TYPE_DIAGNOSTIC_BAD_USER_INPUT" name="Bad user input failure" description="Bad user input failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="59" token="VSCP_TYPE_DIAGNOSTIC_DECRYPTION_FAIL" name="Decryption failure" description="Decryption failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="60" token="VSCP_TYPE_DIAGNOSTIC_NOISE" name="Noise" description="Noise has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="61" token="VSCP_TYPE_DIAGNOSTIC_BOOTLOADER_FAIL" name="Boot loader failure" description="Boot loader failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="62" token="VSCP_TYPE_DIAGNOSTIC_PROGRAMFLOW_FAIL" name="Program flow failure" description="Program flow failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="63" token="VSCP_TYPE_DIAGNOSTIC_RTC_FAIL" name="RTC faiure" description="Real Time Clock (RTC) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="64" token="VSCP_TYPE_DIAGNOSTIC_SYSTEM_TEST_FAIL" name="System test failure" description="System test failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="65" token="VSCP_TYPE_DIAGNOSTIC_SENSOR_FAIL" name="Sensor failure" description="Sensor failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="66" token="VSCP_TYPE_DIAGNOSTIC_SAFESTATE" name="Safe state entered" description="Safe state entered has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="67" token="VSCP_TYPE_DIAGNOSTIC_SIGNAL_IMPLAUSIBLE" name="Signal implausible" description="Signal implausible has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="68" token="VSCP_TYPE_DIAGNOSTIC_STORAGE_FAIL" name="Storage fail" description="Storage fail has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="69" token="VSCP_TYPE_DIAGNOSTIC_SELFTEST_FAIL" name="Self test OK" description="Self test OK has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="70" token="VSCP_TYPE_DIAGNOSTIC_ESD_EMC_EMI" name="ESD/EMC/EMI failure" description="ESD/EMC/EMI failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="71" token="VSCP_TYPE_DIAGNOSTIC_TIMEOUT" name="Timeout" description="Timeout has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="72" token="VSCP_TYPE_DIAGNOSTIC_LCD_FAIL" name="LCD failure" description="LCD failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="73" token="VSCP_TYPE_DIAGNOSTIC_TOUCHPANEL_FAIL" name="Touch panel failure" description="Touch panel failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="74" token="VSCP_TYPE_DIAGNOSTIC_NOLOAD" name="No load" description="No load has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="75" token="VSCP_TYPE_DIAGNOSTIC_COOLING_FAIL" name="Cooling failure" description="Cooling failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="76" token="VSCP_TYPE_DIAGNOSTIC_HEATING_FAIL" name="Heating failure" description="Heating failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="77" token="VSCP_TYPE_DIAGNOSTIC_TX_FAIL" name="Transmission failure" description="Transmission failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="78" token="VSCP_TYPE_DIAGNOSTIC_RX_FAIL" name="Receiption failure" description="Receiption failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="79" token="VSCP_TYPE_DIAGNOSTIC_EXT_IC_FAIL" name="External IC failure" description="A failure in an external IC circuit has been detected.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="80" token="VSCP_TYPE_DIAGNOSTIC_CHARGING_ON" name="Charging of battery or similar has started or is in progress" description="Indicates that charging (of a battery for example) is active.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n " />
<type id="81" token="VSCP_TYPE_DIAGNOSTIC_CHARGING_OFF" name="Charging of battery or similar has ended" description="Indicates that charging (of a battery for example) is inactive.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n " />
</class>
<class id="508" name="Error" token="CLASS1.ERROR" description="## Description\n\nError reporting functionality that follow the errors defined in the [vscp.h](https://github.com/grodansparadis/vscp_software/blob/master/src/vscp/common/vscp.h) header file.\n\n" >
<type id="0" token="VSCP_TYPE_ERROR_SUCCESS" name="Success" description="This error message is used to report success, that is no error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="1" token="VSCP_TYPE_ERROR_ERROR" name="Error" description="This error message is used to indicate an error condition.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="7" token="VSCP_TYPE_ERROR_CHANNEL" name="Channel error" description="This error message is used to indicate a (communication) channel problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="8" token="VSCP_TYPE_ERROR_FIFO_EMPTY" name="Fifo empty error" description="This error message is used to indicate a fifo empty problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="9" token="VSCP_TYPE_ERROR_FIFO_FULL" name="Fifo full error" description="This error message is used to indicate a fifo full problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="10" token="VSCP_TYPE_ERROR_FIFO_SIZE" name="Fifo size error" description="This error message is used to indicate a fifo size problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="11" token="VSCP_TYPE_ERROR_FIFO_WAIT" name="Fifo wait error" description="This error message is used to indicate a fifo wait problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="12" token="VSCP_TYPE_ERROR_GENERIC" name="Generic error" description="This error message is used to indicate a generic error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="13" token="VSCP_TYPE_ERROR_HARDWARE" name="Hardware error" description="This error message is used to indicate a hardware error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="14" token="VSCP_TYPE_ERROR_INIT_FAIL" name="initialization error" description="This error message is used to indicate a initialization error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="15" token="VSCP_TYPE_ERROR_INIT_MISSING" name="Missing initialization error" description="This error message is used to indicate a missing initialization error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="16" token="VSCP_TYPE_ERROR_INIT_READY" name="Initialization ready" description="This error message is used to indicate a initialization ready error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="17" token="VSCP_TYPE_ERROR_NOT_SUPPORTED" name="Not supported" description="This error message is used to indicate a not supported error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="18" token="VSCP_TYPE_ERROR_OVERRUN" name="Overrun error" description="This error message is used to indicate an overrun error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="19" token="VSCP_TYPE_ERROR_RCV_EMPTY" name="Receiver empty error" description="This error message is used to indicate a receiver empty error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="20" token="VSCP_TYPE_ERROR_REGISTER" name="Register error" description="This error message is used to indicate a register error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="21" token="VSCP_TYPE_ERROR_TRM_FULL" name="Transmitter full error" description="This error message is used to indicate a transmitter full error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="28" token="VSCP_TYPE_ERROR_LIBRARY" name="Library error" description="This error message is used to indicate a library error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="29" token="VSCP_TYPE_ERROR_PROCADDRESS" name="Procedural address error" description="This error message is used to indicate a procedural address error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="30" token="VSCP_TYPE_ERROR_ONLY_ONE_INSTANCE" name="Only one instance error" description="This error message is used to indicate an only one instance error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="31" token="VSCP_TYPE_ERROR_SUB_DRIVER" name="Sub driver error" description="This error message is used to indicate a sub driver error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="32" token="VSCP_TYPE_ERROR_TIMEOUT" name="Timeout error" description="This error message is used to indicate a timeout error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="33" token="VSCP_TYPE_ERROR_NOT_OPEN" name="Not open error" description="This error message is used to indicate a not open error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="34" token="VSCP_TYPE_ERROR_PARAMETER" name="Parameter error" description="This error message is used to indicate a parameter error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="35" token="VSCP_TYPE_ERROR_MEMORY" name="Memory error" description="This error message is used to indicate a memory error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="36" token="VSCP_TYPE_ERROR_INTERNAL" name="Internal error" description="This error message is used to indicate a internal error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="37" token="VSCP_TYPE_ERROR_COMMUNICATION" name="Communication error" description="This error message is used to indicate a communication error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="38" token="VSCP_TYPE_ERROR_USER" name="User error" description="This error message is used to indicate a user error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="39" token="VSCP_TYPE_ERROR_PASSWORD" name="Password error" description="This error message is used to indicate a password error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="40" token="VSCP_TYPE_ERROR_CONNECTION" name="Connection error" description="This error message is used to indicate a connection error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="41" token="VSCP_TYPE_ERROR_INVALID_HANDLE" name="Invalid handle error" description="This error message is used to indicate a invalid handle error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="42" token="VSCP_TYPE_ERROR_OPERATION_FAILED" name="Operation failed error" description="This error message is used to indicate an operation failed error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="43" token="VSCP_TYPE_ERROR_BUFFER_SMALL" name="Supplied buffer is to small to fit content" description="This error message is used to indicate that the supplied buffer is to small to fit content.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="44" token="VSCP_TYPE_ERROR_ITEM_UNKNOWN" name="Requested item is unknown" description="This error message is used to indicate that the requested item (remote variable) is unknown.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="45" token="VSCP_TYPE_ERROR_NAME_USED" name="Name is already in use" description="This error message is used to indicate that the name is already in use.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="46" token="VSCP_TYPE_ERROR_DATA_WRITE" name="Error when writing data" description="This error message is used to indicate an error when writing data.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="47" token="VSCP_TYPE_ERROR_ABORTED" name="Operation stopped or aborted" description="This error message is used to indicate a stopped or an aborted operation.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. |" />
<type id="48" token="VSCP_TYPE_ERROR_INVALID_POINTER" name="Pointer with invalid value" description="This error message is used to indicate a pointer with an invalid value.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | " />
</class>
<class id="509" name="Logging" token="CLASS1.LOG" description="## Description\n\nLogging functionality. \n\nThe log can be used by a device to send logging information to a central or distributed place. To use this functionality\n\n\n*  Open a log channel with a specific id.\n\n*  Send logging events.\n\n*  Close when no more logging events will be sent on that channel.\n\nThe logging message can be a maximum of five byte for each event. If you need more space for logging data, send multiple log events and increase the index (starting at zero) for each event that is part of the logging message. Repeating this process next time you need to send logging data by again starting at index 0 and increasing for every part sent. \n\nFor **Level II** the logging message can use the full payload so a maximum message of 508 bytes can be sent.\n\nThe id is something you set that have meaning for you. Typically it can be used as an index for a channel you send log messages on in a system where several subsystems needs to be logged and which log info need to be separated. \n\nRemember that the receiving side also have the originating id (GUID) as an identification from where a logging event originates.\n\n" >
<type id="0" token="VSCP_TYPE_LOG_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_LOG_MESSAGE" name="Log event" description="Message for Log. Several frames have to be sent for a event that take up more then the five bytes which is the maximum for each frame. In this case the zero based index (byte 2) should be increased for each frame. \n\n | Byte | Description            | \n | :----: | -----------            | \n | 0    | ID for event.          | \n | 1    | Log level for message. | \n | 2    | Idx for this message.  | \n | 3-7 (511)  | Message.         |\n\n A **level II** node can use the full 512 byte message body. \n\n Log levels are typically\n\n | Byte | Description     | \n | :----: | -----------   | \n | 0    | Emergency.      | \n | 1    | Alert.          | \n | 2    | Critical.       | \n | 3    | Error.          | \n | 4    | Warning.        | \n | 5    | Notice.         | \n | 6    | Informational.  | \n | 7    | Debug.          | \n | 7    | Verbose.        | \n\n but one can use any schema that makes sense (or not)." />
<type id="2" token="VSCP_TYPE_LOG_START" name="Log Start" description="Start logging. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | ID for log. | " />
<type id="3" token="VSCP_TYPE_LOG_STOP" name="Log Stop" description="Stop logging. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | ID for log. | " />
<type id="4" token="VSCP_TYPE_LOG_LEVEL" name="Log Level" description="Set level for logging. \n\n | Byte | Description                  | \n | :----: | -----------                  | \n | 0    | ID for log byte 0 Log level. | \n" />
</class>
<class id="510" name="Laboratory use" token="CLASS1.LABORATORY" description="## Description\n\nThis class is intended for lab usage. No production device should use this event type. \n" >
<type id="0" token="VSCP_TYPE_LABORATORY_GENERAL" name="General event" description="General Event." />
</class>
<class id="511" name="Local use" token="CLASS1.LOCAL" description="## Description\n\nThis event type is for local defined events. It is thus possible to add user defined events here. In a public environment the risk for collisions with other devices that also use CLASS.LOCAL should be noted. It is good to make user events configurable in the device to give users a chance to avoid problems.\n" >
<type id="0" token="VSCP_TYPE_LOCAL_GENERAL" name="General event" description="General Event." />
</class>
<class id="512" name="Class2 Level I Protocol" token="CLASS2.LEVEL1.PROTOCOL" description="## Description\n\nThis class mirrors the [CLASS1.PROTOCOL](./class1.protocol.md) class but use a different data format.\n\nClass 512-1023 is reserved for events that should stay in the Level 2 network but that in all other aspects (the lower nine bits + type) are defined in the same manner as for Level I. For [CLASS2.PROTOCOL1](./class1.protocol.md) the first 16 bytes of the data field is the GUID of the node the event is intended for. \n\nThis is used for translation in the VSCP daemon for instance where a level II client can send events that are automatically sent to the correct interface and is addressed to the correct device in question. To use this feature send events with the GUID of the i/f where the device is located when addressing is needed. The correct nickname is needed and it should be set in GUID byte 16.\n\nAn event with a class &gt;= 512 but &lt; 1024 will be sent to all Level II clients and to the correct i/f (the one that have the addressed GUID). A response form the device will go out as as a Level II event using the GUID of the interface but class will always have a value &lt; 512 for a response event just as all events originating from a device. If you send 512-events with an external node as destination GUID (which is not the GUID of an interface) the event will be put through all interfaces.\n\nNote that the LSB of an interface GUID is always the nickname-ID for a device interface. \n\n###  Some Examples \n\n#### Type = 6 (0x06) Set nickname-ID for node.\n\nTo set a new nickname for a node send the following event\n\n    Class=512, Level I Protocol, Type=6 (0x06)  \n    Set nickname-ID for node. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0-15 | GUID for Interface where node is located. | \n | 16   | Old nickname for node. | \n | 17   | The nickname for the node. | \n\nResponse is\n\n    Class=0, Level I Protocol, Type=7 (0x07) \n    Nickname-ID accepted. \n    \nNo data bytes\n\nNote the the LSB of the GUID contains the nickname is in both cases but that this is of no use when the event is sent but should be used to verify that the correct node answered when the response is received.\n\n#### Type = 9 (0x09) Read register.\n\nTo read a register of a node send the following event\n\n    Class=512, Level I Protocol, Type=9 (0x09) \n    Read register. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0-15 | GUID for Interface where node is located. LSB is nickname for node. | \n | 16   | Nickname for node. | \n | 17   | Register to read. | \n\nResponse is\n\n    Class=0, Level I Protocol, Type=10 (0x0A) \n    Read/Write response.\n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Register read/written. | \n | 1    | Content of register.   | \n\n\n" >
<type id="0" token="VSCP_TYPE_PROTOCOL_GENERAL" name="General event." description="General Event." />
<type id="1" token="VSCP_TYPE_PROTOCOL_SEGCTRL_HEARTBEAT" name="Segment Controller Heartbeat." description="**Not mandatory.** Implement in device if needed by application. \n\nA segment controller sends this event once a second on the segment that it controls. The data field contains the 8-bit CRC of the segment controller GUID and the time since the epoch (00:00:00 UTC, January 1, 1970) as a 32-bit value. A node that receive (and recognize) this event could respond with a CLASS1.INFORMATION, Type=9 event (HEARTBEAT) and should do so if it does not send out a regular heartbeat event.\n\nOther nodes can originate this event on the segment. For these nodes the data part, as specified below, should be omitted. A better choice for periodic heartbeat events from a node may be [CLASS1.INFORMATION, Type=9 (HEARTBEAT)](./class1.information.md#type9)\n\nAll nodes that recognize this event should save the 8-bit CRC in non-volatile storage and use it on power up. When a node starts up on a segment it should begin to listen for the Segment controller heartbeat. When/if it is received the node compares it with the stored value and if equal and the node is assigned a nickname-ID it continues to its working mode. If different, the node has detected that it has been moved to a new segment and therefore must drop its nickname-ID and enters the configuration mode to obtain a new nickname-ID from the segment controller.\n\nIf the node is in working mode and its nickname-ID changes, the node should do a complete restart after first setting all controls to their default state.\n\nAs a segment can be without a segment controller this event is not available on all segments and is not mandatory. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | 8-bit CRC of the segment controller GUID. | \n | 1 | MSB of time since epoch (optional). |\n | 2  | Time since epoch (optional). | \n | 3         | Time since epoch (optional).|\n | 4         | LSB of time since epoch | \n\nUninitiated nodes have the CRC of the segment controller set to 0xFF.\n\nA node that is initialized on a segment and does not receive a Heartbeat can take the role of segment controller if it wishes to do so. Only one node one a segment are allowed to do this fully by setting its nickname=0 and therefore a standard node should not have this feature built in. Any node can however behave like a segment controller but use a nickname other then zero. \n\nTime is UTC.\n" />
<type id="2" token="VSCP_TYPE_PROTOCOL_NEW_NODE_ONLINE" name="New node on line / Probe." description="**Mandatory.** Must be implemented by all level I and Level II devices.\n\nThis is intended for nodes that have been initiated, is part of the segment and is powered up. All nodes that have a nickname-ID that is not set to 0xFF should send this event before they go on line to do their “day to day” work.\n\nNormally all nodes should save their assigned nickname-ID in non-volatile memory and use this assigned ID when powered up. A segment controller can however keep track of nodes that it controls and reassign the ID to a node that it did not get a new node on-line event from. This is the method a segment controller uses to detect nodes that have been removed from the segment.\n\nFor the nickname discovery procedure this event is used as the probe. The difference between a probe and a new node on line is that the later has the same originating nickname as value in byte 0.\n\nIf a node send this event with the unassigned ID 0xFF and byte 0 set to 0xFF it has given up the search for a free ID.\n\nIt is recommended that also level II nodes send this event when they come alive. In this case the target address is the 16-byte data GUID of the node with MSB in the first byte. \n\nStandard form (Mandatory)\n\n | Data | Description | \n | :----: | ----------- | \n | 0    | **Target address**. This is the probe nickname that the new node is using to test if this is a valid target node. If there is a node with this nickname address it should answer with probe ACK. A probe always has 0xff as it&amp;apos;s own temporary nickname while a new node on line use a non 0xff nickname. | \n\n Extended Form for node with 16-bit nickname. (Mandatory for nodes with 16-bit nickname)\n\n | Data | Description | \n | :----: | ----------- | \n | 0    | **Target address**. This is the MSB of the probe nickname that the new node is using to test if this is a valid target node. If there is a node with this nickname address it should answer with probe ACK. A probe always has 0xff as it&amp;apos;s own temporary nickname while a new node on line use a non 0xff nickname. | \n | 1 | LSB of probe nickname. |\n\nOn a Level II system.\n\n | Data | Description | \n | :----: | ----------- | \n | 0-15 | **GUID**. This is the GUID of the node. MSB in byte 0. | \n\n " />
<type id="3" token="VSCP_TYPE_PROTOCOL_PROBE_ACK" name="Probe ACK." description="**Mandatory.** Must be implemented by all level I and level II devices.\n\nThis event is sent from a node as a response to a probe. There are no arguments.\n\n" />
<type id="4" token="VSCP_TYPE_PROTOCOL_RESERVED4" name="Reserved for future use." description="Reserved for future use.\n\n" />
<type id="5" token="VSCP_TYPE_PROTOCOL_RESERVED5" name="Reserved for future use." description="Reserved for future use.\n" />
<type id="6" token="VSCP_TYPE_PROTOCOL_SET_NICKNAME" name="Set nickname-ID for node." description="**Mandatory.** Must be implemented by all level I devices.\n\nThis event can be used to change the nickname for a node. The node just uses the new nickname and don&amp;apos;t start nickname discovery or similar.\n\nStandard form. (Mandatory).\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | Old nickname for node. | \n | 1  | The new nickname for the node. | \n\n Extended form that can handle 16-bit nickname (not mandatory for devices with 8-bit nickname)\n\n  | Data byte | Description | \n | :---------: | ----------- | \n | 0  | MSB of old nickname for node. | \n | 1  | LSB of old nickname for the node. |\n | 2  | MSB of new nickname for node. | \n | 3  | LSB of new nickname for the node. |\n\nUse data size to determine between 8-bit and 16-bit node-id format. A 16-bit node should handle a 8-bit nickname as a 16-bit node id with MSB = 0. It should handle also the 8-bit node-id version of the event.\n" />
<type id="7" token="VSCP_TYPE_PROTOCOL_NICKNAME_ACCEPTED" name="Nickname-ID accepted." description="**Mandatory.** Must be implemented by all level I devices.\n\nA node sends this event to confirm that it accepts its assigned nickname-ID. When sending this event the node uses its newly assigned nickname address.\n" />
<type id="8" token="VSCP_TYPE_PROTOCOL_DROP_NICKNAME" name="Drop nickname-ID / Reset Device." description="**Mandatory.** Must be implemented by all level I devices.\n\nRequest a node to drop its nickname. The node should drop its nickname and then behave in the same manner as when it was first powered up on the segment. \n\nStandard form (Mandatory)\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | The current nickname for the node. |\n | 1  | **Optional:** Flags. | \n | 2  | **Optional:** Time the node should wait before it starts a nickname discovery or starts the device. The time is in seconds. | \n\n Extended Form for node with 16-bit nickname. (Mandatory for nodes with 16-bit nickname)\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | MSB of current nickname for the node. |\n | 1  | LSB of current nickname for node |\n | 2  | **Optional:** Flags. | \n | 3  | **Optional:** Time the node should wait before it starts a nickname discovery or starts the device. The time is in seconds. | \n\nUse data size to determine between 8-bit and 16-bit node-id format. A 16-bit node should handle a 8-bit nickname as a 16-bit node id with MSB = 0. It should handle also the 8-bit node-id version of the event.\n\n**Optional byte 1 flags**\n\n | Bit | Description | \n | :---: | ----------- | \n | 0   | Reserved. | \n | 1   | Reserved. | \n | 2   | Reserved. | \n | 3   | Reserved. | \n | 4   | Reserved. | \n | 5   | Reset device. Keep nickname. | \n | 6   | Set persistent storage to default.| \n | 7   | Go idle. Do not start up again. | \n\nSo if byte 1 and 2 is not in event restart device, set default parameters and do a nickname discovery. If byte 1 and 2 are present and bit 5 is set load defaults into device, restart but keep nickname. In all cases byte 2 delays before the node is restarted.\n\n 1.  With just one byte as an argument. The node should do a standard node discovery in the same way as if the status button of the node is pressed. Preserve initiated data,\n 2.  If byte 1 is present bit 5: Just restart. Don&amp;apos;t change any data. not even nickname. bit 6: Restart write default to persistent storage. bit 7: die die my darling. If both bit 5 and 6 is set, do 5 and then 6 == 6 or do 6 and then 5 == 6\n 3.  Byte 1 + byte 2 Wait this amount of seconds after the above operation has been carried out.\n\nThere is a variant of this where the GUID is used instead of the nickname to identify the device, [CLASS1.PROTOCOL, Type=23 (GUID drop nickname-ID / reset device.)](./class1.protocol.md#type23).\n\n" />
<type id="9" token="VSCP_TYPE_PROTOCOL_READ_REGISTER" name="Read register." description="**Mandatory.** Must be implemented by all level I devices.\n\nRead a register from a node. \n\n*If a node have several pages with user defined registers Extended Register Read is a better choice to choose for reading as the page also is set when reading register using that type. The standard registers can always be read without setting a page though as they are always mapped into the upper 128 bytes.*\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address. | \n | 1 | Register to read. | \n\nA read/write response event is returned on success.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID (MSB -&gt; LSB) for interface. | \n | 16 | Node id for node to read | \n | 17 | Register to read. | \n" />
<type id="10" token="VSCP_TYPE_PROTOCOL_RW_RESPONSE" name="Read/Write response." description="**Mandatory.** Must be implemented by all level I devices.\n\nResponse for a read/write event. . Note that the data is returned for both a read and a write and can and probably should be checked for validity. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Register read/written. | \n | 1 | Content of register.   | \n\n\n" />
<type id="11" token="VSCP_TYPE_PROTOCOL_WRITE_REGISTER" name="Write register." description="**Mandatory.** Must be implemented by all level I devices.\n\nWrite register content to a node. \n\n*If a node have several pages with user defined registers Extended Register Write is a better choice to choose for writing as the page is also set when writing a register using that type. The standard registers can always be read without setting a page though as they are always mapped into the upper 128 bytes.*\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address.         | \n | 1 | Register to write.    | \n | 2 | Content for register. | \n\nA read/write response event is returned on success.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID (MSB -&gt; LSB). | \n | 16 | Reserved. | \n | 17 | Register to write.   | \n | 18 | Content of register. | \n" />
<type id="12" token="VSCP_TYPE_PROTOCOL_ENTER_BOOT_LOADER" name="Enter boot loader mode." description="\n**Mandatory.** Must be implemented by all devices.\n\nSend NACK (Class=0,Type=14 if no boot-loader implemented)\n\nThis is the first event in the boot loader sequence. The node should stop all other activities when in boot loader mode. This also means that the node should not react on other events (commands) then the boot loader related.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | The nickname for the node. | \n | 1 | Code that select boot loader algorithm to use. | \n | 2 | GUID byte 0 (MSB) | \n | 3 | GUID byte 3 (MSB + 3) | \n | 4 | GUID byte 5 (MSB + 5) | \n | 5 | GUID byte 7 (MSB + 7) | \n | 6 | Content of register 0x92, Page select MSB. | \n | 7 | Content of register 0x93, Page select LSB. | \n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description |\n | :---------: | ----------- | \n | 0-15 | GUID. | \n | 16   | Boot-loader algorithm code. |\n\n\n**Boot-loader Codes**\n\n\n | Code | Algorithm               | \n | :----: | ---------             | \n | 0x00 | VSCP algorithm.         | \n | 0x01 | Microchip PIC algorithm | \n | 0x10 | Atmel AVR algorithm 0   | \n | 0x20 | NXP ARM algorithm 0     | \n | 0x30 | ST ARM algorithm 0      |\n | 0x40 | Freescale algorithm 0   |\n | 0x50 | Espressif algorithm 0   |\n | 0xF0-FE | User defined algorithms |\n | 0xFF | No bootloader available |\n\nAll other codes reserved.\n" />
<type id="13" token="VSCP_TYPE_PROTOCOL_ACK_BOOT_LOADER" name="ACK boot loader mode." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nThis event has no meaning for any node that is not in boot mode and should be disregarded.\n\nThe node confirms that it has entered boot loader mode. This is only sent for the VSCP boot loader algorithm. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of flash block size.            | \n | 1 | Flash block size.                   | \n | 2 | Flash block size.                   | \n | 3 | LSB of flash block size.            | \n | 4 | MSB of number of blocks available.  | \n | 5 | Number of block s available.        | \n | 6 | Number of block s available.        | \n | 7 | LSB of number of blocks available.  |\n\n \n" />
<type id="14" token="VSCP_TYPE_PROTOCOL_NACK_BOOT_LOADER" name="NACK boot loader mode." description="**Mandatory.** Should be implemented by all devices.\n\nThe node was unable to enter boot loader mode. The reason is given by a user specified error code byte. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Optional user defined error code. | \n" />
<type id="15" token="VSCP_TYPE_PROTOCOL_START_BLOCK" name="Start block data transfer." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nBegin transfer of data for a block of memory. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | MSB of block number. | \n | 1         | Block number. | \n | 2         | Block number. | \n | 3         | LSB of block number. | \n | 4         | (optional) Type of Memory we want to write. See table below | \n | 5         | (optional) Bank/Image to be written Used together with byte 4 to specify either separate Flash or EEPROM/MRAM spaces. If absent or set to zero normally, means first memory from the view of the node creator, e.g. internal Flash, internal EEPROM etc. Useful for projects that have internal as well as external EEPROMs so the external one could be addressed with byte5=1. Also with byte4=0 and byte5=1 an SD-Card as well as a second firmware image inside the flash could be addressed. |\n\n**Type of memory to write (byte 4)**\n\n\n | Memory type | Description | \n | :-----------: | ----------- | \n | 0 or byte absent | PROGRAM Flash (status quo for old nodes) | \n | 1 | DATA (EEPROM, MRAM, FRAM) | \n | 2 | CONFIG (Fuses, CPU configuration) | \n | 3 | RAM | \n | 4-255  | Currently undefined - send a NACK as response | \n\nResponse can be \n\n   [CLASS1.PROTOCOL, Type=50 (Start block data transfer ACK)](./class1.protocol.md#type50) \n   \n   or \n   \n   [CLASS1.PROTOCOL, Type=51 (Start block data transfer NACK)](./class1.protocol.md#type51).\n\n   " />
<type id="16" token="VSCP_TYPE_PROTOCOL_BLOCK_DATA" name="Block data." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nData for a block of memory. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | Data.       | \n | 1         | Data.       | \n | 2         | Data.       | \n | 3         | Data.       | \n | 4         | Data.       | \n | 5         | Data.       | \n | 6         | Data.       | \n | 7         | Data.       | \n\nA [CLASS1.PROTOCOL, Type=50 (Block Data ACK)](./class1.protocol.md#type50)\nis sent as a response for each event received.\n\nA [CLASS1.PROTOCOL, Type=51 (Block Data NACK)](./class1.protocol.md#type51)\nis sent on failure.\n\n**Note** If the block to fill is not a multiple of eight the receiving node should handle and discard any excess data. This is true also if more block data frames are received than the block can hold.\n\n**Level II** The size of the block is level II max data (512 bytes) or a smaller block or a mix of both.\n" />
<type id="17" token="VSCP_TYPE_PROTOCOL_BLOCK_DATA_ACK" name="ACK data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nConfirm the reception of a complete data block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of 16-bit CRC for block. | \n | 1 | LSB for 16-bit CRC for block. | \n | 2 | MSB of write pointer.         | \n | 3 | write pointer.                | \n | 4 | write pointer.                | \n | 5 | LSB of write pointer.         | \n\nThe write pointer is the actual pointer after the last data has been written i,e the next position on which data will be written. \n" />
<type id="18" token="VSCP_TYPE_PROTOCOL_BLOCK_DATA_NACK" name="NACK data block." description="\n**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nNACK the reception of data block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined error code. | \n | 1 | MSB of write pointer.    | \n | 2 | write pointer.           | \n | 3 | write pointer.           | \n | 4 | LSB of write pointer.    | \n\nThe write pointer is the actual pointer after the last data has been written i,e the next position on which data will be written. \n" />
<type id="19" token="VSCP_TYPE_PROTOCOL_PROGRAM_BLOCK_DATA" name="Program data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nRequest from a node to program a data block that has been uploaded and confirmed. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of block number. | \n | 1 | Block number.        | \n | 2 | Block number.        | \n | 3 | LSB of block number. | \n" />
<type id="20" token="VSCP_TYPE_PROTOCOL_PROGRAM_BLOCK_DATA_ACK" name="ACK program data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nA node confirms the successful programming of a block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | MSB of block number. | \n | 1 | Block number.        | \n | 2 | Block number.        | \n | 3 | LSB of block number. | \n" />
<type id="21" token="VSCP_TYPE_PROTOCOL_PROGRAM_BLOCK_DATA_NACK" name="NACK program data block." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nA node failed to program a data block. This event has no meaning for any node that is not in boot mode and should be disregarded.\n\n | Data byte | Description              | \n | :---------: | -----------              | \n | 0         | User defined error code. | \n | 1         | MSB of block number.     | \n | 2         | Block number.            | \n | 3         | Block number.            | \n | 4         | LSB of block number.     | \n" />
<type id="22" token="VSCP_TYPE_PROTOCOL_ACTIVATE_NEW_IMAGE" name="Activate new image." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nThis command is sent as the last command during the boot-loader sequence. It resets the device and starts it up using the newly loaded code. The 16-bit CRC for the entire program block is sent as an argument. This must be correct for the reset/activation to be performed. NACK boot loader mode will be sent if the CRC is not correct and the node will not leave boot loader mode. \n\n | Data byte | Description | \n | :-------: | ----------- | \n | 0 | 16 bit CRC of full flash data block, MSB | \n | 1 | 16 bit CRC of full flash data block LSB  | \n\nTo leave boot mode just send this event and a dummy CRC. Other methods could have been used to load the code but it can still be activated with this event as long as the CRC is correct. This event has no meaning for any node that is not in boot mode and should be disregarded. \n\nResponse can be \n\n[CLASS1.PROTOCOL, Type=48 (Activate new image ACK)](./class1.protocol.md#type48)\n\nor\n\n[CLASS1.PROTOCOL, Type=49 (Activate new image NACK)](./class1.protocol.md#type49). \n\n" />
<type id="23" token="VSCP_TYPE_PROTOCOL_RESET_DEVICE" name="GUID drop nickname-ID / reset device." description="**Mandatory.** Should be implemented by all level I devices.\n\n&gt; Added in version 1.4.0\n\nThis is a variant of Class=0, Type=8 but here the full GUID is used instead of the nickname to identify the node that should drop its current nickname and enter the node-name discovery procedure.\n\nAs the GUID is 16 bytes this is a multi-frame event. To ease the storage requirements on the nodes only four GUID bytes are send in each frame. The frames must be sent out within one second interval. \n\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | index.      | \n | 1         | GUID byte.  | \n | 2         | GUID byte.  | \n | 3         | GUID byte.  | \n | 4         | GUID byte.  | \n\nwhere index goes from 0-3 and GUID bytes are sent MSB first, like\n\n | Index = Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | \n | -------------- | ------       | ------       | ------       | ------       | \n | Index = 0      | GUID byte 15 | GUID byte 14 | GUID byte 13 | GUID byte 12 | \n | Index = 1      | GUID byte 11 | GUID byte 10 | GUID byte 9  | GUID byte 8  | \n | Index = 2      | GUID byte 7  | GUID byte 6  | GUID byte 5  | GUID byte 4  | \n | Index = 3      | GUID byte 3  | GUID byte 2  | GUID byte 1  | GUID byte 0  | \n\nA device can use just one byte to detect this. This byte is initialized to zero and holds four bits that match correct frames. That is, when this register is equal to 0x0f the nickname should be dropped and the nickname discovery sequence started. The node must also have a timer that reset this byte one second after any of the above frames have been received or when the nickname discovery sequence is started.\n\nHi-level software must take this one second interval into account when more then one node should be initialized. This event can be used to assign nickname-IDs to silent nodes. This is nodes that does not start the nickname discovery process on startup and instead just sits and wait until they are assigned an ID with this event. \n" />
<type id="24" token="VSCP_TYPE_PROTOCOL_PAGE_READ" name="Page read." description="**Mandatory.** Should be implemented by all level I devices.\n\nThe page read is implemented to make it possible to read/write larger blocks of data. Two register positions are reserved to select a base into this storage. This is a 16-bit number pointing to a 256-byte page. This means that a total of 65535 * 256 bytes are accessible with this method (page 0 is the standard registers).\n\nTo read a block of data from the storage, first write the base registers then issue this event and n events will be sent out from the node containing the data from the specified area. If the count pass the border it of the page ( &gt; 0xFF) the transfer will end there.\n\nNote that the page select registers only selects a virtual page that can be accessed with page read/write and not with the ordinary read/write.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID which registers should be read. | \n | 1 | Index into page. | \n | 2 | Number of bytes to read (1-255). | \n\nResponse is \n\n[CLASS1.PROTOCOL, Type=26 (Read page response)](./class1.protocol.md#type26)\n\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID. |\n | 16 | Index into page. | \n | 17 | Number of bytes to read (1-255). | \n\n" />
<type id="25" token="VSCP_TYPE_PROTOCOL_PAGE_WRITE" name="Page write." description="**Mandatory.** Should be implemented by all level I devices.\n\nThe write page is implemented to make it possible to write larger blocks of data. One data-space positions is reserved to select a base into this storage. See Page read for a full description.\n\nIt is only possible to write one 6-byte chunk at a time in contrast to reading several. This is because VSCP at Level I is aimed at low end devices with limited resources meaning little room for buffers. \n\n | Data byte | Description  | \n | :---------: | ----------- |\n | 0 | Node-ID         |\n | 1 | Register start. |\n | 2-7 | Data. |\n\nResponse is \n\n[CLASS1.PROTOCOL, Type=26 (Read Page Response)](./class1.protocol.md#type26)\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15      | GUID.       | \n | 16        | Base index. | \n | 17-…    | Data.       | \n\nData count can be as many as the buffer of the Level II node accepts. \n\n" />
<type id="26" token="VSCP_TYPE_PROTOCOL_RW_PAGE_RESPONSE" name="Read/Write page response." description="**Mandatory.** Should be implemented by all level I devices.\n\nThis is a response frame for the read/write page command. The Sequence number goes from 0 up to the last sent frame for a read page request. \n\n | Data byte | Description      | \n | :---------: | -----------      | \n | 0         | Sequence number. | \n | 1-7       | Data.            | \n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description      | \n | :---------: | -----------      | \n | 0-15      | GUID.            | \n | 16        | Sequence number. | \n | 17-…    | Data.            | \n\nData count can be as many as the buffer of the Level II node accepts. \n" />
<type id="27" token="VSCP_TYPE_PROTOCOL_HIGH_END_SERVER_PROBE" name="High end server/service probe." description="Should be implemented by all devices that work over 802.15.4/Ethernet/Internet or other high end protocols.This event can be broadcasted on a segment by a node to get information about available servers. \n\nThe [VSCP daemon documentation](https://grodansparadis.gitbooks.io/the-vscp-daemon) have a description on how server/service discovery works. \n" />
<type id="28" token="VSCP_TYPE_PROTOCOL_HIGH_END_SERVER_RESPONSE" name="High end server/service response." description="Should be implemented by all devices that work on 802.15.4/Ethernet/Internet and have a Level I link. This is because a Level II device can be present on a Level I bus. A typical example is a Bluetooth gateway. A user find the bus/segment by the Bluetooth device and can then discover other parts of the system through it.\n\nA Level II node respond with [CLASS2.PROTOCOL, Type=32 Level II who is response](./class2.protocol.md#type32) to this event. It is also possible to listen for  [CLASS2.PROTOCOL, Type=20 (0x14) High end server capabilities](./class2.protocol.md#type20) to discover Level II nodes.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | VSCP server low 16-bit capability code MSB | \n | 1 | VSCP server low 16-bit capability code LSB | \n | 2 | Server IP address MSB - or other relevant data as of server capabilities (Network byte order) | \n | 3 | Server IP address - or other relevant data as of server capabilities (Network byte order)     | \n | 4 | Server IP address - or other relevant data as of server capabilities (Network byte order)     | \n | 5 | Server IP address LSB - or other relevant data as of server capabilities (Network byte order) | \n | 6 | Server Port MSB - or other relevant data as of server capabilities | \n | 7 | Server Port LSB - or other relevant data as of server capabilities | \n\nBit codes for capabilities is the same as for the lower 16 bits of [CLASS2.PROTOCOL, Type=20 (0x14) High end server capabilities](class2.protocol.md#type20).\n\n**For programmers:** Bits are defined in [vscp.h](https://github.com/grodansparadis/vscp/blob/master/src/vscp/common/vscp.h).\n\nA node that need a TCP connection to a host. Broadcast HIGH END SERVER PROBE on the segment and waits for HIGH END SERVER RESPONSE from one or more servers to connect to. If a suitable server has responded it can decide to connect to that server. Note that one server can reply with **none, one or many** HIGH END SERVER RESPONSE events.\n\nA server like the VSCP server can span multiple segments and a reply can therefore be received from a remote segment as well. This can be an advantage in some cases and unwanted in some cases. The server configuration should have control on how it is handled. \n\nThe [VSCP daemon documentation](https://grodansparadis.gitbooks.io/the-vscp-daemon) have a description on how server/service discovery works. \n" />
<type id="29" token="VSCP_TYPE_PROTOCOL_INCREMENT_REGISTER" name="Increment register." description="**Mandatory.** Should be implemented by all level I devices.\n\nIncrement a register content by one with no risk of it changing in between \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID | \n | 1 | Register to increment. | \n\nNode should answer with [CLASS1.PROTOCOL, Type=10 (Read/Write register response)](./class1.protocol.md#type10).\n" />
<type id="30" token="VSCP_TYPE_PROTOCOL_DECREMENT_REGISTER" name="Decrement register." description="**Mandatory.** Should be implemented by all level I devices.\n\nDecrement a register content by one with no risk of it changing in between \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID                | \n | 1 | Register to decrement. | \n\nNode should answer with [CLASS1.PROTOCOL, Type=10 (Read/Write register response)](./class1.protocol.md#type10).\n" />
<type id="31" token="VSCP_TYPE_PROTOCOL_WHO_IS_THERE" name="Who is there?" description="**Mandatory.** Must be implemented by all level I and level II devices.\n\nThis event can be used as a fast way to find out which nodes there is on a segment. All nodes receiving it should respond. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID or 0xFF for all nodes. | \n\nResponse for a Level I node is [CLASS1.PROTOCOL, Type=32 (Who is there response)](./class1.prototocol.md#type32).\n    \nA Level II node respond with [CLASS2.PROTOCOL, Type=32 (Level II who is response)](./class2.protocol.md#type32) to this event.\n" />
<type id="32" token="VSCP_TYPE_PROTOCOL_WHO_IS_THERE_RESPONSE" name="Who is there response." description="**Mandatory.** Must be implemented by all devices. Note that the response form a level II device is different than from a level I device.\n\nResponse from node(s) looks like this from a level I device:\n\n | byte 0 | byte 1 | byte 2 | byte 3 | byte 4 | byte 5 | byte 6 | byte 7 | \n | :------: | ------ | ------ | ------ | ------ | ------ | ------ | ------ | \n | 0      | GUID15 | GUID14 | GUID13 | GUID12 | GUID11 | GUID10 | GUID9  | \n | 1      | GUID8  | GUID7  | GUID6  | GUID5  | GUID4  | GUID3  | GUID2  | \n | 2      | GUID1  | GUID0  | MDF0   | MDF1   | MDF2   | MDF3   | MDF4   | \n | 3      | MDF5   | MDF6   | MDF7   | MD8    | MDF9   | MDF10  | MDF11  | \n | 4      | MDF12  | MDF13  | MDF14  | MDF15  | MDF16  | MDF17  | MDF18  | \n | 5      | MDF19  | MDF20  | MDF21  | MDF22  | MDF23  | MDF24  | MDF25  | \n | 6      | MDF26  | MDF27  | MDF28  | MDF29  | MDF30  | MDF31  | 0      | \n\nAll seven frames should be sent also if the MDF URL is shorter than 32 characters,\n\nA level II device should respond with [CLASS2_PROTOCOL, TYPE=32](./class2.protocol.md#type20)\n" />
<type id="33" token="VSCP_TYPE_PROTOCOL_GET_MATRIX_INFO" name="Get decision matrix info." description="**Mandatory**\n\nRequest a node to report size and offset for its decision matrix. \n\n | Data byte | Description   | \n | :---------: | -----------   | \n | 0 | Node address. | \n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID.       | \n\nA node that does not have a decision matrix should return zero rows.\n" />
<type id="34" token="VSCP_TYPE_PROTOCOL_GET_MATRIX_INFO_RESPONSE" name="Decision matrix info response." description="**Mandatory** for level I nodes with a decision matrix\n\nReport the size for the decision matrix and the offset to its storage. The reported size is the number of decision matrix lines. The offset is the offset in the register address counter from 0x00 (See the register model in this document). If the size returned is zero the node does not have a decision matrix. A node without a decision matrix can also skip to implement this event but it&amp;apos;s better if it returns a decision matrix size of zero. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0  | Matrix size (number of rows). Zero for a device with no decision matrix. | \n | 1 | Offset in register space. | \n | 2 | Optional page start MSB ( Interpret as zero if not sent ) | \n | 3 | Optional page start LSB ( Interpret as zero if not sent ) | \n | 4 | Optional page end MSB ( Interpret as zero if not sent ) Deprecated. Set to zero. | \n | 5 | Optional page end LSB ( Interpret as zero if not sent ) Deprecated. Set to zero. | \n | 6 | For a Level II node this is the size of a decision matrix row. **deprecated** See info below | \n\nThe decision matrix can as noted be stored in paged registers and if so it must be accessed with the paged read/write. \n\n**Level II**: Level II nodes should respond with [CLASS2_PROTOCOL, TYPE=VSCP2_TYPE_PROTOCOL_GET_MATRIX_INFO_RESPONSE](./class2.protocol#type34)\n\n" />
<type id="35" token="VSCP_TYPE_PROTOCOL_GET_EMBEDDED_MDF" name="Get embedded MDF." description="**Not mandatory.**\n\nA node that get this event and has an embedded MDF description in flash or similar respond with the description . \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node-ID. | \n\n" />
<type id="36" token="VSCP_TYPE_PROTOCOL_GET_EMBEDDED_MDF_RESPONSE" name="Embedded MDF response." description="**Not mandatory.** \n\nThis is the response from a Get embedded MDF. The response consist of several frames where an index in byte0/1 is incremented for each frame and MDF data is in byte 2-7.\n\nIf an embedded MDF is not available a response on the form\n\n     byte 0 = 0 \n     byte 1 = 0 \n     byte 2 = 0\n\nshould be sent. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | High byte of MDF description index. |\n | 1 | Low byte of MDF description index.  |\n | 2-7 | MDF data. | \n\nNote that if sending the events back to back some devices will not be able to cope with the data stream. It is therefor advisable to have a short delay between each mdf data frame sent out.\n\n**Level II**: Level II nodes should respond with [CLASS2_PROTOCOL, TYPE=VSCP2_TYPE_PROTOCOL_GET_EMBEDDED_MDF_RESPONSE](./class2.protocol#type36)\n\n\n" />
<type id="37" token="VSCP_TYPE_PROTOCOL_EXTENDED_PAGE_READ" name="Extended page read register." description="**Mandatory.** Must be implemented by all devices.\n\nRead a register from a node with page information.\n\nImplementation must take care so all page register change done by these routines must restore the content of the page registers to there original content when they are done. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address. | \n | 1 | MSB of page where the register is located. | \n | 2 | LSB of page where the register is located. | \n | 3 | Register to read (offset into page). | \n | 4 | Optional: Number of registers to read.     | \n\nIf the number of registers to read is set to zero 256 registers will be read. __Some nodes my have small buffers so this bursts of messages may be a problem.__\n\nAn extended read/write response event is returned on success.\n\nThis means that a register (or a maximum of 256 consecutive registers) located on any page can be read in a single operation.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID. | \n | 16 | MSB of page where the register is located. | \n | 17 | LSB of page where the register is located. | \n | 18  | Register to read. | \n | 19   | Optional: bytes to read (1-255). |\n " />
<type id="38" token="VSCP_TYPE_PROTOCOL_EXTENDED_PAGE_WRITE" name="Extended page write register." description="**Mandatory.** Must be implemented by all devices.\n\nWrite register content to a node.\n\nImplementation must take care so all page register change done by these routines must restore the content of the page registers to there original content when they are done. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Node address. | \n | 1 | MSB of page where the register is located. | \n | 2 | LSB of page where the register is located. | \n | 3 | Register to write. | \n | 4 | Content for register. | \n | 5,6,7 | Optional extra data bytes to write. | \n\nA read/write response event is returned on success.\n\nEvent allows a register (or a maximum of four consecutive registers) located on any page can be written in a single operation.\n\nThe following format can be used for nodes on a Level II segment as a midway between a full Level II handling as specified in Class=1024 and Level I.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0-15 | GUID. | \n | 16 | MSB of page where the register is located. | \n | 17 | LSB of page where the register is located. | \n | 18 | Register to write. | \n | 19  | Content of register. byte 20-buffer-size Optional extra data bytes to write. | \n" />
<type id="39" token="VSCP_TYPE_PROTOCOL_EXTENDED_PAGE_RESPONSE" name="Extended page read/write response." description="**Mandatory.** Must be implemented by all devices.\n\nThis is the replay sent for events CLASS1.PROTOCOL, Type=40,41. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index (starts at zero). | \n | 1 | MSB of page where the register is located. | \n | 2 | LSB of page where the register is located. | \n | 3 | Register read/written. | \n | 4 | Content of register. | \n | 5-7 | Content of register if multi register read/write. | \n\nA multi. register read/write can generate up to 256 events of this type. Index will then be increased by one for each event sent. __Some nodes my have small buffers so this bursts of messages may be a problem. Therefore send them with a low priority.__\n" />
<type id="40" token="VSCP_TYPE_PROTOCOL_GET_EVENT_INTEREST" name="Get event interest." description="**Not Mandatory.** Implemented if needed.\n\nIt is possible to ask a node which event(s) it is interested in with this event. If not implemented the node is supposed to be interested in all events.\n\nAll nodes are by default interested in **CLASS1.PROTOCOL**.\n\nThe event is intended for very low bandwidth nodes like low power wireless nodes where it saves a lot of bandwidth if only events that really concerns the node is sent to them. \n" />
<type id="41" token="VSCP_TYPE_PROTOCOL_GET_EVENT_INTEREST_RESPONSE" name="Get event interest response." description="**Not mandatory.** Implemented if needed.\n\nResponse for event [CLASS1.PROTOCOL, Type=40 (Get event interest)](./class1.protocol.md#type40). The node report all events it is interested in. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index | \n | 1 | class bit 9 (see table) | \n | 2 | class 1 | \n | 3 | type 1 | \n | 4 | class 2 | \n | 5 | type 2 | \n | 6 | class 3 | \n | 7 | type 3 | \n\n | Bit | Description | \n | :---: | ----------- | \n | 0 | Bit 9 for class 1 | \n | 1 | Bit 9 for class 2 | \n | 2 | Bit 9 for class 3 | \n | 3 | All Type 1 is recognized (set type to zero). | \n | 4 | All Type 2 is recognized (set type to zero). | \n | 5 | All Type 3 is recognized (set type to zero). | \n | 6 | 0 | \n | 7 | 0 | \n\nA node that is interested in everything just send a [CLASS1.PROTOCOL, Type=41 (Get event interest response)](./class1.protocol.md#type41) with no data if asked to provide that information.\n\nNodes that want to specify events of interest fill them in. If all types of a class should be recognized set the corresponding bit in byte 1 and the related type to zero.\n\nA maximum of 255 frames (index = 0-254) may be sent. \n\nFill unused pairs with zero.\n\nA **level II node** respond by sending [CLASS2.PROTOCOL, Type=41 (Get event interest response)](./class2.protocol.md#type41)\n" />
<type id="48" token="VSCP_TYPE_PROTOCOL_ACTIVATE_NEW_IMAGE_ACK" name="Activate new image ACK." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the positive response after a node received a [CLASS1.PROTOCOL, Type=22 (Activate new image)](./class1.protocol.md#type22). It is sent by the node before the new firmware is booted into.\n" />
<type id="49" token="VSCP_TYPE_PROTOCOL_ACTIVATE_NEW_IMAGE_NACK" name="Activate new image NACK." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the negative response after a node received a [CLASS1.PROTOCOL, Type=22 (Activate new image)](./class1.protocol.md#type22). It is sent by the node to inform it that it will (or can not) switch to the new firmware image. \n" />
<type id="50" token="VSCP_TYPE_PROTOCOL_START_BLOCK_ACK" name="Block data transfer ACK." description="**Not mandatory** Only needed if a VSCP boot loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the positive response after a node received a [CLASS1.PROTOCOL, Type=16 (Block data)](./class1.protocol.md#type16) event. It is sent by the node as a validation that it can handle the block data transfer. \n" />
<type id="51" token="VSCP_TYPE_PROTOCOL_START_BLOCK_NACK" name="Block data transfer NACK." description="**Not mandatory.** Only needed if a VSCP boot-loader algorithm is used.\n\nPart of the VSCP boot-loader functionality. This is the negative response after a node received a [CLASS1.PROTOCOL, Type=16 (Block data)](./class1.protocol.md#type16) event. It is sent by the node as an indication that it can NOT handle the block data transfer. \n" />
</class>
<class id="513" name="Class2 Level I Alarm" token="CLASS2.LEVEL1.ALARM" description="## Description\n\nThis class mirrors the [CLASS1.ALARM](./class1.alarm.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n\n" >
<type id="0" token="VSCP_TYPE_ALARM_GENERAL" name="General event" description="General Event. \n" />
<type id="1" token="VSCP_TYPE_ALARM_WARNING" name="Warning" description="Indicates a warning condition. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="2" token="VSCP_TYPE_ALARM_ALARM" name="Alarm occurred" description="Indicates an alarm condition.\n\n | Data byte | Description                                                        |\n | :-------: | ------------------------------------------------------------------ |\n |     0     | Alarm byte from standard register 128/0x80 or a code of choice describing the alarm. |\n |     1     | Zone for which event applies to (0-255). 255 is all zones.         |\n |     2     | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n\nIf byte 0 is zero this event can be interpreted as alarm-reset.\n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="3" token="VSCP_TYPE_ALARM_SOUND" name="Alarm sound on/off" description="Alarm sound should be turned on or off. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="4" token="VSCP_TYPE_ALARM_LIGHT" name="Alarm light on/off" description="Alarm light should be turned on or off. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="5" token="VSCP_TYPE_ALARM_POWER" name="Power on/off" description="Power has been lost or is available again. \n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones.| \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="6" token="VSCP_TYPE_ALARM_EMERGENCY_STOP" name="Emergency Stop" description="Emergency stop has been hit/activated. All systems on the zone/sub-zone should go to their inactive/safe state.\n \n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="7" token="VSCP_TYPE_ALARM_EMERGENCY_PAUSE" name="Emergency Pause" description="Emergency pause has been hit/activated. All systems on the zone/sub-zone should go to their inactive/safe state but preserve there settings. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all subzones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="8" token="VSCP_TYPE_ALARM_EMERGENCY_RESET" name="Emergency Reset" description="Issued after an emergency stop or pause in order for nodes to reset and start operating .\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="9" token="VSCP_TYPE_ALARM_EMERGENCY_RESUME" name="Emergency Resume" description="Issued after an emergency pause in order for nodes to start operating from where they left of without resetting their registers . \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="10" token="VSCP_TYPE_ALARM_ARM" name="Arm" description="Issued after an alarm system has been armed. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="11" token="VSCP_TYPE_ALARM_DISARM" name="Disarm" description="Issued after an alarm system has been disarmed. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | **0**=off. **1**=on. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="12" token="VSCP_TYPE_ALARM_WATCHDOG" name="Watchdog" description="Issued when a watchdog has been triggered. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | index. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n\n\n" />
<type id="13" token="VSCP_TYPE_ALARM_RESET" name="Alarm reset" description="Indicates an alarm reset condition.\n\n | Data byte | Description                                                        |\n | :-------: | ------------------------------------------------------------------ |\n |     0     | Alarm byte from standard register 128/0x80  or a code of choice describing the alarm. |\n |     1     | Zone for which event applies to (0-255). 255 is all zones.         |\n |     2     | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
</class>
<class id="514" name="Class2 Level I Security" token="CLASS2.LEVEL1.SECURITY" description="## Description\n\nThis class mirrors the [CLASS1.SECURITY](./class1.security.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_SECURITY_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_SECURITY_MOTION" name="Motion Detect" description="A motion has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3 | Optional. Status | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n\nThe optional status byte can have the following values. If not present value = 0 should be assumed.\n\n| Value | Description | \n | :---------: | ----------- | \n | 0 | Security event occurred. | \n | 1 | Activated |\n | 2 | Inactivated |\n" />
<type id="2" token="VSCP_TYPE_SECURITY_GLASS_BREAK" name="Glass break" description="A glass break event has been detected. \n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2  | Sub-zone for which event applies to (0-255). 255 is all subzones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="3" token="VSCP_TYPE_SECURITY_BEAM_BREAK" name="Beam break" description="A beam break event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="4" token="VSCP_TYPE_SECURITY_SENSOR_TAMPER" name="Sensor tamper" description="A sensor tamper has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="5" token="VSCP_TYPE_SECURITY_SHOCK_SENSOR" name="Shock sensor" description="A shock sensor event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="6" token="VSCP_TYPE_SECURITY_SMOKE_SENSOR" name="Smoke sensor" description="A smoke sensor event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="7" token="VSCP_TYPE_SECURITY_HEAT_SENSOR" name="Heat sensor" description="A heat sensor event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="8" token="VSCP_TYPE_SECURITY_PANIC_SWITCH" name="Panic switch" description="A panic switch event has been detected. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255. \n" />
<type id="9" token="VSCP_TYPE_SECURITY_DOOR_OPEN" name="Door Contact" description="Indicates a door sensor reports that a door is open. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="10" token="VSCP_TYPE_SECURITY_WINDOW_OPEN" name="Window Contact" description="Indicates a window sensor reports that a window is open.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="11" token="VSCP_TYPE_SECURITY_CO_SENSOR" name="CO Sensor" description="CO sensor has detected CO at non secure level\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="12" token="VSCP_TYPE_SECURITY_FROST_DETECTED" name="Frost detected" description="A frost sensor condition is detected\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="13" token="VSCP_TYPE_SECURITY_FLAME_DETECTED" name="Flame detected" description="Flame is detected.\n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="14" token="VSCP_TYPE_SECURITY_OXYGEN_LOW" name="Oxygen Low" description="Low oxygen level detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="15" token="VSCP_TYPE_SECURITY_WEIGHT_DETECTED" name="Weight detected." description="Weight-detector triggered.\n\n | Data byte | Description | \n | :---------: | -----------  | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="16" token="VSCP_TYPE_SECURITY_WATER_DETECTED" name="Water detected." description="Water has been detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="17" token="VSCP_TYPE_SECURITY_CONDENSATION_DETECTED" name="Condensation detected." description="Condensation (humidity) detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="18" token="VSCP_TYPE_SECURITY_SOUND_DETECTED" name="Noise (sound) detected." description="Noise (sound) has been detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="19" token="VSCP_TYPE_SECURITY_HARMFUL_SOUND_LEVEL" name="Harmful sound levels detected." description="Harmful sound levels detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nIf both or one of zone/sub-zone are omitted they should be interpreted as if they where 255.\n" />
<type id="20" token="VSCP_TYPE_SECURITY_TAMPER" name="Tamper detected." description="Tamper detected.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | User defined data. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_SECURITY_AUTHENTICATED" name="Authenticated" description="Authenticated. A user or a device has been authenticated.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="22" token="VSCP_TYPE_SECURITY_UNAUTHENTICATED" name="Unauthenticated" description="Unauthenticated. A user or a device has failed authentication.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="23" token="VSCP_TYPE_SECURITY_AUTHORIZED" name="Authorized" description="Authorized. A user or a device has been authorized.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="24" token="VSCP_TYPE_SECURITY_UNAUTHORIZED" name="Unauthorized" description="Unauthorized. A user or a device has failed authorization.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="25" token="VSCP_TYPE_SECURITY_ID_CHECK" name="ID check" description="ID Check. A user or a device has gone through an identification test and is either allowed or not allowed access according to bits in byte 0.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | ID check bits. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n\n **ID Check bits**\n \n | Bit | Description |\n | :---------: | ----------- |\n | 0 | Authenticated if set to one. |\n | 1 | Authorized if set to one. |\n" />
<type id="26" token="VSCP_TYPE_SECURITY_PIN_OK" name="Valid pin" description="Valid pin. A valid pin has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="27" token="VSCP_TYPE_SECURITY_PIN_FAIL" name="Invalid pin" description="Invalid pin. An invalid pin has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="28" token="VSCP_TYPE_SECURITY_PIN_WARNING" name="Pin warning" description="Pin warning. An invalid pin has been entered by a device or user and a warning has been given. This warning is typically a warning that the pin will be unusable if further failures are detected.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="29" token="VSCP_TYPE_SECURITY_PIN_ERROR" name="Pin error" description="Pin error. An invalid pin has been entered by a device or user and it has failed so many times that the pin is now locked and unusable.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="30" token="VSCP_TYPE_SECURITY_PASSWORD_OK" name="Valid password" description="Valid password. A valid password has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="31" token="VSCP_TYPE_SECURITY_PASSWORD_FAIL" name="Invalid password" description="Invalid password. An invalid password has been entered by a device or user.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="32" token="VSCP_TYPE_SECURITY_PASSWORD_WARNING" name="Password warning" description="Password warning. An invalid password has been entered by a device or user and a warning has been given. This warning is typically a warning that the password will be unusable if further failures are detected.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |" />
<type id="33" token="VSCP_TYPE_SECURITY_PASSWORD_ERROR" name="Password error" description="Password error. An invalid password has been entered by a device or user and it has failed so many times that the password is now locked and unusable.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n" />
<type id="34" token="VSCP_TYPE_SECURITY_GAS_SENSOR" name="Gas" description="Gas has been detected.\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
<type id="35" token="VSCP_TYPE_SECURITY_IN_MOTION_DETECTED" name="In motion" description="An object is in motion\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
<type id="36" token="VSCP_TYPE_SECURITY_NOT_IN_MOTION_DETECTED" name="Not in motion" description="An object is in rest (jammed)\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
<type id="37" token="VSCP_TYPE_SECURITY_VIBRATION_DETECTED" name="Vibration" description="Vibration detected\n\n | Data byte | Description |\n | :---------: | ----------- |\n | 0 | User defined data. |\n | 1 | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n " />
</class>
<class id="522" name="Class2 Level I Measurements" token="CLASS2.LEVEL1.MEASUREMENT" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT](./class1.measurement.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS1.MEASUREMENT](./class1.measurement.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="523" name="Class2 Level I Measurements" token="CLASS2.LEVEL1.MEASUREMENTX1" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENTX1](./class1.measurementx1.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS1.MEASUREMENT](./class1.measurement.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="524" name="Class2 Level I Measurements" token="CLASS2.LEVEL1.MEASUREMENTX2" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENTX2](./class1.measurementx2.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS1.MEASUREMENT](./class1.measurement.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="525" name="Class2 Level I Measurements" token="CLASS2.LEVEL1.MEASUREMENTX3" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENTX3](./class1.measurementx3.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS1.MEASUREMENT](./class1.measurement.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="526" name="Class2 Level I Measurements" token="CLASS2.LEVEL1.MEASUREMENTX4" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENTX4](./class1.measurementx4.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS1.MEASUREMENT](./class1.measurement.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="527" name="Class2 Level I Data" token="CLASS2.LEVEL1.DATA" description="## Description\n\nThis class mirrors the [CLASS1.DATA](./class1.data.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_DATA_GENERAL" name="General event" description="General event.\n\n" />
<type id="1" token="VSCP_TYPE_DATA_IO" name="I/O value" description="General I/O value. First data byte defines format. \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n" />
<type id="2" token="VSCP_TYPE_DATA_AD" name="A/D value" description="General A/D value. First data byte defines format. \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n" />
<type id="3" token="VSCP_TYPE_DATA_DA" name="D/A value" description="General D/A value. First data byte defines format. \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n" />
<type id="4" token="VSCP_TYPE_DATA_RELATIVE_STRENGTH" name="Relative strength" description="Relative strength.  \n\n | Data byte | Description                         | \n | :---------: | -----------                       | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n\n### Coding of units (Level I)\n\n | Code | Description  | \n | :----: | ----------- | \n | 0    | **Byte count = 2**: Min = 0, Max = 255 &lt;br&gt; **Byte count = 3**: Min = 0, Max = 65535 &lt;br&gt; and so on... | \n | 1    | db (decibel) | \n | 2    | dbV (decibel volts) | \n | 3    | Undefined | \n\nUnits for Level II are the same as for Level I for the first four units.\n" />
<type id="5" token="VSCP_TYPE_DATA_SIGNAL_LEVEL" name="Signal Level" description="Signal Level is a relative strength value that (as default) has its maximum at 100 and minimum at 0 interpreted as a percentage. For a digital transmission Signal Level it can be used to give an indication of the analogue signal and [CLASS1.DATA, Type = 6, Signal Quality](./class1.data.md#type6) can be used to give an indication of the quality of the digital part as BER (Bit Error Ratio) for example.\n\n | Data byte | Description                         | \n | :---------: | -----------                         | \n | 0         | Data coding.                        | \n | 1-7       | Data with format defined by byte 0. | \n\n### Coding of units (Level I)\n | Code | Description                                                                                        | \n | :----: | -----------                                                                                        | \n | 0    | (0-100) percentage.                                                                               | \n | 1    | **Byte count = 2**: Min = 0, Max = 255&lt;br&gt;**Byte count = 3**: Min = 0, Max = 65535&lt;br&gt;  and so on... | \n\n\nUnits for Level II are the same as for Level I for the first four units.\n" />
<type id="6" token="VSCP_TYPE_DATA_SIGNAL_QUALITY" name="Signal Quality" description="Signal Quality be used to give an indication of the quality of the digital part as BER (Bit Error Ratio) for example.\n\n | Data byte | Description                         |\n | :---------: | -----------                       |\n | 0         | Data coding.                        |\n | 1-7       | Data with format defined by byte 0. |\n\n### Coding of units (Level I)\n\n | Code | Description                                                                                        |\n | :----: | -----------                                                                                        |\n | 0    | 0-100, Percent                                                                                     |\n | 1    | **Byte count = 2**: Min = 0, Max = 255  **Byte count = 3**: Min = 0, Max = 65535  and so on... |\n | 2    | dBm  |\n | 3    | To be defined |\n\nUnits for Level II are the same as for Level I for the first four units.\n" />
</class>
<class id="532" name="Class2 Level I Information" token="CLASS2.LEVEL1.INFORMATION1" description="## Description\n\nThis class mirrors the [CLASS1.INFORMATION](./class1.information.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_INFORMATION_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_INFORMATION_BUTTON" name="Button" description="A button has been pressed/released. \n\n | Data byte | Description                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                        | \n | 0         | Bits 0,1,2 If 0 the button has been released. If 1 the button is pressed. If equal to 2 this is a key value (press followed by release). Bits 3-7 is repeats 0-32. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones                                                                                                          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones                                                                                                  | \n | 3         | MSB of code for button.                                                                                                                                            | \n | 4         | LSB of code for button.                                                                                                                                            | \n | 5         | MSB of optional code-page.                                                                                                                                         | \n | 6         | LSB of optional code-page.                                                                                                                                         | \n" />
<type id="2" token="VSCP_TYPE_INFORMATION_MOUSE" name="Mouse" description="A mouse movement has occurred. \n\n | Data byte | Description                                                                       | \n | :---------: | -----------                                                                       | \n | 0         | If zero absolute coordinates follow. If equal to one relative coordinates follow. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones                 | \n | 3         | MSB of normalized X-coordinate.                                                   | \n | 4         | LSB of normalized X-coordinate.                                                   | \n | 5         | MSB of normalized Y-coordinate.                                                   | \n | 6         | LSB of normalized Y-coordinate.                                                   | \n" />
<type id="3" token="VSCP_TYPE_INFORMATION_ON" name="On" description="A node indicates that a condition is in its on state. Heater on, lights on are two examples. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | index. Often used as an index for channels within a module.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_INFORMATION_OFF" name="Off" description="A node indicates that a condition is in its off state. Heater off, lights off are two examples. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_INFORMATION_ALIVE" name="Alive" description="A node tells the world that it is alive. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_INFORMATION_TERMINATING" name="Terminating" description="A node tells the world that it is terminating. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nByte2 Sub-zone for which event applies to (0-255). 255 is all sub-zones.\n" />
<type id="7" token="VSCP_TYPE_INFORMATION_OPENED" name="Opened" description="A node indicates that an open has occurred. This can be a door/window open, a modem line open etc. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_INFORMATION_CLOSED" name="Closed" description="A node indicates that a close has occurred. This can be a door/window close, a modem line closure etc. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_INFORMATION_NODE_HEARTBEAT" name="Node Heartbeat" description="Heartbeats can be used to indicate that a unit is alive or to send periodic data. This can be sent out at predefined intervals to indicate that the node is alive, however, it does not necessarily mean the node is functioning as it should. It simply states that the node is connected to the network. To check if a node is functioning, other properties such as a measurement event or registry should be used. This event should be sent as a response to a “Segment Status Heartbeat” (CLASS1.PROTOCOL, Type=1) in order to provide a method of finding out what is connected to the network. The data bytes from byte 3 and forward can be used to send a descriptive/user friendly name if desired.\n\n**Mandatory.** All nodes should send this event at least once each minute. A Level II node should normally not send this event but instead send [Level II node heartbeat](./class2.information.md#type2). Recommended interval is 30-60 seconds but in a node that need to sleep longer to save resources a longer interval can be used.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_INFORMATION_BELOW_LIMIT" name="Below limit" description="This indicates that the node has a condition that is below a configurable limit. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_INFORMATION_ABOVE_LIMIT" name="Above limit" description="This indicates that the node has a condition that is above a configurable limit. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_INFORMATION_PULSE" name="Pulse" description="This can be used for slow pulse counts. This can be an S0-pulse interface or something similar. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_INFORMATION_ERROR" name="Error" description="A node indicates that an error occurred. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_INFORMATION_RESUMED" name="Resumed" description="A node indicates that it has resumed operation. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_INFORMATION_PAUSED" name="Paused" description="A node indicates that it has paused. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_INFORMATION_SLEEP" name="Sleeping" description="A node indicates that it entered a sleeping state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="17" token="VSCP_TYPE_INFORMATION_GOOD_MORNING" name="Good morning" description="The system should enter its morning state. This can be a user pressing a button to set his/her house to its morning state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="18" token="VSCP_TYPE_INFORMATION_GOOD_DAY" name="Good day" description="The system should enter its day state. This can be a user pressing a button to set his/her house to its day state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="19" token="VSCP_TYPE_INFORMATION_GOOD_AFTERNOON" name="Good afternoon" description="The system should enter its afternoon state. This can be a user pressing a button to set his/her house to its afternoon state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="20" token="VSCP_TYPE_INFORMATION_GOOD_EVENING" name="Good evening" description="The system should enter its evening state. This can be a user pressing a button to set his/her house to its evening state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_INFORMATION_GOOD_NIGHT" name="Good night" description="The system should enter its night state. This can be a user pressing a button to set his/her house to its night state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="22" token="VSCP_TYPE_INFORMATION_SEE_YOU_SOON" name="See you soon" description="The system should be on a temporary alert. This can be a user locking the door to go out to the waste bin or similar situation. An alarm system should not be activated in this situation. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_INFORMATION_GOODBYE" name="Goodbye" description="The system should be on a goodbye alert. This can be a user locking the door to go out for a days work or similar situation. All alarm systems should be activated in this situation. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_INFORMATION_STOP" name="Stop" description="A node indicates that a stop event occurred. This can for example be a motor stopping. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="25" token="VSCP_TYPE_INFORMATION_START" name="Start" description="A node indicates that a start event occurred. This can be a motor starting. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="26" token="VSCP_TYPE_INFORMATION_RESET_COMPLETED" name="ResetCompleted" description="A node indicates that a reset occurred. This can be a node doing a warm start. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_INFORMATION_INTERRUPTED" name="Interrupted" description="A node indicates that a reset occurred. This can also be a node doing a warm start. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="28" token="VSCP_TYPE_INFORMATION_PREPARING_TO_SLEEP" name="PreparingToSleep" description="A node indicates that a sleep event occurred. This can be a node going to its inactive state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_INFORMATION_WOKEN_UP" name="WokenUp" description="A node indicates that a wakeup event occurred. This can be a node going to it awake state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="30" token="VSCP_TYPE_INFORMATION_DUSK" name="Dusk" description="A node indicates that the system should enter its dusk state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="31" token="VSCP_TYPE_INFORMATION_DAWN" name="Dawn" description="A node indicates that the system should enter its dawn state. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="32" token="VSCP_TYPE_INFORMATION_ACTIVE" name="Active" description="A node indicates that its active. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="33" token="VSCP_TYPE_INFORMATION_INACTIVE" name="Inactive" description="A node indicates that its inactive. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="34" token="VSCP_TYPE_INFORMATION_BUSY" name="Busy" description="A node indicates that its busy. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_INFORMATION_IDLE" name="Idle" description="A node indicates that its idle. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_INFORMATION_STREAM_DATA" name="Stream Data" description="A steam of information from a node can be reported with this event. This can be a serial RS-232 channel or some other sequential stream. \n\n | Data byte | Description                                                                                                                                                                                                                                  | \n | :---------: | -----------                                                                                                                                                                                                                                  | \n | 0         | Sequence number which is increased by one for every new event with stream data. The sequence number is increased for every frame sent going from 0 - 255 and back to 0 and so on if needed. A new stream starts with a sequence number of 0. | \n | 1-7       | Stream data.                                                                                                                                                                                                                                 | \n" />
<type id="37" token="VSCP_TYPE_INFORMATION_TOKEN_ACTIVITY" name="Token Activity" description="This event is used for cards, RFID&amp;apos;s, iButtons, GSM phones and other identification devices. The event is generated when the token device is attached/detached to/from the system. Level II has a counterpart to this event that can take more data. CLASS2.INFORMATION Type=1\n\nDepending on the Token device type a number of this event are sent on the segment with frame index increase for each event. The total expected number can be deduced from the type. \n\n | Data byte | Description                                                                                      | \n | :---------: | -----------                                                                                      | \n | 0         | Bit 0,1 - Event code. Bit 2-7 - Token device type code.                                          | \n | 1         | Zone.                                                                                            | \n | 2         | Sub-zone.                                                                                        | \n | 3         | Frame index (Increase by one for every frame sent out for one token activity. Start with zero ). | \n | 4-7       | Token data.                                                                                      | \n\n#####  Event codes\n\n | Code | Description           | \n | ---- | -----------           | \n | 0    | Touched and released. | \n | 1    | Touched.              | \n | 2    | Released.             | \n | 3    | Reserved.             | \n\n##### Token device type codes\n\n | Code  | Description                                                                                                                     | Size    \n | ----  | -----------                                                                                                                     | ----    \n | 0     | Unknown Token.                                                                                                                  | 128-bits | \n | 1     | iButton 64-bit token.                                                                                                           | 64-bits  | \n | 2     | RFID Token.                                                                                                                     | 64-bits  | \n | 3     | RFID Token.                                                                                                                     | 128-bits | \n | 4     | RFID Token.                                                                                                                     | 256-bits | \n | 5-8   | Reserved.                                                                                                                       |          | \n | 9     | ID/Credit card.                                                                                                                 | 128-bits | \n | 10-15 | Reserved.                                                                                                                       |          | \n | 16    | Biometric device.                                                                                                               | 256-bits | \n | 17    | Biometric device.                                                                                                               | 64-bits  | \n | 18    | Bluetooth device.                                                                                                               | 48-bits  | \n | 19    | GSM IMEI code (International Mobile Equipment Identity) AA-BBBBBB-CCCCCC-D packed in 64 bits. https://en.wikipedia.org/wiki/IMEI | 64-bits  | \n | 20    | GSM IMSI code (International Mobile Subscriber Identity) packed in 64 bits. https://en.wikipedia.org/wiki/IMSI                   | 64-bits  | \n | 21    | RFID Token.                                                                                                                     | 40-bits  | \n | 22    | RFID Token.                                                                                                                     | 32-bits  | \n | 23    | RFID Token.                                                                                                                     | 24-bits  | \n | 24    | RFID Token.                                                                                                                     | 16-bits  | \n | 25    | RFID Token.                                                                                                                     | 8-bits   | \n | 26-63 | Reserved.                         |          | " />
<type id="38" token="VSCP_TYPE_INFORMATION_STREAM_DATA_WITH_ZONE" name="Stream Data with zone" description="A steam of information from a node can be reported with this event. This can be a serial RS-232 channel or some other sequential stream. \n\n | Data byte | Description                                                                                                                                                                                                                                  | \n | :---------: | -----------                                                                                                                                                                                                                                  | \n | 0         | Zone.                                                                                                                                                                                                                                        | \n | 1         | Sub-zone.                                                                                                                                                                                                                                    | \n | 2         | Sequence number which is increased by one for every new event with stream data. The sequence number is increased for every frame sent going from 0 - 255 and back to 0 and so on if needed. A new stream starts with a sequence number of 0. | \n | 3-7       | Stream data.                                                                                                                                                                                                                                | \n" />
<type id="39" token="VSCP_TYPE_INFORMATION_CONFIRM" name="Confirm" description="This event can be used as a general confirm event for zoned and stream data. \n\n | Data byte | Description             | \n | :---------: | -----------           | \n | 0         | Zone.                   | \n | 1         | Sub-zone.               | \n | 2         | Sequence number byte    |\n | 3         | Class MSB.              | \n | 4         | Class LSB.              | \n | 5         | Type MSB.               | \n | 6         | Type LSB.               | \n" />
<type id="40" token="VSCP_TYPE_INFORMATION_LEVEL_CHANGED" name="Level Changed" description="Response/confirmation from ex. a dimmer control after a dimmer command or some other unit that change a level. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Relative or absolute level.                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="41" token="VSCP_TYPE_INFORMATION_WARNING" name="Warning" description=" A node indicates that a warning condition occurred. \n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | Reserved level. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones. | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="42" token="VSCP_TYPE_INFORMATION_STATE" name="State" description="A node indicates that a state change has occurred. Th numerical ID for the current state and the state that is about to become active is supplied. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | State changed from.                                                | \n | 4         | New State.                                                         | \n" />
<type id="43" token="VSCP_TYPE_INFORMATION_ACTION_TRIGGER" name="Action Trigger" description="A node indicates that an action has been triggered by this event. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Action ID.                                                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="44" token="VSCP_TYPE_INFORMATION_SUNRISE" name="Sunrise" description="A node indicates that sunrise is detected/calculated. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="45" token="VSCP_TYPE_INFORMATION_SUNSET" name="Sunset" description="A node indicates that sunset is detected/calculated. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="46" token="VSCP_TYPE_INFORMATION_START_OF_RECORD" name="Start of record" description="This event is used to mark the start of a multi-frame data transfer. This can typically be a GPS received which sends a train of events from one GPS record. The index byte can be used to distinguish record between each other. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Number of frames to follow or zero for not used.                   | \n" />
<type id="47" token="VSCP_TYPE_INFORMATION_END_OF_RECORD" name="End of record" description="This event is used to mark the end of a multi-frame data transfer. The index byte can be used to distinguish record between each other. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="48" token="VSCP_TYPE_INFORMATION_PRESET_ACTIVE" name="Pre-set active" description="This event is used to tell the system that a pre-set configuration is active. Usually a response from a node after a CLASS1.CONTROL, Type=28 has been received by a node.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Code for pre-set that has been set.                                | \n" />
<type id="49" token="VSCP_TYPE_INFORMATION_DETECT" name="Detect" description="This event is used to tell the system that a detection of some kind has occurred. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nThe first byte is used as an index if a module have several channels or detectors. \n" />
<type id="50" token="VSCP_TYPE_INFORMATION_OVERFLOW" name="Overflow" description="This event is used to tell the system that an overflow of some kind has occurred. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nThe first byte is used as an index if a module have several channels or detectors.\n" />
<type id="51" token="VSCP_TYPE_INFORMATION_BIG_LEVEL_CHANGED" name="Big level changed" description="This is meant to be used as a confirmation event for CLASS1.CONTROL, Type=33 events.\n\n | Data byte | Description                                                                                               | \n | :---------: | -----------                                                                                               | \n | 0         | Index.                                                                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                        | \n | 3,4,5,6,7 | Level as signed Integer. The range can be adjusted by the user by sending the needed number of bytes 1-5. | \n" />
<type id="52" token="VSCP_TYPE_INFORMATION_SUNRISE_TWILIGHT_START" name="Civil sunrise twilight time" description="Civil twilight is the period when the Sun is below the horizon but its center is less than 6 degrees below. The &amp;quot;Civil Twilight Starts&amp;quot; time is the dawn or civil dawn, with the center of the Sun at exactly 6 degrees below the horizon. Equally, the &amp;quot;Civil Twilight Ends&amp;quot; time is dusk or civil dusk, when the Sun is 6 degrees below the horizon in the evening.\n\nDuring civil twilight, the sky is still illuminated, and with clear weather it is brightest in the direction of the Sun. The Moon and the brightest stars and planets may be visible. It is usually bright enough for outdoor activities without additional lighting.\n\nNear the equator, where the Sun sets and rises in an almost vertical direction, the civil twilight period can last only 21 minutes, a very fast nightfall compared to the much longer periods at southern and northern latitudes. In regions north of 60°24&amp;apos; N or south of 60°24&amp;apos; S, there will be at least one night when it does not get darker than this.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 96 degrees from the zenith position.\n\nA node indicates that sunrise twilight time is detected/calculated. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="53" token="VSCP_TYPE_INFORMATION_SUNSET_TWILIGHT_START" name="Civil sunset twilight time" description="A node indicates that sunset twilight time is detected/calculated.\n\nCivil twilight is the period when the Sun is below the horizon but its center is less than 6 degrees below. The &amp;quot;Civil Twilight Starts&amp;quot; time is the dawn or civil dawn, with the center of the Sun at exactly 6 degrees below the horizon. Equally, the &amp;quot;Civil Twilight Ends&amp;quot; time is dusk or civil dusk, when the Sun is 6 degrees below the horizon in the evening.\n\nDuring civil twilight, the sky is still illuminated, and with clear weather it is brightest in the direction of the Sun. The Moon and the brightest stars and planets may be visible. It is usually bright enough for outdoor activities without additional lighting.\n\nNear the equator, where the Sun sets and rises in an almost vertical direction, the civil twilight period can last only 21 minutes, a very fast nightfall compared to the much longer periods at southern and northern latitudes. In regions north of 60°24&amp;apos; N or south of 60°24&amp;apos; S, there will be at least one night when it does not get darker than this.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 96 degrees from the zenith position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="54" token="VSCP_TYPE_INFORMATION_NAUTICAL_SUNRISE_TWILIGHT_START" name="Nautical sunrise twilight time" description="A node indicates that nautical sunrise twilight time is detected/calculated. \n\nNautical twilight is the period when the center of the Sun is between 6 and 12 degrees below the horizon, when bright stars are still visible in clear weather and the horizon is becoming visible. It is too dark to do outdoor activities without additional lighting.\n\nIn the morning, nautical twilight starts at nautical dawn, when the Sun rises above 12 degrees below the horizon; it ends when the Sun&amp;apos;s center reaches 6 degrees below the horizon. In the evening, nautical twilight begins when the Sun sinks below 6 degrees; it ends at nautical dusk, when the Sun is lower than 12 degrees below the horizon.\n\nFor locations north of 54°34&amp;apos; N or south of 54°34&amp;apos; S latitude, the Sun will never be lower than 12 degrees below the horizon for a period in the summer.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 102 degrees from the zenith position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="55" token="VSCP_TYPE_INFORMATION_NAUTICAL_SUNSET_TWILIGHT_START" name="Nautical sunset twilight time" description="A node indicates that nautical sunset twilight time is detected/calculated.\n\nNautical twilight is the period when the center of the Sun is between 6 and 12 degrees below the horizon, when bright stars are still visible in clear weather and the horizon is becoming visible. It is too dark to do outdoor activities without additional lighting.\n\nIn the morning, nautical twilight starts at nautical dawn, when the Sun rises above 12 degrees below the horizon; it ends when the Sun&amp;apos;s center reaches 6 degrees below the horizon. In the evening, nautical twilight begins when the Sun sinks below 6 degrees; it ends at nautical dusk, when the Sun is lower than 12 degrees below the horizon.\n\nFor locations north of 54°34&amp;apos; N or south of 54°34&amp;apos; S latitude, the Sun will never be lower than 12 degrees below the horizon for a period in the summer.\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 102 degrees from the zenith position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="56" token="VSCP_TYPE_INFORMATION_ASTRONOMICAL_SUNRISE_TWILIGHT_START" name="Astronomical sunrise twilight time" description="A node indicates that astronomical sunrise twilight time is detected/calculated. \n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon. It starts at astronomical dawn, early in the morning when the Sun is higher than 18 degrees below the horizon. From this point, it will be difficult to observe certain faint stars, galaxies, and other objects because the Sun starts to illuminate the sky. Astronomical twilight ends at astronomical dusk in the late evening, when those faint objects again can be visible because the Sun is lower than 18 degrees below the horizon. In locations north of 48°24&amp;apos; N or south of 48°24&amp;apos;, it never gets darker than this near the middle of the summer solstice (June or December).\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 108 degrees from the zenith position, or directly above the observer.\n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="57" token="VSCP_TYPE_INFORMATION_ASTRONOMICAL_SUNSET_TWILIGHT_START" name="Astronomical sunset twilight time" description="A node indicates that astronomical sunset twilight time is detected/calculated.\n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon. It starts at astronomical dawn, early in the morning when the Sun is higher than 18 degrees below the horizon. From this point, it will be difficult to observe certain faint stars, galaxies, and other objects because the Sun starts to illuminate the sky. Astronomical twilight ends at astronomical dusk in the late evening, when those faint objects again can be visible because the Sun is lower than 18 degrees below the horizon. In locations north of 48°24&amp;apos; N or south of 48°24&amp;apos;, it never gets darker than this near the middle of the summer solstice (June or December).\n\nTechnically, the start and end times are when the true geocentric position of the Sun is 108 degrees from the zenith position, or directly above the observer.\n\nAstronomical twilight is the period when the center of the Sun is between 12 and 18 degrees below the horizon.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | User specified.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="58" token="VSCP_TYPE_INFORMATION_CALCULATED_NOON" name="Calculated Noon" description="This event is used for reporting of a calculated noon (real noon).\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="59" token="VSCP_TYPE_INFORMATION_SHUTTER_UP" name="Shutter up" description="Shutter is moving up.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="60" token="VSCP_TYPE_INFORMATION_SHUTTER_DOWN" name="Shutter down" description="Shutter is moving down.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="61" token="VSCP_TYPE_INFORMATION_SHUTTER_LEFT" name="Shutter left" description="Shutter is moving left.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="62" token="VSCP_TYPE_INFORMATION_SHUTTER_RIGHT" name="Shutter right" description="Shutter is moving right.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="63" token="VSCP_TYPE_INFORMATION_SHUTTER_END_TOP" name="Shutter reached top end" description="Shutter reached top end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="64" token="VSCP_TYPE_INFORMATION_SHUTTER_END_BOTTOM" name="Shutter reached bottom end" description="Shutter reached bottom end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="65" token="VSCP_TYPE_INFORMATION_SHUTTER_END_MIDDLE" name="Shutter reached middle end" description="Shutter reached middle end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="66" token="VSCP_TYPE_INFORMATION_SHUTTER_END_PRESET" name="Shutter reached preset end" description="Shutter reached preset end.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="67" token="VSCP_TYPE_INFORMATION_SHUTTER_END_LEFT" name="Shutter reached preset left" description="Shutter reached preset left.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="68" token="VSCP_TYPE_INFORMATION_SHUTTER_END_RIGHT" name="Shutter reached preset right" description="Shutter reached preset right.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="69" token="VSCP_TYPE_INFORMATION_LONG_CLICK" name="Long click" description="Long click detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating long click. Set to zero if not used.   | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="70" token="VSCP_TYPE_INFORMATION_SINGLE_CLICK" name="Single click" description="Single click detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating single click. Set to zero if not used. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="71" token="VSCP_TYPE_INFORMATION_DOUBLE_CLICK" name="Double click" description="Double click detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating double click. Set to zero if not used. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="72" token="VSCP_TYPE_INFORMATION_DATE" name="Date" description="A device generated a date event. Time is UTC. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating date. Set to zero if not used.         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | year century                                                       | \n | 4         | year                                                               | \n | 5         | month (1-12)                                                       | \n | 6         | day (1-31)                                                         | \n\nSee also [CLASS1.INFORMATION, Type=77](./class1.information.md#type77) which combines date and time in one event.\n" />
<type id="73" token="VSCP_TYPE_INFORMATION_TIME" name="Time" description="A device generated a time event. Time is UTC. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating time. Set to zero if not used.         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Hour (0-23)                                                        | \n | 4         | minutes (0-59)                                                     | \n | 5         | seconds (0-60)                                                     | \n | 6         | milliseconds MSB (0-999)                                           | \n | 7         | milliseconds LSB (0-999)                                           | \n\nSee also [CLASS1.INFORMATION, Type=77](./class1.information.md#type77) which combines date and time in one event.\n" />
<type id="74" token="VSCP_TYPE_INFORMATION_WEEKDAY" name="Weekday" description="A device generated a weekday event.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device generating weekday info. Set to zero if not used. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Weekday ( 0 (Monday) - 6 (Sunday))                                 | \n" />
<type id="75" token="VSCP_TYPE_INFORMATION_LOCK" name="Lock" description="A device got locked.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="76" token="VSCP_TYPE_INFORMATION_UNLOCK" name="Unlock" description="A device got unlocked.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="77" token="VSCP_TYPE_INFORMATION_DATETIME" name="DateTime" description="A device generated a date/time event. Time is UTC. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3 - 7     | Date/time in  five byte bit array.                                 | \n\n**Bitfields** \n\n | Year  | Month | Day   | Hour  | Minute | Second | \n | :----:  | :-----: | :---:   | :----:  | :------: | :------: | \n | 26-37 | 22-25 | 17-21 | 12-16 | 6-11   | 0-5    | \n\nBit 39 is bit 7 of data byte 4. Bit 0 is bit 0 of data byte 7.\n\nBit 39 and bit 38 is reserved.\n\n** Valid values**\n\n | Item    | Value range | \n | :----:    | :-----------: | \n | Year    | 0-4095      | \n | Month   | 1-12        | \n | Day     | 1-31        | \n | Hour    | 0-23        | \n | Minute  | 0-59        | \n | Seconds | 0-59        | \n" />
<type id="78" token="VSCP_TYPE_INFORMATION_RISING" name="Rising" description="A rising (edge) is detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="79" token="VSCP_TYPE_INFORMATION_FALLING" name="Falling" description="A falling (edge) is detected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="80" token="VSCP_TYPE_INFORMATION_UPDATED" name="Updated" description="Something has been updated.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="81" token="VSCP_TYPE_INFORMATION_CONNECT" name="Connect" description="Something has been connected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="82" token="VSCP_TYPE_INFORMATION_DISCONNECT" name="Disconnect" description="Something has been disconnected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="83" token="VSCP_TYPE_INFORMATION_RECONNECT" name="Reconnect" description="Something has been reconnected.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for device. Set to zero if not used.                         | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="84" token="VSCP_TYPE_INFORMATION_ENTER" name="Enter" description="Enter, something has been entered.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index for device. Set to zero if not used. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="85" token="VSCP_TYPE_INFORMATION_EXIT" name="Exit" description="Exit, something has been exited.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0 | Index for device. Set to zero if not used.| \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="86" token="VSCP_TYPE_INFORMATION_INCREMENTED" name="Incremented" description="This is meant to be used as a confirmation event for CLASS1.CONTROL, Type=52 events.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Incremented value. The range can be adjusted by the user by sending just the needed number of bytes 1-5. | \n" />
<type id="87" token="VSCP_TYPE_INFORMATION_DECREMENTED" name="Decremented" description="This is meant to be used as a confirmation event for CLASS1.CONTROL, Type=53 events.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Decremented value. The range can be adjusted by the user by sending just the needed number of bytes 1-5. | \n" />
<type id="88" token="VSCP_TYPE_INFORMATION_PROXIMITY_DETECTED" name="Proximity detected" description="Proximity detected.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0 | Optional byte that have a meaning given by the issuer of the event. | \n | 1 | Zone for which event applies to (0-255). 255 is all zones. | \n | 2 | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3, 4 | Optional uint16 that sets proximity level if present. | \n \n" />
</class>
<class id="542" name="Class2 Level I Control" token="CLASS2.LEVEL1.CONTROL" description="## Description\n\nThis class mirrors the [CLASS1.CONTROL](./class1.control.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_CONTROL_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_CONTROL_MUTE" name="Mute on/off" description="Mute/Un-mute all sound generating nodes in a zone \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | If equal to zero no mute else mute.                                | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="2" token="VSCP_TYPE_CONTROL_ALL_LAMPS" name="(All) Lamp(s) on/off" description="Turn on/off lamps on nodes in zone.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | If equal to zero off else on.                                      | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nSee also [CLASS1.CONTROL, Type=40](./class1.control.md#type40) and [CLASS1.CONTROL, Type=42](./class1.control.md#type41) which don&amp;apos;t use byte 0 but instead are separated in two distinct events.\n" />
<type id="3" token="VSCP_TYPE_CONTROL_OPEN" name="Open" description="Perform open on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="4" token="VSCP_TYPE_CONTROL_CLOSE" name="Close" description="Perform close on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="5" token="VSCP_TYPE_CONTROL_TURNON" name="TurnOn" description="Turn On a nodes in a zone/subzone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="6" token="VSCP_TYPE_CONTROL_TURNOFF" name="TurnOff" description="Turn Off a nodes in a zone/subzone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="7" token="VSCP_TYPE_CONTROL_START" name="Start" description="Start all nodes in a zone.\n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n" />
<type id="8" token="VSCP_TYPE_CONTROL_STOP" name="Stop" description="Stop all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="9" token="VSCP_TYPE_CONTROL_RESET" name="Reset" description="Perform Reset on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="10" token="VSCP_TYPE_CONTROL_INTERRUPT" name="Interrupt" description="Perform Interrupt on all nodes in zone. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Interrupt level. (0 – 255 , zero is lowest interrupt level. ).   | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="11" token="VSCP_TYPE_CONTROL_SLEEP" name="Sleep" description="Perform Sleep on all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="12" token="VSCP_TYPE_CONTROL_WAKEUP" name="Wakeup" description="Wakeup all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="13" token="VSCP_TYPE_CONTROL_RESUME" name="Resume" description="Resume all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="14" token="VSCP_TYPE_CONTROL_PAUSE" name="Pause" description="Pause all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="15" token="VSCP_TYPE_CONTROL_ACTIVATE" name="Activate" description="Activate all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="16" token="VSCP_TYPE_CONTROL_DEACTIVATE" name="Deactivate" description="Deactivate all nodes in zone. \n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n\n" />
<type id="17" token="VSCP_TYPE_CONTROL_RESERVED17" name="Reserved for future use" description="Reserved. " />
<type id="18" token="VSCP_TYPE_CONTROL_RESERVED18" name="Reserved for future use" description="Reserved. " />
<type id="19" token="VSCP_TYPE_CONTROL_RESERVED19" name="Reserved for future use" description="Reserved." />
<type id="20" token="VSCP_TYPE_CONTROL_DIM_LAMPS" name="Dim lamp(s)" description="Dim all dimmer devices on a segment to a specified dim value. \n\n | Data byte | Description                                                                             | \n | :---------: | -----------                                                                             | \n | 0         | Value (0 – 100) . 0 = off, 100 = full on. 254 dim down one step. 255 dim up one step. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                              | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                      | \n" />
<type id="21" token="VSCP_TYPE_CONTROL_CHANGE_CHANNEL" name="Change Channel" description="This is typical for changing TV channels or for changing AV amp input source etc. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                               | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                               | \n | 0         | A value between 0 and 127 indicates the channel number. A value between 128 to 157 is change down by the specified number of channels. A value between 160 to 191 is change up by the specified number of channels. A value of 255 means that this is an extended change channel event and that the channel number is sent in byte 3 and after if needed. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                        | \n" />
<type id="22" token="VSCP_TYPE_CONTROL_CHANGE_LEVEL" name="Change Level" description="Change an absolute level. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Absolute level.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_CONTROL_RELATIVE_CHANGE_LEVEL" name="Relative Change Level" description="\n Relative Change Level request\n \n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Relative level.                                                    | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_CONTROL_MEASUREMENT_REQUEST" name="Measurement Request" description="Measurement Request\n\n| Data byte | Description                                                                                                                                                           | \n | :---------: | -----------                                                                                                                                                           | \n | 0         | Zero indicates all measurements supported by node should be sent (as separate events). Non-zero indicates a node specific index specifying which measurement to send. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                            | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                    | \n" />
<type id="25" token="VSCP_TYPE_CONTROL_STREAM_DATA" name="Stream Data" description="Request to stream data\n\n | Data byte | Description                                                               | \n | :---------: | -----------                                                               | \n | 0         | Sequence number which is increase by one for each stream data event sent. | \n | 1-7       | Stream data.                                                              | \n\nUse this event for streamed data out from a node. The source is then given by the nickname. If a specific received is needed use Zoned Stream. \n" />
<type id="26" token="VSCP_TYPE_CONTROL_SYNC" name="Sync" description="Synchronize events on a segment. \n\n | Data byte | Description                                                                                                                                  | \n | :---------: | -----------                                                                                                                                  | \n | 0         | Sensor index for a sensor within a module (see [data coding](./data_coding.md). 255 is all sensors. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                   | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                           | \n\nThe sensor index can be used to index units within a module also or used as some other indexing schema. \n" />
<type id="27" token="VSCP_TYPE_CONTROL_ZONED_STREAM_DATA" name="Zoned Stream Data" description="Request streamed data from nodes identified by zone/subzone.\n\n | Data byte | Description                                                               | \n | :---------: | -----------                                                               | \n | 0         | Sequence number which is increase by one for each stream data event sent. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7       | Stream data.                                                              | \n" />
<type id="28" token="VSCP_TYPE_CONTROL_SET_PRESET" name="Set Pre-set" description="Some nodes may have pre-set configurations to choose from. With this event a pre-set can be set for a zone/sub-zone.\n\nA node that receive and act on this event send CLASS1.INFORMATION, \n\nType=48 as a response event. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Code for pre-set to set.                                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_CONTROL_TOGGLE_STATE" name="Toggle state" description="Toggle the state of a node.\n\nNote: This may be a bad design option as it often demands that the state should be known for the node on beforehand.\n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n" />
<type id="30" token="VSCP_TYPE_CONTROL_TIMED_PULSE_ON" name="Timed pulse on" description="With this event it is possible to generate a timed pulse that is on for a specified time.\n\n | Data byte | Description                                                         |\n | :---------: | ----------- |\n | 0         | Optional byte that have a meaning given by the issuer of the event. |\n | 1         | Zone for which event applies to (0-255). 255 is all zones.      |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  |\n | 3         | Control byte.                                                       |\n | 4-7       | Set time as a long with MSB in the first byte.                      |\n\n##### Control Byte\n\nThe control byte have the following bits defined\n\n | Bit | Description                                                          |\n | :---: | -----------                                                          |\n | 0-3 | Time code (see table below)                                          |\n | 4   | Reserved                                                             |\n | 5   | Reserved                                                             |\n | 6   | Send on event ( Class=20 Type = 3 (0x03) On ) when pulse goes on.    |\n | 7   | Send off event ( Class=20 Type = 4 (0x04) Off ) when pulse goes off. |\n\n##### Time code\n\n | Code | Description                     |\n | :----: | -----------                     |\n | 0    | Time specified in microseconds. |\n | 1    | Time specified in milliseconds. |\n | 2    | Time specified in seconds.      |\n | 3    | Time specified in minutes.      |\n | 4    | Time specified in hours.        |\n | 5    | Time specified in days.         |\n" />
<type id="31" token="VSCP_TYPE_CONTROL_TIMED_PULSE_OFF" name="Timed pulse off" description="With this event it is possible to generate a timed pulse that is off for a specified time.\n\n | Data byte | Description                                                         | \n | :---------: | -----------                                                         | \n | 0         | Optional byte that have a meaning given by the issuer of the event. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  | \n | 3         | Control byte.                                                       | \n | 4-7       | Set time as a long with MSB in the first byte.                      | \n\n##### Control Byte\n\nThe control byte have the following bits defined\n\n | Bit | Description                                                          | \n | :---: | -----------                                                          | \n | 0-3 | Time code (see table below)                                          | \n | 4   | Reserved                                                             | \n | 5   | Reserved                                                             | \n | 6   | Send on event ( Class=20 Type = 3 (0x03) On ) when pulse goes on.    | \n | 7   | Send off event ( Class=20 Type = 4 (0x04) Off ) when pulse goes off. | \n\n##### Time code\n\n | Code | Description                     | \n | :----: | -----------                     | \n | 0    | Time specified in microseconds. | \n | 1    | Time specified in milliseconds. | \n | 2    | Time specified in seconds.      | \n | 3    | Time specified in minutes.      | \n | 4    | Time specified in hours.        | \n | 5    | Time specified in days.         | \n\n" />
<type id="32" token="VSCP_TYPE_CONTROL_SET_COUNTRY_LANGUAGE" name="Set country/language" description="Set country and language.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Country/Language code.                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3-7       | Country/Language code specific                                     | \n\n | Language code | Description          | Example                                           | \n | :---------: | -----------          | -------                                           | \n | 0             | Custom coded system  | Byte 3 = 0 English, Byte 3 = 1 German or similar. | \n | 1             | ISO 639-1            | nl for Dutch, en for English.                     | \n | 2             | ISO 639-2/T          | nid for Dutch, eng for English.                   | \n | 3             | ISO 639-2/B          | dut for Dutch, eng for English.                   | \n | 4             | ISO 639-3            | nid for Dutch, eng for English.                   | \n | 5             | IETF (RFC-5646/4647) | en-US for American English. en-GB British.        | \n\n\nISO codes can be found [here](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)\n" />
<type id="33" token="VSCP_TYPE_CONTROL_BIG_CHANGE_LEVEL" name="Big Change level" description="Big Change level can be used in situations when the one byte level of CLASS1.CONTROL, Type=22 is not enough.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Index        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Level as signed integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the signed integer (MSB first). | \n" />
<type id="34" token="VSCP_TYPE_CONTROL_SHUTTER_UP" name="Move shutter up" description="Move shutter up.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_CONTROL_SHUTTER_DOWN" name="Move shutter down" description="Move shutter down.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_CONTROL_SHUTTER_LEFT" name="Move shutter left" description="Move shutter left.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="37" token="VSCP_TYPE_CONTROL_SHUTTER_RIGHT" name="Move shutter right" description="Move shutter right.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="38" token="VSCP_TYPE_CONTROL_SHUTTER_MIDDLE" name="Move shutter to middle position" description="Move shutter to middle position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="39" token="VSCP_TYPE_CONTROL_SHUTTER_PRESET" name="Move shutter to preset position" description="Move shutter to preset position.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index.                                                             | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3         | Position 0-100.                                                    | \n" />
<type id="40" token="VSCP_TYPE_CONTROL_ALL_LAMPS_ON" name="(All) Lamp(s) on" description="Turn on all lamps in a zone.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nSee also [CLASS1.CONTROL, Type=2](./class1.control.md#type2)\n" />
<type id="41" token="VSCP_TYPE_CONTROL_ALL_LAMPS_OFF" name="(All) Lamp(s) off" description="Turn off all lamps in a zone.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\nSee also [CLASS1.CONTROL, Type=2](./class1.control.md#type2)\n" />
<type id="42" token="VSCP_TYPE_CONTROL_LOCK" name="Lock" description="Lock devices in a zone.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n" />
<type id="43" token="VSCP_TYPE_CONTROL_UNLOCK" name="Unlock" description="Unlock devices in a zone.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                        |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n" />
<type id="44" token="VSCP_TYPE_CONTROL_PWM" name="PWM set" description="With this event it is possible to set duty cycle output such as PWM.\n\n | Data byte | Description   |\n | :---------: | ----------- |\n | 0         | Repeat/counter: 0=repeat forever, &gt;0 number of repeats |\n | 1         | Zone for which event applies to (0-255). 255 is all zones.      |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.  |\n | 3         | Control byte.  |\n | 4         | Time-On MSB |\n | 5         | Time-On LSB |\n | 6         | Time-Off MSB |\n | 7         | Time-Off LSB |\n\n##### Control Byte\n\nThe control byte have the following bits defined\n\n | Bit | Description |\n | :---: | ----------- |\n | 0-3 | Time code (see table below) |\n | 4   | Reserved  |\n | 5   | Reserved  |\n | 6   | Reserved  |\n | 7   | Reserved  |\n\n##### Time code\n\n | Code | Description                     |\n | :----: | -----------                   |\n | 0    | Time specified in microseconds. |\n | 1    | Time specified in milliseconds. |\n | 2    | Time specified in seconds.      |\n | 3    | Time specified in minutes.      |\n | 4    | Time specified in hours.        |\n | 5    | Time specified in days.         |\n" />
<type id="45" token="VSCP_TYPE_CONTROL_TOKEN_LOCK" name="Lock with token" description="Lock devices with token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="46" token="VSCP_TYPE_CONTROL_TOKEN_UNLOCK" name="Unlock with token" description="Unlock devices with token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="47" token="VSCP_TYPE_CONTROL_SET_SECURITY_LEVEL" name="Set security level" description="Set security level.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         | Security level to set. 0-255 (Higher value is higher security level).  |\n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n \n" />
<type id="48" token="VSCP_TYPE_CONTROL_SET_SECURITY_PIN" name="Set security pin" description="Set security pin.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Security pin. This pin can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="49" token="VSCP_TYPE_CONTROL_SET_SECURITY_PASSWORD" name="Set security password" description="Set security password.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Security password. This password can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an UTF-8 string with a length set bt event data length - 3 |\n \n" />
<type id="50" token="VSCP_TYPE_CONTROL_SET_SECURITY_TOKEN" name="Set security token" description="Set security token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3-7 | Token. This token can be 1-5 bytes and length of event is set accordingly. It should be interpreted as an unsigned integer in the range 0-1099511627775. MSB byte is stored in first byte. |\n \n" />
<type id="51" token="VSCP_TYPE_CONTROL_REQUEST_SECURITY_TOKEN" name="Request new security token" description="Request new security token.\n\n | Data byte | Description                                                        |\n | :---------: | -----------                                                      |\n | 0         |\tOptional byte that have a meaning given by the issuer of the event.| \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n \n \n" />
<type id="52" token="VSCP_TYPE_CONTROL_INCREMENT" name="Increment" description="Increment value.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Increment as unsigned integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the unsigned integer (MSB first). If omitted (or 0) 1 is assumed as default increment value. | \n" />
<type id="53" token="VSCP_TYPE_CONTROL_DECREMENT" name="Decrement" description="Decrement value.\n\n | Data byte | Description  | \n | :---------: | -----------   | \n | 0         | Optional byte that have a meaning given by the issuer of the event.        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3-7       | Decrement as unsigned integer. The range can be adjusted by the user by sending just the needed number of bytes (1-5) which form the unsigned integer (MSB first). If omitted (or 0) 1 is assumed as default decrement value. | \n" />
</class>
<class id="552" name="Class2 Level I Multimedia" token="CLASS2.LEVEL1.MULTIMEDIA" description="## Description\n\nThis class mirrors the [CLASS1.MULTIMEDIA](./class1.multimedia.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_MULTIMEDIA_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_MULTIMEDIA_PLAYBACK" name="Playback" description="This is for controlling playback functionality \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Function (See below)                                               | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Function Codes\n\n | Code | Description         | \n | :----: | -----------         | \n | 0    | Stop                | \n | 1    | Pause               | \n | 2    | Play                | \n | 3    | Forward             | \n | 4    | Rewind              | \n | 5    | Fast Forward        | \n | 6    | Fast Rewind         | \n | 7    | Next Track          | \n | 30   | Previous Track      | \n | 31   | Toggle repeat mode  | \n | 32   | Repeat mode ON      | \n | 33   | Repeat mode OFF     | \n | 34   | Toggle Shuffle mode | \n | 35   | Shuffle ON          | \n | 36   | Shuffle mode OFF    | \n | 37   | Fade in, Play       | \n | 38   | Fade out, Stop      | \n\nAppropriate **CLASS1.INFORMATION** events should be sent from the controlled device as response to this event. \n" />
<type id="2" token="VSCP_TYPE_MULTIMEDIA_NAVIGATOR_KEY_ENG" name="NavigatorKey English" description="This is typically for navigation functions or DVD controls \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Function                                                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Function Codes\n\n | Code    | Description                                                                            | \n | :----:    | -----------                                                                            | \n | 0..9    | 0..9 keys                                                                              | \n | 10      | 10+ key                                                                                | \n | 20      | OK                                                                                     | \n | 21      | Left                                                                                   | \n | 22      | Right                                                                                  | \n | 23      | Up                                                                                     | \n | 24      | Down                                                                                   | \n | 25      | Menu                                                                                   | \n | 26      | Selecting                                                                              | \n | 65—90 | A..Z Keys                                                                              | \n | 97..122 | a-z keys (can&amp;apos;t use ASCII hex as numbers are too large so this is the next best thing) | \n" />
<type id="3" token="VSCP_TYPE_MULTIMEDIA_ADJUST_CONTRAST" name="Adjust Contrast" description="This is typically for adjusting the contrast level of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific contrast level to set. A value between 128 and 159 is change down by the specified number of contrast levels. A value between 160 and 191 is change up by the specified number of contrast levels. A value of 255 means that this is and extended event and that the specific contrast level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                         | \n" />
<type id="4" token="VSCP_TYPE_MULTIMEDIA_ADJUST_FOCUS" name="Adjust Focus" description="This is typically for adjusting the focus settings of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                    | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                    | \n | 0         | A value between 0 and 127 indicates the specific focus level to set. A value between 128 and 159 is change down by the specified number of focus levels. A value between 160 and 191 is change up by the specified number of focus levels. A value of 255 means that this is and extended event and that the specific focus level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                     | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                             | \n" />
<type id="5" token="VSCP_TYPE_MULTIMEDIA_ADJUST_TINT" name="Adjust Tint" description="This is typically for adjusting the tint settings of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific tint level to set. A value between 128 and 159 is change down by the specified number of tint levels. A value between 160 and 191 is change up by the specified number of tint levels. A value of 255 means that this is and extended event and that the specific tint level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                         | \n" />
<type id="6" token="VSCP_TYPE_MULTIMEDIA_ADJUST_COLOUR_BALANCE" name="Adjust Color Balance" description="This is typically for adjusting the color balance settings of a display device. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_MULTIMEDIA_ADJUST_BRIGHTNESS" name="Adjust Brightness" description="This is typically for adjusting the tint settings of a display device \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific brightness level to set. A value between 128 and 159 is change down by the specified number of brightness levels. A value between 160 and 191 is change up by the specified number of brightness levels. A value of 255 means that this is and extended event and that the specific brightness level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                 | \n" />
<type id="8" token="VSCP_TYPE_MULTIMEDIA_ADJUST_HUE" name="Adjust Hue" description="This is typically for adjusting the hue settings of a display device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | A value between 0 and 127 indicates the specific hue level to set. A value between 128 and 159 is change down by the specified number of hue levels. A value between 160 and 191 is change up by the specified number of hue levels. A value of 255 means that this is and extended event and that the specific hue level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_MULTIMEDIA_ADJUST_BASS" name="Adjust Bass" description="This is typically for adjusting the bass level settings of a sound device. Depending on the implementation, this could automatically adjust the treble level. To adjust left and right bass levels, a node would have to use separate zones or sub-zones for left and right. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific bass level to set. A value between 128 and 159 is change down by the specified number of bass levels. A value between 160 and 191 is change up by the specified number of bass levels. A value of 255 means that this is and extended event and that the specific bass level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                         | \n" />
<type id="10" token="VSCP_TYPE_MULTIMEDIA_ADJUST_TREBLE" name="Adjust Treble" description="This is typically for adjusting the treble level settings of a sound device. Depending on the implementation, this could automatically adjust the bass level. To adjust left and right treble levels, a node would have to use separate zones or sub-zones for left and right. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                          | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                          | \n | 0         | 0 A value between 0 and 127 indicates the specific treble level to set. A value between 128 and 159 is change down by the specified number of treble levels. A value between 160 and 191 is change up by the specified number of treble levels. A value of 255 means that this is and extended event and that the specific treble level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                   | \n" />
<type id="11" token="VSCP_TYPE_MULTIMEDIA_ADJUST_MASTER_VOLUME" name="Adjust Master Volume" description="This is typically for adjusting the master volume level. This could be used for adjusting the level for all speakers. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="12" token="VSCP_TYPE_MULTIMEDIA_ADJUST_FRONT_VOLUME" name="Adjust Front Volume" description="This is typically for adjusting the front speaker volume level. This usually means the two front speakers as opposed to the single center speaker. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="13" token="VSCP_TYPE_MULTIMEDIA_ADJUST_CENTRE_VOLUME" name="Adjust Center Volume" description="This is typically for adjusting the front speaker volume level. This usually means the single center speaker as opposed to the two front speakers. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="14" token="VSCP_TYPE_MULTIMEDIA_ADJUST_REAR_VOLUME" name="Adjust Rear Volume" description="This is typically for adjusting the rear speaker volume level. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="15" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SIDE_VOLUME" name="Adjust Side Volume" description="This is typically for adjusting the side speaker volume level. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the specific volume level to set. A value between 128 and 159 is change down by the specified number of volume levels. A value between 160 and 191 is change up by the specified number of volume levels. A value of 255 means that this is and extended event and that the specific volume level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="16" token="VSCP_TYPE_MULTIMEDIA_RESERVED16" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="17" token="VSCP_TYPE_MULTIMEDIA_RESERVED17" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="18" token="VSCP_TYPE_MULTIMEDIA_RESERVED18" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="19" token="VSCP_TYPE_MULTIMEDIA_RESERVED19" name="Reserved" description="These are reserved for other future speaker combinations" />
<type id="20" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_DISK" name="Select Disk" description="This is typically for selecting a disk for playback \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                 | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                 | \n | 0         | A value between 0 and 127 indicates the specific disk number. A value between 128 and 159 is change down by the specified number of disks. A value between 160 and 191 is change up by the specified number of disks. A value of 200 means select a random disk. A value of 255 means that this is and extended event and that the disk number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                  | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                          | \n" />
<type id="21" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_TRACK" name="Select Track" description="This is typically for selecting a track for playback \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                             | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                             | \n | 0         | A value between 0 and 127 indicates the track number. A value between 128 and 159 is change down by the specified number of tracks. A value between 160 and 191 is change up by the specified number of tracks. A value of 200 means select a random track. A value of 255 means that this is and extended event and that the track number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                              | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                      | \n" />
<type id="22" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_ALBUM" name="Select Album/Play list" description="This is typically for selecting an album or play-list for playback \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                                  | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                                  | \n | 0         | A value between 0 and 127 indicates the album/play-list number. A value between 128 and 159 is change down by the specified number of albums/play-lists. A value between 160 and 191 is change up by the specified number of albums. A value of 200 means select a random album. A value of 255 means that this is and extended event and that the album number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                                   | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                           | \n" />
<type id="23" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_CHANNEL" name="Select Channel" description="This is typically for selecting a TV Channel \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                       | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                       | \n | 0         | A value between 0 and 127 indicates the channel number. A value between 128 and 159 is change down by the specified number of channels. A value between 160 and 191 is change up by the specified number of channels. A value of 200 means select a random channel. A value of 255 means that this is and extended event and that the channel number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                | \n" />
<type id="24" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_PAGE" name="Select Page" description="This is typically for selecting a page of a film \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                        | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                        | \n | 0         | A value between 0 and 127 indicates the page number. A value between 128 and 159 is change down by the specified number of pages. A value between 160 and 191 is change up by the specified number of pages. A value of 200 means select a random page. A value of 255 means that this is and extended event and that the page number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                 | \n" />
<type id="25" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_CHAPTER" name="Select Chapter" description="This is typically for selecting a chapter of a film \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                       | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                       | \n | 0         | A value between 0 and 127 indicates the chapter number. A value between 128 and 159 is change down by the specified number of chapters. A value between 160 and 191 is change up by the specified number of chapters. A value of 200 means select a random chapter. A value of 255 means that this is and extended event and that the chapter number is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                                | \n" />
<type id="26" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_SCREEN_FORMAT" name="Select Screen Format" description="This is for controlling screen format of a display device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | 0 = Auto, 1 = Just, 2 = Norma,l 3 = Zoom.                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_INPUT_SOURCE" name="Select Input Source" description="This is for controlling the input source of a playback device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Device code                                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Device Code\n\n | Code | Description                        | \n | :----: | -----------                        | \n | 0    | Auto                               | \n | 1    | CD                                 | \n | 2    | AUX                                | \n | 3    | DVD                                | \n | 4    | SAT                                | \n | 5    | VCR                                | \n | 6    | Tape                               | \n | 7    | Phone                              | \n | 8    | Tuner                              | \n | 9    | FM                                 | \n | 10   | AM                                 | \n | 11   | Radio (9 – 10 are more specific) | \n | 16   | Component                          | \n | 17   | VGA                                | \n | 18   | SVideo                             | \n | 19   | Video1                             | \n | 20   | Video2                             | \n | 21   | Video3                             | \n | 22   | Sat1                               | \n | 23   | Sat2                               | \n | 24   | Sat3                               | \n | 25   | mp3 source                         | \n | 26   | mpeg source                        | \n" />
<type id="28" token="VSCP_TYPE_MULTIMEDIA_ADJUST_SELECT_OUTPUT" name="Select Output" description="This is for controlling the output of a playback device \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Output Code                                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### Output Code\n\n | Code | Description | \n | :----: | ----------- | \n | 0    | Auto        | \n | 16   | Component   | \n | 17   | VGA         | \n | 18   | SVideo      | \n | 19   | Video1      | \n | 20   | Video2      | \n | 21   | Video3      | \n | 30   | HDMI1       | \n | 32   | HDMI2       | \n | 32   | HDMI3       | \n" />
<type id="29" token="VSCP_TYPE_MULTIMEDIA_RECORD" name="Record" description="Control a recording device. \n\n | Data byte | Description                                                            | \n | :---------: | -----------                                                            | \n | 0         | 0 - Start to record, 1 - Stop record, 2 - Disable, AGC 3 - Enable AGC. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.             | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.     | \n" />
<type id="30" token="VSCP_TYPE_MULTIMEDIA_SET_RECORDING_VOLUME" name="Set Recording Volume" description="Control a recording device. \n\n | Data byte | Description                                                                                                                                                                                                                                                                                                                                                                | \n | :---------: | -----------                                                                                                                                                                                                                                                                                                                                                                | \n | 0         | A value between 0 and 127 indicates the specific contrast level to set. A value between 128 and 159 is change down by the specified number of contrast levels. A value between 160 and 191 is change up by the specified number of contrast levels. A value of 255 means that this is and extended event and that the specific contrast level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                                                                                                                                                                                                 | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                                                                                                                                                                                         | \n" />
<type id="40" token="VSCP_TYPE_MULTIMEDIA_TIVO_FUNCTION" name="Tivo Function" description="This is typically for accessing TIVO functions \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | TIVO Code                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n##### TIVO Code\n\n | Code | Description   | \n | :----: | -----------   | \n | 1    | Box Office    | \n | 2    | Services      | \n | 3    | Program Guide | \n | 4    | Text          | \n | 5    | Info          | \n | 6    | Help          | \n | 7    | Backup        | \n | 20   | Red key       | \n | 21   | Yellow key    | \n | 22   | Green key     | \n | 23   | Blue key      | \n | 24   | White key     | \n | 25   | Black key     | \n" />
<type id="50" token="VSCP_TYPE_MULTIMEDIA_GET_CURRENT_TITLE" name="Get Current Title" description="Get the title for the current active media. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="51" token="VSCP_TYPE_MULTIMEDIA_SET_POSITION" name="Set media position in milliseconds" description="This is for controlling the position in the stream/file of a playback device \n\n | Data byte | Description                                                                                                                                                                                         | \n | :---------: | -----------                                                                                                                                                                                         | \n | 0         | Reserved                                                                                                                                                                                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                                          | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                                  | \n | 3-7       | Position in milliseconds, This is an integer with a size specified by the event size. This 0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF and 0xFFFFFFFFFF is the maximum that can be sent for different sizes. | \n" />
<type id="52" token="VSCP_TYPE_MULTIMEDIA_GET_MEDIA_INFO" name="Get media information" description="Get various media information from a device. \n\n | Data byte | Description                                                                                                                                                                          | \n | :---------: | -----------                                                                                                                                                                          | \n | 0         | Type of media information requested. 1 - Current Title, 1 - Get Folders, 2 - Get Disks, 3 - Get Tracks, 4 - Get Albums/Play list,s 5 - Get Channels, 6 - Get Pages, 7 - Get Chapters | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                                           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                                   | \n\nIf a device does not support the requested type of media information its sends a CLASS1.INFORMATION error event or does not response. \n" />
<type id="53" token="VSCP_TYPE_MULTIMEDIA_REMOVE_ITEM" name="Remove Item from Album" description="Remove an item from an album. \n\n | Data byte | Description                                                                                                                                                       | \n | :---------: | -----------                                                                                                                                                       | \n | 0         | 0-128 - Pos to remove from album/play-list A value of 255 means that this is and extended event and that the specific contrast level is sent in byte 3 and after. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                                                                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                                                                                | \n" />
<type id="54" token="VSCP_TYPE_MULTIMEDIA_REMOVE_ALL_ITEMS" name="Remove all Items from Album" description="Remove all items from an album. \n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Reserved.                                                          | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="55" token="VSCP_TYPE_MULTIMEDIA_SAVE_ALBUM" name="Save Album/Play list" description="Save album/play-list to permanent storage. \n\n | Data byte | Description                                                          | \n | :---------: | -----------                                                          | \n | 0         | 0 - Do not overwrite if it already exists 1 - Overwrite if it exist. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n" />
<type id="60" token="VSCP_TYPE_MULTIMEDIA_CONTROL" name="Multimedia Control" description="Send multimedia information. This can be the title for the current active media. It can be sent as a response to a “Get Title” or similar event or by its own when a new title is playing or other multimedia information has changed.\n\nResponse should be Type=61 \n\n | Data byte | Description                                                          | \n | :---------: | -----------                                                          | \n | 0         | Control codes                                                        | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.           | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.   | \n | 3         | Index. Base 0. Increase by one for every fragment of the title sent. | \n | 4-7       | Data.                                                                | \n\n##### Control Codes\n\n | Code | Description                                | \n | :----: | -----------                                | \n | 0    | Active Title (URL).                        | \n | 1    | Set Title(URL).                            | \n | 2    | Active Folder(URL).                        | \n | 3    | Set Active Folder(URL).                    | \n | 4    | Artist(string).                            | \n | 5    | Year(string).                              | \n | 6    | Genre(string).                             | \n | 7    | Album(string).                             | \n | 8    | Comment(string).                           | \n | 9    | Track(integer).                            | \n | 10   | Picture(url).                              | \n | 11   | Sample rate(integer).                      | \n | 12   | Bit-rate(integer).                         | \n | 13   | Channels(integer).                         | \n | 14   | Media size bytes(integer).                 | \n | 15   | Time(string).                              | \n | 16   | Mpeg version(string).                      | \n | 17   | Mpeg layer(string).                        | \n | 18   | Frequency(integer).                        | \n | 19   | Channel Mode.                              | \n | 20   | CRC(integer).                              | \n | 21   | Copyright(string).                         | \n | 22   | Original(string).                          | \n | 23   | Emphasis.                                  | \n | 24   | Media position in milliseconds(integer).   | \n | 25   | Media-length in milliseconds(integer).     | \n | 26   | Version(string).                           | \n | 27   | Album/Play list(string).                   | \n | 28   | Play file(URL).                            | \n | 29   | Add file to album/play-list(URL).          | \n | 30   | Current Folder (URL).                      | \n | 31   | Folder content(URL).                       | \n | 32   | Set Folder(URL).                           | \n | 33   | Get Folder content(URL).                   | \n | 34   | Get Folder content albums/play-lists(URL). | \n | 35   | Get Folder content filter(string)          | \n | 36   | Disks list(String)                         | \n | 37   | Folders list(String)                       | \n | 38   | Tracks list(String)                        | \n | 39   | Albums/Play list list(String)              | \n | 40   | Channels list(String)                      | \n | 41   | Pages list(String)                         | \n | 42   | Chapters list(String)                      | \n | 43   | New Album/Play list(URL)                   | \n\nThe last fragment is sent with no data.\n\nLists in string form have list items separated with a zero (0x00).\n\nAlbum can be looked upon as a play-list which is a term used for many other multimedia products. \n" />
<type id="61" token="VSCP_TYPE_MULTIMEDIA_CONTROL_RESPONSE" name="Multimedia Control response" description="Response for multimedia control." />
</class>
<class id="562" name="Class2 Level I AOL" token="CLASS2.LEVEL1.AOL" description="## Description\n\nThis class mirrors the [CLASS1.AOL](./class1.aol.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_AOL_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_AOL_UNPLUGGED_POWER" name="System unplugged from power source" description="This node was unplugged from its power source.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="2" token="VSCP_TYPE_AOL_UNPLUGGED_LAN" name="System unplugged from network" description="This node was unplugged from the network.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="3" token="VSCP_TYPE_AOL_CHASSIS_INTRUSION" name="Chassis intrusion" description="This node detected chassis intrusion.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_AOL_PROCESSOR_REMOVAL" name="Processor removal" description="This node detected processor removal.\n\n | Data byte | Description                                                        | \n | --------- | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_AOL_ENVIRONMENT_ERROR" name="System environmental errors" description="This node detected system environmental errors.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_AOL_HIGH_TEMPERATURE" name="High temperature" description="This node detected high temperature.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_AOL_FAN_SPEED" name="Fan speed problem" description="This node detected Fan speed problem.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_AOL_VOLTAGE_FLUCTUATIONS" name="Voltage fluctuations" description="This node detected Voltage fluctuations.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_AOL_OS_ERROR" name="Operating system errors" description="This node detected Operating system errors.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_AOL_POWER_ON_ERROR" name="System power-on error" description="This node detected System power-on errors.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_AOL_SYSTEM_HUNG" name="System is hung" description="This node detected System is hung.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_AOL_COMPONENT_FAILURE" name="Component failure" description="This node detected Component failure.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_AOL_REBOOT_UPON_FAILURE" name="Remote system reboot upon report of a critical failure" description="This node detected Remote system reboot upon report of a critical failure.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_AOL_REPAIR_OPERATING_SYSTEM" name="Repair Operating System" description="This node detected Repair Operating System.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_AOL_UPDATE_BIOS_IMAGE" name="Update BIOS image" description="This node detected Update BIOS image.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_AOL_UPDATE_DIAGNOSTIC_PROCEDURE" name="Update Perform other diagnostic procedures" description="This node detected Update Perform other diagnostic procedures.\n\n | Data byte | Description                                                        | \n | :---------: | -----------                                                        | \n | 0         | Index for record.                                                  | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
</class>
<class id="572" name="Class2 Level I Measurement64" token="CLASS2.LEVEL1.MEASUREMENT64" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT64](./class1.measurement64.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="573" name="Class2 Level I Measurement64" token="CLASS2.LEVEL1.MEASUREMENT64X1" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT64X1](./class1.measurement64.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="574" name="Class2 Level I Measurement64" token="CLASS2.LEVEL1.MEASUREMENT64X2" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT64X2](./class1.measurement64.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="575" name="Class2 Level I Measurement64" token="CLASS2.LEVEL1.MEASUREMENT64X3" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT64X3](./class1.measurement64.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="576" name="Class2 Level I Measurement64" token="CLASS2.LEVEL1.MEASUREMENT64X4" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT64X4](./class1.measurement64.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="577" name="Class2 Level I Measurementzone" token="CLASS2.LEVEL1.MEASUREZONE" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREZONE](./class1.measurezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="578" name="Class2 Level I Measurementzone" token="CLASS2.LEVEL1.MEASUREZONEX1" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREZONEX1](./class1.measurezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="579" name="Class2 Level I Measurementzone" token="CLASS2.LEVEL1.MEASUREZONEX2" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREZONEX2](./class1.measurezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="580" name="Class2 Level I Measurementzone" token="CLASS2.LEVEL1.MEASUREZONEX3" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREZONEX3](./class1.measurezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="581" name="Class2 Level I Measurementzone" token="CLASS2.LEVEL1.MEASUREZONEX4" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREZONEX4](./class1.measurezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="582" name="Class2 Level I Measuremet32" token="CLASS2.LEVEL1.MEASUREMENT32" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT32](./class1.measurement32.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="583" name="Class2 Level I Measuremet32" token="CLASS2.LEVEL1.MEASUREMENT32X1" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT32X1](./class1.measurement32.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="584" name="Class2 Level I Measuremet32" token="CLASS2.LEVEL1.MEASUREMENT32X2" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT32X2](./class1.measurement32.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="585" name="Class2 Level I Measuremet32" token="CLASS2.LEVEL1.MEASUREMENT32X3" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT32X3](./class1.measurement32.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="586" name="Class2 Level I Measuremet32" token="CLASS2.LEVEL1.MEASUREMENT32X4" description="## Description\n\nThis class mirrors the [CLASS1.MEASUREMENT32X4](./class1.measurement32.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="597" name="Class2 Level I SetValueZone" token="CLASS2.LEVEL1.SETVALUEZONE" description="## Description\n\nThis class mirrors the [CLASS1.SETVALUEZONE](./class1.setvaluezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="598" name="Class2 Level I SetValueZone" token="CLASS2.LEVEL1.SETVALUEZONEX1" description="## Description\n\nThis class mirrors the [CLASS1.SETVALUEZONEX1](./class1.setvaluezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX1_GENERAL" name="General event" description="\nThis is a general (custom) event that can be used if no other event is suitable. \n \n " />
</class>
<class id="599" name="Class2 Level I SetValueZone" token="CLASS2.LEVEL1.SETVALUEZONEX2" description="## Description\n\nThis class mirrors the [CLASS1.SETVALUEZONEX2](./class1.setvaluezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX2_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="600" name="Class2 Level I SetValueZone" token="CLASS2.LEVEL1.SETVALUEZONEX3" description="## Description\n\nThis class mirrors the [CLASS1.SETVALUEZONEX3](./class1.setvaluezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX3_GENERAL" name="General event" description="General Event.\n\n\n\n" />
</class>
<class id="601" name="Class2 Level I SetValueZone" token="CLASS2.LEVEL1.SETVALUEZONEX4" description="## Description\n\nThis class mirrors the [CLASS1.SETVALUEZONEX4](./class1.setvaluezone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENTX4_GENERAL" name="General event" description="General Event.\n\n\n" />
</class>
<class id="602" name="Class2 Level I Weather" token="CLASS2.LEVEL1.WEATHER" description="## Description\n\nThis class mirrors the [CLASS1.WEATHER](./class1.weather.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_WEATHER_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_WEATHER_SEASONS_WINTER" name="Season winter" description="The winter season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="2" token="VSCP_TYPE_WEATHER_SEASONS_SPRING" name="Season spring" description="The spring season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="3" token="VSCP_TYPE_WEATHER_SEASONS_SUMMER" name="Season summer" description="The summer season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_WEATHER_SEASONS_AUTUMN" name="Autumn summer" description="The autumn season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_WEATHER_WIND_NONE" name="No wind" description="No wind\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_WEATHER_WIND_LOW" name="Low wind" description="Low wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_WEATHER_WIND_MEDIUM" name="Medium wind" description="Medium wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_WEATHER_WIND_HIGH" name="High wind" description="High wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_WEATHER_WIND_VERY_HIGH" name="Very high wind" description="Very high wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_WEATHER_AIR_FOGGY" name="Air foggy" description="Fogg.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_WEATHER_AIR_FREEZING" name="Air freezing" description="Freezing.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_WEATHER_AIR_VERY_COLD" name="Air Very cold" description="Cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_WEATHER_AIR_COLD" name="Air cold" description="Very cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_WEATHER_AIR_NORMAL" name="Air normal" description="Air normal\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_WEATHER_AIR_HOT" name="Air hot" description="Air hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_WEATHER_AIR_VERY_HOT" name="Air very hot" description="Air very hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="17" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_LOW" name="Pollution low" description="Pollution low\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="18" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_MEDIUM" name="Pollution medium" description="Pollution medium\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="19" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_HIGH" name="Pollution high" description="Pollution high\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="20" token="VSCP_TYPE_WEATHER_AIR_HUMID" name="Air humid" description="Air humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_WEATHER_AIR_DRY" name="Air dry" description="Air dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="22" token="VSCP_TYPE_WEATHER_SOIL_HUMID" name="Soil humid" description="soil humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_WEATHER_SOIL_DRY" name="Soil dry" description="soil dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_WEATHER_RAIN_NONE" name="Rain none" description="Rain none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="25" token="VSCP_TYPE_WEATHER_RAIN_LIGHT" name="Rain light" description="Rain light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="26" token="VSCP_TYPE_WEATHER_RAIN_HEAVY" name="Rain heavy" description="Rain heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_WEATHER_RAIN_VERY_HEAVY" name="Rain very heavy" description="Rain very heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="28" token="VSCP_TYPE_WEATHER_SUN_NONE" name="Sun none" description="Sun none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_WEATHER_SUN_LIGHT" name="Sun light" description="Sun light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="30" token="VSCP_TYPE_WEATHER_SUN_HEAVY" name="Sun heavy" description="Sun heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="31" token="VSCP_TYPE_WEATHER_SNOW_NONE" name="Snow none" description="Snow none.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="32" token="VSCP_TYPE_WEATHER_SNOW_LIGHT" name="Snow light" description="Snow light.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="33" token="VSCP_TYPE_WEATHER_SNOW_HEAVY" name="Snow heavy" description="Snow heavy.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="34" token="VSCP_TYPE_WEATHER_DEW_POINT" name="Dew point" description="Dew point.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_WEATHER_STORM" name="Storm" description="Storm.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_WEATHER_FLOOD" name="Flood" description="Flood.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="37" token="VSCP_TYPE_WEATHER_EARTHQUAKE" name="Earthquake" description="Earthquake\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="38" token="VSCP_TYPE_WEATHER_NUCLEAR_DISASTER" name="Nuclear disaster" description="Nuclera disaster\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="39" token="VSCP_TYPE_WEATHER_FIRE" name="Fire" description="Fire.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="40" token="VSCP_TYPE_WEATHER_LIGHTNING" name="Lightning" description="Lightning.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="41" token="VSCP_TYPE_WEATHER_UV_RADIATION_LOW" name="UV Radiation low" description="Radiation low.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="42" token="VSCP_TYPE_WEATHER_UV_RADIATION_MEDIUM" name="UV Radiation medium" description="Radiation medium.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="43" token="VSCP_TYPE_WEATHER_UV_RADIATION_NORMAL" name="UV Radiation normal" description="Radiation normal.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="44" token="VSCP_TYPE_WEATHER_UV_RADIATION_HIGH" name="UV Radiation high" description="Radiation high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="45" token="VSCP_TYPE_WEATHER_UV_RADIATION_VERY_HIGH" name="UV Radiation very high" description="Radiation very high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="46" token="VSCP_TYPE_WEATHER_WARNING_LEVEL1" name="Warning level 1" description="Warning level 1. This is the lowest varning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="47" token="VSCP_TYPE_WEATHER_WARNING_LEVEL2" name="Warning level 2" description="Warninglevel 2.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="48" token="VSCP_TYPE_WEATHER_WARNING_LEVEL3" name="Warning level 3" description="Warninglevel 3.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="49" token="VSCP_TYPE_WEATHER_WARNING_LEVEL4" name="Warning level 4" description="Warning level 4.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="50" token="VSCP_TYPE_WEATHER_WARNING_LEVEL5" name="Warning level 5" description="Warning level 5. This is the highest warning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="51" token="VSCP_TYPE_WEATHER_ARMAGEDON" name="Armageddon" description="The final warning level not seen by humans.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="52" token="VSCP_TYPE_WEATHER_UV_INDEX" name="UV Index" description="\nUV Index is an international scale for UV intensity which can have the range of 1-15 where 1 is very low radiation and a value over 10 is extremely high radiation.\n\n | Data byte | Description                         |\n | :-------: | ----------------------------------- |\n | 0    | Index.                                                             |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | UV index (0-15)                        |\n" />
</class>
<class id="607" name="Class2 Level I Weather Forecast" token="CLASS2.LEVEL1.WEATHERFORECAST" description="## Description\n\nThis class mirrors the [CLASS1.WEATHER](./class1.weather.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format.\n" >
<type id="0" token="VSCP_TYPE_WEATHER_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_WEATHER_SEASONS_WINTER" name="Season winter" description="The winter season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n\n" />
<type id="2" token="VSCP_TYPE_WEATHER_SEASONS_SPRING" name="Season spring" description="The spring season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="3" token="VSCP_TYPE_WEATHER_SEASONS_SUMMER" name="Season summer" description="The summer season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="4" token="VSCP_TYPE_WEATHER_SEASONS_AUTUMN" name="Autumn summer" description="The autumn season has started.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="5" token="VSCP_TYPE_WEATHER_WIND_NONE" name="No wind" description="No wind\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="6" token="VSCP_TYPE_WEATHER_WIND_LOW" name="Low wind" description="Low wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="7" token="VSCP_TYPE_WEATHER_WIND_MEDIUM" name="Medium wind" description="Medium wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="8" token="VSCP_TYPE_WEATHER_WIND_HIGH" name="High wind" description="High wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="9" token="VSCP_TYPE_WEATHER_WIND_VERY_HIGH" name="Very high wind" description="Very high wind speed conditions.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="10" token="VSCP_TYPE_WEATHER_AIR_FOGGY" name="Air foggy" description="Fogg.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="11" token="VSCP_TYPE_WEATHER_AIR_FREEZING" name="Air freezing" description="Freezing.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="12" token="VSCP_TYPE_WEATHER_AIR_VERY_COLD" name="Air Very cold" description="Cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="13" token="VSCP_TYPE_WEATHER_AIR_COLD" name="Air cold" description="Very cold\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="14" token="VSCP_TYPE_WEATHER_AIR_NORMAL" name="Air normal" description="Air normal\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="15" token="VSCP_TYPE_WEATHER_AIR_HOT" name="Air hot" description="Air hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="16" token="VSCP_TYPE_WEATHER_AIR_VERY_HOT" name="Air very hot" description="Air very hot\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="17" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_LOW" name="Pollution low" description="Pollution low\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="18" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_MEDIUM" name="Pollution medium" description="Pollution medium\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="19" token="VSCP_TYPE_WEATHER_AIR_POLLUTION_HIGH" name="Pollution high" description="Pollution high\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="20" token="VSCP_TYPE_WEATHER_AIR_HUMID" name="Air humid" description="Air humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="21" token="VSCP_TYPE_WEATHER_AIR_DRY" name="Air dry" description="Air dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="22" token="VSCP_TYPE_WEATHER_SOIL_HUMID" name="Soil humid" description="soil humid\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="23" token="VSCP_TYPE_WEATHER_SOIL_DRY" name="Soil dry" description="soil dry\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="24" token="VSCP_TYPE_WEATHER_RAIN_NONE" name="Rain none" description="Rain none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="25" token="VSCP_TYPE_WEATHER_RAIN_LIGHT" name="Rain light" description="Rain light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="26" token="VSCP_TYPE_WEATHER_RAIN_HEAVY" name="Rain heavy" description="Rain heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="27" token="VSCP_TYPE_WEATHER_RAIN_VERY_HEAVY" name="Rain very heavy" description="Rain very heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="28" token="VSCP_TYPE_WEATHER_SUN_NONE" name="Sun none" description="Sun none\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="29" token="VSCP_TYPE_WEATHER_SUN_LIGHT" name="Sun light" description="Sun light\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="30" token="VSCP_TYPE_WEATHER_SUN_HEAVY" name="Sun heavy" description="Sun heavy\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="31" token="VSCP_TYPE_WEATHER_SNOW_NONE" name="Snow none" description="Snow none.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="32" token="VSCP_TYPE_WEATHER_SNOW_LIGHT" name="Snow light" description="Snow light.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="33" token="VSCP_TYPE_WEATHER_SNOW_HEAVY" name="Snow heavy" description="Snow heavy.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="34" token="VSCP_TYPE_WEATHER_DEW_POINT" name="Dew point" description="Dew point.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="35" token="VSCP_TYPE_WEATHER_STORM" name="Storm" description="Storm.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="36" token="VSCP_TYPE_WEATHER_FLOOD" name="Flood" description="Flood.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="37" token="VSCP_TYPE_WEATHER_EARTHQUAKE" name="Earthquake" description="Earthquake\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="38" token="VSCP_TYPE_WEATHER_NUCLEAR_DISASTER" name="Nuclear disaster" description="Nuclera disaster\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="39" token="VSCP_TYPE_WEATHER_FIRE" name="Fire" description="Fire.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="40" token="VSCP_TYPE_WEATHER_LIGHTNING" name="Lightning" description="Lightning.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="41" token="VSCP_TYPE_WEATHER_UV_RADIATION_LOW" name="UV Radiation low" description="Radiation low.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="42" token="VSCP_TYPE_WEATHER_UV_RADIATION_MEDIUM" name="UV Radiation medium" description="Radiation medium.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="43" token="VSCP_TYPE_WEATHER_UV_RADIATION_NORMAL" name="UV Radiation normal" description="Radiation normal.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="44" token="VSCP_TYPE_WEATHER_UV_RADIATION_HIGH" name="UV Radiation high" description="Radiation high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="45" token="VSCP_TYPE_WEATHER_UV_RADIATION_VERY_HIGH" name="UV Radiation very high" description="Radiation very high.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="46" token="VSCP_TYPE_WEATHER_WARNING_LEVEL1" name="Warning level 1" description="Warning level 1. This is the lowest varning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="47" token="VSCP_TYPE_WEATHER_WARNING_LEVEL2" name="Warning level 2" description="Warninglevel 2.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n " />
<type id="48" token="VSCP_TYPE_WEATHER_WARNING_LEVEL3" name="Warning level 3" description="Warninglevel 3.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="49" token="VSCP_TYPE_WEATHER_WARNING_LEVEL4" name="Warning level 4" description="Warning level 4.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="50" token="VSCP_TYPE_WEATHER_WARNING_LEVEL5" name="Warning level 5" description="Warning level 5. This is the highest warning level.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="51" token="VSCP_TYPE_WEATHER_ARMAGEDON" name="Armageddon" description="The final warning level not seen by humans.\n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="52" token="VSCP_TYPE_WEATHER_UV_INDEX" name="UV Index" description="\nUV Index is an international scale for UV intensity which can have the range of 1-15 where 1 is very low radiation and a value over 10 is extremely high radiation.\n\n | Data byte | Description                         |\n | :-------: | ----------------------------------- |\n | 0    | Index.                                                             |\n | 1    | Zone for which event applies to (0-255). 255 is all zones.         |\n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. |\n | 3    | UV index (0-15)                        |\n" />
</class>
<class id="612" name="Class2 Level I Phone" token="CLASS2.LEVEL1.PHONE" description="## Description\n\nThis class mirrors the [CLASS1.PHONE](./class1.phone.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_PHONE_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_PHONE_INCOMING_CALL" name="Incoming call" description="There is an incoming phone call. Usually a caller ID node just sends out numerical information. A database event can follow (later) that contains the real text information.\n\nPhone calls are reported in the following form\n\n    from,to\n\nwhere from is the originating number and to is the receiving phone. Numbers is preferable presented in an international form. So a call from England to a Swedish phone should take the following form\n\n    44-123-1122334,46-657-413430\n\nwhich is sent in tree frames. Some device can&amp;apos;t separate country and area-code and therefore the form\n\n    441231122334,46657413430\n\nwill also be valid.\n\na database connected application can later resolve this and present\n\n    A customer,Eurosource\n\nThis is the type=8 event, database info, (see below). Note that the comma cant be used in the descriptive names.\n\nCalls from unlisted numbers are presented as\n\n    ,to \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Id for the call. This is an incremental identity number for each call. | \n | 1    | Index of phone event (base = 0). Each call can be broken up into fragments. This is the fragment number. | \n | 2    | Total number of events (fragments) for this call information. | \n | 3-7  | Caller information. Number or real text information. | \n" />
<type id="2" token="VSCP_TYPE_PHONE_OUTGOING_CALL" name="Outgoing call" description="There is an outgoing phone call. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | Id for the call. This is an incremental ID number for each call. |\n | 1    | Index of phone event (base = 0). Each call can be broken up into fragments. This is the fragment number. | \n | 2    | Total number of events (fragments) for this call information. | \n | 3-7  | Caller information. Number or real text information. | \n" />
<type id="3" token="VSCP_TYPE_PHONE_RING" name="Ring" description="This is a event indicating that there is a “ring” for this call. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | An ID for the call. This can for instance be a number that increases by one for each call. | \n" />
<type id="4" token="VSCP_TYPE_PHONE_ANSWER" name="Answer" description="The call has been answered. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | An ID for the call. This can for instance be a number that increases by one for each call. | \n | 1    | Zone for answer location. | \n | 2    | Sub-zone for answer location. | \n" />
<type id="5" token="VSCP_TYPE_PHONE_HANGUP" name="Hangup" description="The call has been terminated by the receiving end. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0 | An ID for the call. This can for instance be a number that increases by one for each call. | \n \n" />
<type id="6" token="VSCP_TYPE_PHONE_GIVEUP" name="Giveup" description="The call has been terminated by the originating end. byte \n\n| Byte | Description | \n | :----: | ----------- | \n | 0 | An ID for the call. This can for instance be a number that increases by one for each call. | \n\n" />
<type id="7" token="VSCP_TYPE_PHONE_TRANSFER" name="Transfer" description="The call has been transferred. byte \n\n | Byte | Description | \n | :----: | ----------- | \n | 0 | An ID for the call. This can for instance be a number that increases by one for each call. | \n\n" />
<type id="8" token="VSCP_TYPE_PHONE_DATABASE_INFO" name="Database Info" description=" Call database info.\n \n | Byte | Description | \n | :----: | ----------- | \n | 0   | Id for the call. This is a number that is increased by one for each call. In this case the number is the same as for the incoming or outgoing events. | \n | 1   | Index of phone event (base=0). Each call can be broken up into fragments. This is the fragment number. | \n | 2   | Total number of events (fragments) for this call information. | \n | 3-7 | Caller information. Real text information.  | \n" />
</class>
<class id="614" name="Class2 Level I Display" token="CLASS2.LEVEL1.DISPLAY" description="## Description\n\nThis class mirrors the [CLASS1.DISPLAY](./class1.display.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_DISPLAY_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_DISPLAY_CLEAR_DISPLAY" name="Clear Display" description="Clear the display on displays in a certain zone,sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Code - not yet defined.                                            | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n" />
<type id="2" token="VSCP_TYPE_DISPLAY_POSITION_CURSOR" name="Position cursor" description="Move the cursor to a specific position on displays in a certain zone,sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index.                                                             | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | Row to move to (first row is 0).                                   | \n | 4    | Column to move to (first column is 0).                             | \n \n" />
<type id="3" token="VSCP_TYPE_DISPLAY_WRITE_DISPLAY" name="Write Display" description="Write to display(s) in a certain zone,sub-zone. The update of the display is immediate. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7  | Display data.                                                             | \n\nIndex is increased by one for each event that builds up a specific event. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically. \n" />
<type id="4" token="VSCP_TYPE_DISPLAY_WRITE_DISPLAY_BUFFER" name="Write Display buffer" description="Write to the buffers of displays in a certain zone,sub-zone. The update of the display is is not done right away but is instead done when the Show Buffer event is received by the display unit. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7  | Display data.                                                             | \n\nIndex is increased by one for each event that builds up a specific event. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.\n\nMany LCD displays allow definition of special characters. Use this event to define custom matrices buy defining a sub-zone for the user defined matrix(es). \n" />
<type id="5" token="VSCP_TYPE_DISPLAY_SHOW_DISPLAY_BUFFER" name="Show Display Buffer" description="Tells displays in a certain zone,sub-zone to display the content in their display buffers. The update of the display is immediate. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n" />
<type id="6" token="VSCP_TYPE_DISPLAY_SET_DISPLAY_BUFFER_PARAM" name="Set Display Buffer Parameter" description="With this call a display buffer parameter can be sent to a display. This parameter is inserted at the escape position %pn in the string in the buffer *when the buffer is transferred to the display*.\n\nNote that there are no zone and sub-zone defined for this event and the escapes must instead be chosen to be distinct in a system. This means that &amp;p1 will be unique within a system and updating this parameter will update on all displays that has it defined. \n\n | Byte | Description                                | \n | :----: | -----------                                | \n | 0    | Display parameter index.                   | \n | 1    | Data coding byte as of VSCP Specification. | \n | 2-7  | Data as of coding.                         | \n\nNote that the event have one byte less then standard measurement events so all coding types can not be used. \n" />
<type id="32" token="VSCP_TYPE_DISPLAY_SHOW_TEXT" name="Show Text" description="This event contains information that should be displayed on displays pointed out by zone/sub-zone.\n\nThis event can have the same functionality as Write Display or be set on an higher abstraction level. \n\n | Byte | Description                                                               | \n | :----: | -----------                                                               | \n | 0    | Index - Increase by one for each event sent for specific text to display. | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.                | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones.        | \n | 3-7  | event.                                                                    | \n\nIndex is increase by one for each event that builds up a specific event. If needed an empty (no data) can be sent as the last event else sending data to fill the display buffer will give the end automatically.\n\nThe text sent to a node can contain escape characters that themselves display data or other display events. Se the new_york node for examples of this.\n\nFor a multi line display one can use different sub-zones o address different lines. One can also us macro characters to map display events to a line. \n" />
<type id="48" token="VSCP_TYPE_DISPLAY_SHOW_LED" name="Set LED" description="This event contains information that should be displayed on LED(s) pointed out by zone/sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index                                                              | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | 0 =off, 1=on, 2=blink                                              | \n | 4    | Blink period: MSB milliseconds for ON.                             | \n | 5    | Blink period: LSB milliseconds for ON.                             | \n | 6    | Blink period: MSB milliseconds for OFF.                            | \n | 7    | Blink period: LSB milliseconds for OFF.                            | \n\nBlink period can be omitted if not used or if blink period is defined hard. \n" />
<type id="49" token="VSCP_TYPE_DISPLAY_SHOW_LED_COLOR" name="Set RGB Color" description="This event set the color for LED(s) pointed out by zone/sub-zone. \n\n | Byte | Description                                                        | \n | :----: | -----------                                                        | \n | 0    | Index                                                              | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.         | \n | 2    | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3    | Color R to display 0-255.                                          | \n | 4    | Color G to display 0-255.                                          | \n | 5    | Color B to display 0-255.                                          | \n\nIf multi-byte resolution for the colors is needed use index to address the byte where 0 means the MSB byte, 1 MSB+1 byte etc (Big endian).\n" />
</class>
<class id="622" name="Class2 Level I IR" token="CLASS2.LEVEL1.IR" description="## Description\n\nThis class mirrors the [CLASS1.IR](./class1.ir.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_REMOTE_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_REMOTE_RC5" name="RC5 Send/Receive" description="A RC5 remote code. [http://www.xs4all.nl/~sbp/knowledge/ir/sirc.htm ]Use the VSCP abstract remote format if possible.\n\n | Byte | Description          | \n | :----: | -----------          | \n | 0    | RC5 code.            | \n | 1    | RC5 Address.         | \n | 2    | Repeat count if any. | " />
<type id="3" token="VSCP_TYPE_REMOTE_SONY12" name="SONY 12-bit Send/Receive" description="A SONY remote code. [http://www.xs4all.nl/~sbp/knowledge/ir/sirc.htm] Use the VSCP abstract remote format if possible.\n\n | Byte | Description          | \n | :----: | -----------          | \n | 0    | SONY code.           | \n | 1    | SONY address.        | \n | 2    | Repeat count if any. | \n" />
<type id="32" token="VSCP_TYPE_REMOTE_LIRC" name="LIRC (Linux Infrared Remote Control)" description="Packed LIRC codes code. LRC Codes are normally sent as 64-bit codes or even larger codes. Only codes with a length less then 56 bits (7-bytes) are supported by VSCP and the most significant byte of the LIRC code is not transferred. [http://www.lirc.org/](http://www.lirc.org/) \n\n | Byte | Description          | \n | :----: | -----------          | \n | 0    | LIRC Code, MSB.      | \n | 1    | LIRC Code.           | \n | 2    | LIRC Code.           | \n | 3    | LIRC Code.           | \n | 4    | LIRC Code.           | \n | 5    | LIRC Code.           | \n | 6    | LIRC Code. LSB.      | \n | 7    | Repeat count if any. | \n" />
<type id="48" token="VSCP_TYPE_REMOTE_VSCP" name="VSCP Abstract Remote Format" description="Instead of sending codes that relates to a certain remote this format is general. And therefore more flexible \n\n | Byte | Description                                                            | \n | :----: | -----------                                                            | \n | 0    | Code, MSB.                                                             | \n | 1    | Code LSB.                                                              | \n | 2    | Zone for which event applies to (0-255). 255 is all zones.             | \n | 3    | Sub-zone for which the event applies to (0-255). 255 is all sub-zones. | \n | 4    | Repeat count if any.                                                   | \n" />
<type id="49" token="VSCP_TYPE_REMOTE_MAPITO" name="MAPito Remote Format" description="Instead of sending codes that relates to a certain remote this format is general. And therefore more flexible. \n\n | Byte | Description                                                            | \n | :----: | -----------                                                            | \n | 0    | Repeat Count.                                                          | \n | 1    | Zone for which event applies to (0-255). 255 is all zones.             | \n | 2    | Sub-zone for which the event applies to (0-255). 255 is all sub-zones. | \n | 3    | Control address MSB.                                                   | \n | 4    | Control address.                                                       | \n | 5    | Control address.                                                       | \n | 6    | Control address LSB.                                                   | \n | 7    | Key Code.                                                              | \n" />
</class>
<class id="718" name="Class2 Level I GNSS" token="CLASS2.LEVEL1.GNSS" description="## Description\n\nThis class mirrors the [CLASS1.GNSS](./class1.gnss.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_GNSS_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_GNSS_POSITION" name="Position" description="Position information as decimal Latitude + Longitude. \n\n | Byte | Description                        | \n | :----: | -----------                        | \n | 0-3  | Latitude as floating point value.  | \n | 4-7  | Longitude as floating point value. | \n" />
<type id="2" token="VSCP_TYPE_GNSS_SATELLITES" name="Satellites" description="Number of satellites used. \n\n | Byte | Description                | \n | :----: | -----------                | \n | 0    | Number of satellites used. | \n" />
</class>
<class id="724" name="Class2 Level I Wireless" token="CLASS2.LEVEL1.WIRELESS" description="## Description\n\nThis class mirrors the [CLASS1.WIRELESS](./class1.wireless.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_WIRELESS_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_WIRELESS_GSM_CELL" name="GSM Cell" description="Event with ID for the GSM cell. Normally this is a 16-bit value but a 32-bit value is used in VSCP. \n\n | Byte | Description  | \n | :----: | -----------  | \n | 0-3  | GSM Cell ID. | " />
</class>
<class id="1018" name="Class2 Level I Diagnostic" token="CLASS2.LEVEL1.DIAGNOSTIC" description="## Description\n\nThis class mirrors the [CLASS1.DIAGNOSTIC](./class1.diagnostic.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_DIAGNOSTIC_GENERAL" name="General event" description="General Event. \n\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | index. Often used as an index for channels/subdevices within a module. | \n | 1         | Zone for which event applies to (0-255). 255 is all zones. | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones. | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n        " />
<type id="1" token="VSCP_TYPE_DIAGNOSTIC_OVERVOLTAGE" name="Overvoltage" description="Over voltage has been diagnosed. \n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="2" token="VSCP_TYPE_DIAGNOSTIC_UNDERVOLTAGE" name="Undervoltage" description="Under voltage has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="3" token="VSCP_TYPE_DIAGNOSTIC_VBUS_LOW" name="USB VBUS low" description="Low voltage on USB VBUS has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="4" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_LOW" name="Battery voltage low" description="Low battery voltage has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="5" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_FULL" name="Battery full voltage" description="Battery full voltage has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="6" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_ERROR" name="Battery error" description="Battery error has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="7" token="VSCP_TYPE_DIAGNOSTIC_BATTERY_OK" name="Battery OK" description="Functional battery has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="8" token="VSCP_TYPE_DIAGNOSTIC_OVERCURRENT" name="Over current" description="Over current has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="9" token="VSCP_TYPE_DIAGNOSTIC_CIRCUIT_ERROR" name="Circuit error" description="Circuit error has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="10" token="VSCP_TYPE_DIAGNOSTIC_SHORT_CIRCUIT" name="Short circuit" description="Short circuit has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="11" token="VSCP_TYPE_DIAGNOSTIC_OPEN_CIRCUIT" name="Open Circuit" description="Open Circuit has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="12" token="VSCP_TYPE_DIAGNOSTIC_MOIST" name="Moist" description="Moist has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="13" token="VSCP_TYPE_DIAGNOSTIC_WIRE_FAIL" name="Wire failure" description="Wire failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="14" token="VSCP_TYPE_DIAGNOSTIC_WIRELESS_FAIL" name="Wireless faliure" description="Wireless faliure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="15" token="VSCP_TYPE_DIAGNOSTIC_IR_FAIL" name="IR failure" description="IR failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="16" token="VSCP_TYPE_DIAGNOSTIC_1WIRE_FAIL" name="1-wire failure" description="1-wire failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="17" token="VSCP_TYPE_DIAGNOSTIC_RS222_FAIL" name="RS-222 failure" description="RS-222 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="18" token="VSCP_TYPE_DIAGNOSTIC_RS232_FAIL" name="RS-232 failure" description="RS-232 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="19" token="VSCP_TYPE_DIAGNOSTIC_RS423_FAIL" name="RS-423 failure" description="RS-423 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="20" token="VSCP_TYPE_DIAGNOSTIC_RS485_FAIL" name="RS-485 failure" description="RS-485 failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="21" token="VSCP_TYPE_DIAGNOSTIC_CAN_FAIL" name="CAN failure" description="CAN failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="22" token="VSCP_TYPE_DIAGNOSTIC_LAN_FAIL" name="LAN failure" description="LAN failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="23" token="VSCP_TYPE_DIAGNOSTIC_USB_FAIL" name="USB failure" description="USB failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="24" token="VSCP_TYPE_DIAGNOSTIC_WIFI_FAIL" name="Wifi failure" description="Wifi failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="25" token="VSCP_TYPE_DIAGNOSTIC_NFC_RFID_FAIL" name="NFC/RFID failure" description="NFC/RFID failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="26" token="VSCP_TYPE_DIAGNOSTIC_LOW_SIGNAL" name="Low signal" description="Low signal has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="27" token="VSCP_TYPE_DIAGNOSTIC_HIGH_SIGNAL" name="High signal" description="High signal has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="28" token="VSCP_TYPE_DIAGNOSTIC_ADC_FAIL" name="ADC failure" description="ADC failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="29" token="VSCP_TYPE_DIAGNOSTIC_ALU_FAIL" name="ALU failure" description="ALU failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="30" token="VSCP_TYPE_DIAGNOSTIC_ASSERT" name="Assert" description="An assert has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="31" token="VSCP_TYPE_DIAGNOSTIC_DAC_FAIL" name="DAC failure" description="DAC failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="32" token="VSCP_TYPE_DIAGNOSTIC_DMA_FAIL" name="DMA failure" description="DMA failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="33" token="VSCP_TYPE_DIAGNOSTIC_ETH_FAIL" name="Ethernet failure" description="Ethernet failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="34" token="VSCP_TYPE_DIAGNOSTIC_EXCEPTION" name="Exception" description="Exception has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="35" token="VSCP_TYPE_DIAGNOSTIC_FPU_FAIL" name="FPU failure" description="Floating point unit (FPU) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="36" token="VSCP_TYPE_DIAGNOSTIC_GPIO_FAIL" name="GPIO failure" description="General purpose I/O (GPIO) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="37" token="VSCP_TYPE_DIAGNOSTIC_I2C_FAIL" name="I2C failure" description="I2C failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="38" token="VSCP_TYPE_DIAGNOSTIC_I2S_FAIL" name="I2S failure" description="I2C failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="39" token="VSCP_TYPE_DIAGNOSTIC_INVALID_CONFIG" name="Invalid configuration" description="Invalid configuration has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="40" token="VSCP_TYPE_DIAGNOSTIC_MMU_FAIL" name="MMU failure" description="Memory Management Unit (MMU) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="41" token="VSCP_TYPE_DIAGNOSTIC_NMI" name="NMI failure" description="Non mask-able interrupt (NMI) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="42" token="VSCP_TYPE_DIAGNOSTIC_OVERHEAT" name="Overheat" description="Overheat has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="43" token="VSCP_TYPE_DIAGNOSTIC_PLL_FAIL" name="PLL fail" description="Phased Locked Loop (PLL) fail has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="44" token="VSCP_TYPE_DIAGNOSTIC_POR_FAIL" name="POR failure" description="Power ON Reset (POR) fail has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="45" token="VSCP_TYPE_DIAGNOSTIC_PWM_FAIL" name="PWM failure" description="Pulse Width Modulation (PWM) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="46" token="VSCP_TYPE_DIAGNOSTIC_RAM_FAIL" name="RAM failure" description="Random Access Memory (RAM) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="47" token="VSCP_TYPE_DIAGNOSTIC_ROM_FAIL" name="ROM failure" description="Read only memory (ROM) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="48" token="VSCP_TYPE_DIAGNOSTIC_SPI_FAIL" name="SPI failure" description="Serial peripheral interface (SPI) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="49" token="VSCP_TYPE_DIAGNOSTIC_STACK_FAIL" name="Stack failure" description="Stack failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="50" token="VSCP_TYPE_DIAGNOSTIC_LIN_FAIL" name="LIN bus failure" description="LIN bus failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="51" token="VSCP_TYPE_DIAGNOSTIC_UART_FAIL" name="UART failure" description="UART failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="52" token="VSCP_TYPE_DIAGNOSTIC_UNHANDLED_INT" name="Unhandled interrupt" description="Unhandled interrupt has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="53" token="VSCP_TYPE_DIAGNOSTIC_MEMORY_FAIL" name="Memory failure" description="Memory failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="54" token="VSCP_TYPE_DIAGNOSTIC_VARIABLE_RANGE" name="Variable range failure" description="Variable range failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="55" token="VSCP_TYPE_DIAGNOSTIC_WDT" name="WDT failure" description="Watch Dog Timer (WDT) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="56" token="VSCP_TYPE_DIAGNOSTIC_EEPROM_FAIL" name="EEPROM failure" description="EEPROM failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="57" token="VSCP_TYPE_DIAGNOSTIC_ENCRYPTION_FAIL" name="Encryption failure" description="Encryption failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="58" token="VSCP_TYPE_DIAGNOSTIC_BAD_USER_INPUT" name="Bad user input failure" description="Bad user input failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="59" token="VSCP_TYPE_DIAGNOSTIC_DECRYPTION_FAIL" name="Decryption failure" description="Decryption failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="60" token="VSCP_TYPE_DIAGNOSTIC_NOISE" name="Noise" description="Noise has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="61" token="VSCP_TYPE_DIAGNOSTIC_BOOTLOADER_FAIL" name="Boot loader failure" description="Boot loader failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n\n" />
<type id="62" token="VSCP_TYPE_DIAGNOSTIC_PROGRAMFLOW_FAIL" name="Program flow failure" description="Program flow failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="63" token="VSCP_TYPE_DIAGNOSTIC_RTC_FAIL" name="RTC faiure" description="Real Time Clock (RTC) failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="64" token="VSCP_TYPE_DIAGNOSTIC_SYSTEM_TEST_FAIL" name="System test failure" description="System test failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="65" token="VSCP_TYPE_DIAGNOSTIC_SENSOR_FAIL" name="Sensor failure" description="Sensor failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="66" token="VSCP_TYPE_DIAGNOSTIC_SAFESTATE" name="Safe state entered" description="Safe state entered has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="67" token="VSCP_TYPE_DIAGNOSTIC_SIGNAL_IMPLAUSIBLE" name="Signal implausible" description="Signal implausible has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="68" token="VSCP_TYPE_DIAGNOSTIC_STORAGE_FAIL" name="Storage fail" description="Storage fail has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="69" token="VSCP_TYPE_DIAGNOSTIC_SELFTEST_FAIL" name="Self test OK" description="Self test OK has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="70" token="VSCP_TYPE_DIAGNOSTIC_ESD_EMC_EMI" name="ESD/EMC/EMI failure" description="ESD/EMC/EMI failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="71" token="VSCP_TYPE_DIAGNOSTIC_TIMEOUT" name="Timeout" description="Timeout has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="72" token="VSCP_TYPE_DIAGNOSTIC_LCD_FAIL" name="LCD failure" description="LCD failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="73" token="VSCP_TYPE_DIAGNOSTIC_TOUCHPANEL_FAIL" name="Touch panel failure" description="Touch panel failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="74" token="VSCP_TYPE_DIAGNOSTIC_NOLOAD" name="No load" description="No load has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="75" token="VSCP_TYPE_DIAGNOSTIC_COOLING_FAIL" name="Cooling failure" description="Cooling failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="76" token="VSCP_TYPE_DIAGNOSTIC_HEATING_FAIL" name="Heating failure" description="Heating failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="77" token="VSCP_TYPE_DIAGNOSTIC_TX_FAIL" name="Transmission failure" description="Transmission failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="78" token="VSCP_TYPE_DIAGNOSTIC_RX_FAIL" name="Receiption failure" description="Receiption failure has been diagnosed.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="79" token="VSCP_TYPE_DIAGNOSTIC_EXT_IC_FAIL" name="External IC failure" description="A failure in an external IC circuit has been detected.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="80" token="VSCP_TYPE_DIAGNOSTIC_CHARGING_ON" name="Charging of battery or similar has started or is in progress" description="Indicates that charging (of a battery for example) is active.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n " />
<type id="81" token="VSCP_TYPE_DIAGNOSTIC_CHARGING_OFF" name="Charging of battery or similar has ended" description="Indicates that charging (of a battery for example) is inactive.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/subdevices within a module.                            | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n " />
</class>
<class id="1020" name="Class2 Level I Error" token="CLASS2.LEVEL1.ERROR" description="## Description\n\nThis class mirrors the [CLASS1.ERROR](./class1.error.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_ERROR_SUCCESS" name="Success" description="This error message is used to report success, that is no error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="1" token="VSCP_TYPE_ERROR_ERROR" name="Error" description="This error message is used to indicate an error condition.\n\n | Data byte | Description | \n | :---------: | ----------- | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="7" token="VSCP_TYPE_ERROR_CHANNEL" name="Channel error" description="This error message is used to indicate a (communication) channel problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="8" token="VSCP_TYPE_ERROR_FIFO_EMPTY" name="Fifo empty error" description="This error message is used to indicate a fifo empty problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="9" token="VSCP_TYPE_ERROR_FIFO_FULL" name="Fifo full error" description="This error message is used to indicate a fifo full problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="10" token="VSCP_TYPE_ERROR_FIFO_SIZE" name="Fifo size error" description="This error message is used to indicate a fifo size problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="11" token="VSCP_TYPE_ERROR_FIFO_WAIT" name="Fifo wait error" description="This error message is used to indicate a fifo wait problem.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="12" token="VSCP_TYPE_ERROR_GENERIC" name="Generic error" description="This error message is used to indicate a generic error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="13" token="VSCP_TYPE_ERROR_HARDWARE" name="Hardware error" description="This error message is used to indicate a hardware error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="14" token="VSCP_TYPE_ERROR_INIT_FAIL" name="initialization error" description="This error message is used to indicate a initialization error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="15" token="VSCP_TYPE_ERROR_INIT_MISSING" name="Missing initialization error" description="This error message is used to indicate a missing initialization error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="16" token="VSCP_TYPE_ERROR_INIT_READY" name="Initialization ready" description="This error message is used to indicate a initialization ready error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="17" token="VSCP_TYPE_ERROR_NOT_SUPPORTED" name="Not supported" description="This error message is used to indicate a not supported error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="18" token="VSCP_TYPE_ERROR_OVERRUN" name="Overrun error" description="This error message is used to indicate an overrun error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="19" token="VSCP_TYPE_ERROR_RCV_EMPTY" name="Receiver empty error" description="This error message is used to indicate a receiver empty error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="20" token="VSCP_TYPE_ERROR_REGISTER" name="Register error" description="This error message is used to indicate a register error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="21" token="VSCP_TYPE_ERROR_TRM_FULL" name="Transmitter full error" description="This error message is used to indicate a transmitter full error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="28" token="VSCP_TYPE_ERROR_LIBRARY" name="Library error" description="This error message is used to indicate a library error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="29" token="VSCP_TYPE_ERROR_PROCADDRESS" name="Procedural address error" description="This error message is used to indicate a procedural address error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="30" token="VSCP_TYPE_ERROR_ONLY_ONE_INSTANCE" name="Only one instance error" description="This error message is used to indicate an only one instance error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="31" token="VSCP_TYPE_ERROR_SUB_DRIVER" name="Sub driver error" description="This error message is used to indicate a sub driver error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="32" token="VSCP_TYPE_ERROR_TIMEOUT" name="Timeout error" description="This error message is used to indicate a timeout error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="33" token="VSCP_TYPE_ERROR_NOT_OPEN" name="Not open error" description="This error message is used to indicate a not open error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="34" token="VSCP_TYPE_ERROR_PARAMETER" name="Parameter error" description="This error message is used to indicate a parameter error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="35" token="VSCP_TYPE_ERROR_MEMORY" name="Memory error" description="This error message is used to indicate a memory error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="36" token="VSCP_TYPE_ERROR_INTERNAL" name="Internal error" description="This error message is used to indicate a internal error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="37" token="VSCP_TYPE_ERROR_COMMUNICATION" name="Communication error" description="This error message is used to indicate a communication error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="38" token="VSCP_TYPE_ERROR_USER" name="User error" description="This error message is used to indicate a user error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="39" token="VSCP_TYPE_ERROR_PASSWORD" name="Password error" description="This error message is used to indicate a password error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="40" token="VSCP_TYPE_ERROR_CONNECTION" name="Connection error" description="This error message is used to indicate a connection error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="41" token="VSCP_TYPE_ERROR_INVALID_HANDLE" name="Invalid handle error" description="This error message is used to indicate a invalid handle error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="42" token="VSCP_TYPE_ERROR_OPERATION_FAILED" name="Operation failed error" description="This error message is used to indicate an operation failed error.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="43" token="VSCP_TYPE_ERROR_BUFFER_SMALL" name="Supplied buffer is to small to fit content" description="This error message is used to indicate that the supplied buffer is to small to fit content.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="44" token="VSCP_TYPE_ERROR_ITEM_UNKNOWN" name="Requested item is unknown" description="This error message is used to indicate that the requested item (remote variable) is unknown.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="45" token="VSCP_TYPE_ERROR_NAME_USED" name="Name is already in use" description="This error message is used to indicate that the name is already in use.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="46" token="VSCP_TYPE_ERROR_DATA_WRITE" name="Error when writing data" description="This error message is used to indicate an error when writing data.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | \n" />
<type id="47" token="VSCP_TYPE_ERROR_ABORTED" name="Operation stopped or aborted" description="This error message is used to indicate a stopped or an aborted operation.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. |" />
<type id="48" token="VSCP_TYPE_ERROR_INVALID_POINTER" name="Pointer with invalid value" description="This error message is used to indicate a pointer with an invalid value.\n\n | Data byte | Description                                                                                       | \n | :---------: | -----------                                                                                       | \n | 0         | index. Often used as an index for channels/sub devices within a module.                           | \n | 1         | Zone for which event applies to (0-255). 255 is all zones.                                        | \n | 2         | Sub-zone for which event applies to (0-255). 255 is all sub-zones.                                | \n | 3-7       | Can be present or not be present. If present the bytes give additional user specific information. | " />
</class>
<class id="1021" name="Class2 Level I Log" token="CLASS2.LEVEL1.LOG" description="## Description\n\nThis class mirrors the [CLASS1.LOG](./class1.log.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_LOG_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP_TYPE_LOG_MESSAGE" name="Log event" description="Message for Log. Several frames have to be sent for a event that take up more then the five bytes which is the maximum for each frame. In this case the zero based index (byte 2) should be increased for each frame. \n\n | Byte | Description            | \n | :----: | -----------            | \n | 0    | ID for event.          | \n | 1    | Log level for message. | \n | 2    | Idx for this message.  | \n | 3-7 (511)  | Message.         |\n\n A **level II** node can use the full 512 byte message body. \n\n Log levels are typically\n\n | Byte | Description     | \n | :----: | -----------   | \n | 0    | Emergency.      | \n | 1    | Alert.          | \n | 2    | Critical.       | \n | 3    | Error.          | \n | 4    | Warning.        | \n | 5    | Notice.         | \n | 6    | Informational.  | \n | 7    | Debug.          | \n | 7    | Verbose.        | \n\n but one can use any schema that makes sense (or not)." />
<type id="2" token="VSCP_TYPE_LOG_START" name="Log Start" description="Start logging. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | ID for log. | " />
<type id="3" token="VSCP_TYPE_LOG_STOP" name="Log Stop" description="Stop logging. \n\n | Byte | Description | \n | :----: | ----------- | \n | 0    | ID for log. | " />
<type id="4" token="VSCP_TYPE_LOG_LEVEL" name="Log Level" description="Set level for logging. \n\n | Byte | Description                  | \n | :----: | -----------                  | \n | 0    | ID for log byte 0 Log level. | \n" />
</class>
<class id="1022" name="Class2 Level I Laboratory" token="CLASS2.LEVEL1.LABORATORY" description="## Description\n\nThis class mirrors the [CLASS1.LABORATORY](./class1.laboratory.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_LABORATORY_GENERAL" name="General event" description="General Event." />
</class>
<class id="1023" name="Class2 Level I Local" token="CLASS2.LEVEL1.LOCAL" description="## Description\n\nThis class mirrors the [CLASS1.LOCAL](./class1.local.md) class but use a different data format with a GUID stored in the first 16 bytes of the data followed by the standard data thus offset with 16-bytes.\n\nSee [CLASS2.PROTOCOL1](./class2.protocol1.md) for more information on the data format." >
<type id="0" token="VSCP_TYPE_LOCAL_GENERAL" name="General event" description="General Event." />
</class>
<class id="1024" name="Level II Protocol Functionality" token="CLASS2.PROTOCOL" description="## Description\n\nFor Level I events class=0 defines protocol control functionality. All events of this class are repeated at class=512 for use on Level II networks. The only difference is that the GUID is used instead of the Level I nickname.\n\nThis class defines protocol functionality for Level II. To simplify the handling of level II events, the data portion of the VSCP event can be considered as being made up of two parts. An 8-byte code portion (size of long integer) followed by a data portion if required. This is simply done to make processing level II events a little easier. The following events have been added to the level II control events to support configuration management. \n" >
<type id="0" token="VSCP2_TYPE_PROTOCOL_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP2_TYPE_PROTOCOL_READ_REGISTER" name="Read Register" description="Read a Level II register from the 32-bit register space\n\nBe aware that a node may send several read/write response events to fullfil a read request.\n\n | Byte       | Description                                      | \n | ----       | -----------                                      | \n | Byte 0-15  | Contains the GUID of the target node (MSB-&gt;LSB). | \n | Byte 16-19 | Register to read (or start index), (MSB-&gt;LSB).   | \n | Byte 20-21 | Number of registers to read (max 508).           | \n\n\n" />
<type id="2" token="VSCP2_TYPE_PROTOCOL_WRITE_REGISTER" name="Write Register" description=" Write a Level II register to the 32.bit register space\n\n Care should be taken not to write to much data at the same time as there may be nodes\n that can&amp;apos;t handle a full 512 byte frame. Better to seperate srite requests in bunches\n of 100 bytes or so.\n\n Also be aware that a node may send several read/write response events to fullfil a write request.\n \n | Byte       | Description                                      | \n | ----       | -----------                                      | \n | Byte 0-15  | Contains the GUID of the target node (MSB-&gt;LSB). | \n | Byte 16-19 | Register to write (or start index), (MSB-&gt;LSB).  | \n | Byte 20…   | Data to write to register(s) (max 512-16-4 bytes).  | \n\n\n" />
<type id="3" token="VSCP2_TYPE_PROTOCOL_READ_WRITE_RESPONSE" name="Read Write Response" description="This is the response from a read or a write. Note that the data is returned in both cases and can be checked for validity. \n\nThere may be nodes that can not send a full level II frame and therefore will reply with more than one of this\nevent to fullfil the request.\n\n | Byte      | Description                               | \n | ----      | -----------                               | \n | Byte 0-3  | Start register for register read/written. | \n | Byte 4…   | Data read/written.                        | \n \n Data read/written can be a maximum of 512-4 = 508 bytes for read and 512-16-4 = 492 bytes for a write response.\n" />
<type id="20" token="VSCP2_TYPE_PROTOCOL_HIGH_END_SERVER_CAPS" name="High end server/service capabilities" description="Recommended to be implemented by all Level II devices and be sent out at least once every 60 second.\n\n | Data byte | Description                                 |\n | :----: |-----------                                     |\n | 0         | VSCP server 64-bit capability code MSB      |\n | 1         | VSCP server 64-bit capability code          |\n | 2         | VSCP server 64-bit capability code          |\n | 3         | VSCP server 64-bit capability code          |\n | 4         | VSCP server 64-bit capability code          |\n | 5         | VSCP server 64-bit capability code          |\n | 6         | VSCP server 64-bit capability code          |\n | 7         | VSCP server 64-bit capability code LSB      |\n | 8-23      | GUID for server                             |\n | 24-39     | For IPv4 or IPv6 IP address or other transport id identifier (MSB first). Note that this info is often already part of the GUID. |\n | 40-103    | 64 byte max zero terminated utf8 encoded name for this server. Blank if no name set. |\n | 104..     | Non standard port info for services. Not needed if the standard port is used.        |\n\n### Capability code\n\nDescription of bit-usage for VSCP server 64-bit **capability code**. A bit should be set only if the service is active.\n\n | Bit       | Usage                   |\n | :----:       | -----                |\n | 63 | Node supports VSCP remote variables. |\n | 62 | Node have a standard decision matrix. |\n | 61 | Node is a multi interface node (tcp/ip &amp;apos;interface&amp;apos; command list interfaces). |\n | Bit 16-60 | Reserved.               |\n | Bit 15    | Have VSCP TCP server with VCSP link interface.  |\n | Bit 14    | Have VSCP UDP server.   |\n | Bit 13    | Have VSCP Multicast announce interface. |\n | Bit 12    | Have VSCP raw Ethernet. |\n | Bit 11    | Have Web server.        |\n | Bit 10    | Have VSCP Websocket interface . |\n | Bit 9     | Have VSCP REST interface. |\n | Bit 8     | Have VSCP Multicast channel support. |\n | Bit 7     | Reserved.                 |\n | Bit 6     | IP6 support.              |\n | Bit 5     | IP4 support.              |\n | Bit 4     | SSL support.              |\n | Bit 3     | Accepts two or more simultaneous connections on TCP/IP interface. A limited device may only accept one connection.   |\n | Bit 2     | Support AES256 encryption. |\n | Bit 1     | Support AES192 encryption. |\n | Bit 0     | Support AES128 encryption. |\n\n**For programmers:** Bits are defined in vscp.h.\n\n### Non standard ports\n\nNon standard port definitions. Each consist of three bytes.\n | Byte | Description                                                                                                     |\n | :----: | -----------                                                                                                   |\n | 0    | 0-63 Identify the service from the bit number (see bit usage). Offset zero. Bit 7 is set if encryption is used. |\n | 1    | Port MSB byte                                                                                                   |\n | 2    | Port LSB byte                                                                                                   |\n\n### Example\n\n**Example:** The standard TCP/IP server is on port **9598** if it has been moved to port **32000** the three bytes will be\n\n | Byte | Description                                       |\n | :----: | -----------                                     |\n | 0    | 15 for bit 15 which is the TCP/IP server          |\n | 1    | 0xD4 which is the most significant byte of 32000  |\n | 3    | 0x00 which is the least significant byte of 32000 |\n" />
<type id="32" token="VSCP2_TYPE_PROTOCOL_WHO_IS_THERE_RESPONSE" name="Level II who is there response" description="This defines the response from a Level II node for a [CLASS1.PROTOCOL, Type=32, Who is there?](./class1.protocol.md#type31) event.\n\n | Byte  | Description                                       |\n | :----:  | -----------                                     |\n | 0-15  | GUID for node                                     |\n | 16-47 | MDF of node                                       |\n\n" />
<type id="34" token="VSCP2_TYPE_PROTOCOL_GET_MATRIX_INFO_RESPONSE" name="Level II get DM info response" description="This defines the response from a Level II node for a [CLASS1.PROTOCOL, Type=33, VSCP_TYPE_PROTOCOL_GET_MATRIX_INFO](./class1.protocol.md#type34) event.\n\n | Byte   | Description    |\n | :----: | -----------    |\n | 0-15   | GUID for node  |\n | 16     | DM row size    |\n | 17     | DM number of rows |\n | 18-21  | Register start for DM |\n\n " />
<type id="36" token="VSCP2_TYPE_PROTOCOL_GET_EMBEDDED_MDF_RESPONSE" name="Level II get embedded MDF response" description="Get embedded MDF of device. This defines the response from a Level II node for a [CLASS1.PROTOCOL, Type=35, VSCP_TYPE_PROTOCOL_GET_EMBEDDED_MDF](./class1.protocol.md#type35) event.\n\n | Byte   | Description  |\n | :----: | -----------  |\n | 0,1    | Index        |\n | 2,3    | Total number of frames |\n | 4-...  | MDF data     |\n\n Each packet can hold a maximum of 508 bytes. The first byte is the index of the MDF. The second byte is the total number of rows. The following bytes are the MDF data.\n\n" />
<type id="41" token="VSCP2_TYPE_PROTOCOL_GET_EVENT_INTEREST_RESPONSE" name="Level II events of interest response" description="Get events of interest. This defines the response from a Level II node for a [CLASS1.PROTOCOL, Type=40, VSCP2_TYPE_PROTOCOL_GET_EVENT_INTEREST](./class1.protocol.md#type40) event.\n\n | Byte     | Description  |\n | :----:   | -----------  |\n | 0,1      | class 1      |\n | 2,3      | type 1       |\n | 4,5      | class 2      |\n | 6,7      | type 2       |\n | ....     | ....         |\n | 508,509  | class n      |\n | 510,511  | type n       |\n\n The response is a packet with class/type pairs. One frame can hold a maximum of 256 pairs. If more is needed send multiple frames. Type can be set to zero to indicate ALL types of that class.\n\n A node that is interested in everything just send a [CLASS2.PROTOCOL, Type=41 (Get event interest response)](./class2.protocol.md#type41) with no data if asked to provide that information." />
</class>
<class id="1025" name="Level II Control" token="CLASS2.CONTROL" description="## Description\n\nLevel II Control functionality." >
<type id="0" token="VSCP2_TYPE_CONTROL_GENERAL" name="General event" description="General Event." />
</class>
<class id="1026" name="Level II Information" token="CLASS2.INFORMATION" description="## Description\n\nLevel II Information events.\n" >
<type id="0" token="VSCP2_TYPE_INFORMATION_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP2_TYPE_INFORMATION_TOKEN_ACTIVITY" name="Token Activity" description="This event is used for cards, RFID&amp;apos;s, iButtons and other identification devices. The event is generated when the token device is attached/detached to/from the system. \n\n | Byte | Description                | \n | :----: | -----------                | \n | 0    | Event code.                | \n | 1    | Zone.                      | \n | 2    | Sub-zone.                  | \n | 3    | Token device type code     | \n | 4-7  | Reserved.                  | \n | 8..  | Unique ID of token-device. | \n\n##### Event codes\n\n | Code  | Description           | \n | :----:  | -----------           | \n | 0     | Touched and released. | \n | 1     | Touched.              | \n | 2     | Released.             | \n | 3-254 | Reserved.             | \n | 255   | Error.                | \n\n##### Token device type \n\n | Device type | Description                                                                                                                                                          | \n | :-----------: | -----------                                                                                                                                                          | \n | 0           | Unknown Token.                                                                                                                                                       | \n | 1           | iButton 64-bit token.                                                                                                                                                | \n | 2           | RFID Token.                                                                                                                                                          | \n | 3           | Philips mifare® RFID Token.                                                                                                                                         | \n | 4-8         | Reserved.                                                                                                                                                            | \n | 9           | ID/Credit card.                                                                                                                                                      | \n | 10-15       | Reserved.                                                                                                                                                            | \n | 16          | Biometri device 256-bits.                                                                                                                                            | \n | 17          | Biometri device. 64-bits.                                                                                                                                            | \n | 18          | Bluetooth device. 48-bits                                                                                                                                            | \n | 19          | GSM IMEI code (International Mobile Equipment Identity) AA-BBBBBB-CCCCCC-D packed in 64 bits. [https://en.wikipedia.org/wiki/IMEI](https://en.wikipedia.org/wiki/IMEI) | \n | 20          | GSM IMSI code (International Mobile Subscriber Identity) packed in 64 bits. [https://en.wikipedia.org/wiki/IMSI](https://en.wikipedia.org/wiki/IMSI)                   | \n | 21-255      | Reserved.                                                                                                                                                          | " />
<type id="2" token="VSCP2_TYPE_INFORMATION_HEART_BEAT" name="Level II Node Heartbeat" description="A level II node is recommended to send this event at least once a minute to indicate that it is live and well. The implementation **is mandatory**. Recommended interval is 30-60 seconds but in a node that need to sleep longer to save resources a longer interval can be used.\n\n | Byte | Description                 | \n | :----: | -----------                 | \n | 0-63 | Real text name of the node or no data meaning no name is available. | \n\nThis event is sent by all level nodes even if they are just a client which can connect to a server but not accept connections itself. \n\nThe name part is optional. If no name set datalength to zero.\n" />
<type id="3" token="VSCP2_TYPE_INFORMATION_PROXY_HEART_BEAT" name="Level II Proxy Node Heartbeat" description="This event, which it is advised that all nodes should implement, can be sent by a server that have lower end nodes connected to it at different interfaces. This can be level II or level I nodes. \n\n | Byte    | Description                                                             | \n | :----:    | -----------                                                             | \n | 0-15    | Real GUID for node (not interface GUID)                                 | \n | 16-31   | Reserved                                                                | \n | 32-47   | GUID for interface on server the node is connected to.                  | \n | 48      | Interface Level (0=Level I, 1=Level II)                                 | \n | 49-63   | Reserved                                                                | \n | 64-127  | Real text name of node (if any). Set to all zero if not available.      | \n | 128-191 | Real text name of interface (if any). Set to all zero if not available. | \n\nIf the real GUID for a node is not known (for example discovery is in progress or have failed) bytes 0-15 should be set to zero. This is true for a node that has been configured as a known node but where the system has not yet fetched information from the node.\n" />
<type id="4" token="VSCP2_TYPE_INFORMATION_CHANNEL_ANNOUNCE" name="Level II Multicast channel announce" description="This event is used by multicast nodes to announce which port(=channel) they communicate on. This may be something they want or not want to share with the rest of the world for security reasons. Therefore this is an optional event. \n\nIf several channels is used several events is sent.\n\nTypically this event is sent on the multicast announce channel\n\n | Byte | Description    | \n | :----: | -----------    | \n | 0    | MSB of channel | \n | 1    | LSB of channel | \n | 2-5  | Reserved       | \n" />
</class>
<class id="1027" name="Level II Text to speech" token="CLASS2.TEXT2SPEECH" description="## Description\n\nThis is an interface that translates text to speech \n" >
<type id="0" token="VSCP2_TYPE_TEXT2SPEECH_GENERAL" name="General event" description="General Event.\n" />
<type id="1" token="VSCP2_TYPE_TEXT2SPEECH_TALK" name="Talk" description="Talk some text out on a device.\n\n | Byte | Description               | \n | :----: | -----------               | \n | 0-1  | Zone to talk in.          | \n | 2-3  | Sub-zone to talk in.      | \n | 4    | Relative volume (0-100%). | \n | 5-7  | Reserved.                 | \n | 9..  | Text to speak.            | \n" />
</class>
<class id="1028" name="Level II High Level Object" token="CLASS2.HLO" description="## Description\n\nHLO (High Level Object) class. This class is used to talk to drivers and nodes using XML or JSON or other higher level formats. " >
<type id="0" token="VSCP2_TYPE_HLO_GENERAL" name="General event" description="General HLO Event.\n" />
<type id="1" token="VSCP2_TYPE_HLO_COMMAND" name="HLO Command" description="High Level Object (HLO) event is a command/response or other packed object sent to a device or sent as a response from a device. Content can be XML, JSON, character separated, BASE64, etc.\n\nCommand and response packages are separated into different VSCP types to be easier to filter even if this is not strictly needed. \n\nVSCP uses some of the contents in HLO events to pack driver configuration and other things. Therefore there is a restriction on tags used by user in that all tags prefixed with &amp;quot;vscp-&amp;quot; belongs to VSCP and should not be used by other applications. Apart from that naming is completely free. With XML content this restriction only applies to the highest level tag. For example\n\n```xml\n&lt;vscp-cmd /&gt;\n```\n\nis restricted. But\n\n```xml\n&lt;vscp-cmd no-restrictions-on-attributes-here=&amp;quot;&amp;quot;&gt;\n&lt;no-restriction-on-tags-here /&gt;\n&lt;/vscp-cmd&gt;\n```\n\nFor JSON the restriction does not apply for sub object.\n\nThis event is not mandatory to implement by a device.\n\n##### Payload content \n\n | Byte   | Description |\n | :----: | ----------- |\n | 0-15  | GUID for node that is addressed |\n | 16 | Type + Encryption |\n | 17-511 | Variable length high level payload. For type=0 first byte is separation character. |\n\n##### Type (bits 7,6,5,4)\n\n | Type  | Description |\n | :----:  | ----------- |\n | 0 | UTF8 data where items is separated with a char specified by the first byte in the payload. Typical examples are comma separated, semicolon separated, etc, data |\n| 1 | XML encoded data |\n| 2 | JSON encoded data |\n| 3 | BASE64 encoded data |\n| 4-14 | Undefined |\n| 15 | User specified content |\n\n##### Encryption (bits 3,2,1,0)\n\n | Type  | Description |\n | :----:  | ----------- |\n | 0 | No encryption |\n | 1 | AES128 |\n | 2 | AES192 |\n | 3 | AES256 |\n  | 4-254 | Reserved |\n | 255 | User defined encryption |\n\n\nEncrypted content is encrypted with AES128/AES192/AES256 CBC. The encrypted content is sent with a 16-byte IV appended to it meaning that the actual payload can be max 479 bytes (512-16 (GUID)-1 (type)-16 (IV)).\n\nMulti frame commands is first collected (all events that make up the command is read) then the IV is extracted from the last 16-bytes and after that the decryption of the rest of the data is carried out.\n\n" />
<type id="2" token="VSCP2_TYPE_HLO_RESPONSE" name="HLO Response" description="High Level Object (HLO) event is a command/response or other packed object sent to a device or sent as a response from a device. Content can be XML, JSON, character separated, BASE64, etc.\n\nCommand and response packages are separated into different VSCP types to be easier to filter even if this is not strictly needed.  \n\nVSCP uses some of the contents in HLO events to pack driver configuration and other things. Therefore there is a restriction on tags used by user in that all tags prefixed with &amp;quot;vscp-&amp;quot; belongs to VSCP and should not be used by other applications. Apart from that naming is completely free. With XML content this restriction only applies to the highest level tag. For example\n\n```xml\n&lt;vscp-resp /&gt;\n```\n\nis restricted. But\n\n```xml\n&lt;vscp-resp no-restrictions-on-attributes-here=&amp;quot;&amp;quot;&gt;\n&lt;no-restriction-on-tags-here /&gt;\n&lt;/vscp-resp&gt;\n```\n\nFor JSON the restriction does not apply for sub object.\n\nThis event is not mandatory to implement by a device.\n\n##### Payload content\n\n | Byte  | Description |\n | :----:  | ----------- |\n | 0-15  | GUID for node that is addressed |\n | 16 | Type + Encryption |\n | 17-511 | Variable length high level payload. For type=0 first byte is separation character. |\n\n##### Type (bits 7,6,5,4)\n\n | Type  | Description |\n | :----:  | ----------- |\n | 0 | UTF8 data where items is separated with a char specified by the first byte in the payload. Typical examples are comma separated, semicolon separated, etc, data |\n| 1 | XML encoded data |\n| 2 | JSON encoded data |\n| 3 | BASE64 encoded data |\n| 4-14 | Undefined |\n| 15 | User specified content |\n\n##### Encryption (bits 3,2,1,0)\n\n | Type  | Description |\n | :----:  | ----------- |\n | 0 | No encryption |\n | 1 | AES128 |\n | 2 | AES192 |\n | 3 | AES256 |\n\nEncrypted content is encrypted with AES128/AES192/AES256 CBC. The encrypted content is sent with a 16-byte IV appended to it meaning that the actual payload can be max 479 bytes (512-16 (GUID)-1 (type)-16 (IV)).\n\nMulti frame commands is first collected (all events that make up the command is read) then the IV is extracted from the last 16-bytes and after that the decryption of the rest of the data is carried out.\n\n" />
</class>
<class id="1029" name="Level II Custom" token="CLASS2.CUSTOM" description="## Description\n\nAn implementer can design their own events in this class. Care must be taken not to cause conflicts by selecting types used by other implementors. \n" >
<type id="0" token="VSCP2_TYPE_CUSTOM_GENERAL" name="General event" description="General Event.\n" />
</class>
<class id="1030" name="Level II Display" token="CLASS2.DISPLAY" description="## Description\n\nLevel II specific display functionality. Also look at [CLASS1.DISPLAY](./class1.display.md) \n" >
<type id="0" token="VSCP2_TYPE_DISPLAY_GENERAL" name="General event" description="General Event." />
</class>
<class id="1034" name="Level II Security" token="CLASS2.SECURITY" description="# Description\n\nLevel II security related events.\n\n\n" >
<type id="0" token="VSCP2_TYPE_SECURITY_GENERAL" name="General event" description="General Event." />
<type id="1" token="VSCP2_TYPE_SECURITY_SETKEY" name="Set key" description="Set encryption key for a node. The payload data is encrypted from byte 1 to the payload length. The first first byte holds the encryption code as of the definition in the VSCP specification (and vscp.h).\n\nEncrypted content is encrypted with AES128/AES192/AES256 CBC. The encrypted content is sent with a 16-byte IV appended to it meaning that the actual payload can be max 479 bytes (512-16 (GUID)-1 (type)-16 (IV)).\n\n##### Payload content \n\n | Byte   | Description |\n | :----: | ----------- |\n | 0 | Encryption code in low nibble. High nibble is reserved for future use. |\n | 1 | Reserved for future use. |\n | 2-17  | GUID for node that the key is intended for.  (All zero GUID is all nodes.) |\n | 18-511 | Key (any length) + (16 byte) iv. |\n\nNote that key length is application/protocol dependent.\n\n##### Encryption (bits 3,2,1,0)\n\n | Code   | Description |\n | :----: | ----------- |\n | 0 | No encryption |\n | 1 | AES-128 |\n | 2 | AES-192 |\n | 3 | AES-256 |\n | 4-254 | Reserved |\n | 255 | User defined encryption |" />
</class>
<class id="1040" name="Level II Measurement string" token="CLASS2.MEASUREMENT_STR" description="## Description\n\nThis is a mirror of [CLASS1_MEASUREMENT](./class1.measurement.md),[CLASS1_MEASUREMENTX1](./class1.measurementx1.md),[CLASS1_MEASUREMENTX2](./class1.measurementx2.md),[CLASS1_MEASUREMENTX3](./class1.measurementx3.md) and [CLASS1_MEASUREMENTX4](./class1.measurementx4.md) where the data is in string form. The zero terminated string has the following form “sensor-index, value-unit, zone, subzone, value” where the value is a floating point value in string form and the senor-index and value-unit is the same as for [CLASS1_MEASUREMENT](./class1.measurement.md),[CLASS1_MEASUREMENTX1](./class1.measurementx1.md),[CLASS1_MEASUREMENTX2](./class1.measurementx2.md),[CLASS1_MEASUREMENTX3](./class1.measurementx3.md) and [CLASS1_MEASUREMENTX4](./class1.measurementx4.md) but where sensor index&amp;apos;s can be in the range 0-255 and value-unit in the range 0-255 (3 is standard).\n\n  * 0-255 is mirrored to [CLASS1_MEASUREMENT](./class1.measurement.md)\n  * 256-511 is mirrored to [CLASS1_MEASUREMENTX1](./class1.measurementx1.md)\n  * 512-767 is mirrored to [CLASS1_MEASUREMENTX2](./class1.measurementx2.md)\n  * 768-1023 is mirrored to [CLASS1_MEASUREMENTX3](./class1.measurementx3.md)\n  * 1024-1279 is mirrored to [CLASS1_MEASUREMENTX4](./class1.measurementx4.md)\n  * Events with type &gt;= 1270 are only available in Level II.\n\nFloating point numbers should be written as &amp;quot;2345.456&amp;quot; **NOT** as &amp;quot;2345,456&amp;quot; independent of locale and the maximum number can have 483 digits including a possible decimal point.\n\n | Byte | Description |\n | :----: | ----------- |\n | 0    | Index for sensor, 0-255. |\n | 1    | Zone, 0-255. |\n | 2    | Subzone, 0-255. |\n | 3    | Unit from measurements, 0-255. |\n | 4..  | String up to the maximum data size 483 digits including a possible decimal point. The decimal point should always be a &amp;quot;.&amp;quot; independent of locale. |\n\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="1060" name="Level II Measurement float" token="CLASS2.MEASUREMENT_FLOAT" description="## Description\n\nThis is a mirror of [CLASS1_MEASUREMENT](./class1.measurement.md),[CLASS1_MEASUREMENTX1](./class1.measurementx1.md),[CLASS1_MEASUREMENTX2](./class1.measurementx2.md),[CLASS1_MEASUREMENTX3](./class1.measurementx3.md) and [CLASS1_MEASUREMENTX4](./class1.measurementx4.md) where the data is in string form. The zero terminated string has the following form “sensor-index, value-unit, zone, subzone, value” where the value is a double precision floating point value and the senor-index and value-unit is the same as for [CLASS1_MEASUREMENT](./class1.measurement.md),[CLASS1_MEASUREMENTX1](./class1.measurementx1.md),[CLASS1_MEASUREMENTX2](./class1.measurementx2.md),[CLASS1_MEASUREMENTX3](./class1.measurementx3.md) and [CLASS1_MEASUREMENTX4](./class1.measurementx4.md) but where sensor index&amp;apos;s can be in the range 0-255 and value-unit in the range 0-255.\n\n  * 0-255 is mirrored to [CLASS1_MEASUREMENT](./class1.measurement.md)\n  * 256-511 is mirrored to [CLASS1_MEASUREMENTX1](./class1.measurementx1.md)\n  * 512-767 is mirrored to [CLASS1_MEASUREMENTX2](./class1.measurementx2.md)\n  * 768-1023 is mirrored to [CLASS1_MEASUREMENTX3](./class1.measurementx3.md)\n  * 1024-1279 is mirrored to [CLASS1_MEASUREMENTX4](./class1.measurementx4.md)\n  * Events with type &gt;= 1270 are oinly available in Level II.\n\n| Byte | Description |\n| :----: | ----------- |\n| 0    | Index for sensor, 0-255. |\n| 1    | Zone, 0-255. |\n| 2    | Sub zone, 0-255.|\n| 3    | Unit from measurements, 0-255.|\n| 4-11 | 64-bit double precision floating point value stored MSB first. |\n\n\n" >
<type id="0" token="VSCP_TYPE_MEASUREMENT_GENERAL" name="General event" description="This is a general (custom) measurement event that can be used if no other event is suitable. \n\n" />
<type id="1" token="VSCP_TYPE_MEASUREMENT_COUNT" name="Count" description="This is a discrete value typical for a count. There is no unit for this measurement just a discrete value. \n\n" >
<units>
<unit id="0" name="Count" description="Count." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="2" token="VSCP_TYPE_MEASUREMENT_LENGTH" name="Length/Distance" description="**Default unit:** Meter. \n\nThis is a measurement of a length or a distance.\n\n" >
<units>
<unit id="0" name="Meter" description="Meter." symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
</units>
</type>
<type id="3" token="VSCP_TYPE_MEASUREMENT_MASS" name="Mass" description="**Default unit:** Kilogram.\n\nThis is a measurement of a mass. \n\n \n" >
<units>
<unit id="0" name="Kilogram" description="Kilogram." symbol-ascii="kg" symbol-utf8="kg" conversion= "{{{val}}}" />
</units>
</type>
<type id="4" token="VSCP_TYPE_MEASUREMENT_TIME" name="Time" description="A time measurement.\n\n**Default unit:** Seconds.  \n**Opt. unit:** (1) Milliseconds. Absolute: (2) y-y-m-d-h-m-s (binary). String: (3) &amp;quot;HHMMSS&amp;quot;. \n\n \n" >
<units>
<unit id="0" name="Seconds" description="Time in seconds." symbol-ascii="s" symbol-utf8="s" conversion= "{{{val}}}" />
<unit id="1" name="Milliseconds" description="Time in milliseconds." symbol-ascii="ms" symbol-utf8="ms" conversion= "{{{val}}}*1000" />
<unit id="2" name="yymdhms" description="Date." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
<unit id="3" name="HHMMSS" description="Time." symbol-ascii="" symbol-utf8="" conversion= "{{{val}}}" />
</units>
</type>
<type id="5" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_CURRENT" name="Electric Current" description="**Default unit:** Ampere.\n\nThis is a measurement of an electric current. \n\n \n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
</units>
</type>
<type id="6" token="VSCP_TYPE_MEASUREMENT_TEMPERATURE" name="Temperature" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of a temperature. \n\n\n" >
<units>
<unit id="0" name="Kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="Celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15" />
<unit id="2" name="Fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} - 273.15) * 1.8 + 32.0" />
</units>
</type>
<type id="7" token="VSCP_TYPE_MEASUREMENT_AMOUNT_OF_SUBSTANCE" name="Amount of substance" description="**Default unit:** Mole.\n\nThis is a measurement of an amount of a substance. \n\n \n" >
<units>
<unit id="0" name="mole" description="Amount of substance in mole" symbol-ascii="mol" symbol-utf8="mol" conversion= "{{{val}}}" />
</units>
</type>
<type id="8" token="VSCP_TYPE_MEASUREMENT_INTENSITY_OF_LIGHT" name="Luminous Intensity (Intensity of light)" description="**Default unit:** Candela.\n\nThis is a measurement of luminous intensity. \n\n\n" >
<units>
<unit id="0" name="candela" description="Candela" symbol-ascii="cd" symbol-utf8="cd" conversion= "{{{val}}}" />
</units>
</type>
<type id="9" token="VSCP_TYPE_MEASUREMENT_FREQUENCY" name="Frequency" description="\n**Default unit:** Hertz.\n\nThis is a measurement of regular events during a second. \n\n \n" >
<units>
<unit id="0" name="hertz" description="Hertz" symbol-ascii="Hz" symbol-utf8="hz" conversion= "{{{val}}}" />
</units>
</type>
<type id="10" token="VSCP_TYPE_MEASUREMENT_RADIOACTIVITY" name="Radioactivity and other random events" description="**Default unit:** becquerel.\n**Optional unit:** curie (1)\n\nThis is a measurement of rates of things, which happen randomly, or are unpredictable. \n\n\n" >
<units>
<unit id="0" name="becquerel" description="Becquerel" symbol-ascii="Bq" symbol-utf8="Bq" conversion= "{{{val}}}" />
<unit id="1" name="curie" description="Curie" symbol-ascii="Ci" symbol-utf8="Ci" conversion= "{{{val}}}/(3.7*10^10)" />
<unit id="2" name="rutherford" description="Rutherford" symbol-ascii="Rd" symbol-utf8="Rd" conversion= "{{{val}}}/10^6)" />
</units>
</type>
<type id="11" token="VSCP_TYPE_MEASUREMENT_FORCE" name="Force" description="**Default unit:** newton.\n\nThis is a measurement of force. \n\n \n" >
<units>
<unit id="0" name="newton" description="Newton" symbol-ascii="N" symbol-utf8="N" conversion= "{{{val}}}" />
</units>
</type>
<type id="12" token="VSCP_TYPE_MEASUREMENT_PRESSURE" name="Pressure" description="**Default unit:** pascal.  \n**Opt. unit:** bar (1), psi (2)\n\nThis is a measurement of pressure. \n\n  \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
<unit id="1" name="bar" description="Bar" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*10^5" />
<unit id="2" name="psi" description="Psi" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}*6.8948*10^3" />
<unit id="3" name="atm" description="Standard atmosphere" symbol-ascii="atm" symbol-utf8="atm" conversion= "{{{val}}}*101.325*10^3" />
<unit id="4" name="torr" description="Torr" symbol-ascii="torr" symbol-utf8="torr" conversion= "{{{val}}}*133.322368" />
<unit id="5" name="at" description="Technical atmosphere" symbol-ascii="at" symbol-utf8="at" conversion= "{{{val}}}*98.0665*10^3" />
<unit id="6" name="at" description="Centimeters of water column" symbol-ascii="cmH2O" symbol-utf8="cmH2O" conversion= "{{{val}}}*98.0665" />
</units>
</type>
<type id="13" token="VSCP_TYPE_MEASUREMENT_ENERGY" name="Energy" description="**Default unit:** Joule.  \n**Optional unit:** KWh (1)\n\nThis is a measurement of energy. \n\n \n" >
<units>
<unit id="0" name="joule" description="Joule" symbol-ascii="J" symbol-utf8="J" conversion= "{{{val}}}" />
<unit id="1" name="kwh" description="Kilowatt-hour" symbol-ascii="kWh" symbol-utf8="kWh" conversion= "{{{val}}}*3600000" />
<unit id="2" name="wh" description="watt-hour" symbol-ascii="Wh" symbol-utf8="Wh" conversion= "{{{val}}}*3600" />
</units>
</type>
<type id="14" token="VSCP_TYPE_MEASUREMENT_POWER" name="Power" description="**Default unit:** watt.  \n**Optional unit:** Horse power (1).\n\nThis is a measurement of power. \n\n" >
<units>
<unit id="0" name="watt" description="Watt" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}" />
<unit id="1" name="Horsepower" description="Horsepower" symbol-ascii="W" symbol-utf8="W" conversion= "{{{val}}}*745.699872" />
</units>
</type>
<type id="15" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CHARGE" name="Electrical Charge" description="**Default unit:** coulomb.\n\nThis is a measurement electrical charge. \n\n\n" >
<units>
<unit id="0" name="coulomb" description="Coulomb" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="16" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_POTENTIAL" name="Electrical Potential (Voltage)" description="**Default unit:** volt.\n\nThis is a measurement of electrical potential. \n\n  \n" >
<units>
<unit id="0" name="voltage" description="Voltage" symbol-ascii="V" symbol-utf8="V" conversion= "{{{val}}}" />
</units>
</type>
<type id="17" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CAPACITANCE" name="Electrical Capacitance" description="**Default unit:** farad (F).\n\nThis is a measurement of electric capacitance.\n\n \n" >
<units>
<unit id="0" name="farad" description="Farad" symbol-ascii="C" symbol-utf8="C" conversion= "{{{val}}}" />
</units>
</type>
<type id="18" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_RESISTANCE" name="Electrical Resistance" description="**Default unit:** ohm (Ω).\n\nThis is a measurement of resistance. \n\n " >
<units>
<unit id="0" name="ohm" description="Ohm" symbol-ascii="ohm" symbol-utf8="Ω" conversion= "{{{val}}}" />
</units>
</type>
<type id="19" token="VSCP_TYPE_MEASUREMENT_ELECTRICAL_CONDUCTANCE" name="Electrical Conductance" description="**Default unit:** siemens.\n\nThis is a measurement of electrical conductance. \n\n  \n" >
<units>
<unit id="0" name="siemens" description="Siemens" symbol-ascii="S" symbol-utf8="S" conversion= "{{{val}}}" />
</units>
</type>
<type id="20" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FIELD_STRENGTH" name="Magnetic Field Strength" description="**Default unit:** amperes per meter (H).  \n**Optional units:** teslas (B) (1)\n\nThis is a measurement of magnetic field strength. \n\n\n" >
<units>
<unit id="0" name="ampere per meter" description="Ampere per meter" symbol-ascii="A/m" symbol-utf8="A/m" conversion= "{{{val}}}" />
<unit id="1" name="Oersted" description="Oersted" symbol-ascii="oe" symbol-utf8="oe" conversion= "{{{val}}}*79.77" />
</units>
</type>
<type id="21" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX" name="Magnetic Flux" description="**Default unit:** weber (Wb).\n\nThis is a measurement of magnetic flux. \n\n \n" >
<units>
<unit id="0" name="weber" description="Weber (B)" symbol-ascii="Wb" symbol-utf8="Wb" conversion= "{{{val}}}" />
</units>
</type>
<type id="22" token="VSCP_TYPE_MEASUREMENT_MAGNETIC_FLUX_DENSITY" name="Magnetic Flux Density" description="**Default unit:** tesla (B).\n\n**Optional unit:** Gauss (1)\n\nThis is a measurement of flux density or field strength for magnetic fields (also called the magnetic induction). \n\n \n" >
<units>
<unit id="0" name="tesla" description="Tesla (B)" symbol-ascii="A" symbol-utf8="A" conversion= "{{{val}}}" />
<unit id="1" name="gauss" description="Gauss" symbol-ascii="Gs" symbol-utf8="Gs" conversion= "{{{val}}}*10^−4" />
</units>
</type>
<type id="23" token="VSCP_TYPE_MEASUREMENT_INDUCTANCE" name="Inductance" description="**Default unit:** henry (H).\n\nThis is a measurement of inductance. \n\n \n" >
<units>
<unit id="0" name="henry" description="Henry" symbol-ascii="H" symbol-utf8="H" conversion= "{{{val}}}" />
</units>
</type>
<type id="24" token="VSCP_TYPE_MEASUREMENT_FLUX_OF_LIGHT" name="Luminous Flux" description="**Default unit:** Lumen (lm= cd * sr)\n\nThis is a measurement of luminous Flux. \n\n\n" >
<units>
<unit id="0" name="Ampere" description="Ampere" symbol-ascii="lm" symbol-utf8="Φv" conversion= "{{{val}}}" />
</units>
</type>
<type id="25" token="VSCP_TYPE_MEASUREMENT_ILLUMINANCE" name="Illuminance" description="**Default unit:** lux (lx) ( lx = lm / m² )\n\nThis is used to express both Illuminance (incidence of light) and Luminous Emittance (emission of light). \n\n\n" >
<units>
<unit id="0" name="lux" description="Lux" symbol-ascii="lx" symbol-utf8="lx" conversion= "{{{val}}}" />
</units>
</type>
<type id="26" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_ABSORBED" name="Radiation dose (absorbed)" description="**Default unit:** gray (Gy).   \n\n\nThis is a measurement of a radiation dose (Absorbed dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="gray" description="Gray" symbol-ascii="gy" symbol-utf8="gy" conversion= "{{{val}}}" />
</units>
</type>
<type id="27" token="VSCP_TYPE_MEASUREMENT_CATALYTIC_ACITIVITY" name="Catalytic activity" description="**Default unit:** katal (kat).\n\nThis is a measurement of catalytic activity used in biochemistry. \n\n\n" >
<units>
<unit id="0" name="katal" description="Katal" symbol-ascii="kat" symbol-utf8="kat" conversion= "{{{val}}}" />
</units>
</type>
<type id="28" token="VSCP_TYPE_MEASUREMENT_VOLUME" name="Volume" description="**Default unit:** cubic meter (m³)   \n**Opt. unit:** Liter (dm³) (1), decilitre (100 cm³) (2), centilitre (10 cm³) (3), millilitre (cm³) (4) where unit 4 is only available for Level II measurement events where units can hold this value.\n\nThis is a measurement of volume. \n\n\n" >
<units>
<unit id="0" name="cubic meter" description="Cubic meter" symbol-ascii="m3" symbol-utf8="m³" conversion= "{{{val}}}" />
<unit id="1" name="litre" description="Litre" symbol-ascii="L" symbol-utf8="dm³" conversion= "{{{val}}}*10^3" />
<unit id="2" name="decilitre" description="Decilitre" symbol-ascii="dl" symbol-utf8="dl" conversion= "{{{val}}}*10^4" />
<unit id="3" name="centilitre" description="Centilitre" symbol-ascii="cl" symbol-utf8="cl" conversion= "{{{val}}}*10^5" />
<unit id="4" name="millilitre" description="Millilitre" symbol-ascii="ml" symbol-utf8="cm³" conversion= "{{{val}}}*10^6" />
</units>
</type>
<type id="29" token="VSCP_TYPE_MEASUREMENT_SOUND_INTENSITY" name="Sound intensity" description="**Default unit:** W/m2, watt per square meter. \n\nThis is a measurement of sound intensity (acoustic intensity). \n\n \n" >
<units>
<unit id="0" name="watt per square meter" description="watt per square meter" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="30" token="VSCP_TYPE_MEASUREMENT_ANGLE" name="Angle, direction or similar" description="* **Default unit:** radian (rad) (Plane angles).   \n* **Opt Unit:** degree (1).\n* **Opt Unit:** arcminute (2).\n* **Opt Unit:** arcseconds (3).\n\nThis is a measurement of an angle or a direction or similar. \n\n  \n" >
<units>
<unit id="0" name="radian" description="Radian" symbol-ascii="rad" symbol-utf8="rad" conversion= "{{{val}}}" />
<unit id="1" name="degree" description="Degree" symbol-ascii="deg" symbol-utf8="°" conversion= "{{{val}}}*pi/180" />
<unit id="2" name="arcminute" description="Arcminute" symbol-ascii="arcmin" symbol-utf8="arcmin" conversion= "{{{val}}}*pi/10800" />
<unit id="3" name="arcsecond" description="Arcsecond" symbol-ascii="arcsec" symbol-utf8="arcsec" conversion= "{{{val}}}*pi/648000" />
</units>
</type>
<type id="31" token="VSCP_TYPE_MEASUREMENT_POSITION" name="Position WGS 84" description="**Default unit:** Longitude.  \n**Opt. unit:** Latitude.\n\nThis is a (decimal) measurement of a position as of WGS 84. Normally given as a floating point value. See [./class1.gps.md](CLASS1.GPS) for a better candidate to use for position data.\n\n \n" >
<units>
<unit id="0" name="Longitude" description="Longitude" symbol-ascii="long" symbol-utf8="long" conversion= "{{{val}}}" />
<unit id="1" name="Latitude" description="Latitude" symbol-ascii="lat" symbol-utf8="lat" conversion= "{{{val}}}" />
</units>
</type>
<type id="32" token="VSCP_TYPE_MEASUREMENT_SPEED" name="Speed" description="**Default unit:** Meters per second.   \n**Optional unit:** Kilometers per hour (1) Miles per hour (2)\n\nThis is a measurement of a speed. \n\n \n" >
<units>
<unit id="0" name="meter per second" description="Meters per second" symbol-ascii="m/s" symbol-utf8="m/s" conversion= "{{{val}}}" />
<unit id="1" name="kilometers per hour" description="Kilometers per hour" symbol-ascii="km/h" symbol-utf8="km/h" conversion= "{{{val}}}/3.6" />
<unit id="2" name="miles per hour" description="Miles per hour" symbol-ascii="mph" symbol-utf8="mph" conversion= "{{{val}}}*0.44704" />
</units>
</type>
<type id="33" token="VSCP_TYPE_MEASUREMENT_ACCELERATION" name="Acceleration" description="**Default unit:** Meters per second/second (m/s2).\n\nThis is a measurement of acceleration. \n\n\n" >
<units>
<unit id="0" name="meters per second/second " description="Meters per second/second " symbol-ascii="m/s2" symbol-utf8="m/s²" conversion= "{{{val}}}" />
</units>
</type>
<type id="34" token="VSCP_TYPE_MEASUREMENT_TENSION" name="Tension" description="**Default unit:** N/m.\n\nThis is a measurement of tension. \n\n\n" >
<units>
<unit id="0" name="newton meter" description="Newton meter" symbol-ascii="N/m" symbol-utf8="N/m" conversion= "{{{val}}}" />
</units>
</type>
<type id="35" token="VSCP_TYPE_MEASUREMENT_HUMIDITY" name="Damp/moist (Hygrometer reading)" description="**Default unit:** Relative percentage 0-100%.\n\nThis is a measurement of relative moistness (Humidity). \n\n \n" >
<units>
<unit id="0" name="relative humidity (0-100%)" description="Relative humidity (0-100%)" symbol-ascii="%" symbol-utf8="%" conversion= "{{{val}}}" />
</units>
</type>
<type id="36" token="VSCP_TYPE_MEASUREMENT_FLOW" name="Flow" description="**Default unit:** Cubic meters/second.   \n**Opt Unit:** Liters/Second.\n\nThis is a measurement of flow. \n\n \n" >
<units>
<unit id="0" name="cubic meters per second" description="Cubic meters per second" symbol-ascii="m3/s" symbol-utf8="m³/s" conversion= "{{{val}}}" />
<unit id="1" name="litres per second" description="Litres meters per second" symbol-ascii="L/s" symbol-utf8="dm³/s" conversion= "{{{val}}}" />
</units>
</type>
<type id="37" token="VSCP_TYPE_MEASUREMENT_THERMAL_RESISTANCE" name="Thermal resistance" description="**Default unit:** Thermal ohm K/W.\n\nThis is a measurement of thermal resistance. \n\n \n" >
<units>
<unit id="0" name="kelvins per watt" description="Kelvins per watt" symbol-ascii="K/W" symbol-utf8="K/W" conversion= "{{{val}}}" />
</units>
</type>
<type id="38" token="VSCP_TYPE_MEASUREMENT_REFRACTIVE_POWER" name="Refractive (optical) power" description="**Default unit:** dioptre (dpt) m-1.\n\nThis is a measurement of refractive (optical) power. \n\n\n" >
<units>
<unit id="0" name="refractive (optical) power" description="Refractive (optical) power" symbol-ascii="dpt" symbol-utf8="dpt" conversion= "{{{val}}}" />
</units>
</type>
<type id="39" token="VSCP_TYPE_MEASUREMENT_DYNAMIC_VISCOSITY" name="Dynamic viscosity" description="**Default unit:**  pascal second\n**optional units** poiseuille (Pl) = 1, poise (P) = 2\n\nThis is a measurement of dynamic viscosity. \n\n\n" >
<units>
<unit id="0" name="pascal second" description="Pascal second" symbol-ascii="Pa s" symbol-utf8="Pa s" conversion= "{{{val}}}" />
<unit id="1" name="poise" description="poise" symbol-ascii="P" symbol-utf8="P" conversion= "{{{val}}}/10" />
<unit id="2" name="poiseuille" description="Poiseuille" symbol-ascii="PI" symbol-utf8="PI" conversion= "{{{val}}}" />
</units>
</type>
<type id="40" token="VSCP_TYPE_MEASUREMENT_SOUND_IMPEDANCE" name="Sound impedance" description="**Default unit:** rayl (Pa·s/m)\n\nThis is a measurement of sound impedance. \n\n \n" >
<units>
<unit id="0" name="pascal second per cubic metre" description="Pascal second per cubic metre" symbol-ascii="Pa s/m3" symbol-utf8="Pa·s/m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="41" token="VSCP_TYPE_MEASUREMENT_SOUND_RESISTANCE" name="Sound resistance" description="**Default unit:** Acoustic ohm Pa · s/ m³.\n\nThis is a measurement of sound resistance.\n\n\n" >
<units>
<unit id="0" name="acoustic ohm" description="Acoustic ohm" symbol-ascii="Pa s/ m3" symbol-utf8="Pa · s/ m³" conversion= "{{{val}}}" />
</units>
</type>
<type id="42" token="VSCP_TYPE_MEASUREMENT_ELECTRIC_ELASTANCE" name="Electric elastance" description="**Default unit:** daraf (f-1).\n\nThis is a measurement of electric elasticity. \n\n  \n" >
<units>
<unit id="0" name="reciprocal farad (daraf)" description="Reciprocal farad (daraf)" symbol-ascii="1/F" symbol-utf8="1/F" conversion= "{{{val}}}" />
</units>
</type>
<type id="43" token="VSCP_TYPE_MEASUREMENT_LUMINOUS_ENERGY" name="Luminous energy" description="**Default unit:** talbot ( tb = lm * s) \n\nThis is a measurement of luminous energy.\n\n \n" >
<units>
<unit id="0" name="talbot" description="Talbot" symbol-ascii="tb" symbol-utf8="tb" conversion= "{{{val}}}" />
</units>
</type>
<type id="44" token="VSCP_TYPE_MEASUREMENT_LUMINANCE" name="Luminance" description="**Default unit:** cd / m²) (non SI unit = nit)\n\nThis is a measurement of luminance.\n\n\n" >
<units>
<unit id="0" name="candela per square metre" description="Candela per square metre" symbol-ascii="cd/m2" symbol-utf8="cd/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="45" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MOLAR" name="Chemical (molar) concentration" description="**Default unit:** mol/m3.\n\nThis is a measurement of chemical mol concentration. \n\n \n" >
<units>
<unit id="0" name="mol per cubic metre" description="Mol per cubic metre" symbol-ascii="mol/m3 " symbol-utf8="mol/m³ " conversion= "{{{val}}}" />
<unit id="1" name="mol per litre" description="Mol per litre" symbol-ascii="mol/L " symbol-utf8="mol/L " conversion= "{{{val}}}/1000" />
</units>
</type>
<type id="46" token="VSCP_TYPE_MEASUREMENT_CHEMICAL_CONCENTRATION_MASS" name="Chemical (mass) concentration" description="**Default unit:** kg/m3.\n\nThis is a measurement of chemical mass concentration. " >
<units>
<unit id="0" name="kilogram per cubic metre" description="Kilogram per cubic metre" symbol-ascii="kg/m3 " symbol-utf8="kg/m³ " conversion= "{{{val}}}" />
</units>
</type>
<type id="47" token="VSCP_TYPE_MEASUREMENT_DOSE_EQVIVALENT" name="Reserved" description="Reserved\n\n\n\n \n" />
<type id="48" token="VSCP_TYPE_MEASUREMENT_RESERVED48" name="Reserved" description="Reserved \n\n\n" />
<type id="49" token="VSCP_TYPE_MEASUREMENT_DEWPOINT" name="Dew Point" description="**Default unit:** Kelvin.  \n**Opt. unit:** Degree Celsius (1), Fahrenheit (2)\n\nThis is a measurement of the Dew Point. \n\n \n" >
<units>
<unit id="0" name="kelvin" description="Degrees Kelvin" symbol-ascii="K" symbol-utf8="K" conversion= "{{{val}}}" />
<unit id="1" name="celsius" description="Degrees Celsius" symbol-ascii="C" symbol-utf8="°C" conversion= "{{{val}}} + 273.15 " />
<unit id="2" name="fahrenheit" description="Degrees Fahrenheit" symbol-ascii="F" symbol-utf8="°F" conversion= "({{{val}}} + 459.67) * 5/9" />
</units>
</type>
<type id="50" token="VSCP_TYPE_MEASUREMENT_RELATIVE_LEVEL" name="Relative Level" description="**Default unit:** Relative value.\n\nThis is a relative value for a level measurement without a unit. It is just relative to the min/max value for the selected data representation, typically percentage or per mille or similar. \n\n \n" >
<units>
<unit id="0" name="relative value" description="relative" symbol-ascii="relative" symbol-utf8="relative" conversion= "{{{val}}}" />
</units>
</type>
<type id="51" token="VSCP_TYPE_MEASUREMENT_ALTITUDE" name="Altitude" description="**Default unit:** Meter.  \n**Opt. unit:** Feet(1), inches (2)\n\nAltitude in meters. \n\n \n" >
<units>
<unit id="0" name="meter" description="meter" symbol-ascii="m" symbol-utf8="m" conversion= "{{{val}}}" />
<unit id="1" name="feet" description="Feet" symbol-ascii="ft" symbol-utf8="ft" conversion= "{{{val}}}*0.3048" />
<unit id="2" name="inch" description="Inch" symbol-ascii="in" symbol-utf8="in" conversion= "{{{val}}}*0.0254" />
</units>
</type>
<type id="52" token="VSCP_TYPE_MEASUREMENT_AREA" name="Area" description="**Default unit:** square meter (m²)\n\nArea in square meter. \n\n \n" >
<units>
<unit id="0" name="square meter" description="Square meter" symbol-ascii="m2" symbol-utf8="m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="53" token="VSCP_TYPE_MEASUREMENT_RADIANT_INTENSITY" name="Radiant intensity" description="**Default unit:** watt per steradian ( W / sr )\n\nRadiated power per room angle. \n\n " >
<units>
<unit id="0" name="watt per steradian" description="Watt per steradian" symbol-ascii="W/sr" symbol-utf8="W/sr" conversion= "{{{val}}}" />
</units>
</type>
<type id="54" token="VSCP_TYPE_MEASUREMENT_RADIANCE" name="Radiance" description="**Default unit:** watt per steradian per square metre ( W / (sr * m²) )\n\nThis is the radiant flux emitted, reflected, transmitted or received by a surface.\n\n  \n" >
<units>
<unit id="0" name="watt per steradian per square metre" description="Watt per steradian per square metre" symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m^−2" conversion= "{{{val}}}" />
</units>
</type>
<type id="55" token="VSCP_TYPE_MEASUREMENT_IRRADIANCE" name="Irradiance, Exitance, Radiosity" description="**Default unit:** watt per square metre ( W / m² )\n\nPower emitted from or striking onto a surface or area. \n\n \n" >
<units>
<unit id="0" name="watt per square metre" description="Watt per square metre" symbol-ascii="W/m2" symbol-utf8="W/m²" conversion= "{{{val}}}" />
</units>
</type>
<type id="56" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_RADIANCE" name="Spectral radiance" description="**Default unit:** watt per steradian per square metre per nm (W·sr-1·m-2·nm-1)    \n**Opt. unit:** watt per steradian per meter3 (W·sr-1·m-3) (1), watt per steradian per square metre per hertz (W·sr-1·m-3) (2)\n\nRadiance of a surface per unit frequency or wavelength.\n\n                        \n" >
<units>
<unit id="0" name="watt per steradian per square metre, per metre " description="Watt per steradian per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−2" symbol-utf8="W⋅sr^−1⋅m*^−2" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="57" token="VSCP_TYPE_MEASUREMENT_SPECTRAL_IRRADIANCE" name="Spectral irradiance" description="**Default unit:** watt per square metre per nm (W·m-2·nm-1)   \n**Opt. unit:** watt per metre3 (W·m-3) (1), watt per square metre per hertz (W·m-2·Hz-1) (2)\n\nIrradiance of a surface per unit frequency or wavelength.\n\n \n" >
<units>
<unit id="0" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W⋅m−2⋅Hz−1" symbol-utf8="W⋅m^−2⋅Hz^−1" conversion= "{{{val}}}" />
<unit id="1" name="watt per square metre, per metre " description="Watt per square metre, per metre " symbol-ascii="W⋅sr−1⋅m−3" symbol-utf8="W⋅sr^−1⋅m*^−3" conversion= "{{{val}}}" />
<unit id="2" name="watt per square metre per hertz " description="Watt per square metre per hertz " symbol-ascii="W/m3" symbol-utf8="W/m^3" conversion= "{{{val}}}" />
</units>
</type>
<type id="58" token="VSCP_TYPE_MEASUREMENT_SOUND_PRESSURE" name="Sound pressure (acoustic pressure)" description="**Default unit:** pascal (Pa) \n\nThis is a measurement of sound pressure (acoustic pressure). \n\n \n" >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="59" token="VSCP_TYPE_MEASUREMENT_SOUND_DENSITY" name="Sound energy density" description="**Default unit:** pascal (Pa) \n\nSound energy density or sound density is the sound energy per unit volume.\n\n                        " >
<units>
<unit id="0" name="pascal" description="Pascal" symbol-ascii="Pa" symbol-utf8="Pa" conversion= "{{{val}}}" />
</units>
</type>
<type id="60" token="VSCP_TYPE_MEASUREMENT_SOUND_LEVEL" name="Sound level" description="**Default unit:** decibel (dB) \n\nSound level expressed in decibel. This event is supplied for convenience.\n\n \n" >
<units>
<unit id="0" name="decibel" description="Decibel" symbol-ascii="dB" symbol-utf8="dB" conversion= "{{{val}}}" />
</units>
</type>
<type id="61" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EQ" name="Radiation dose (equivalent)" description="**Default unit:** sievert (Sv).\n\n**Optional unit** rem (1)\n\nThis is a measurement of a radiation dose (Equivalent dose of ionizing radiation). \n\n \n" >
<units>
<unit id="0" name="sievert" description="Sievert" symbol-ascii="sv" symbol-utf8="sv" conversion= "{{{val}}}" />
<unit id="1" name="rem" description="Rem" symbol-ascii="rem" symbol-utf8="rem" conversion= "{{{val}}}/100" />
</units>
</type>
<type id="62" token="VSCP_TYPE_MEASUREMENT_RADIATION_DOSE_EXPOSURE" name="Radiation dose (exposure)" description="**Default unit:** coulomb per kilogram (C/kg).   \n**Optional unit:** Röntgen/R (1)\n\nThis is a measurement of a radiation dose (Exposed dose of ionizing radiation). \n" >
<units>
<unit id="0" name="coulomb per kilogram" description="Coulomb per kilogram" symbol-ascii="C/kg" symbol-utf8="C/kg" conversion= "{{{val}}}" />
<unit id="1" name="röntgen" description="Röntgen" symbol-ascii="R" symbol-utf8="R" conversion= "{{{val}}}/(2.58*10^-4)" />
</units>
</type>
<type id="63" token="VSCP_TYPE_MEASUREMENT_POWER_FACTOR" name="Power factor" description="**Default unit:** cos of phase angle.\n\nThis is a measurement of a power factor. Power factor is an expression of energy efficiency. It is usually expressed as a percentage—and the lower the percentage, the less efficient power usage is.\n\nPower factor (PF) is the ratio of working power, measured in kilowatts (kW), to apparent power, measured in kilovolt amperes (kVA). Apparent power, also known as demand, is the measure of the amount of power used to run machinery and equipment during a certain period. It is found by multiplying (kVA = V x A). The result is expressed as kVA units.\n\n\n" >
<units>
<unit id="0" name="cos(a)" description="Ratio between power in kW and apperant power in kVA" symbol-ascii="PF" symbol-utf8="PF" conversion= "{{{val}}}" />
</units>
</type>
<type id="64" token="VSCP_TYPE_MEASUREMENT_REACTIVE_POWER" name="Reactive Power" description="**Default unit:** VAr\n\nIn electric power transmission and distribution, volt-ampere reactive (VAr) is a unit of measurement of reactive power. Reactive power exists in an AC circuit when the current and voltage are not in phase. The term var was proposed by the Romanian electrical engineer Constantin Budeanu and introduced in 1930 by the IEC in Stockholm, which has adopted it as the unit for reactive power. Special instruments called varmeters are available to measure the reactive power in a circuit. The unit &amp;quot;var&amp;quot; is allowed by the International System of Units (SI) even though the unit var is representative of a form of power. SI allows one to specify units to indicate common sense physical considerations. Per EU directive 80/181/EEC (the &amp;quot;metric directive&amp;quot;), the correct symbol is lower-case &amp;quot;var&amp;quot;, although the spellings &amp;quot;Var&amp;quot; and &amp;quot;VAr&amp;quot; are commonly seen, and &amp;quot;VAR&amp;quot; is widely used throughout the power industry.\n\nDefinition from Wikipedia\n" >
<units>
<unit id="0" name="VAr" description="Reactive effect in kilo V*A" symbol-ascii="VAr" symbol-utf8="VAr" conversion= "{{{val}}}" />
<unit id="1" name="kVAr" description="Reactive effect in kilo V*A" symbol-ascii="kVAr" symbol-utf8="kVAr" conversion= "{{{val}}}*1000" />
<unit id="1" name="MVAr" description="Reactive effect in mega V*A" symbol-ascii="MVAr" symbol-utf8="MVAr" conversion= "{{{val}}}*1000000" />
</units>
</type>
<type id="65" token="VSCP_TYPE_MEASUREMENT_REACTIVE_ENERGY" name="Reactive Energy" description="**Default unit:** kVArh\n\nReactive Energy is the electrical Energy produced, flowing or supplied by an electric circuit during a time interval, measured in units of kVArh or standard multiples thereof.\n\n" >
<units>
<unit id="0" name="kVArh" description="Reactive energy in kilo V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}" />
<unit id="1" name="MVArh" description="Reactive energy in mega V*A*h" symbol-ascii="kVArh" symbol-utf8="kVArh" conversion= "{{{val}}}*1000" />
</units>
</type>
</class>
<class id="65535" name="Level II VSCP Daemon internal events" token="CLASS2.VSCPD" description="## Description\n\nThis class is reserved for internal events used by the damon to communicate with level III drivers. Events of this type should never be visible on a physical bus. \n" >
<type id="0" token="VSCP2_TYPE_VSCPD_GENERAL" name="General event" description="## General Event.\n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n\n" />
<type id="1" token="VSCP2_TYPE_VSCPD_LOOP" name="Loop" description="Reserved\n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="3" token="VSCP2_TYPE_VSCPD_PAUSE" name="Pause" description="The machine/daemon is going to a pause state.\n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="4" token="VSCP2_TYPE_VSCPD_ACTIVATE" name="Activate" description="The machine/daemon is going from a pause state. \n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="5" token="VSCP2_TYPE_VSCPD_STARTING_UP" name="Starting up" description="The machine/daemon is starting up. This is the first event sent after a machine start up. \n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="6" token="VSCP2_TYPE_VSCPD_SHUTTING_DOWN" name="Shutting down" description="The machine/daemon is shutting down. This is the last event sent before a machine is shutting off.  \n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="7" token="VSCP2_TYPE_VSCPD_DRV3_START" name="Start" description="This event is used by the VSCP daemon to stop a Level III driver.\n\n| Data byte | Description |\n | :----: | ----------- |\n | 0-15 | GUID for driver (MSB-&gt;LSB). |\n\n\n" />
<type id="8" token="VSCP2_TYPE_VSCPD_DRV3_STOP" name="Stop" description="This event is used by the VSCP daemon to pause execution of a Level III driver.\n\n| Data byte | Description |\n | :----: | ----------- |\n | 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="9" token="VSCP2_TYPE_VSCPD_DRV3_PAUSE" name="Pause" description="Reserved\n\n| Data byte | Description |\n| :----: | ----------- |\n| 0-15 | GUID for driver (MSB-&gt;LSB). |\n" />
<type id="10" token="VSCP2_TYPE_VSCPD_DRV3_RESUME" name="Resume" description="This event is used by the VSCP daemon to resume execution of a Level III driver.\n\n| Data byte | Description |\n | :----: | ----------- |\n | 0-15 | GUID for driver (MSB-&gt;LSB). |" />
<type id="11" token="VSCP2_TYPE_VSCPD_DRV3_RESTART" name="Restart" description="This event is used by the VSCP daemon to restart a Level III driver.\n\n| Data byte | Description |\n | :----: | ----------- |\n | 0-15 | GUID for driver (MSB-&gt;LSB). |\n\n" />
<type id="12" token="VSCP2_TYPE_VSCPD_DRV3_CONFIG" name="Config" description="This event is used by the VSCP daemon to (re)configure a Level III driver.\n\nEvent data is GUID for driver followed by a null terminated UTF8 string that is the path to a XML configuration string.\n\n| Data byte | Description |\n | :----: | ----------- |\n | 0-15 | GUID for driver (MSB-&gt;LSB). |\n | 16 -| NULL terminated path to config file |\n \n" />
</class>
</vscpevents>
