OpenThermGateway2MQTT is a tool/service that converts messages from the OpenTherm Gateway (OTGW) to MQTT messages and publishes these to a MQTT topic at a server of your choice.


By default the service publishes messages to the topic otgw/status. It is possible to add your own prefix to the topic.
The service processes commands that are published to topic otgw/command/{mycommand}, where {mycommand} is any OTGW command available (see all commands here) and the body of the message is the value.
For example the following message sets the room setpoint to 20 degrees:

Topic otgw/command/TC
Body 20

The service also relays the raw messages to and from the given TCP port in the configuration file. Allowing other programs to keep communicating with the OTGW over TCP.


The service can connect to an already existing TCP port for your OTGW, or connect directly to the serial port of your OTGW.


The service is written in .NET and runs on Windows. However with Mono the service also runs on Linux and Mac OS. Tests confirmed that the service also runs on a Raspberry PI running Raspbian.


Depending on running the Console or Service versions you need to edit the .config file accordingly:

OTGW_TYPE The type of connection to use, choices are TCP and SERIAL
OTGW_SERIAL_PORT The serial port name, eg COM3 on Windows or /dev/ttyUSB0 on Linux
OTGW_TCP_ADDRESS The address (ip/dns) of your OTGW
OTGW_TCP_PORT The port of your OTGW, this port is also used to start the relay server on the machine client machine
MQTT_BROKER_ADDRESS The address (ip/dns) of your MQTT Broker (must be running on default port 1883)
MQTT_TOPIC_PREFIX The prefix of the MQTT topic, leave empty for no prefix



Currently there's no forum topic available, for support you can send us a tweet.



Initial release