Skip to content

Commit 7d63a87

Browse files
KoenkkNerivecIIIEIIDrafteed
authored
fix!: Remove permit_join_timeout (#25082)
Co-authored-by: Nerivec <[email protected]> Co-authored-by: IIIEII <[email protected]> Co-authored-by: Artem Draft <[email protected]>
1 parent f44ea32 commit 7d63a87

File tree

9 files changed

+22
-48
lines changed

9 files changed

+22
-48
lines changed

lib/extension/bridge.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,8 @@ export default class Bridge extends Extension {
692692
channel: networkParams.channel,
693693
},
694694
log_level: logger.getLevel(),
695-
permit_join_timeout: this.zigbee.getPermitJoinTimeout(),
695+
permit_join: this.zigbee.getPermitJoin(),
696+
permit_join_end: this.zigbee.getPermitJoinEnd(),
696697
restart_required: this.restartRequired,
697698
config,
698699
config_schema: settings.schemaJson,

lib/extension/homeassistant.ts

-14
Original file line numberDiff line numberDiff line change
@@ -2014,20 +2014,6 @@ export default class HomeAssistant extends Extension {
20142014
json_attributes_template: '{{ value_json.data.value | tojson }}',
20152015
},
20162016
},
2017-
{
2018-
type: 'sensor',
2019-
object_id: 'permit_join_timeout',
2020-
mockProperties: [],
2021-
discovery_payload: {
2022-
name: 'Permit join timeout',
2023-
device_class: 'duration',
2024-
unit_of_measurement: 's',
2025-
entity_category: 'diagnostic',
2026-
state_topic: true,
2027-
state_topic_postfix: 'info',
2028-
value_template: '{{ iif(value_json.permit_join_timeout is defined, value_json.permit_join_timeout, None) }}',
2029-
},
2030-
},
20312017

20322018
// Switches.
20332019
{

lib/types/api.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,8 @@ export interface Zigbee2MQTTAPI {
169169
channel: number;
170170
};
171171
log_level: 'debug' | 'info' | 'warning' | 'error';
172-
permit_join_timeout: number;
172+
permit_join: boolean;
173+
permit_join_end: number | undefined;
173174
restart_required: boolean;
174175
config: Settings;
175176
config_schema: typeof schemaJson;

lib/zigbee.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -223,8 +223,12 @@ export default class Zigbee {
223223
logger.info('Stopped zigbee-herdsman');
224224
}
225225

226-
getPermitJoinTimeout(): number {
227-
return this.herdsman.getPermitJoinTimeout();
226+
getPermitJoin(): boolean {
227+
return this.herdsman.getPermitJoin();
228+
}
229+
230+
getPermitJoinEnd(): number | undefined {
231+
return this.herdsman.getPermitJoinEnd();
228232
}
229233

230234
async permitJoin(time: number, device?: Device): Promise<void> {

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
"winston-syslog": "^2.7.1",
6161
"winston-transport": "^4.9.0",
6262
"ws": "^8.18.0",
63-
"zigbee-herdsman": "3.0.1",
63+
"zigbee-herdsman": "3.0.2",
6464
"zigbee-herdsman-converters": "21.2.1",
6565
"zigbee2mqtt-frontend": "0.9.0"
6666
},

pnpm-lock.yaml

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/extensions/bridge.test.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,8 @@ describe('Extension: Bridge', () => {
221221
coordinator: {ieee_address: '0x00124b00120144ae', meta: {revision: 20190425, version: 1}, type: 'z-Stack'},
222222
log_level: 'info',
223223
network: {channel: 15, extended_pan_id: 0x001122, pan_id: 5674},
224-
permit_join_timeout: 0,
224+
permit_join: false,
225+
permit_join_end: undefined,
225226
restart_required: false,
226227
version: version.version,
227228
zigbee_herdsman: zhVersion,

test/extensions/homeassistant.test.ts

-20
Original file line numberDiff line numberDiff line change
@@ -2389,26 +2389,6 @@ describe('Extension: HomeAssistant', () => {
23892389
{retain: true, qos: 1},
23902390
);
23912391

2392-
payload = {
2393-
name: 'Permit join timeout',
2394-
object_id: 'zigbee2mqtt_bridge_permit_join_timeout',
2395-
entity_category: 'diagnostic',
2396-
device_class: 'duration',
2397-
unit_of_measurement: 's',
2398-
unique_id: 'bridge_0x00124b00120144ae_permit_join_timeout_zigbee2mqtt',
2399-
state_topic: 'zigbee2mqtt/bridge/info',
2400-
value_template: '{{ iif(value_json.permit_join_timeout is defined, value_json.permit_join_timeout, None) }}',
2401-
origin: origin,
2402-
device: devicePayload,
2403-
availability: [{topic: 'zigbee2mqtt/bridge/state', value_template: '{{ value_json.state }}'}],
2404-
availability_mode: 'all',
2405-
};
2406-
expect(mockMQTT.publishAsync).toHaveBeenCalledWith(
2407-
'homeassistant/sensor/1221051039810110150109113116116_0x00124b00120144ae/permit_join_timeout/config',
2408-
stringify(payload),
2409-
{retain: true, qos: 1},
2410-
);
2411-
24122392
// Switches.
24132393
payload = {
24142394
name: 'Permit join',

test/mocks/zigbeeHerdsman.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1092,7 +1092,8 @@ export const mockController = {
10921092
touchlinkFactoryResetFirst: jest.fn(),
10931093
addInstallCode: jest.fn(),
10941094
permitJoin: jest.fn(),
1095-
getPermitJoinTimeout: jest.fn((): number => 0),
1095+
getPermitJoin: jest.fn((): boolean => false),
1096+
getPermitJoinEnd: jest.fn((): number | undefined => undefined),
10961097
isStopping: jest.fn((): boolean => false),
10971098
backup: jest.fn(),
10981099
coordinatorCheck: jest.fn(),

0 commit comments

Comments
 (0)