Data Types~
There are 5 major data types that openHASP uses when communicating over MQTT:
Boolean~
Properties with a boolean data type accept these values and are case insensitive:
true
/ON
/1
/yes
false
/OFF
/0
/no
The return value will be either 1
/0
or on
/off
depending on the context.
Integer~
Numeric properties have integer values with a variable minimum and maximum input value.
Certain object properties also support negative values.
Details
int8
(signed) supports values ranging from -128 to 127.
uint8
(unsigned) supports values ranging from 0 to 255.
int16
(signed) supports values ranging from -32768 to 32767.
uint16
(unsigned) supports values ranging from 0 to 65535.
String~
Properties that accept textual input. When sending raw text in the MQTT payload or as command parameter no quotes are needed.
Only when a text value is included in a jsonl
or json
command, it needs to be quoted accoring to JSON rules.
JSON Object~
Some properties can be set or retrieved in JSON format too. The JSON object has several keys that have a boolean, integer or string data type.
Example: {"cover":"cover.my_room","position":"50"}
Colors~
Color values can be:
- Short names (from table below)
- RGB hex code (
#rrggbb
) - Short hex code (
#rgb
) - RGB565 number format (
0..65535
)
Hex Code | Short Name | Hex Code | Short Name |
---|---|---|---|
#00FFFF |
Cyan or Aqua | #FFC0CB |
Pink |
#00FF00 |
Lime | #DDA0DD |
Plum |
#008000 |
Green | #DA70D6 |
Orchid |
#008080 |
Teal | #EE82EE |
Violet |
#0000FF |
Blue | #FF00FF |
Magenta or Fuchsia |
#000080 |
Navy | #800080 |
Purple |
#808000 |
Olive | #4B0082 |
Indigo |
#CD853F |
Peru | #B00000 |
Blush |
#A0522D |
Sienna | #FF0000 |
Red |
#A52A2A |
Brown | #FF6347 |
Tomato |
#800000 |
Maroon | #FA8072 |
Salmon |
#FFFFFF |
White | #FF7F50 |
Coral |
#FFFAFA |
Snow | #FFA500 |
Orange |
#FFFFF0 |
Ivory | #FFD700 |
Gold |
#FAF0E6 |
Linen | #FFFF00 |
Yellow |
#F5F5DC |
Beige | #F0E68C |
Khaki |
#F0FFFF |
Azure | #FFE4C4 |
Bisque |
#C0C0C0 |
Silver | #F5DEB3 |
Wheat |
#808080 |
Gray or Grey | #D2B48C |
Tan |
#000000 |
Black |
Setting Color~
Examples:
1 2 3 4 |
|
Return values~
When retrieving the color of an object, both the HTML representation as the RGB values are returned separately.
The format will be a json object with components:
- color : 6 digit hexadecimal code preceeded by a hash
#
sign. - r : byte value for red (
0..255
) - g : byte value for green (
0..255
) - b : byte value for blue (
0..255
)
For example, the color returned by a color picker change event is:
1 |
|
Variables~
Some properties can be set with variable data at plate runtime. Use the strings below to retrieve data:
%ip%
- IP address of the plate%hostname%
- hostname (nodename)%ssid%
- SSID of the network connected to%model%
- plate model (set in the firmware)%version%
- firmware version number