Hi.

This works fine in the template editor:

{% if states('sensor.apollo_mtr_1_cca750_presence_target_count') | int > 0 %}
  Detected
{% elif is_state('binary_sensor.apollo_msr_2_c7bfe8_radar_zone_1_occupancy', 'on') %}
  Detected
{% elif is_state('binary_sensor.apollo_msr_2_c7bfe8_radar_zone_2_occupancy', 'on') %}
  Detected
{% elif is_state('binary_sensor.apollo_msr_2_c7bfe8_radar_zone_3_occupancy', 'on') %}
  Detected
{% else %}
  Not Detected
{% endif %}

But when I try to create a binary_sensory from it in configuration.yaml, I get “‘binary_sensor’ is undefined”:

template:
  - binary_sensor:
    - name: "Lounge Presence"
      state: >-
        {% if states('sensor.apollo_mtr_1_cca750_presence_target_count') | int > 0 %}
          Detected
        {% elif is_state('binary_sensor.apollo_msr_2_c7bfe8_radar_zone_1_occupancy', 'on') %}
          Detected
        {% elif is_state('binary_sensor.apollo_msr_2_c7bfe8_radar_zone_2_occupancy', 'on') %}
          Detected
        {% elif is_state('binary_sensor.apollo_msr_2_c7bfe8_radar_zone_3_occupancy', 'on') %}
          Detected
        {% else %}
          Not Detected
        {% endif %}
      device_class: presence

I’m probably using incorrect syntax or something. Can anyone help me with this?

You are viewing a single thread.
View all comments View context
1 point

If any of these 4 things happen, set the sensor to “Detected”, otherwise set it to “Not Detected”:

  1. MTR presence target count is greater than 0 (zero)
  2. MSR zone 1 occupancy is “on”
  3. MSR zone 2 occupancy is “on”
  4. MSR zone 3 occupancy is “on”

As I said, this is working correctly in the template editor. The problem is that I can’t make a sensor out of it.

permalink
report
parent
reply
1 point

Okay, but the post being responded to threw an error that certainly seems like a yaml formatting error.

If you simply deleted the “template” portion, and then changed the “binary_sensor” line without correcting the spacing in the lines after that, you’d get this error. Yaml is strict about leading spaces.

permalink
report
parent
reply
1 point

What I did was de-indent the binary_sensor section so it was at the same heirarchy as the template section, like this:

But I realize now that I have to remove the hypen before “binary_sensor”. When I do, I Studio Code Server still shows a couple errors:

It says I’m missing the “entities” and “platform” properties, and that “state” is not an allowed property.

permalink
report
parent
reply
1 point

Move everything back two spaces. You may need a yaml linter. Your problem is just the format from what I’m seeing.

permalink
report
parent
reply

homeassistant

!homeassistant@lemmy.world

Create post

Home Assistant is open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server. Available for free at home-assistant.io

Community stats

  • 425

    Monthly active users

  • 564

    Posts

  • 5.9K

    Comments

Community moderators