@autorunify/capacitor-nrfmesh 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -568,6 +568,7 @@ addListener(event: 'node', callback: (e: OnNodeChangeEvent) => void) => Promise<
568
568
 
569
569
  | Prop | Type |
570
570
  | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
571
+ | **`uuid`** | <code>string</code> |
571
572
  | **`name`** | <code>string</code> |
572
573
  | **`deviceKey`** | <code>string</code> |
573
574
  | **`unicastAddress`** | <code>number</code> |
@@ -103,6 +103,7 @@ class FormatManager {
103
103
  @SuppressLint("RestrictedApi")
104
104
  fun toJSON(node: ProvisionedMeshNode): JSObject {
105
105
  return JSObject().apply {
106
+ put("uuid", node.uuid)
106
107
  put("name", node.nodeName)
107
108
  put("deviceKey", MeshParserUtils.bytesToHex(node.deviceKey, false))
108
109
  put("unicastAddress", node.unicastAddress)
@@ -230,14 +230,17 @@ class MeshManager {
230
230
  }
231
231
  if (unode != null) mesh.unodes.remove(unode)
232
232
 
233
-
234
233
  CoroutineScope(Dispatchers.IO).launch {
235
234
  try {
236
235
  mesh.disconnect()
237
236
  } catch (ex: Exception) {
238
237
  }
239
238
  }
240
- meshNode!!.nodeName = meshNode.unicastAddress.toString(16).padStart(4, '0')
239
+
240
+ meshNode!!.nodeName=meshNode
241
+ .uuid
242
+ .replace("-","")
243
+ .substring(8,20)
241
244
 
242
245
  mesh.async.emit(JSObject().apply {
243
246
  put("completed", true)
package/dist/docs.json CHANGED
@@ -1656,6 +1656,13 @@
1656
1656
  "tags": [],
1657
1657
  "methods": [],
1658
1658
  "properties": [
1659
+ {
1660
+ "name": "uuid",
1661
+ "tags": [],
1662
+ "docs": "",
1663
+ "complexTypes": [],
1664
+ "type": "string"
1665
+ },
1659
1666
  {
1660
1667
  "name": "name",
1661
1668
  "tags": [],
@@ -38,6 +38,7 @@ export interface MeshGroup {
38
38
  addressHex: string;
39
39
  }
40
40
  export interface MeshNode {
41
+ uuid: string;
41
42
  name: string;
42
43
  deviceKey: string;
43
44
  unicastAddress: number;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core'\n\ntype PartialAny<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport type PermissionState = 'denied' | 'granted'\n\nexport type PermissionKey =\n \"android.permission.BLUETOOTH\" |\n \"android.permission.BLUETOOTH_ADMIN\" |\n \"android.permission.ACCESS_COARSE_LOCATION\" |\n \"android.permission.ACCESS_FINE_LOCATION\" |\n \"android.permission.BLUETOOTH_SCAN\" |\n \"android.permission.BLUETOOTH_CONNECT\"\n\n\nexport type Permissions = {\n [key in PermissionKey]: PermissionState;\n}\n\nexport interface BluetoothState {\n enabled: boolean;\n}\n\nexport interface TimeoutOptions {\n timeout?: number\n}\n\nexport interface ConnectionState {\n connected: boolean\n}\n\nexport interface ConnectOptions extends TimeoutOptions {\n address: string;\n}\n\nexport interface NetKey {\n index: number;\n key: string;\n minSecurity: string;\n name: string;\n phase: number;\n timestamp: string;\n oldKey?: string;\n}\n\nexport interface AppKey {\n index: number\n boundNetKey: number\n key: string\n name: string\n}\n\nexport interface MeshGroup {\n name: string\n address: number\n addressHex: string\n}\n\nexport interface MeshNode {\n name: string\n deviceKey: string\n unicastAddress: number\n security: string\n ttl: number\n netkeys: Array<{ index: number, updated: boolean }>\n appkeys: Array<{ index: number, updated: boolean }>\n elements: Array<{\n name: string\n elementAddress: number\n models: Array<{\n modelId: number\n appkeys: Array<number>\n subscriptions: Array<number>\n publication?: number\n }>\n }>\n features?: {\n friend: number\n lowPower: number\n proxy: number\n relay: number\n }\n networkTransmit?: {\n count: number\n interval: number\n steps: number\n }\n}\n\nexport interface OnOffModel {\n state: boolean\n}\n\nexport interface SensorRawValue {\n propertyId: number\n bytes: Array<number>\n}\n\nexport interface SensorModel {\n values: Array<SensorRawValue>\n}\n\nexport interface SensorPropertiesModel {\n properties: Array<number>\n}\n\nexport interface NetKeysResults {\n netkeys: Array<NetKey>\n}\n\nexport interface NetKeyOptions {\n add?: Omit<NetKey, 'index' | 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n del?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n get?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n}\n\nexport interface AppKeysOptions {\n boundNetKey: number\n}\n\nexport interface AppKeysResults {\n appkeys: Array<AppKey>\n}\n\nexport interface AppKeyOptions {\n add?: Partial<Omit<AppKey, 'index' | 'key' | 'name'>>\n del?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n get?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n}\n\nexport interface GroupsResults {\n groups: Array<MeshGroup>\n}\n\nexport interface GroupOptions {\n add?: Omit<MeshGroup, 'name' | 'addressHex'>\n del?: Omit<MeshGroup, 'name' | 'addressHex'>\n get?: Omit<MeshGroup, 'name' | 'addressHex'>\n}\n\nexport interface NodesResults {\n nodes: Array<MeshNode>\n}\n\nexport interface NodeDefaultTTL {\n ttl: number;\n}\n\nexport interface NodeNetworkTransmit {\n count: number\n intervalSteps: number\n}\n\nexport interface NodeNetkey {\n netkeyIndex: number\n}\n\nexport interface NodeNetkeys {\n netkeyIndexes: Array<number>\n}\n\nexport interface NodeAppkey {\n netkeyIndex: number\n appkeyIndex: number\n}\n\nexport interface NodeAppkeys {\n netkeyIndex: number\n appkeyIndexes: Array<number>\n}\n\nexport interface ModelAppkey {\n elementAddress: number;\n modelId: number;\n appkeyIndex: number;\n}\n\nexport interface ModelAppkeys {\n elementAddress: number;\n modelId: number;\n appkeyIndexs: Array<number>;\n}\n\nexport interface HeartbeatPub {\n address: number\n count: number\n period: number\n ttl: number\n netkeyIndex: number\n features: {\n friend: number\n proxy: number\n relay: number\n lowPower: number\n }\n}\n\nexport interface HeartbeatSub {\n srcAddress: number\n dstAddress: number\n period: number\n count: number\n minHops: number\n maxHops: number\n}\n\nexport interface NodeOptions extends TimeoutOptions {\n unicastAddress: number\n get?: Object\n defaultTTL?: { set?: NodeDefaultTTL }\n networkTransmit?: { set?: NodeNetworkTransmit }\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: Omit<NodeNetkeys, 'netkeyIndexes'>\n }\n appkey?: {\n add?: Omit<NodeAppkey, 'netkeyIndex'>\n del?: Omit<NodeAppkey, 'netkeyIndex'>\n get?: Partial<Omit<NodeAppkeys, 'appkeyIndexes'>>\n },\n heartbeat?: {\n pub?: { set?: PartialAny<Omit<HeartbeatPub, 'features'>, 'address' | 'count' | 'netkeyIndex'> }\n sub?: { set?: Omit<HeartbeatSub, 'count' | 'minHops' | 'maxHops'> }\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: Omit<ModelAppkeys, \"appkeyIndexs\">\n }\n}\n\nexport interface NodeResults {\n get?: MeshNode\n defaultTTL?: NodeDefaultTTL\n networkTransmit?: NodeNetworkTransmit\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: NodeNetkeys\n }\n appkey?: {\n add?: NodeAppkey\n del?: NodeAppkey\n get?: NodeAppkeys\n },\n heartbeat?: {\n pub?: HeartbeatPub\n sub?: HeartbeatSub\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: ModelAppkeys\n }\n}\n\nexport interface ModelOptions extends TimeoutOptions {\n elementAddress: number\n appkeyIndex: number\n onoff?: {\n set?: OnOffModel\n },\n sensor?: {\n propertyId?: number\n get?: Omit<SensorModel, 'values'>\n property?: PartialAny<SensorRawValue, 'bytes'>\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface ModelResults {\n onoff?: OnOffModel,\n sensor?: {\n get?: SensorModel\n property?: SensorRawValue\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface MeshDevice {\n address: string\n name: string\n provisioned: boolean\n rssi: number\n uuid?: string\n}\n\nexport interface ScanOptions extends TimeoutOptions {\n filter?: 'all' | 'provisioned' | 'unprovisioned'\n max?: number\n}\n\nexport interface ScanResults {\n devices: Array<MeshDevice>\n}\n\nexport interface IdentifyOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface IdentifyResults {\n numberOfElements: number;\n availableOOBTypes: Array<string>;\n algorithms: number;\n publicKeyType: number;\n staticOobTypes: number;\n outputOobSize: number;\n outputOobActions: number;\n inputOobSize: number;\n inputOobActions: number;\n}\n\nexport interface ProvisionOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface ProvisionResults {\n completed: boolean;\n uuid: string;\n unicastAddress?: number;\n}\n\nexport interface CompositionOptions extends TimeoutOptions {\n unicastAddress: number\n}\n\nexport interface CompositionResults {\n companyIdentifier: string;\n productIdentifier: string;\n productVersion: string;\n nodeFeaturesSupported: {\n relay: boolean;\n proxy: boolean;\n friend: boolean;\n lowPower: boolean;\n };\n elements: Array<{\n name: string;\n elementAddress: number;\n sigModelCount: number;\n vendorModelCount: number;\n location: number;\n models: Array<{\n modelId: number;\n modelName: string;\n boundAppKeyIndexes: Array<number>;\n }>;\n }>;\n}\n\nexport interface OnStateChangeEvent {\n action: 'enabled' | 'connected'\n state: boolean\n}\n\nexport interface OnNodeChangeEvent {\n action: 'del' | 'add' | 'heartbeat'\n unicastAddress: number\n}\n\nexport interface NrfMeshPlugin {\n checkPermissions(): Promise<Permissions>;\n requestPermissions(): Promise<Permissions>;\n isBluetoothEnabled(): Promise<BluetoothState>;\n\n isConnected(): Promise<ConnectionState>;\n connect(options?: ConnectOptions): Promise<void>;\n disconnect(options?: TimeoutOptions): Promise<void>;\n\n export(): Promise<any>\n import(options: any): Promise<void>\n\n netkeys(): Promise<NetKeysResults>\n netkey(options: NetKeyOptions): Promise<NetKey>\n\n appkeys(options?: AppKeysOptions): Promise<AppKeysResults>\n appkey(options: AppKeyOptions): Promise<AppKey>\n\n groups(): Promise<GroupsResults>\n group(options: GroupOptions): Promise<MeshGroup>\n\n nodes(): Promise<NodesResults>\n node(options: NodeOptions): Promise<NodeResults>\n\n model(options: ModelOptions): Promise<ModelResults>\n\n init(): Promise<any>;\n kill(): Promise<void>\n devices(options?: ScanOptions): Promise<ScanResults>;\n identify(options: IdentifyOptions): Promise<IdentifyResults>;\n provision(options: ProvisionOptions): Promise<ProvisionResults>;\n composition(options: CompositionOptions): Promise<CompositionResults>;\n\n addListener(\n event: 'state',\n callback: (e: OnStateChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n addListener(\n event: 'node',\n callback: (e: OnNodeChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n}\n"]}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core'\n\ntype PartialAny<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;\n\nexport type PermissionState = 'denied' | 'granted'\n\nexport type PermissionKey =\n \"android.permission.BLUETOOTH\" |\n \"android.permission.BLUETOOTH_ADMIN\" |\n \"android.permission.ACCESS_COARSE_LOCATION\" |\n \"android.permission.ACCESS_FINE_LOCATION\" |\n \"android.permission.BLUETOOTH_SCAN\" |\n \"android.permission.BLUETOOTH_CONNECT\"\n\n\nexport type Permissions = {\n [key in PermissionKey]: PermissionState;\n}\n\nexport interface BluetoothState {\n enabled: boolean;\n}\n\nexport interface TimeoutOptions {\n timeout?: number\n}\n\nexport interface ConnectionState {\n connected: boolean\n}\n\nexport interface ConnectOptions extends TimeoutOptions {\n address: string;\n}\n\nexport interface NetKey {\n index: number;\n key: string;\n minSecurity: string;\n name: string;\n phase: number;\n timestamp: string;\n oldKey?: string;\n}\n\nexport interface AppKey {\n index: number\n boundNetKey: number\n key: string\n name: string\n}\n\nexport interface MeshGroup {\n name: string\n address: number\n addressHex: string\n}\n\nexport interface MeshNode {\n uuid: string\n name: string\n deviceKey: string\n unicastAddress: number\n security: string\n ttl: number\n netkeys: Array<{ index: number, updated: boolean }>\n appkeys: Array<{ index: number, updated: boolean }>\n elements: Array<{\n name: string\n elementAddress: number\n models: Array<{\n modelId: number\n appkeys: Array<number>\n subscriptions: Array<number>\n publication?: number\n }>\n }>\n features?: {\n friend: number\n lowPower: number\n proxy: number\n relay: number\n }\n networkTransmit?: {\n count: number\n interval: number\n steps: number\n }\n}\n\nexport interface OnOffModel {\n state: boolean\n}\n\nexport interface SensorRawValue {\n propertyId: number\n bytes: Array<number>\n}\n\nexport interface SensorModel {\n values: Array<SensorRawValue>\n}\n\nexport interface SensorPropertiesModel {\n properties: Array<number>\n}\n\nexport interface NetKeysResults {\n netkeys: Array<NetKey>\n}\n\nexport interface NetKeyOptions {\n add?: Omit<NetKey, 'index' | 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n del?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n get?: Omit<NetKey, 'key' | 'minSecurity' | 'name' | 'phase' | 'timestamp' | 'oldKey'>\n}\n\nexport interface AppKeysOptions {\n boundNetKey: number\n}\n\nexport interface AppKeysResults {\n appkeys: Array<AppKey>\n}\n\nexport interface AppKeyOptions {\n add?: Partial<Omit<AppKey, 'index' | 'key' | 'name'>>\n del?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n get?: Omit<AppKey, 'boundNetKey' | 'key' | 'name'>\n}\n\nexport interface GroupsResults {\n groups: Array<MeshGroup>\n}\n\nexport interface GroupOptions {\n add?: Omit<MeshGroup, 'name' | 'addressHex'>\n del?: Omit<MeshGroup, 'name' | 'addressHex'>\n get?: Omit<MeshGroup, 'name' | 'addressHex'>\n}\n\nexport interface NodesResults {\n nodes: Array<MeshNode>\n}\n\nexport interface NodeDefaultTTL {\n ttl: number;\n}\n\nexport interface NodeNetworkTransmit {\n count: number\n intervalSteps: number\n}\n\nexport interface NodeNetkey {\n netkeyIndex: number\n}\n\nexport interface NodeNetkeys {\n netkeyIndexes: Array<number>\n}\n\nexport interface NodeAppkey {\n netkeyIndex: number\n appkeyIndex: number\n}\n\nexport interface NodeAppkeys {\n netkeyIndex: number\n appkeyIndexes: Array<number>\n}\n\nexport interface ModelAppkey {\n elementAddress: number;\n modelId: number;\n appkeyIndex: number;\n}\n\nexport interface ModelAppkeys {\n elementAddress: number;\n modelId: number;\n appkeyIndexs: Array<number>;\n}\n\nexport interface HeartbeatPub {\n address: number\n count: number\n period: number\n ttl: number\n netkeyIndex: number\n features: {\n friend: number\n proxy: number\n relay: number\n lowPower: number\n }\n}\n\nexport interface HeartbeatSub {\n srcAddress: number\n dstAddress: number\n period: number\n count: number\n minHops: number\n maxHops: number\n}\n\nexport interface NodeOptions extends TimeoutOptions {\n unicastAddress: number\n get?: Object\n defaultTTL?: { set?: NodeDefaultTTL }\n networkTransmit?: { set?: NodeNetworkTransmit }\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: Omit<NodeNetkeys, 'netkeyIndexes'>\n }\n appkey?: {\n add?: Omit<NodeAppkey, 'netkeyIndex'>\n del?: Omit<NodeAppkey, 'netkeyIndex'>\n get?: Partial<Omit<NodeAppkeys, 'appkeyIndexes'>>\n },\n heartbeat?: {\n pub?: { set?: PartialAny<Omit<HeartbeatPub, 'features'>, 'address' | 'count' | 'netkeyIndex'> }\n sub?: { set?: Omit<HeartbeatSub, 'count' | 'minHops' | 'maxHops'> }\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: Omit<ModelAppkeys, \"appkeyIndexs\">\n }\n}\n\nexport interface NodeResults {\n get?: MeshNode\n defaultTTL?: NodeDefaultTTL\n networkTransmit?: NodeNetworkTransmit\n netkey?: {\n add?: NodeNetkey\n del?: NodeNetkey\n get?: NodeNetkeys\n }\n appkey?: {\n add?: NodeAppkey\n del?: NodeAppkey\n get?: NodeAppkeys\n },\n heartbeat?: {\n pub?: HeartbeatPub\n sub?: HeartbeatSub\n },\n bind?: {\n add?: ModelAppkey\n del?: ModelAppkey\n get?: ModelAppkeys\n }\n}\n\nexport interface ModelOptions extends TimeoutOptions {\n elementAddress: number\n appkeyIndex: number\n onoff?: {\n set?: OnOffModel\n },\n sensor?: {\n propertyId?: number\n get?: Omit<SensorModel, 'values'>\n property?: PartialAny<SensorRawValue, 'bytes'>\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface ModelResults {\n onoff?: OnOffModel,\n sensor?: {\n get?: SensorModel\n property?: SensorRawValue\n properties?: SensorPropertiesModel\n }\n}\n\nexport interface MeshDevice {\n address: string\n name: string\n provisioned: boolean\n rssi: number\n uuid?: string\n}\n\nexport interface ScanOptions extends TimeoutOptions {\n filter?: 'all' | 'provisioned' | 'unprovisioned'\n max?: number\n}\n\nexport interface ScanResults {\n devices: Array<MeshDevice>\n}\n\nexport interface IdentifyOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface IdentifyResults {\n numberOfElements: number;\n availableOOBTypes: Array<string>;\n algorithms: number;\n publicKeyType: number;\n staticOobTypes: number;\n outputOobSize: number;\n outputOobActions: number;\n inputOobSize: number;\n inputOobActions: number;\n}\n\nexport interface ProvisionOptions extends TimeoutOptions {\n address: string;\n uuid: string;\n}\n\nexport interface ProvisionResults {\n completed: boolean;\n uuid: string;\n unicastAddress?: number;\n}\n\nexport interface CompositionOptions extends TimeoutOptions {\n unicastAddress: number\n}\n\nexport interface CompositionResults {\n companyIdentifier: string;\n productIdentifier: string;\n productVersion: string;\n nodeFeaturesSupported: {\n relay: boolean;\n proxy: boolean;\n friend: boolean;\n lowPower: boolean;\n };\n elements: Array<{\n name: string;\n elementAddress: number;\n sigModelCount: number;\n vendorModelCount: number;\n location: number;\n models: Array<{\n modelId: number;\n modelName: string;\n boundAppKeyIndexes: Array<number>;\n }>;\n }>;\n}\n\nexport interface OnStateChangeEvent {\n action: 'enabled' | 'connected'\n state: boolean\n}\n\nexport interface OnNodeChangeEvent {\n action: 'del' | 'add' | 'heartbeat'\n unicastAddress: number\n}\n\nexport interface NrfMeshPlugin {\n checkPermissions(): Promise<Permissions>;\n requestPermissions(): Promise<Permissions>;\n isBluetoothEnabled(): Promise<BluetoothState>;\n\n isConnected(): Promise<ConnectionState>;\n connect(options?: ConnectOptions): Promise<void>;\n disconnect(options?: TimeoutOptions): Promise<void>;\n\n export(): Promise<any>\n import(options: any): Promise<void>\n\n netkeys(): Promise<NetKeysResults>\n netkey(options: NetKeyOptions): Promise<NetKey>\n\n appkeys(options?: AppKeysOptions): Promise<AppKeysResults>\n appkey(options: AppKeyOptions): Promise<AppKey>\n\n groups(): Promise<GroupsResults>\n group(options: GroupOptions): Promise<MeshGroup>\n\n nodes(): Promise<NodesResults>\n node(options: NodeOptions): Promise<NodeResults>\n\n model(options: ModelOptions): Promise<ModelResults>\n\n init(): Promise<any>;\n kill(): Promise<void>\n devices(options?: ScanOptions): Promise<ScanResults>;\n identify(options: IdentifyOptions): Promise<IdentifyResults>;\n provision(options: ProvisionOptions): Promise<ProvisionResults>;\n composition(options: CompositionOptions): Promise<CompositionResults>;\n\n addListener(\n event: 'state',\n callback: (e: OnStateChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n addListener(\n event: 'node',\n callback: (e: OnNodeChangeEvent) => void,\n ): Promise<PluginListenerHandle>;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autorunify/capacitor-nrfmesh",
3
- "version": "0.0.13",
3
+ "version": "0.0.15",
4
4
  "description": "nrf mesh plugin",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",