UNPKG

ts-bacnet

Version:

The BACnet protocol library written in pure JavaScript.

79 lines 1.86 kB
/// <reference types="node" /> import { ApplicationTag, CharacterStringEncoding, ObjectType, PropertyIdentifier } from "./enum"; export interface BacnetObjectIdentity { type: ObjectType; instance: number; } export interface SetBACnetValueMultiple { objectId: BacnetObjectIdentity; values: SetBACnetValueObject[]; } export interface SetBACnetValueObject { property: ValueAddress; value: SetBacnetValueObjectValue[]; priority: number; } export interface SetBacnetValueObjectValue { type: ApplicationTag; value: number | string | boolean | number[] | string[] | boolean[]; } interface ValueAddress { id: number; index: number; } export interface BacnetDevice { len: number; type: ObjectType.DEVICE; service: number; header: Header; payload: Payload; } export interface Header { func: number; sender: Sender; apduType: number; expectingReply: boolean; confirmedService: boolean; } export interface BACError { [key: string]: string; } export interface Sender { address: string; forwardedFrom: null; } export interface Payload { len: number; deviceId: number; maxApdu: number; segmentation: number; vendorId: number; } export type BufferWithOffset = { buffer: Buffer | Uint8Array; offset: number; }; export interface BACReadMultiple { len: number; values: BACValueGroup[]; } interface BACValueGroup { objectId: BacnetObjectIdentity; values: BACValue[]; } export interface BACValue extends ValueAddress { value: BACSubValue[]; } interface BACSubValue { encoding?: CharacterStringEncoding; type: ApplicationTag; value: number | string; } export interface ReadProperty { objectId: BacnetObjectIdentity; properties: { id: PropertyIdentifier; }[]; } export {}; //# sourceMappingURL=types.d.ts.map