zigbee-herdsman
Version:
An open source ZigBee gateway solution with node.js.
57 lines • 1.58 kB
TypeScript
import DataType from './definition/dataType';
import BuffaloZclDataType from './definition/buffaloZclDataType';
import { TsType as BuffaloTsType } from '../buffalo';
interface Attribute {
ID: number;
name: string;
type: DataType;
manufacturerCode?: number;
}
interface Parameter {
name: string;
type: DataType | BuffaloZclDataType;
}
interface Command {
ID: number;
name: string;
parameters: Parameter[];
response?: number;
}
interface Cluster {
ID: number;
name: string;
manufacturerCode?: number;
attributes: {
[s: string]: Attribute;
};
commands: {
[s: string]: Command;
};
commandsResponse: {
[s: string]: Command;
};
getAttribute: (key: number | string) => Attribute;
hasAttribute: (key: number | string) => boolean;
getCommand: (key: number | string) => Command;
getCommandResponse: (key: number | string) => Command;
}
interface BuffaloZclOptions extends BuffaloTsType.Options {
dataType?: string;
attrId?: number;
}
interface ZclArray {
elementType: DataType | keyof typeof DataType;
elements: BuffaloTsType.Value[];
}
type DataTypeValueType = 'ANALOG' | 'DISCRETE';
declare enum StructuredIndicatorType {
WriteWhole = 0,
Add = 16,
Remove = 32
}
interface StructuredSelector {
indexes?: number[];
indicatorType?: StructuredIndicatorType;
}
export { Cluster, Attribute, Command, Parameter, DataTypeValueType, BuffaloZclOptions, ZclArray, StructuredIndicatorType, StructuredSelector, };
//# sourceMappingURL=tstype.d.ts.map