DEV Community

Cover image for Getting a single value from a device's state in Home Assistant
Nicolas Fränkel
Nicolas Fränkel

Posted on • Originally published at blog.frankel.ch

4 2 1 1 1

Getting a single value from a device's state in Home Assistant

I recently acquired Netatmo smart radiator valves to manage my rooms' temperature remotely. I'm not skilled at manual tasks, but I could easily replace the old thermo-static valves. I then registered the smart ones in the Netatmo app. Finally, I integrated them in my Home Assistant via the dedicated Netatmo integration. Everything was very straightforward.

I noticed that each valve not only allows remote control but also offers a state with several attributes. I wanted to extract the room's temperature indicator from it. It was not as easy as I thought it was, so I want to describe how I managed to achieve it.

By default, the Netatmo valve displays a multi-valued state. To check, go to the Developer Tools > States menu. You can use a filter to find the device.

Entity State Attributes
climate.spare_bedroom +
Valve Spare Bedroom
auto hvac_modes: auto, heat +
min_temp: 7 +
max_temp: 30 +
target_temp_step: 0.5 +
preset_modes: away, boost, frost_guard, schedule +
current_temperature: 14 +
temperature: 7 +
hvac_action: idle +
preset_mode: frost_guard +
selected_schedule: Unknown 67ab635c2dd1afb1e601a8c2 +
heating_power_request: 0 +
attribution: Data provided by Netatmo +
friendly_name: Valve Spare Bedroom +
supported_features: 401

The problem is that the above attributes are not readily usable. We must first extract them individually. For this, we need to create a sensor; head to File Editor and select configuration.yaml. Then, append the following snippet:

template:
  - sensor:
    - unique_id: sensor.spare_bedroom_temperature
      name: "Spare Bedroom Temperature"
      state: "{{ state_attr('climate.spare_bedroom', 'current_temperature') }}" #1
      unit_of_measurement: "°C"
      device_class: temperature                                                 #2
Enter fullscreen mode Exit fullscreen mode
  1. Match the pair entity-attribute above
  2. Must be temperature to be used as a temperature sensor afterward

Click on Save.

We don't need to restart Home Assistant, but we must reload the configuration. Click on Developer Tools. Then, click on Check configuration. The new sensor should appear in Settings > Entities.

Home Assistant displaying the new temperature entity

We can now set the Area via the UI to one of the existing areas, in this case, the Spare Bedroom.

Finally, we can update the Spare Bedroom area in Settings > Area > Spare Bedroom. Set the temperature sensor to the only available item, the sensor we set in the previous steps.

Choose the area's newly-defined temperature sensor

At this point, whenever we add the Area card to a dashboard, Home Assistant displays our newly-created temperature sensor on top of it.

Area displaying its temperature

You can use this approach for every State. Check them, and I'm sure you'll get new ideas. For example, every automation has a last_triggered timestamp attribute.

To go further:


Originally published at A Java Geek on May 18th, 2025

Top comments (3)

Collapse
 
youngfra profile image
Fraser Young

Thank you so much for detailing the steps for creating a temperature sensor from a device’s state in Home Assistant! Your clear YAML example and explanation of matching entities and attributes saved me so much time. The screenshots also made it easy to follow along—really appreciate it!

Collapse
 
dotallio profile image
Dotallio

This is super useful, especially the bit about reusing the approach for any attribute - I've definitely run into the same issue with other integrations. Have you tried templating other device state attributes for more automations?

Collapse
 
profilepicpro profile image
Profile Pic Pro

Highly recommend

👋 Kindness is contagious

Explore this insightful write-up embraced by the inclusive DEV Community. Tech enthusiasts of all skill levels can contribute insights and expand our shared knowledge.

Spreading a simple "thank you" uplifts creators—let them know your thoughts in the discussion below!

At DEV, collaborative learning fuels growth and forges stronger connections. If this piece resonated with you, a brief note of thanks goes a long way.

Okay