The Landis+Gyr Heat Meter integration for Home Assistant allows you to read the meter values from Ultraheat devices by Landis & Gyr. These devices are commonly used for district heating. The integration has been tested with the Landis & Gyr Ultraheat 50 (UH50), type LUGCUH50. Other models are likely to work as well.
The device is read through the optical interface. An (USB) IR reader is needed and connected to Home Assistant.
To add the Landis+Gyr Heat Meter integration to your Home Assistant instance, use this My button:
If the above My button doesn’t work, you can also perform the following steps manually:
The integration will create the following sensors:
- Heat usage (MWh)
- Volume usage (m3)
To be compatible with the Home Assistant energy units of measurement, heat usage is converted to MWh, from usage in GJ, which is supplied by the device, using a conversion factor: 1 GJ = 0.277778 MWh.
Further data that is read from the device is added as diagnostic entities:
- Heat usage measured in GJ, as is read from the device before conversion
- Ownership number
- Volume previous year (m3)
- Heat previous year (MWh)
- Heat previous year (GJ)
- Error number
- Device number
- Measurement period minutes
- Power max (kW)
- Power max previous year (kW)
- Flow rate max (m3ph)
- Flow rate max previous year (m3ph)
- Flow temperature max (°C)
- Return temperature max (°C)
- Flow temperature max previous year (°C)
- Return temperature max previous year (°C)
- Operating hours
- Fault hours
- Fault hours previous year
- Yearly set day
- Monthly set day
- Meter date time
- Measuring range (m3ph)
- Settings and firmware
- Flow hours
Either heat usage or volume usage can be used as “Gas” on the energy dashboard. If you want to supply a price per MWh, make sure to apply the conversion factor first.
Polling is by default done only once per day (and once right after adding the integration). Every time the Heat Meter values are read, battery time of the device will (supposedly) go down by about 30 minutes.
For detailed control on when the device is polled, disable the default polling for this integration and create an automation that will update one of the entities (the other entities will be updated as well)
If you’re comfortable with YAML, this code could be used:
alias: "Heat Meter manual update" trigger: - platform: time at: "23:30:00" action: - service: homeassistant.update_entity target: entity_id: sensor.heat_meter_heat_usage_gj
For more detailed steps on how to define a custom polling interval, follow the procedure below.
If you want to define a specific interval at which your device is being polled for data, you can disable the default polling interval and create your own polling service.
Go to Settings > Devices & Services, and select your integration.
On the integration entry, select the three dots.
- Then, select System options and toggle the button to disable polling.
To define your custom polling interval, create an automation.
Go to Settings > Automations & Scenes and create a new automation.
Define any trigger and condition you like.
Under action, select Call service and use the
Example in YAML.
automation: - alias: "Only update weather information every 20 minutes when I'm home" trigger: - platform: time_pattern minutes: "/20" condition: - condition: state entity_id: device_tracker.cynthia state: home action: - service: homeassistant.update_entity target: entity_id: weather.home
Save your new automation to poll for data.