@pmouli/isy-matter-server
Version:
Service to expose an ISY device as a Matter Border router
23 lines (20 loc) • 1.15 kB
text/typescript
import type { Merge } from '@matter/general';
import 'winston';
import type { Driver } from '../../Definitions/Global/Drivers.js';
import { Family, Insteon } from '../../Definitions/Global/Families.js';
import { ISY, logStringify } from '../../ISY.js';
import { ISYNode } from '../../ISYNode.js';
import type { NodeDef } from '../../Model/NodeDef.js';
import { NodeInfo } from '../../Model/NodeInfo.js';
import { byteToDegree, byteToPct, pctToByte } from '../../Utils.js';
import { DynamicNode } from '../DynamicNode.js';
import { ISYDeviceNode } from '../ISYDeviceNode.js';
// import { InsteonNLS } from './insteonfam'
export class ZigBeeBase<D extends ISYNode.DriverSignatures, C extends ISYNode.CommandSignatures, E extends ISYNode.EventSignatures = {}> extends DynamicNode<Family.ZigBee, D, C, E> {
static override family: Family.ZigBee = Family.ZigBee;
public async getNodeDef(nodeDefId: string): Promise<NodeDef> {
let n = (await this.isy.sendRequest(`zmatter/zigbee/node/${this.address}/def/get?full=true`, { trailingSlash: false })).nodeDefs.nodedef;
//this.logger(`Node is ZigBee. NodeDef: ${logStringify(n)}`);
return n;
}
}