Update thread preferred router (#19580)

This commit is contained in:
Bram Kragten 2024-01-31 00:58:03 +01:00 committed by GitHub
parent 528533a2dd
commit 374f5ee1be
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 10 deletions

View File

@ -22,6 +22,7 @@ export interface ThreadDataSet {
network_name: string; network_name: string;
pan_id: string | null; pan_id: string | null;
preferred_border_agent_id: string | null; preferred_border_agent_id: string | null;
preferred_extended_address: string | null;
preferred: boolean; preferred: boolean;
source: string; source: string;
} }
@ -107,10 +108,12 @@ export const setPreferredThreadDataSet = (
export const setPreferredBorderAgent = ( export const setPreferredBorderAgent = (
hass: HomeAssistant, hass: HomeAssistant,
dataset_id: string, dataset_id: string,
border_agent_id: string border_agent_id: string | null,
extended_address: string
): Promise<void> => ): Promise<void> =>
hass.callWS({ hass.callWS({
type: "thread/set_preferred_border_agent_id", type: "thread/set_preferred_border_agent",
dataset_id, dataset_id,
border_agent_id, border_agent_id,
extended_address,
}); });

View File

@ -210,8 +210,8 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) {
<span slot="secondary">${router.server}</span> <span slot="secondary">${router.server}</span>
${showOverflow ${showOverflow
? html`${network.dataset && ? html`${network.dataset &&
router.border_agent_id === router.extended_address ===
network.dataset.preferred_border_agent_id network.dataset.preferred_extended_address
? html`<ha-svg-icon ? html`<ha-svg-icon
.path=${mdiCellphoneKey} .path=${mdiCellphoneKey}
.title=${this.hass.localize( .title=${this.hass.localize(
@ -524,12 +524,12 @@ export class ThreadConfigPanel extends SubscribeMixin(LitElement) {
dataset: ThreadDataSet, dataset: ThreadDataSet,
router: ThreadRouter router: ThreadRouter
) { ) {
const datasetId = dataset.dataset_id; await setPreferredBorderAgent(
const borderAgentId = router.border_agent_id; this.hass,
if (!borderAgentId) { dataset.dataset_id,
return; router.border_agent_id,
} router.extended_address
await setPreferredBorderAgent(this.hass, datasetId, borderAgentId); );
this._refresh(); this._refresh();
} }