@autorunify/capacitor-nrfmesh 0.0.2 → 0.0.3

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
@@ -44,6 +44,7 @@ npx cap sync
44
44
  * [`node(...)`](#node)
45
45
  * [`model(...)`](#model)
46
46
  * [`init()`](#init)
47
+ * [`kill()`](#kill)
47
48
  * [`devices(...)`](#devices)
48
49
  * [`identify(...)`](#identify)
49
50
  * [`provision(...)`](#provision)
@@ -286,6 +287,15 @@ init() => Promise<any>
286
287
  --------------------
287
288
 
288
289
 
290
+ ### kill()
291
+
292
+ ```typescript
293
+ kill() => Promise<void>
294
+ ```
295
+
296
+ --------------------
297
+
298
+
289
299
  ### devices(...)
290
300
 
291
301
  ```typescript
@@ -24,7 +24,7 @@ apply plugin: 'org.jetbrains.kotlin.android'
24
24
 
25
25
  android {
26
26
  namespace = "com.autorunify.capacitor.nrfmesh"
27
- compileSdk = project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
27
+ compileSdkVersion project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 36
28
28
  defaultConfig {
29
29
  minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 24
30
30
  targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 36
@@ -159,6 +159,7 @@ class BleManager {
159
159
  private val notify: NrfMeshPlugin
160
160
  private val mesh: MeshManager
161
161
  private val async: AsyncManager
162
+ private lateinit var context: Context
162
163
 
163
164
  private lateinit var adapter: BluetoothAdapter
164
165
  private lateinit var stateReceiver: StateReceiver
@@ -185,27 +186,17 @@ class BleManager {
185
186
 
186
187
  val manager = context.getSystemService(Context.BLUETOOTH_SERVICE) as BluetoothManager
187
188
  this.adapter = manager.adapter
188
- }
189
+ this.context = context
189
190
 
190
- fun handleOnStart(context: Context) {
191
191
  this.stateReceiver = StateReceiver(this)
192
192
  this.scanReceiver = ScanReceiver(this)
193
+ }
193
194
 
195
+ fun handleOnStart(context: Context) {
194
196
 
195
- val filter = IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)
196
- filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED)
197
- filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
198
-
199
- context.registerReceiver(this.stateReceiver, filter)
200
197
  }
201
198
 
202
199
  fun handleOnStop(context: Context) {
203
- try {
204
- context.unregisterReceiver(this.stateReceiver)
205
- } catch (e: IllegalArgumentException) {
206
-
207
- }
208
-
209
200
  this.scan(false)
210
201
 
211
202
  if (isConnected.value!!) {
@@ -247,6 +238,15 @@ class BleManager {
247
238
 
248
239
  fun scan(startScan: Boolean) {
249
240
  if (startScan) {
241
+ try {
242
+ val filter = IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)
243
+ filter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED)
244
+ filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED)
245
+ context.registerReceiver(this.stateReceiver, filter)
246
+ } catch (ex: Exception) {
247
+ }
248
+
249
+
250
250
  val settings = ScanSettings.Builder()
251
251
  .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
252
252
  .setReportDelay(0)
@@ -274,6 +274,11 @@ class BleManager {
274
274
  synchronized(this) {
275
275
  if (!isScanning) return
276
276
  isScanning = false
277
+ try {
278
+ context.unregisterReceiver(this.stateReceiver)
279
+ } catch (ex: Exception) {
280
+ }
281
+
277
282
 
278
283
  val scanner = BluetoothLeScannerCompat.getScanner()
279
284
  scanner.stopScan(scanReceiver)
@@ -47,7 +47,6 @@ import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_NETWORK_TR
47
47
  import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_NETWORK_TRANSMIT_SET
48
48
  import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_SIG_MODEL_APP_GET
49
49
  import no.nordicsemi.android.mesh.opcodes.ConfigMessageOpCodes.CONFIG_VENDOR_MODEL_APP_GET
50
- import no.nordicsemi.android.mesh.sensorutils.DeviceProperty
51
50
  import no.nordicsemi.android.mesh.transport.ConfigAppKeyAdd
52
51
  import no.nordicsemi.android.mesh.transport.ConfigAppKeyDelete
53
52
  import no.nordicsemi.android.mesh.transport.ConfigAppKeyGet
@@ -69,8 +68,6 @@ import no.nordicsemi.android.mesh.transport.ConfigSigModelAppGet
69
68
  import no.nordicsemi.android.mesh.transport.ConfigVendorModelAppGet
70
69
  import no.nordicsemi.android.mesh.transport.GenericOnOffGet
71
70
  import no.nordicsemi.android.mesh.transport.GenericOnOffSet
72
- import no.nordicsemi.android.mesh.transport.SensorSettingGet
73
- import no.nordicsemi.android.mesh.transport.SensorSettingsGet
74
71
  import java.util.UUID
75
72
  import kotlin.random.Random
76
73
 
@@ -448,12 +445,31 @@ class NrfMeshPlugin : Plugin {
448
445
  if (!this.ble.assertAdapter(call)) return
449
446
  if (!this.ble.assertEnabled(call)) return
450
447
 
451
- try {
452
- async.on(call, MESH_NETWORK_INIT)
453
- ble.scan(true)
454
- mesh.init()
455
- } catch (ex: Exception) {
456
- call.reject(ex.message)
448
+ CoroutineScope(Dispatchers.Default).launch {
449
+ try {
450
+ async.on(call, MESH_NETWORK_INIT)
451
+ ble.scan(true)
452
+ mesh.init()
453
+ } catch (ex: Exception) {
454
+ call.reject(ex.message)
455
+ }
456
+ }
457
+ }
458
+
459
+ @PluginMethod
460
+ fun kill(call: PluginCall) {
461
+ if (!this.ble.assertFeature(call)) return
462
+ if (!this.ble.assertAdapter(call)) return
463
+ if (!this.ble.assertEnabled(call)) return
464
+
465
+ CoroutineScope(Dispatchers.Default).launch {
466
+ try {
467
+ ble.disconnect()
468
+ ble.scan(false)
469
+ call.resolve()
470
+ } catch (ex: Exception) {
471
+ call.reject(ex.message)
472
+ }
457
473
  }
458
474
  }
459
475
 
package/dist/docs.json CHANGED
@@ -275,6 +275,16 @@
275
275
  "complexTypes": [],
276
276
  "slug": "init"
277
277
  },
278
+ {
279
+ "name": "kill",
280
+ "signature": "() => Promise<void>",
281
+ "parameters": [],
282
+ "returns": "Promise<void>",
283
+ "tags": [],
284
+ "docs": "",
285
+ "complexTypes": [],
286
+ "slug": "kill"
287
+ },
278
288
  {
279
289
  "name": "devices",
280
290
  "signature": "(options?: ScanOptions | undefined) => Promise<ScanResults>",
@@ -333,6 +333,7 @@ export interface NrfMeshPlugin {
333
333
  node(options: NodeOptions): Promise<NodeResults>;
334
334
  model(options: ModelOptions): Promise<ModelResults>;
335
335
  init(): Promise<any>;
336
+ kill(): Promise<void>;
336
337
  devices(options?: ScanOptions): Promise<ScanResults>;
337
338
  identify(options: IdentifyOptions): Promise<IdentifyResults>;
338
339
  provision(options: ProvisionOptions): Promise<ProvisionResults>;
@@ -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 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<Omit<SensorRawValue, 'bytes'>>\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}\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?: TimeoutOptions): 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 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 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<Omit<SensorRawValue, 'bytes'>>\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}\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?: TimeoutOptions): 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/dist/esm/web.d.ts CHANGED
@@ -19,6 +19,7 @@ export declare class NrfMeshWeb extends WebPlugin implements NrfMeshPlugin {
19
19
  node(): Promise<NodeResults>;
20
20
  model(): Promise<ModelResults>;
21
21
  init(): Promise<void>;
22
+ kill(): Promise<void>;
22
23
  devices(): Promise<ScanResults>;
23
24
  identify(): Promise<IdentifyResults>;
24
25
  provision(): Promise<ProvisionResults>;
package/dist/esm/web.js CHANGED
@@ -18,6 +18,7 @@ export class NrfMeshWeb extends WebPlugin {
18
18
  async node() { return {}; }
19
19
  async model() { return {}; }
20
20
  async init() { }
21
+ async kill() { }
21
22
  async devices() { return {}; }
22
23
  async identify() { return {}; }
23
24
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,KAAK,CAAC,gBAAgB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC3E,KAAK,CAAC,kBAAkB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC7E,KAAK,CAAC,kBAAkB,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IAEnF,KAAK,CAAC,WAAW,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,OAAO,KAAoB,CAAC;IAClC,KAAK,CAAC,UAAU,KAAoB,CAAC;IAErC,KAAK,CAAC,MAAM,KAAmB,CAAC;IAChC,KAAK,CAAC,MAAM,KAAoB,CAAC;IAEjC,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,MAAM,KAA6B,OAAO,EAAmB,CAAA,CAAC,CAAC;IACrE,KAAK,CAAC,KAAK,KAAyB,OAAO,EAAe,CAAA,CAAC,CAAC;IAE5D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAE/D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAElE,KAAK,CAAC,IAAI,KAAoB,CAAC;IAC/B,KAAK,CAAC,OAAO,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,QAAQ,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAAA,CAAC;IAC5E,KAAK,CAAC,SAAS,KAAgC,OAAO,EAAsB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,WAAW,KAAkC,OAAO,EAAwB,CAAA,CAAC,CAAC;CACrF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n NrfMeshPlugin,\n Permissions,\n BluetoothState,\n ScanResults,\n IdentifyResults,\n ConnectionState,\n ProvisionResults,\n CompositionResults,\n NetKeysResults,\n NetKey,\n AppKeysResults,\n AppKey,\n GroupsResults,\n MeshGroup,\n NodesResults,\n NodeResults,\n ModelResults,\n} from './definitions';\n\nexport class NrfMeshWeb extends WebPlugin implements NrfMeshPlugin {\n async checkPermissions(): Promise<Permissions> { return {} as Permissions }\n async requestPermissions(): Promise<Permissions> { return {} as Permissions }\n async isBluetoothEnabled(): Promise<BluetoothState> { return {} as BluetoothState }\n\n async isConnected(): Promise<ConnectionState> { return {} as ConnectionState }\n async connect(): Promise<void> { }\n async disconnect(): Promise<void> { }\n\n async export(): Promise<any> { }\n async import(): Promise<void> { }\n\n async netkeys(): Promise<NetKeysResults> { return {} as NetKeysResults }\n async netkey(): Promise<NetKey> { return {} as NetKey }\n\n async appkeys(): Promise<AppKeysResults> { return {} as AppKeysResults }\n async appkey(): Promise<AppKey> { return {} as AppKey }\n\n async groups(): Promise<GroupsResults> { return {} as GroupsResults }\n async group(): Promise<MeshGroup> { return {} as MeshGroup }\n\n async nodes(): Promise<NodesResults> { return {} as NodesResults }\n async node(): Promise<NodeResults> { return {} as NodeResults }\n\n async model(): Promise<ModelResults> { return {} as ModelResults }\n\n async init(): Promise<void> { }\n async devices(): Promise<ScanResults> { return {} as ScanResults }\n async identify(): Promise<IdentifyResults> { return {} as IdentifyResults };\n async provision(): Promise<ProvisionResults> { return {} as ProvisionResults }\n async composition(): Promise<CompositionResults> { return {} as CompositionResults }\n}\n"]}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAsB5C,MAAM,OAAO,UAAW,SAAQ,SAAS;IACvC,KAAK,CAAC,gBAAgB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC3E,KAAK,CAAC,kBAAkB,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAC7E,KAAK,CAAC,kBAAkB,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IAEnF,KAAK,CAAC,WAAW,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,OAAO,KAAoB,CAAC;IAClC,KAAK,CAAC,UAAU,KAAoB,CAAC;IAErC,KAAK,CAAC,MAAM,KAAmB,CAAC;IAChC,KAAK,CAAC,MAAM,KAAoB,CAAC;IAEjC,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,OAAO,KAA8B,OAAO,EAAoB,CAAA,CAAC,CAAC;IACxE,KAAK,CAAC,MAAM,KAAsB,OAAO,EAAY,CAAA,CAAC,CAAC;IAEvD,KAAK,CAAC,MAAM,KAA6B,OAAO,EAAmB,CAAA,CAAC,CAAC;IACrE,KAAK,CAAC,KAAK,KAAyB,OAAO,EAAe,CAAA,CAAC,CAAC;IAE5D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAE/D,KAAK,CAAC,KAAK,KAA4B,OAAO,EAAkB,CAAA,CAAC,CAAC;IAElE,KAAK,CAAC,IAAI,KAAoB,CAAC;IAC/B,KAAK,CAAC,IAAI,KAAoB,CAAC;IAC/B,KAAK,CAAC,OAAO,KAA2B,OAAO,EAAiB,CAAA,CAAC,CAAC;IAClE,KAAK,CAAC,QAAQ,KAA+B,OAAO,EAAqB,CAAA,CAAC,CAAC;IAAA,CAAC;IAC5E,KAAK,CAAC,SAAS,KAAgC,OAAO,EAAsB,CAAA,CAAC,CAAC;IAC9E,KAAK,CAAC,WAAW,KAAkC,OAAO,EAAwB,CAAA,CAAC,CAAC;CACrF","sourcesContent":["import { WebPlugin } from '@capacitor/core';\n\nimport type {\n NrfMeshPlugin,\n Permissions,\n BluetoothState,\n ScanResults,\n IdentifyResults,\n ConnectionState,\n ProvisionResults,\n CompositionResults,\n NetKeysResults,\n NetKey,\n AppKeysResults,\n AppKey,\n GroupsResults,\n MeshGroup,\n NodesResults,\n NodeResults,\n ModelResults,\n} from './definitions';\n\nexport class NrfMeshWeb extends WebPlugin implements NrfMeshPlugin {\n async checkPermissions(): Promise<Permissions> { return {} as Permissions }\n async requestPermissions(): Promise<Permissions> { return {} as Permissions }\n async isBluetoothEnabled(): Promise<BluetoothState> { return {} as BluetoothState }\n\n async isConnected(): Promise<ConnectionState> { return {} as ConnectionState }\n async connect(): Promise<void> { }\n async disconnect(): Promise<void> { }\n\n async export(): Promise<any> { }\n async import(): Promise<void> { }\n\n async netkeys(): Promise<NetKeysResults> { return {} as NetKeysResults }\n async netkey(): Promise<NetKey> { return {} as NetKey }\n\n async appkeys(): Promise<AppKeysResults> { return {} as AppKeysResults }\n async appkey(): Promise<AppKey> { return {} as AppKey }\n\n async groups(): Promise<GroupsResults> { return {} as GroupsResults }\n async group(): Promise<MeshGroup> { return {} as MeshGroup }\n\n async nodes(): Promise<NodesResults> { return {} as NodesResults }\n async node(): Promise<NodeResults> { return {} as NodeResults }\n\n async model(): Promise<ModelResults> { return {} as ModelResults }\n\n async init(): Promise<void> { }\n async kill(): Promise<void> { }\n async devices(): Promise<ScanResults> { return {} as ScanResults }\n async identify(): Promise<IdentifyResults> { return {} as IdentifyResults };\n async provision(): Promise<ProvisionResults> { return {} as ProvisionResults }\n async composition(): Promise<CompositionResults> { return {} as CompositionResults }\n}\n"]}
@@ -884,6 +884,7 @@ class NrfMeshWeb extends core.WebPlugin {
884
884
  async node() { return {}; }
885
885
  async model() { return {}; }
886
886
  async init() { }
887
+ async kill() { }
887
888
  async devices() { return {}; }
888
889
  async identify() { return {}; }
889
890
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async kill() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -883,6 +883,7 @@ var capacitorNrfMesh = (function (exports, core) {
883
883
  async node() { return {}; }
884
884
  async model() { return {}; }
885
885
  async init() { }
886
+ async kill() { }
886
887
  async devices() { return {}; }
887
888
  async identify() { return {}; }
888
889
  ;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/sensor.js","esm/index.js","esm/web.js"],"sourcesContent":["export function unsignedToSigned(unsigned, size) {\n if ((unsigned & (1 << (size - 1))) != 0) {\n unsigned = -1 * ((1 << (size - 1)) - (unsigned & ((1 << (size - 1)) - 1)));\n }\n return unsigned;\n}\nexport function signedToUnsigned(signed, size) {\n if (signed < 0) {\n signed = (1 << size) + signed;\n signed &= (1 << size) - 1;\n }\n return signed;\n}\nexport class SensorValue {\n static register(propertyId, cls, ...args) {\n SensorValue.types.set(propertyId, { args, CLS: cls });\n }\n static from(src) {\n if (typeof src === 'number') {\n const TP = SensorValue.types.get(src);\n if (TP)\n return new TP.CLS(src, ...TP.args);\n return new Unknown(src);\n }\n const ins = SensorValue.from(src.propertyId);\n ins.setValue(Uint8Array.from(src.bytes));\n return ins;\n }\n get propertyId() {\n return this._propertyId;\n }\n get value() {\n return this._value;\n }\n constructor(propertyId) {\n this._propertyId = propertyId;\n this._value = null;\n }\n isLittleEndian() {\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const u32a = new Uint32Array(ua);\n u32a[0] = 0x01020304;\n return u8a[0] == 0x01;\n }\n toRawValue() {\n const values = [];\n this.toBytes().forEach(v => values.push(v));\n return {\n propertyId: this.propertyId,\n bytes: values\n };\n }\n}\nSensorValue.types = new Map();\nexport class Bool extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'boolean') {\n this._value = value;\n return;\n }\n if (value.byteLength == 0)\n this._value = false;\n else\n this._value = value[0] == 0x01;\n }\n toBytes() {\n const u8a = new Uint8Array(1);\n u8a[0] = this._value ? 0x01 : 0x00;\n return u8a;\n }\n}\nexport class Percentage8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = unsignedToSigned(value[0], 8) / 2.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 2.0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Temperature extends SensorValue {\n get type() {\n return this._type;\n }\n constructor(propertyId, type) {\n super(propertyId);\n this._type = type || 'Celsius';\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const u8a = value;\n let tval;\n if (u8a.byteLength == 1) {\n tval = unsignedToSigned(u8a[0], 8);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 2.0;\n this._type = 'Celsius';\n }\n else if (u8a.byteLength == 2) {\n tval = unsignedToSigned((u8a[1] << 8) | u8a[0], 16);\n if (tval == 0x8000)\n this._value = null;\n else\n this._value = tval / 100.0;\n this._type = 'Fahrenheit';\n }\n }\n toBytes() {\n const u8a = new Uint8Array(this._type == 'Celsius' ? 1 : 2);\n if (this._type == 'Celsius') {\n const val = parseInt(((this._value || 0) * 2).toString());\n u8a[0] = val & 0xff;\n }\n else {\n const val = parseInt(((this._value || 0) * 100).toString());\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Count extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n if (value.byteLength == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (value.byteLength == 3) {\n this._value |= value[0] << 16;\n this._value |= value[1] << 8;\n this._value |= value[2] << 0;\n }\n }\n toBytes() {\n const m16 = 0xffff;\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(val > m16 ? 3 : 2);\n if (val > m16) {\n u8a[0] = (val >> 16) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 0) & 0xff;\n }\n else {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n return u8a;\n }\n}\nexport class Humidity extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class PerceivedLightness extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class TimeSecond extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n const len = value.byteLength;\n this._value = 0;\n if (len == 1) {\n this._value |= value[0];\n }\n else if (len == 2) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n else if (len == 4) {\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n }\n toBytes() {\n const val = this._value || 0;\n let len = 1;\n if (val > 0xffff)\n len = 2;\n if (val > 0xffffffff)\n len = 4;\n const u8a = new Uint8Array(len);\n if (len == 1) {\n u8a[0] = (val >> 0) & 0xff;\n }\n else if (len == 2) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n }\n else if (len == 4) {\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n }\n return u8a;\n }\n}\nexport class Illuminance extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeHour24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class TimeMillisecond24 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class DateUtc extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (value instanceof Date) {\n this._value = value;\n return;\n }\n let val = 0;\n val |= value[0] << 0;\n val |= value[1] << 8;\n val |= value[2] << 16;\n val *= 86400000;\n this._value = new Date(val);\n }\n toBytes() {\n const time = this._value.getTime();\n const val = parseInt((time / 86400000).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Pressure extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Coefficient extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n if (this.isLittleEndian()) {\n const f32a = new Float32Array(value);\n this._value = f32a[0];\n }\n else {\n const f32a = new Float32Array(value.reverse());\n this._value = f32a[0];\n }\n }\n toBytes() {\n const val = this._value;\n const ua = new ArrayBuffer(4);\n const u8a = new Uint8Array(ua);\n const f32a = new Float32Array(ua);\n f32a[0] = val;\n if (this.isLittleEndian()) {\n return u8a;\n }\n else {\n return u8a.reverse();\n }\n }\n}\nexport class FixedString extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'string') {\n this._value = value;\n return;\n }\n this._value = String.fromCharCode(...value);\n }\n toBytes() {\n const vals = (this._value || '').split('');\n const raws = Uint8Array.from(vals.map(c => c.charCodeAt(0)));\n let flen = raws.byteLength;\n let len = 0;\n if (flen > 0 && flen <= 8) {\n len = 8;\n }\n else if (flen > 8 && flen <= 16) {\n len = 16;\n }\n else if (flen > 16 && flen <= 24) {\n len = 24;\n }\n else if (flen > 24 && flen <= 36) {\n len = 36;\n }\n else if (flen > 36 && flen <= 64) {\n len = 64;\n }\n const u8a = new Uint8Array(len);\n raws.forEach((v, i) => {\n u8a[i] = v;\n });\n return u8a;\n }\n}\nexport class Energy32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= 1000.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 1000).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Power extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= 10.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 10).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class ElectricCurrent extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= 100.0;\n }\n toBytes() {\n const val = parseInt(((this._value || 0) * 100).toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Unknown extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n this._value = new Uint8Array(0);\n }\n setValue(value) {\n this._value = value;\n }\n toBytes() {\n return this._value;\n }\n}\nexport class Uint8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Uint16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n }\n toBytes() {\n const val = parseInt((this._value || 0).toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int8 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value = unsignedToSigned(this._value, 8);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 8);\n const u8a = new Uint8Array(1);\n u8a[0] = (val >> 0) & 0xff;\n return u8a;\n }\n}\nexport class Int16 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int32 extends SensorValue {\n constructor(propertyId) {\n super(propertyId);\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n }\n toBytes() {\n const int = parseInt((this._value || 0).toString());\n const val = signedToUnsigned(int, 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Uint16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Uint24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Uint32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = parseInt(int.toString());\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\nexport class Int16Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value = unsignedToSigned(this._value, 16);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 16);\n const u8a = new Uint8Array(2);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n return u8a;\n }\n}\nexport class Int24Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value = unsignedToSigned(this._value, 24);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 24);\n const u8a = new Uint8Array(3);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n return u8a;\n }\n}\nexport class Int32Value extends SensorValue {\n get exponent() {\n return this._exponent;\n }\n constructor(propertyId, exponent) {\n super(propertyId);\n this._exponent = exponent || 0;\n }\n setValue(value) {\n if (typeof value == 'number') {\n this._value = value;\n return;\n }\n this._value = 0;\n this._value |= value[0] << 0;\n this._value |= value[1] << 8;\n this._value |= value[2] << 16;\n this._value |= value[3] << 24;\n this._value = unsignedToSigned(this._value, 32);\n this._value /= Math.pow(10, this._exponent);\n }\n toBytes() {\n const int = (this._value || 0) * Math.pow(10, this._exponent);\n const val = signedToUnsigned(parseInt(int.toString()), 32);\n const u8a = new Uint8Array(4);\n u8a[0] = (val >> 0) & 0xff;\n u8a[1] = (val >> 8) & 0xff;\n u8a[2] = (val >> 16) & 0xff;\n u8a[3] = (val >> 24) & 0xff;\n return u8a;\n }\n}\n//# sourceMappingURL=sensor.js.map","import { registerPlugin } from '@capacitor/core';\nconst NrfMesh = registerPlugin('NrfMesh', {\n web: () => import('./web').then((m) => new m.NrfMeshWeb()),\n});\nexport * from './definitions';\nexport * from './sensor';\nexport { NrfMesh };\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class NrfMeshWeb extends WebPlugin {\n async checkPermissions() { return {}; }\n async requestPermissions() { return {}; }\n async isBluetoothEnabled() { return {}; }\n async isConnected() { return {}; }\n async connect() { }\n async disconnect() { }\n async export() { }\n async import() { }\n async netkeys() { return {}; }\n async netkey() { return {}; }\n async appkeys() { return {}; }\n async appkey() { return {}; }\n async groups() { return {}; }\n async group() { return {}; }\n async nodes() { return {}; }\n async node() { return {}; }\n async model() { return {}; }\n async init() { }\n async kill() { }\n async devices() { return {}; }\n async identify() { return {}; }\n ;\n async provision() { return {}; }\n async composition() { return {}; }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autorunify/capacitor-nrfmesh",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "nrf mesh plugin",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",
@@ -21,10 +21,10 @@
21
21
  "license": "MIT",
22
22
  "repository": {
23
23
  "type": "git",
24
- "url": "git+https://github.com/autorunify/autorunify-capacitor-nrfmesh.git"
24
+ "url": "git+https://github.com/autorunify/auto-nrfmesh.git"
25
25
  },
26
26
  "bugs": {
27
- "url": "https://github.com/autorunify/autorunify-capacitor-nrfmesh/issues"
27
+ "url": "https://github.com/autorunify/auto-nrfmesh/issues"
28
28
  },
29
29
  "keywords": [
30
30
  "capacitor",