diff --git a/src/dialogs/zha-device-info-dialog/dialog-zha-device-info.ts b/src/dialogs/zha-device-info-dialog/dialog-zha-device-info.ts index 436386e52e..4f19445622 100644 --- a/src/dialogs/zha-device-info-dialog/dialog-zha-device-info.ts +++ b/src/dialogs/zha-device-info-dialog/dialog-zha-device-info.ts @@ -56,6 +56,7 @@ class DialogZHADeviceInfo extends LitElement { .device=${this._device} @zha-device-removed=${this._onDeviceRemoved} .showEntityDetail=${false} + .showActions="${this._device.device_type !== "Coordinator"}" > `} diff --git a/src/panels/config/zha/zha-device-card.ts b/src/panels/config/zha/zha-device-card.ts index d0250bd816..5205b3cba7 100644 --- a/src/panels/config/zha/zha-device-card.ts +++ b/src/panels/config/zha/zha-device-card.ts @@ -224,13 +224,19 @@ class ZHADeviceCard extends LitElement { ` )} -
- - ${this.hass.localize( - "ui.panel.config.devices.entities.add_entities_lovelace" - )} - -
+ ${ + this.device!.entities && this.device!.entities.length > 0 + ? html` +
+ + ${this.hass.localize( + "ui.panel.config.devices.entities.add_entities_lovelace" + )} + +
+ ` + : "" + } ${ this.showEditableInfo ? html` diff --git a/src/panels/config/zha/zha-device-page.ts b/src/panels/config/zha/zha-device-page.ts index 9aa07a82b2..90cbe8dadc 100755 --- a/src/panels/config/zha/zha-device-page.ts +++ b/src/panels/config/zha/zha-device-page.ts @@ -79,48 +79,53 @@ export class ZHADevicePage extends LitElement { .hass="${this.hass}" .device=${this.device} > - - ${this._selectedCluster - ? html` - - - ` - : ""} - ${this._bindableDevices.length > 0 + ${this.device && this.device.device_type !== "Coordinator" ? html` - - ` - : ""} - ${this.device && this._groups.length > 0 - ? html` - + @zha-cluster-selected="${this._onClusterSelected}" + > + ${this._selectedCluster + ? html` + + + + ` + : ""} + ${this._bindableDevices.length > 0 + ? html` + + ` + : ""} + ${this.device && this._groups.length > 0 + ? html` + + ` + : ""} ` : ""}
@@ -137,14 +142,20 @@ export class ZHADevicePage extends LitElement { private async _fetchData(): Promise { if (this.ieee && this.hass) { this.device = await fetchZHADevice(this.hass, this.ieee); - this._bindableDevices = ( - await fetchBindableDevices(this.hass, this.ieee) - ).sort(sortZHADevices); + this._bindableDevices = + this.device && this.device.device_type !== "Coordinator" + ? (await fetchBindableDevices(this.hass, this.ieee)).sort( + sortZHADevices + ) + : []; } } private async _fetchGroups() { - this._groups = (await fetchGroups(this.hass!)).sort(sortZHAGroups); + this._groups = + this.device && this.device.device_type !== "Coordinator" + ? (await fetchGroups(this.hass!)).sort(sortZHAGroups) + : []; } static get styles(): CSSResult[] { diff --git a/src/panels/config/zha/zha-node.ts b/src/panels/config/zha/zha-node.ts index 2a45b58554..4c47bb3965 100644 --- a/src/panels/config/zha/zha-node.ts +++ b/src/panels/config/zha/zha-node.ts @@ -67,6 +67,7 @@ export class ZHANode extends LitElement { showName showModelInfo .showEntityDetail=${false} + .showActions="${this.device.device_type !== "Coordinator"}" @zha-device-removed=${this._onDeviceRemoved} > `