Thingsplex, also called FIMPUI - is an advanced UI that can be used for several different things, we will go through some of them here.
Warning: Thingsplex is a user interface for developers and advanced users. The settings exposed in this interface is very powerful and could if used wrongly damage your system. We strongly advice to "play with care". Futurehome is not responsible for any damage which may be introduced to the system when using this user interface.
Thingsplex can be installed from Playgrounds in the Futurehome App.
For those who use the classic app it can now be installed from the Apps (BETA) section under settings in the app. If you don't see this option, you need to enable it under site settings.
When Thingsplex is installed it will open port 8081 and 8082 on the Smarthub where you can access the Thingsplex web page.
Warning: When this tool is installed the ports will expose your system on the local network without any security. We strongly recommend disabling the Thingsplex when not in use to avoid potential unwanted local network control.
After it's installed - FIMPUI can be accessed on:
You need to be on your local network to access it, unless you setup port forwarding, but don't do that! FIMPUI is not secured in any way.
The first screen you will see is the one for z-wave management
Thingsplex has these main categories:
- Registry - a list of all devices regardless of adapter type
- Flow - TPFlow which is the Thingsplex rules engine
- Adapters - An overview of all available adapters on the Smarthub; Z-Wave, Zigbee or similar.
- Z-Wave AD
- Generic adapter
- Systems; connect or disconnect additional adapters
- Stats (not used) - An overview of the overall status on the Smarthub and it´s devices
- Message stream - A log of all inbound and outbound MQTT events.
- Connectivity settings
- Smarthub manager
- Issue reporting and log uploader
FIMP & Adapters
FIMP is Futurehome´s IoT communication protocol; Futurehome IoT Messaging Protocol.
Different available systems and protocols are gathered into a known Futurehome messaging format enabling multiprotocol support.
FIMP is explained on our Github page, read more about FIMP API here: https://github.com/futurehomeno/fimp-api
An adapter is a converter between a technology or system to FIMP. For example the Z-Wave adapter will ensure that all Z-Wave compatible devices will work with FIMP.
Z-Wave network manager (Z-Wave adapter)
Here you get a full overview over all z-wave devices, and you can do things like include/exclude devices, reset the z-wave chip, or ping individual devices.
Warning: Reset z-wave chip will delete all z-wave devices!! and there is no "are you sure?" button.
If you press the service button on a device, you get an overview of all the FIMP services this device supports, and from here you can control and read them.
Read more about FIMP services here: https://github.com/futurehomeno/fimp-api#services
Setting or reading z-wave parameter can be done from the dev_sys service.
To read a parameter we use the cmd.config.get_report interface, and type in the parameter number we want in the name field. After pressing Get, we will get a response on the evt.config.report interface.
In this example we asked for parameter 41 from a Fibaro Wall plug. The response we got was 41=1;1.
We can interpret the result like this: 41 = parameter number, the first 1 in 1; is the value the parameter is set to, the second 1 is the length of the value (the length can only be 1, 2 or 4).
If we want to change parameter value 41 to 0 (illumination turned off completely), we need to input name and value like this is the cmd.config.set interface.
Configuring associations is also done using the dev_sys service.
Here is an example using the dev_sys user interface to read and set associations.
Here you can see all FIMP messages sent over MQTT. You can also send your own message using the MQTT client on the page.
The easiest way to create and send your own FIMP message is to click a message in the message stream and use the Copy to MQTT client button.
Then you can change the content of the message before you send it again.
In the next picture we change the temperature to 60 deg, when we send this message we can se the change in the app. We will also get a notification about high temperature.
Flow - Thingsplex Flow - Rules engine
There are 2 ways to create a flow:
- Add new flow - create a flow from the beginning
- Import - import a flow someone has shared with you
Under the menu called "Flow" you can find the developer rules engine. Please see separate article regarding the flow engine here.