There are two versions of Big5. Big5 and Big5_HS4. Big5 is the legacy version and does work with both HS3 and HS4. Big5_HS4 is dedicated to HS4 and does work with HS4 only. They are separate and independent of each other and you can have them both running if for any reason you like one better than the other for certain tasks.

The documentation here was written for Big5. Most of it is applicable to Big5_HS4. We will outline the differences here as well as some unique Big5_HS4 features. Applicable to Big5_HS4 version 3.5 and later

  1. Design change – Big5_HS4 has totally different design and GUI, however the meanings of the fields are the same and any other minor changes are self-explanatory.
  2. oAuth2 support for HTTP profiles. The modern world of devices is API driven. Actually each of the many HS4 plug-ins available does address one API to manage one kind of device. Big5_HS4 is an universal tool allowing the user to address various devices and environments. In order to protect privacy many device/API vendors require so called “authorization token” for the API to work. The modern framework for obtaining such token is called oAuth2. One can obtain such token manually, however as an extra precaution the tokens tend to expire and the manual process of obtaining one is quite cumbersome. Here is where the automated process of oAuth2 of Big5_HS4 takes place. It obtains and stores the token for subsequent use automatically so that using API is a breeze with Big5. With that said please keep in mind that the process is somewhat difficult for the novices to comprehend. Please get familiar with the process of oAuth2 in order to understand and use the oAuth2 feature of Big5_HS4. There are many online sources for that here is just one of them http://www.bubblecode.net/en/2016/01/22/understanding-oauth2
  3. Root/features for devices. In case you didn’t notice HS4 introduced two layer structure for devices. Each device in HS4 is a root. Each root device can have multiple features. Big5_HS4 does support root/feature concept creating root devices with multiple features, but also supports plain root devices with no features if the user so desires.

New fields were introduced in the profiles to address root/features functionality.

The names/name expressions of the root devices go in a separate box and they are separated by &&&

Example: “Sensor1″&&&”Sensor2″&&&”Sensor3”

The names are fixed in the above example, however as it always has been the case with Big5 the names of the root devices can be retrieved from the incoming message like that

Example: JSON(input,”sensor[0].name”)&&&JSON(input,”sensor[1].name”)&&&JSON(input,”sensor[2].name”)

The value expressions do not change, and they are separated with && as normal, however they are separated by &&& for different root devices

Example: JSON(input,”sensor[0].temp”)&&JSON(input,”sensor[0].hum”)&&JSON(input,”sensor[0].light”)&&&JSON(input,”sensor[1].temp”)&&JSON(input,”sensor[1].hum”)&&JSON(input,”sensor[1].light”)&&&JSON(input,”sensor[2].temp”)&&JSON(input,”sensor[2].hum”)&&JSON(input,”sensor[2].light”)

In this example 3 features will be created and values imported in HS4 for each root device . Please note the &&& separator.

Above examples are designed around this JSON input

{
“sensors”: [{
“name”: “test1”,
“temp”: “77.45”,
“hum”: “25.25”,
“light”: “70”
},
{
“name”: “test2”,
“temp”: “71.25”,
“hum”: “39.10”,
“light”: “20”
},
{

“name”: “test3”,
“temp”: “70.12”,
“hum”: “34.32”,
“light”: “95”
}
]
}

4. URL parameters create root/features device

This feature is HTTP profile specific and addresses some older fashioned way of communication that is still widely used. Some devices report their status or are subject to control by URL parameters a.k.a. Query strings.

Example: http://192.168.1.248:89/wireless.asp?temp=72.1&name=Kitchen&hum=48&wind=3&app=0

Big5HS4 makes it easy to create HS4 device with all parameters as features of the device. In order to do that create HTTP “listening” profile with URL

Example: http://192.168.1.248:89/wireless.asp?

Find the box named “Root name Id” and put the parameter there that will give the name of the Root device.

Example: name

Leave all other boxes blank but do not forget to check the “listen” box.

To test it enter the above URL in any browser on your network and voila Big5_HS4 will create Root device “Kitchen” with features temp, hum, wind, app and the respective values imported in HS4.

5. Improved MQTT use of wild cards (+).

Example: Each device of many creates it’s own MQTT topic like that

home/dimmers/dimmer1/report
home/dimmers/dimmer2/report
home/dimmers/dimmer3/report

Legacy Big5 does support wild cards in the topic. So one can subscribe to all of the above with one MQTT profile like that

home/dimmers/+/report

It does work for the legacy Big5, however it creates/updates one HS4 device only. Say for example I picked the name “Power” for the device. It will create and update only one HS4 device

Big5 MQTT Power

What Big5_HS4 does better is that it creates 3 different devices (for the example above) depending on the topic over which message arrives.

Big5HS_4 MQTT dimmer1Power
Big5HS_4 MQTT dimmer2Power
Big5HS_4 MQTT dimmer3Power

6. Big5_HS4 error can trigger an HS4 event now.

There is new line “Big5_HS4-LogTrigger” in the HS4 trigger menu. If you select it than the HS4 event will be triggered each time a Big5_HS4 error occurs