Add native hub protocol integrations
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||
import { ZhaMapper } from '../../ts/integrations/zha/index.js';
|
||||
|
||||
const snapshot = ZhaMapper.toSnapshot({
|
||||
radio: { path: '/dev/ttyUSB0', radioType: 'znp' },
|
||||
coordinator: { ieee: '00:11:22:33:44:55:66:77', model: 'CC2652' },
|
||||
devices: [{
|
||||
ieee: 'aa:bb:cc:dd:ee:ff:00:11',
|
||||
name: 'Kitchen light',
|
||||
manufacturer: 'IKEA',
|
||||
model: 'TRADFRI bulb',
|
||||
available: true,
|
||||
entities: [{
|
||||
platform: 'light',
|
||||
entityId: 'light.kitchen_light',
|
||||
uniqueId: 'zha_kitchen_light',
|
||||
name: 'Kitchen light',
|
||||
isOn: true,
|
||||
endpointId: 1,
|
||||
clusterId: 6,
|
||||
}],
|
||||
}],
|
||||
});
|
||||
|
||||
tap.test('maps ZHA devices and entities', async () => {
|
||||
const devices = ZhaMapper.toDevices(snapshot);
|
||||
const entities = ZhaMapper.toEntities(snapshot);
|
||||
expect(devices.some((deviceArg) => deviceArg.id === 'zha.device.aa_bb_cc_dd_ee_ff_00_11')).toBeTrue();
|
||||
expect(entities.some((entityArg) => entityArg.id === 'light.kitchen_light' && entityArg.state === 'on')).toBeTrue();
|
||||
});
|
||||
|
||||
export default tap.start();
|
||||
Reference in New Issue
Block a user