Application Mapping


Introduction

Application Mapping connects your physical hardware devices to the hardware objects of an app. Each app is hardware independent by design and not bound to a specific device. During the application mapping you specifically configure which hardware objects is represented by which physical hardware piece.

Example

The Door Contact Hardware Object inside an app can be either connected to your self build door contact or to door contact from for example Phillips Hue. The app can be designed without knowing exactly which specific piece of hardware is going to be used, therefore allowing a more abstracted and generalized way of designing an app.


Mapping Example

Let’s look at how to prepare a piece of hardware all the way to the actual hardware mapping.

1. Select physical hardware

For this example we will be using an easy push button and build the circuit.

Push Button on a Hand

 

Push Button Circuit with Builder Base

 

2. Build Firmware

Now that we have completed our circuit it is time to create the correct piece of firmware that will instruct the Q-Client on which hardware is connected where.

3. Upload Firmware

The firmware file is now ready to be uploaded to the Q-Client.

4. Create App

While the firmware file is uploading to the Q-Client we can head over to the app view and start creating our app with the App Builder. Our app will use a hardware button and show it’s state on the dashboard in form of a debug.

5. Start App with Application Mapping

Now that the firmware upload is done and we have successfully created an app to talk to our physical hardware component we can start the app and complete the application mapping.

6. Test

Now go ahead and test your app and application mapping. When you press the button a message should show up on the dashboard of the app.

 

 


Multi-Mapping

Multi-Mapping is available as a property on each hardware object. When enabled it allows you to map multiple physical hardware components to just one hardware object.

Example

Let’s say you have multiple door contacts that are part of a security system. Now you would like to trigger an intruder alert if any of your door contacts is triggered, while the system is armed. This is where you would enable the Multi-Mapping property on your hardware object in the app builder and then map all the door contacts in your house to it.

Now when you start your app and the application mapping opens it will give you the option to add more clients.

This is how you can add more door contacts to be represented by the same hardware object.