Homematic thermostat HM-CC-RT-DN battery status

How can I read the Battery status in Homeassistant?

The HM-CC-RT-DN has on Channel: 4 the “[BATTERY_STATE]: 0e” and on Channel: 0 the “[LOWBAT]: 00” value.

How could I display these values in HA?

You have to create a template sensor. It’s explained in the HomeMatic documentation here.

Daniel thank you for the Info. Can you please give me a hint how to use the templete sensor?

Here it is not working how it should be. :frowning:

It’s just like the example in the documentation. You just have to replace the entity ID (it’s there 2 times) with the one of your climate entity, and replace the Valve with battery. Once you have done that and restarted Home Assistant, you should have a new sensor entity in Home Assistant that has the battery level as its value. This extra entity then can be used for automations.

@Tom74, did you get it to work? Would you share your Config? I tried it with this in my configuration.yaml, but it does not work:

  sensor:
  - platform: template
    sensors:
      Raumthermostat_battery:
        value_template: '{{ state_attr('climate.000313c999f2f8', 'battery') }}'
        entity_id: climate.000313c999f2f8
        friendly_name: 'Kinderzimmer Raumthermostat'

Sorry, for the delay. I had some problems with hassio on my docker installation.

So I moved back to pure homeassistant installation on my raspberry pi.

My config looks like this:

sensors.yaml

- platform: template
    sensors:
        
    
        heizung_schlafzimmer_battery:
          unit_of_measurement: "V"
          icon_template: mdi:battery
          value_template: '{{ states.climate.heizung_schlafzimmer.attributes.battery}}'
          entity_id: climate.heizung_schlafzimmer
          friendly_name: 'Heizung Schlafzimmer Batterie'
          
          
       
         
         
        heizung_bad_battery:
          unit_of_measurement: "V"
          icon_template: mdi:battery
          value_template: '{{ states.climate.heizung_bad.attributes.battery }}'
          entity_id: climate.heizung_bad
          friendly_name: 'Heizung Bad Batterie'
          
        
         
        heizung_wohnzimmer_battery:
          unit_of_measurement: "V"
          icon_template: mdi:battery
          value_template: '{{ states.climate.heizung_wohnzimmer.attributes.battery }}'
          entity_id: climate.heizung_wohnzimmer
          friendly_name: 'Heizung Wohnzimmer Batterie'
         
        heizung_wt_wohnzimmer_battery:
          unit_of_measurement: "V"
          icon_template: mdi:battery
          value_template: '{{ states.climate.wt_heizung_wohnzimmer.attributes.battery }}'
          entity_id: climate.wt_heizung_wohnzimmer
          friendly_name: 'Heizung WT Wohnzimmer Batterie'
         
        heizung_kueche_battery:
          unit_of_measurement: "V"
          icon_template: mdi:battery
          value_template: '{{ states.climate.heizung_kuche.attributes.battery }}'
          entity_id: climate.heizung_kuche
          friendly_name: 'Heizung Küche Batterie'

battery.yaml


id: battery
title: Batterie
icon: mdi:battery
cards:
  - type: "custom:monster-card"
    show_empty: false
    card:
      type: entities
      title: Thermostate
    filter:
      include:
        - entity_id: sensor.heizung_*_battery

Hi,

what values can this get?
I want to do a batterie page with other devices like Shellys, so a % value would be nice.

I solved it this way but only works in conjunction with CCU and not with access point. Create a template sensor for each device. It may be that you first have to release the sensor when integrating the devices in HA.

[image]


I think your voltage values are then between 3V and 2.1V…
But i read my voltage value from HmIp SWDOs (Fensterkontakt), i currently get between 1.1V - 1.3V ?

My Heating Sensors (EVO) or my wall-thermostats (Heizkörperthermostate), Buttons (Taster) are also in range 2.1 - 3V.

You also have some window sensors there… do u know why is it like this showing 1.1V ?

Edit: Ok, that was my bad :slight_smile: 1 Battery vs. 2 Batteries
But now i have another question…

So the scale with 2 batteries is between 3V - 2.1V. (where 2.1V means 0%):
3V 100%
2.9V 89%
2.8V 78%
2.7V 67%
2.6V 56%
2.5V 44%
2.4V 33% —> default LOW BATTERY Threshold (in CCU)
2.3V 22%
2.2V 11%
2.1V 0%

I cannot convert your formula for 1 Battery (1.5V)
1.5V 100%
1.45V 89%
1.4V 78%
1.35V 67%
1.30V 56%
1.25V 44%
1.20V 33% (default LOW BATTERY Threshold for 2 Batteries)
1.15V 22%
1.10V 11% —> default LOW BATTERY Threshold 1.1V
1.05V 0%

Now I have a SWDO, which shows me 1V and Low Battery… it does not match the above scale…

maybe it is like this?:

1.5V 100%
1.4V 83%
1.3V 67%
1.2V 50%
1.1V 33%
1.0V 17%
0.9V 0%

So the formula is: ((voltage - 0.9) / (1.5 - 0.9) * 100) ?
Do you also use like this?

Quite simply because at 2 volts at the latest, Homematic devices no longer work anyway, i.e. the CCU starts flashing and the device logs out of the system. You can set this to 2.1 volts in the CCU and it should be enough. I’m also on Simon42 if you prefer to chat in German.

Heyhey
I just installed “Battery notes” and took a look at all my battery devices.
As I have some HmIP devices, im looking for a way to calculate the battery percent from its voltage.
(I know this doesnt fit perfectly fine, but I just want to have a percentage value to sort devices by its battery state).

So I took the code from the screenshot above:

{% set voltage = states('sensor.fensterkontakt_kissenraum_betriebsspannung') | float %}
{% if is_state('binary_sensor.fensterkontakt_kissenraum_batterie', 'on') %}
  0
{% else %}
  {{ ((voltage - 2.1) / (3 - 2.1) * 100) | round(0) }}
{% endif %}

This contains the following formula:

{{ ((voltage - 2.1) / (3 - 2.1) * 100) | round(0) }}

For this specific device - holding a single AAA battery with a voltage of 1.2V - a percentage value of -111% is shown. Im supposing this is not correct :o)
So I have to adjust this formula for my different devices with different batterys inside.
And my question is if my understanding of this formula is correct. This is as follows:

(ActualVoltage - BatteryEmptyVoltage) / (BatteryFullVoltage - BatteryEmptyVoltage) *100

So for me it works like that without any problems. I assume that a sensor with 2 batteries has 2x1.5V at 3V 100% and then at 2.1 it is at 0%. It’s best not to use batteries for Homematic IP devices if you don’t want to keep replacing them.