Introduction
Table of contents
The Button Plus is a device with a display and with buttons, all configurable.
Prerequisites
The Button Plus communicates through MQTT. It needs an MQTT back-end and a hast most value when combined with a Home Automation system. The requirements are:
- An MQTT broker
- A Home Automation system
- Some technical know-how helps
Home Automation
The Button Plus interacts with your Home Automation system through MQTT. It can show information present in your Home Automation system on the display and buttons, and it can send button clicks to your Home Automation system. There are various Home Automation solutions available; some are used in combination with others. Some examples are:
- Home Assistant, open source system that also records the historical state of your sensors and equipment
- Domoticz, open source system that also records the historical state of your sensors and equipment
- Homey, closed source hardware platform for home automation that also records the historical state of your sensors and equipment
- IO Broker, open source system
- Node Red, open source low code visual flow based automation. Can be used in combination with the above solutions.
about MQTT
MQTT is a kind of X (fka Twitter) for your IoT devices. Some devices publish their information to the platform and others subscribe to a channel (topic). The MQTT server (broker) can run on your home server or externally. For instance, a temperature sensor can regularly publish a measured value to homesensors/livingroom/temperaturesensor1/temperature
and also listen to a topic homesensors/livingroom/temperaturesensor1/forceupdate
to force an update of the sensor. Your home automation system can subscribe to the measured value, and send commands. A popular MQTT broker is Mosquitto but there are others as well. Buttonplus also connects to the broker. When your home automation system publishes a new value, the Button Plus shows it. When you press a button, it gets published to the broker and your home automation system responds to it.
Throughout this documentation we assume a MQTT structure. You are free to choose yours.
level | topic level | Description | Example |
---|---|---|---|
1 | <basetopic> | Base topic for the Button Plus | buttonplus/ |
2 | <device> | Device name | hall/ |
3a | display/ | Topics for the display | |
3b | button/ | Topics for the buttons | |
4 | <page> | Page for the Buttonplus | |
5 | <uid> | Identifier for the item | 12/ |
6 | <eventtype> | Type of topic | value |
Examples:
Configure a display item value to subscribe (listen) to buttonplus/hall/display/evening/12/value
. This will display the value that is published by your local home automation system. You can do the same with the label and unit field.
Configure a buttons on a bar to publish its state to topic buttonplus/hall/button/3/state
. Notice that in this example the click and release topics are the same but the payload is different. This is the message published to the topic. This is for button 3.