Sensor group has senseless on/off?

i have a package file for a radiator TRV that comprises of a number of entities grouped into a lounge_trv group. within that group is a single switch entity. This results in HA card displaying the trv group as on or off depending on switch state. Further HA graph history shows on / off states over time.
this is erroneous because the switch drives the lowpower mode of the TRV device which has nothting to do with the TRV being on or off.

what is HA doing here,how can i stop it, and where is this behaviour documented, please.

Also , if i uncomment the code then i get a slider switch on the card which , when set on, triggers all the automation AND that low power switch.

this is clearly not what i want and ostensibly appears illogical.

I have commented the code out but now I cannot set or cancel low power mode.

sensor:
   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Temperature/8008"
     name: "Lounge Temperature"
     unit_of_measurement: "°C"
     force_update: true
     expire_after: 660

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/TargetTemperature/8008"
     name: "Lounge Target Rcvd"
     unit_of_measurement: "°C"

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Voltage/8008"
     name: "Lounge TRV Voltage"
     unit_of_measurement: V
     force_update: true

   - platform: mqtt
     state_topic: "/energenie/eTRV/Command/ValveState/8008"
     name: "command_valvestate_8008"

   - platform: mqtt
     state_topic: "/energenie/eTRV/Command/Temperature/8008"
     name: "command_temperature_8008"

   - platform: statistics
     name: lounge_etrv_stats
     entity_id: sensor.lounge_temperature
     max_age:
     #minutes: 25

 binary_sensor:
   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV Motor current below expectation"
     value_template: '{{ value_json["Motor current below expectation"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV Motor current always high"
     value_template: '{{ value_json["Motor current always high"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV Motor taking too long"
     value_template: '{{ value_json["Motor taking too long"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV discrepancy between air and pipe sensors"
     value_template: '{{ value_json["discrepancy between air and pipe sensors"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV air sensor out of expected range"
     value_template: '{{ value_json["air sensor out of expected range"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV pipe sensor out of expected range"
     value_template: '{{ value_json["pipe sensor out of expected range"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV Low Power Mode Enabled"
     value_template: '{{ value_json["low power mode is enabled"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV no target temperature has been set by host"
     value_template: '{{ value_json["no target temperature has been set by host"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV valve may be sticking"
     value_template: '{{ value_json["valve may be sticking"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV valve exercise was successful"      value_template: '{{ value_json["valve exercise was successful"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV valve exercise was unsuccessful"
     value_template: '{{ value_json["valve exercise was unsuccessful"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV driver micro has suffered a watchdog reset and needs data refresh"
     value_template: '{{ value_json["driver micro has suffered a watchdog reset and needs data refresh"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV driver micro has suffered a noise reset and needs data refresh"
     value_template: '{{ value_json["driver micro has suffered a noise reset and needs data refresh"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV battery voltage has fallen below 2.2V and valve has been opened"
     value_template: '{{ value_json["battery voltage has fallen below 2p2V and valve has been opened"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV request for heat messaging is enabled"
     value_template: '{{ value_json["request for heat messaging is enabled"] }}'
     payload_on: true
     payload_off: false

   - platform: mqtt
     state_topic: "/energenie/eTRV/Report/Diagnostics/8008"
     name: "Lounge TRV request for heat"
     value_template: '{{ value_json["request for heat"] }}'
     payload_on: true
     payload_off: false

#  switch:
#
#        - platform: mqtt
#          name: "Lounge TRV Low Power Mode"
#          command_topic: "/energenie/eTRV/Command/PowerMode/8008"
#          state_topic: "/energenie/eTRV/Command/PowerMode/8008"
#          payload_on: 1
#          payload_off: 0
#          retain: true

 input_number:
   lounge_temp:
     name: Lounge Temperature Target
     min: 10
     max: 23
     step: 1
     unit_of_measurement: "°C"
     mode: slider
     initial: 18
     icon: mdi:thermometer-lines

 input_select:
   lounge_trv_state:
     name: Lounge TRV Valve State
     options:
       - Closed
       - Normal
       - Open

 automation:
   - alias: Temp slider
     initial_state: true
     hide_entity: true
     trigger:
       platform: state
       entity_id: input_number.lounge_temp
     action:
       service: mqtt.publish
       data_template:
         topic: '/energenie/eTRV/Command/Temperature/8008'
         retain: true
         payload: "{{ states('input_number.lounge_temp') | int }}"

 script:
   send_report_voltage_lounge:
     sequence:
       - service: script.send_trv_command
         data:
           id: '8008'
           command: 'Voltage'

   send_report_diagnostics_lounge:
     sequence:
       - service: script.send_trv_command
         data:
           id: '8008'
           command: 'Diagnostics'

   send_exercise_lounge:
     sequence:
       - service: script.send_trv_command
         data:
           id: '8008'
           command: 'Exercise'

   send_identity_lounge:
     sequence:
       # This is written using the Script Syntax
       - service: script.send_trv_command
         data:
           id: '8008'
           command: 'Identify'

   send_trv_command:
     sequence:
       - service: mqtt.publish
         data_template:
           topic: '/energenie/eTRV/Command/{{command}}/{{id}}'
           payload: 'ON'

 group:
   lounge_trv:
     name: Lounge
     control: hidden
     entities:
       - sensor.lounge_temperature
       - input_number.lounge_temp
       - sensor.lounge_target_rcvd
       - input_select.lounge_trv_state
#            - switch.lounge_trv_low_power_mode
       - script.send_report_diagnostics_lounge
       - script.send_exercise_lounge
       - script.send_identity_lounge
       - script.send_report_voltage_lounge
       - sensor.lounge_trv_voltage

   lounge_diagnostics:
     name: "Lounge"
     control: hidden
     entities:
       - binary_sensor.lounge_trv_motor_current_below_expectation
       - binary_sensor.lounge_trv_motor_current_always_high
       - binary_sensor.lounge_trv_motor_taking_too_long
       - binary_sensor.lounge_trv_discrepancy_between_air_and_pipe_sensors
       - binary_sensor.lounge_trv_air_sensor_out_of_expected_range
       - binary_sensor.lounge_trv_pipe_sensor_out_of_expected_range
       - binary_sensor.lounge_trv_low_power_mode_enabled
       - binary_sensor.lounge_trv_no_target_temperature_has_been_set_by_host
       - binary_sensor.lounge_trv_valve_may_be_sticking
       - binary_sensor.lounge_trv_valve_exercise_was_successful
       - binary_sensor.lounge_trv_valve_exercise_was_unsuccessful
       - binary_sensor.lounge_trv_driver_micro_has_suffered_a_watchdog_reset_and_needs_data_refresh
       - binary_sensor.lounge_trv_driver_micro_has_suffered_a_noise_reset_and_needs_data_refresh
       - binary_sensor.lounge_trv_battery_voltage_has_fallen_below_2_2v_and_valve_has_been_opened
       - binary_sensor.lounge_trv_request_for_heat_messaging_is_enabled
       - binary_sensor.lounge_trv_request_for_heat

Well, no reply for days. I thought I’d caught out the community with this one. Tricky one eh

No, this one is well documented… I’m guessing people are just brushing this off.

Just hide the state toggle for the entities card that’s being created in the UI. show_header_toggle: false

And if you want it to not track history, remove it from recorder or history depending on what your database is.

Hi, thanks for replying.
I just want to pick up on your links if I can,
I looked at the groups docs , but it didnt answer the question,
because the card for my radiator TRV still has off on it despite commenting out the switch (on/off) and there are no other on/offs
??

That’s a more info card that’s heavily modified. What card is that being displayed in? This is the type of information that should have been in your original post.

The more info card is displayed when clicking on the lounge icon on a glance card where lounge is the group as per OP:

glance

entities:
  - entity: group.lounge_trv
  - entity: group.dad_trv
  - entity: group.summer_trv
show_state: false
title: TRVs
type: glance

Ok, so that’s just the standard group more-info card. You can’t modify that. It will always display the state at the top. Because you have no devices that are on/off, it will always be off. Group states only work on on/off or home/away devices as discussed in the group documentation.

But there are no on/off entities in the group? Is there a better config and/or card I should use for my TRVs?

And how do I get something like this ?
Capture

Thanks for helping

What do you want the TRV’s state to be?

It’s erroneous. It doesnt have a “state” as such. It is always “on” if the batteries are in (and not flat). I cannot find a card that looks like the image above. That would suit me as a starter and I can tweak it. But what’s the card - any idea?

The card above is an entities card.

EDIT: Maybe you’re confused on the behavoir of the entities card and a group.

What you posted above is various senors inside the entities card.

What you have is a group. When you place said group into the entities card, you only have the overall group in the entities card. Then you’re opening up the more-information card and expecting it to look like the entities card. this is not the case, that will only be the more entities card for a group.

If you want the look posted above for the heating card for what you have in your group, you need to create a entities card and list out the items in the group without including the group.

Yes I am confused.

Ok, you have clarified and I will look into this and post the solution. Thanks