mqtt2mystrom v1.1.0
mqtt2mystrom
This node.js application is a bridge between the MyStrom Switches and a mqtt broker. The relay status and the current power usage is published to mqtt. The relay state (on, off) can be controlled over mqtt.
Installation
This node.js application is installed from the npm repository and executed with the node command. It will load the default configuration file config.json.
npm install -g mqtt2mystrom
node /usr/local/bin/mqtt2mystrom
Alternatively, the module can be executed as a docker container. Use the following Dockerfile to build a container by injecting the config file.
FROM node:alpine
RUN npm install -g mqtt2mystrom
COPY config.json /etc/mqtt2mystrom.json
ENTRYPOINT [ "/usr/local/bin/mqtt2mystrom", "/etc/mqtt2mystrom.json" ]
Configuration
The following configuration file is an example. Please replace the desired values like the mqtt url and add your MyStrom Switch devices. Automatic discovery of MyStrom Switch devices is currently not possible.
{
"log": "debug",
"mqtt": {
"url": "mqtt://192.168.1.10",
"name": "mystrom",
"secure": false
},
"mystrom": {
"pollInterval": 60,
"switchDevices": [
{
"name": "MyStrom Switch 1",
"address": "192.168.1.20"
}
]
}
}
Topics
Publish: Status Messages
The current relay status and power usage is published to the following topics:
mystrom/relay/<SwitchName>
Theval
will contain0
if the switch is turned off and not relaying power and1
if the switch is turned on and relaying power.mystrom/power/<SwitchName>
With the interval of the polling configuration, normally every minute, the current power usage is published to this topic. The currently used watt is in the payloadval
.
Subscribe: Control Switch Relay
To control the relay status of a MyStrom Switch, use the following topics:
mystrom/set/<SwitchName>/on
Turn power relaying on. No payload required.mystrom/set/<SwitchName>/off
Turn power relaying off. No payload required.