Ability to enable/disable input_[ boolean | datetime | number | select | text ] conrols

As a software designer, I would like to be able to disable and enable user-interface controls in order to deliver a user experience that will not allow a user to activate/deactive conflicting input_boolean controls or have access to other input_* controls when those types of controls should be visible, but not enabled.

As a simple example, here is a use case from a sprinkler controller.

When a user turns on input_boolean.irr_suspend, the intention is that the system will not allow the activation of irrigation device. To insure that a user is not able to run an irrigation device, input_boolean.irr_valve1 and input_boolean.irr_valve2 should be disabled when input_boolean.irr_suspend is set to on. Conversely, when input_boolean.irr_suspend is set to off, the to valve input_boolean controls should become enabled.

Similar use cases can be imagined for input_text and input_number controls where some user or system action would want to disable those types of controls to prevent a user from changing their values.

Vote for this one if this capability would be useful to your home automation.

In Lovelace you could use the conditional card to hide those controls based on a condition being that the sprinkler controller is active, or whatever. Just a thought. It doesn’t technically disable the controls, but it would hide them from the user

1 Like

Have you got an example by any chance?

Yep, this is a section of my lovelace file that shows a picture only if the sensor is ‘true’.

type: conditional
conditions:
  - entity: sensor.recycling_bin_today
    state: "True"
card:
  type: picture-entity
  entity: sensor.recycling_bin_today
  show_name: false
  show_state: false
  image: /local/images/recycling_bin_today.png
1 Like

I would like to be able to show it in the UI (as an entity), but disabled (no interaction possible). I don’t want to hide it completely. Is there a way to dot that?

You can use the custom Lovelace restriction card. It allows you to lock the control with a pin etc