I am using these as work-arounds for the time being
Select all entities labelled ‘bedroom’ OR ‘evening_lights’
label_entities_any(['bedroom', 'evening_lights'])
{%- macro label_entities_any(label_list) -%}
{{- label_list | map('label_entities') | sum(start=[]) | sort |join(",") -}}
{%- endmacro -%}
Select all entities labelled ‘bedroom’ AND ‘evening_lights’
label_entities_all(['bedroom', 'evening_lights'])
{%- macro label_entities_all(label_list) -%}
{%- set ns = namespace(entities=[]) -%}
{%- set ns.entities = label_entities(label_list.pop(0)) -%}
{%- for l in label_list -%}
{%- set ns.entities = ns.entities|select('in',label_entities(l)|list ) -%}
{%- endfor -%}
{{- ns.entities|sort|join(",") -}}
{%- endmacro -%}