This tiny bridge polls the central station of Roth EnergyLogic and pushes all information to an Mqtt broker.
All parameters can be passed via cmdline arguments or via environment variables. If both are passed the cmdline argument has precedence.
-envAllow environment variables if provided, otherwise they will be ignored. (optional)-heating/HEATINGIP or hostname of your EnergyLogic. (required)-broker/BROKERIP or hostname with port of your MQTT broker. (example: 192.168.1.2:1883) (required)-user/BROKER_USERUsername of your MQTT broker. (optional)-password/BROKER_PSWPassword of your MQTT broker. (optional)-topic/TOPICTopic-Prefix of provided information. (optional, default: "roth")-clean/CLEANSet clean session for MQTT. (optional, default: false)-polling/POLLINGRefresh interval in seconds. (optional, default: 300 seconds)-tempchange/TEMPCHANGETemperature change warning in hours. (optional, default: 12 hours)-sensor/SENSORSend additional sensor entity. (optional, default: true)-full/FULLProvide any information to broker, most times this is not necessary. (optional, default: false)-dns/DNSUse internal DNS cache. (optional, default: true)-verbose/VERBOSEProvide more verbose logging. (optional, default: false)
The EnergyLogic provide some system information and information about any wireless sensor. Those wireless sensors are prefixed by a consecutive number of the central station like G0, G1 and so on. The number of wireless sensors are indicated by totalNumberOfDevices.
isMaster: 1
totalNumberOfDevices: 3
...
hw/HostName: ROTH-0111A1
hw/IP: 192.168.1.2
...
R0/numberOfPairedDevices: 1
...
R1/numberOfPairedDevices: 2
...
G0/name: LivingRoom
G0/RaumTemp: 22.55
G0/SollTemp: 23.00
...
G1/name: Kitchen
G1/RaumTemp: 21.35
G1/SollTemp: 21.00
The following room values are settable and will be propagated to the EnergyLogic.
Be aware that Gx needs a valid room number like G0, G1 and so on.
namesettable viaGx/set/name. This changes the room name.SollTempsettable viaGx/set/SollTemp. This changes the target temperature.TempSIUnitsettable viaGx/set/TempSIUnit. This changes the temperature scale.OPModesettable viaGx/set/OPMode. This changes heating mode for this device.0Day (normally On)1Night2Holiday (normally Off)
If this bridge is online or offline can be checked with available topic.
The topic available under Gx indicates "no battery detection". This bridges
exposes both available topics to home assistant auto discovery. So all available
needs to be online. Otherwise all or a single climate is N/A. This depends
on bridge not running or no battery.
The EnergyLogic has no indicator to show low or no battery on a wireless controller.
It just stops sending temperature values. So we send a Gx/RaumTempLastChange
warning if the tempatures of a room has no changes in specified time (see above).
This is configurable with the -tempchange parameter.
The Gx/available topic will be switched to offline after that.
It is possible to use auto-discovery support of Home Assistant and openhab (openhab/openhab-addons#10764).
You can run this bridge in a container with Docker.
docker run --rm --name heating -e HEATING=192.168.1.3 -e BROKER=192.168.1.2:1883 aklitzing/heatingmqttbridge
Also you can use this repository as an AddOn in HomeAssistant. Add-On Store > Repositories > Add repository