Highly configurable MQTT map interface
Find a file
2018-03-28 03:18:37 +02:00
config Require the use of hex, rgb, rgba or rainbow for colors and refactor config types 2018-02-04 03:43:22 +01:00
css Fix rainbow colors 2018-01-13 20:05:47 +01:00
img/layers Entropia: Init 2018-01-31 23:54:31 +01:00
raw Entropia: Init 2018-01-31 23:54:31 +01:00
src Reduce production built size 2018-02-14 06:23:48 +01:00
types Require the use of hex, rgb, rgba or rainbow for colors and refactor config types 2018-02-04 03:43:22 +01:00
.babelrc Reduce production built size 2018-02-14 06:23:48 +01:00
.eslintrc.js Fix most eslint warnings 2018-01-19 21:52:53 +01:00
.flowconfig Require the use of hex, rgb, rgba or rainbow for colors and refactor config types 2018-02-04 03:43:22 +01:00
.gitignore Fix the icon color + allow changing icons depending on the state 2017-11-11 05:44:04 +01:00
.travis.yml Add webpack-cli and greenkeepr lockfile 2018-03-28 02:37:35 +02:00
index.ejs Use material-design-icons instead of material-icons 2017-11-06 05:50:15 +01:00
package.json Update webpack configuration to work with webpack 4 2018-03-28 03:04:06 +02:00
README.md docs(readme): add Greenkeeper badge 2018-03-28 00:29:33 +00:00
shell.nix Automatically run flow on build 2017-10-27 16:40:42 +02:00
travis-upload-artifacts.sh Upload artifacts 2018-02-11 19:58:58 +01:00
travis.sh Upload artifacts 2018-02-11 19:58:58 +01:00
webpack.common.js Update webpack configuration to work with webpack 4 2018-03-28 03:04:06 +02:00
webpack.dev.js Update webpack configuration to work with webpack 4 2018-03-28 03:04:06 +02:00
webpack.prod.js Update webpack configuration to work with webpack 4 2018-03-28 03:04:06 +02:00
yarn.lock Upgrade react-leaflet 2018-03-28 03:18:37 +02:00

MQTT Control Map

Greenkeeper badge

Development / Configuration

  1. run yarn to install all dependencies.
  2. run yarn watch CONFIG to run a local build server that automatically builds your the mqtt control map for the given CONFIG everytime something changes.
  3. run yarn build CONFIG to create just a single build of the mqtt control map for the given config.
  4. run yarn production-build CONFIG to generate all files for production use.

Config

See config/.

The Config format consists out of two sections. Topics and Controls.

Topics

The topics section defines the mqtt interfaces.

Controls

The Controls define the UI Controls.

Name Type Optional? Default Description
type "toggle" | "dropDown" | "slider" No The type of the UI element.
text string No The text displayed right next to the UI element.
topic string No The topic the UI element is supposed to change and/or receive its status from.
enableCondition (key: string, value: *) => boolean Yes () => true This option allows you to enable or disable UI elements, depending on the current state. The first parameter is the internal representation of the value. For example "off". The second parameter is the actual value that was received via MQTT. Return true to enable the element and false to disable it.
Toggle Options
on string Yes "on" If the state is equal to the value of this option the toggle will be toggled on (if the toggled function is not overriden). This is also the value that will be sent when the button is toggled on.
off string Yes "off" If the state is equal to the value of this option the toggle will be toggled off (if the toggled function is not overriden). This is also the value that will be sent when the button is toggled off.
toggled (key: string, value: *) => boolean Yes Use the on and off options This is the function that decides whether the button should be in a toggled state or not. The parameters are equivalent to those of enableCondition. Return true to set the button to a toggled state. Return false to set it to the untoggled state.
DropDown Options
options Map<string,string> Yes {} This is an attribute set that will map all values defined in the topics section to a description text. For example { on: "Lights On", off: "Lights Off" } will give the drop down element two options, one that is named Lights On and one that is named Lights Off.
Slider Options
min number Yes 0 The minimum value of that slider.
max number Yes 1 The maximum value of that slider.
step number Yes 1 The smallest step of the slider.