diff --git a/src/components/device/ha-devices-picker.ts b/src/components/device/ha-devices-picker.ts
index 688467c2a8..940ce962bb 100644
--- a/src/components/device/ha-devices-picker.ts
+++ b/src/components/device/ha-devices-picker.ts
@@ -3,7 +3,7 @@ import { customElement, property } from "lit/decorators";
import { fireEvent } from "../../common/dom/fire_event";
import { PolymerChangedEvent } from "../../polymer-types";
import { HomeAssistant } from "../../types";
-import "./ha-device-picker";
+import { HaDevicePickerDeviceFilterFunc } from "./ha-device-picker";
@customElement("ha-devices-picker")
class HaDevicesPicker extends LitElement {
@@ -13,6 +13,8 @@ class HaDevicesPicker extends LitElement {
@property() public helper?: string;
+ @property({ type: Boolean }) public disabled?: boolean;
+
@property({ type: Boolean }) public required?: boolean;
/**
@@ -39,6 +41,8 @@ class HaDevicesPicker extends LitElement {
@property({ attribute: "pick-device-label" }) public pickDeviceLabel?: string;
+ @property() public deviceFilter?: HaDevicePickerDeviceFilterFunc;
+
protected render(): TemplateResult {
if (!this.hass) {
return html``;
@@ -53,11 +57,13 @@ class HaDevicesPicker extends LitElement {
allow-custom-entity
.curValue=${entityId}
.hass=${this.hass}
+ .deviceFilter=${this.deviceFilter}
.includeDomains=${this.includeDomains}
.excludeDomains=${this.excludeDomains}
.includeDeviceClasses=${this.includeDeviceClasses}
.value=${entityId}
.label=${this.pickedDeviceLabel}
+ .disabled=${this.disabled}
@value-changed=${this._deviceChanged}
>
@@ -65,12 +71,15 @@ class HaDevicesPicker extends LitElement {
)}
diff --git a/src/components/entity/ha-entities-picker.ts b/src/components/entity/ha-entities-picker.ts
index 063c257c73..039eaa8261 100644
--- a/src/components/entity/ha-entities-picker.ts
+++ b/src/components/entity/ha-entities-picker.ts
@@ -14,6 +14,8 @@ class HaEntitiesPickerLight extends LitElement {
@property({ type: Array }) public value?: string[];
+ @property({ type: Boolean }) public disabled?: boolean;
+
@property({ type: Boolean }) public required?: boolean;
@property() public helper?: string;
@@ -96,6 +98,7 @@ class HaEntitiesPickerLight extends LitElement {
.entityFilter=${this._entityFilter}
.value=${entityId}
.label=${this.pickedEntityLabel}
+ .disabled=${this.disabled}
@value-changed=${this._entityChanged}
>
@@ -103,6 +106,7 @@ class HaEntitiesPickerLight extends LitElement {
)}
diff --git a/src/components/ha-selector/ha-selector-device.ts b/src/components/ha-selector/ha-selector-device.ts
index b6358bf284..3c9c80872b 100644
--- a/src/components/ha-selector/ha-selector-device.ts
+++ b/src/components/ha-selector/ha-selector-device.ts
@@ -66,12 +66,14 @@ export class HaDeviceSelector extends LitElement {
.hass=${this.hass}
.value=${this.value}
.helper=${this.helper}
+ .deviceFilter=${this._filterDevices}
.includeDeviceClasses=${this.selector.device.entity?.device_class
? [this.selector.device.entity.device_class]
: undefined}
.includeDomains=${this.selector.device.entity?.domain
? [this.selector.device.entity.domain]
: undefined}
+ .disabled=${this.disabled}
.required=${this.required}
>
`;
diff --git a/src/components/ha-selector/ha-selector-entity.ts b/src/components/ha-selector/ha-selector-entity.ts
index bffc1acc76..8cb925f5d1 100644
--- a/src/components/ha-selector/ha-selector-entity.ts
+++ b/src/components/ha-selector/ha-selector-entity.ts
@@ -51,9 +51,10 @@ export class HaEntitySelector extends LitElement {
.hass=${this.hass}
.value=${this.value}
.helper=${this.helper}
- .entityFilter=${this._filterEntities}
.includeEntities=${this.selector.entity.include_entities}
.excludeEntities=${this.selector.entity.exclude_entities}
+ .entityFilter=${this._filterEntities}
+ .disabled=${this.disabled}
.required=${this.required}
>
`;