zigbee-herdsman
Version:
An open source ZigBee gateway solution with node.js.
151 lines (138 loc) • 5.23 kB
text/typescript
import {ClusterId as ZdoClusterId} from "../../../zspec/zdo";
export enum AddressMode {
Bound = 0x00, //Use one or more bound nodes/endpoints, with acknowledgements
Group = 0x01, //Use a pre-defined group address, with acknowledgements
Short = 0x02, //Use a 16-bit network address, with acknowledgements
Ieee = 0x03, //Use a 64-bit IEEE/MAC address, with acknowledgements
Broadcast = 0x04, //Perform a broadcast
NoTransmit = 0x05, //Do not transmit
BoundNoAck = 0x06, //Perform a bound transmission, with no acknowledgements
ShortNoAck = 0x07, //Perform a transmission using a 16-bit network address, with no acknowledgements
IeeeNoAck = 0x08, //Perform a transmission using a 64-bit IEEE/MAC address, with no acknowledgements
BoundNonBlocking = 0x09, //Perform a non-blocking bound transmission, with acknowledgements
BoundNonBlockingNoAck = 10, //Perform a non-blocking bound transmission, with no acknowledgements
}
export enum DeviceType {
Coordinator = 0,
Router = 1,
LegacyRouter = 2,
}
export enum LogLevel {
EMERG = 0,
ALERT = 1,
"CRIT " = 2,
ERROR = 3,
"WARN " = 4,
"NOT " = 5,
"INFO " = 6,
DEBUG = 7,
}
export enum Status {
E_SL_MSG_STATUS_SUCCESS = 0,
E_SL_MSG_STATUS_INCORRECT_PARAMETERS = 1,
E_SL_MSG_STATUS_UNHANDLED_COMMAND = 2,
E_SL_MSG_STATUS_BUSY = 3,
E_SL_MSG_STATUS_STACK_ALREADY_STARTED = 4,
}
export enum ZiGateCommandCode {
GetNetworkState = 0x0009,
RawMode = 0x0002,
SetExtendedPANID = 0x0020,
SetChannelMask = 0x0021,
GetVersion = 0x0010,
Reset = 0x0011,
ErasePersistentData = 0x0012,
RemoveDevice = 0x0026,
RawAPSDataRequest = 0x0530,
GetTimeServer = 0x0017,
SetTimeServer = 0x0016,
PermitJoinStatus = 0x0014,
GetDevicesList = 0x0015,
StartNetwork = 0x0024,
StartNetworkScan = 0x0025,
SetCertification = 0x0019,
// ResetFactoryNew = 0x0013,
OnOff = 0x0092,
OnOffTimed = 0x0093,
AttributeDiscovery = 0x0140,
AttributeRead = 0x0100,
AttributeWrite = 0x0110,
DescriptorComplex = 0x0531,
// zdo
Bind = 0x0030,
UnBind = 0x0031,
NwkAddress = 0x0040,
IEEEAddress = 0x0041,
NodeDescriptor = 0x0042,
SimpleDescriptor = 0x0043,
PowerDescriptor = 0x0044,
ActiveEndpoint = 0x0045,
MatchDescriptor = 0x0046,
// ManagementLeaveRequest = 0x0047, XXX: some non-standard form of LeaveRequest?
PermitJoin = 0x0049,
ManagementNetworkUpdate = 0x004a,
SystemServerDiscovery = 0x004b,
LeaveRequest = 0x004c,
ManagementLQI = 0x004e,
// ManagementRtg = 0x004?,
// ManagementBind = 0x004?,
SetDeviceType = 0x0023,
LED = 0x0018,
SetTXpower = 0x0806,
SetSecurityStateKey = 0x0022,
AddGroup = 0x0060,
}
export const ZDO_REQ_CLUSTER_ID_TO_ZIGATE_COMMAND_ID: Readonly<Partial<Record<ZdoClusterId, ZiGateCommandCode>>> = {
[ ]: ZiGateCommandCode.NwkAddress,
[ ]: ZiGateCommandCode.IEEEAddress,
[ ]: ZiGateCommandCode.NodeDescriptor,
[ ]: ZiGateCommandCode.PowerDescriptor,
[ ]: ZiGateCommandCode.SimpleDescriptor,
[ ]: ZiGateCommandCode.MatchDescriptor,
[ ]: ZiGateCommandCode.ActiveEndpoint,
[ ]: ZiGateCommandCode.SystemServerDiscovery,
[ ]: ZiGateCommandCode.Bind,
[ ]: ZiGateCommandCode.UnBind,
[ ]: ZiGateCommandCode.ManagementLQI,
// [ZdoClusterId.ROUTING_TABLE_REQUEST]: ZiGateCommandCode.ManagementRtg,
// [ZdoClusterId.BINDING_TABLE_REQUEST]: ZiGateCommandCode.ManagementBind,
[ ]: ZiGateCommandCode.LeaveRequest,
[ ]: ZiGateCommandCode.ManagementNetworkUpdate,
[ ]: ZiGateCommandCode.PermitJoin,
};
export enum ZiGateMessageCode {
DeviceAnnounce = 0x004d,
Status = 0x8000,
LOG = 0x8001,
DataIndication = 0x8002,
NodeClusterList = 0x8003,
NodeAttributeList = 0x8004,
NodeCommandIDList = 0x8005,
SimpleDescriptorResponse = 0x8043,
NetworkState = 0x8009,
VersionList = 0x8010,
APSDataACK = 0x8011,
APSDataConfirm = 0x8012,
APSDataConfirmFailed = 0x8702,
NetworkJoined = 0x8024,
LeaveIndication = 0x8048,
RouterDiscoveryConfirm = 0x8701,
PermitJoinStatus = 0x8014,
GetTimeServer = 0x8017,
ManagementLQIResponse = 0x804e,
ManagementLeaveResponse = 0x8047,
PDMEvent = 0x8035,
PDMLoaded = 0x0302,
RestartNonFactoryNew = 0x8006,
RestartFactoryNew = 0x8007,
ExtendedStatusCallBack = 0x9999,
AddGroupResponse = 0x8060,
}
// biome-ignore lint/suspicious/noExplicitAny: API
export type ZiGateObjectPayload = any;
export enum ZPSNwkKeyState {
ZPS_ZDO_NO_NETWORK_KEY = 0,
ZPS_ZDO_PRECONFIGURED_LINK_KEY = 1,
ZPS_ZDO_DISTRIBUTED_LINK_KEY = 2,
ZPS_ZDO_PRECONFIGURED_INSTALLATION_CODE = 3,
}