Voice Assistant does not seem to know how to reply to something simple like “What is the temperature in the living room” The sentence seems to be parsed just fine and there is a sensor for it, but the reply is always “Temperature is”. What am I doing wrong?
/edit not sure why images are not being attached
sensor.living_room_temperature
living_room Temperature
69.22 state_class: measurement
unit_of_measurement: °F
device_class: temperature
friendly_name: living_room Temperature
Question: What is the temperature of the living room
intent:
name: HassGetState
slots:
name: temperature
area: living room
details:
name:
name: name
value: Temperature
text: temperature
area:
name: area
value: Living Room
text: living room
targets: {}
match: true
sentence_template: >-
(do you know|tell me|<what_is>) [the [current] (state|value) of] <name>
[<in_area_floor>]
unmatched_slots: {}
source: builtin
The answer alsywa is “Temperature is”
I also tried with "What is the temperature of living_room with the same result
The Living Room Area has the sensor sensor.living_room_temperature as its Temperature in the UI
There is no command in the built-in sentences for your query yet. There can be many temperature sensors in a room and no mechanism to select the correct one. The temperature value can be obtained for a device by specifying its name in the request.
The system does not know whether you want to know the values from a thermometer or the temperature sensor built into the relay. Both can be mapped to the same location and have the same sensor class. There is no general solution.
But you can use custom sentences and create the automation you need.
For example, selecting the coldest sensor in the room.
But having a sensor in the fridge can break the whole logic of use.
I used to use this solution before labels were available. Now I would make a separate group of labels for temperature and use it to get the required values.
Could you please elaborate on how you use labels to get the required values? How can I label a temperature sensor in a room and then use that label so that I could ask, “What is the temperature in the office?” and get the right answer, instead of, “Sorry, I couldn’t understand that.”?
Similar to the example above, only you are not looking for the maximum or minimum value, but among the devices that have the label. |selectattr(‘entity_id’, ‘in’, labels_entities('temp_sensor'))
Unfortunately, I don’t have a complete example ready for temperature, but if you need a reference point, check out this post. The difference is that all the logic for sensors is in the response block, not in the action block.
“Sorry, I couldn’t understand that.”
That’s ok, there are no built-in intents for this task yet.