mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 18:26:35 +00:00
Add possibility to define group id manually for ZHA (#18932)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
This commit is contained in:
parent
325ad6f721
commit
d77ce721e3
@ -383,11 +383,13 @@ export const removeMembersFromGroup = (
|
|||||||
export const addGroup = (
|
export const addGroup = (
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
groupName: string,
|
groupName: string,
|
||||||
|
groupId?: number,
|
||||||
membersToAdd?: ZHAGroupMember[]
|
membersToAdd?: ZHAGroupMember[]
|
||||||
): Promise<ZHAGroup> =>
|
): Promise<ZHAGroup> =>
|
||||||
hass.callWS({
|
hass.callWS({
|
||||||
type: "zha/group/add",
|
type: "zha/group/add",
|
||||||
group_name: groupName,
|
group_name: groupName,
|
||||||
|
group_id: groupId,
|
||||||
members: membersToAdd,
|
members: membersToAdd,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -30,6 +30,8 @@ export class ZHAAddGroupPage extends LitElement {
|
|||||||
|
|
||||||
@state() private _groupName = "";
|
@state() private _groupName = "";
|
||||||
|
|
||||||
|
@state() private _groupId?: string;
|
||||||
|
|
||||||
@query("zha-device-endpoint-data-table", true)
|
@query("zha-device-endpoint-data-table", true)
|
||||||
private _zhaDevicesDataTable!: ZHADeviceEndpointDataTable;
|
private _zhaDevicesDataTable!: ZHADeviceEndpointDataTable;
|
||||||
|
|
||||||
@ -74,6 +76,15 @@ export class ZHAAddGroupPage extends LitElement {
|
|||||||
)}
|
)}
|
||||||
></ha-textfield>
|
></ha-textfield>
|
||||||
|
|
||||||
|
<ha-textfield
|
||||||
|
type="number"
|
||||||
|
.value=${this._groupId}
|
||||||
|
@change=${this._handleGroupIdChange}
|
||||||
|
.placeholder=${this.hass!.localize(
|
||||||
|
"ui.panel.config.zha.groups.group_id_placeholder"
|
||||||
|
)}
|
||||||
|
></ha-textfield>
|
||||||
|
|
||||||
<div class="header">
|
<div class="header">
|
||||||
${this.hass.localize("ui.panel.config.zha.groups.add_members")}
|
${this.hass.localize("ui.panel.config.zha.groups.add_members")}
|
||||||
</div>
|
</div>
|
||||||
@ -130,7 +141,15 @@ export class ZHAAddGroupPage extends LitElement {
|
|||||||
const memberParts = member.split("_");
|
const memberParts = member.split("_");
|
||||||
return { ieee: memberParts[0], endpoint_id: memberParts[1] };
|
return { ieee: memberParts[0], endpoint_id: memberParts[1] };
|
||||||
});
|
});
|
||||||
const group: ZHAGroup = await addGroup(this.hass, this._groupName, members);
|
const groupId = this._groupId
|
||||||
|
? parseInt(this._groupId as string, 10)
|
||||||
|
: undefined;
|
||||||
|
const group: ZHAGroup = await addGroup(
|
||||||
|
this.hass,
|
||||||
|
this._groupName,
|
||||||
|
groupId,
|
||||||
|
members
|
||||||
|
);
|
||||||
this._selectedDevicesToAdd = [];
|
this._selectedDevicesToAdd = [];
|
||||||
this._processingAdd = false;
|
this._processingAdd = false;
|
||||||
this._groupName = "";
|
this._groupName = "";
|
||||||
@ -138,6 +157,10 @@ export class ZHAAddGroupPage extends LitElement {
|
|||||||
navigate(`/config/zha/group/${group.group_id}`, { replace: true });
|
navigate(`/config/zha/group/${group.group_id}`, { replace: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private _handleGroupIdChange(event) {
|
||||||
|
this._groupId = event.target.value;
|
||||||
|
}
|
||||||
|
|
||||||
private _handleNameChange(event) {
|
private _handleNameChange(event) {
|
||||||
this._groupName = event.target.value || "";
|
this._groupName = event.target.value || "";
|
||||||
}
|
}
|
||||||
|
@ -4039,6 +4039,7 @@
|
|||||||
"removing_members": "Removing devices",
|
"removing_members": "Removing devices",
|
||||||
"create_group_details": "Enter the required details to create a new Zigbee group",
|
"create_group_details": "Enter the required details to create a new Zigbee group",
|
||||||
"group_name_placeholder": "Group name",
|
"group_name_placeholder": "Group name",
|
||||||
|
"group_id_placeholder": "Group ID (optional)",
|
||||||
"create_group": "Create group",
|
"create_group": "Create group",
|
||||||
"create": "Create group",
|
"create": "Create group",
|
||||||
"creating_group": "Creating group",
|
"creating_group": "Creating group",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user