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}
>
`