Capacitor adapter for cheap USB scales like Dymo M10
Check full documentation here: opensource.duma.sh/libraries/capacitor/usb-scale
npm install @kduma-autoid/capacitor-usb-scale
npx cap syncenumerateDevices()requestPermission(...)hasPermission(...)open(...)close()addListener('onRead', ...)addListener('onScaleConnected', ...)addListener('onScaleDisconnected', ...)removeAllListeners()- Interfaces
- Enums
enumerateDevices() => Promise<EnumerateDevicesResponse>Get a list of all connected compatible USB scale devices
Returns: Promise<EnumerateDevicesResponse>
requestPermission(options?: RequestPermissionOptions | undefined) => Promise<void>Request permission to access the USB scale device
Throws an error if permission is denied
| Param | Type |
|---|---|
options |
RequestPermissionOptions |
hasPermission(options?: HasPermissionOptions | undefined) => Promise<HasPermissionResponse>Check if app has permission to access the USB scale device
| Param | Type |
|---|---|
options |
HasPermissionOptions |
Returns: Promise<HasPermissionResponse>
open(options?: OpenOptions | undefined) => Promise<void>Open the USB scale device for data reading
Throws an error if the device is not connected or permission is denied
| Param | Type |
|---|---|
options |
OpenOptions |
close() => Promise<void>Close the USB scale device
addListener(eventName: 'onRead', listenerFunc: (event: OnReadEvent) => void) => Promise<PluginListenerHandle>Event emitted when the scale sends data
| Param | Type |
|---|---|
eventName |
'onRead' |
listenerFunc |
(event: OnReadEvent) => void |
Returns: Promise<PluginListenerHandle>
addListener(eventName: 'onScaleConnected', listenerFunc: (event: OnScaleConnectedEvent) => void) => Promise<PluginListenerHandle>Event emitted when a compatible USB scale device is connected.
| Param | Type |
|---|---|
eventName |
'onScaleConnected' |
listenerFunc |
(event: OnScaleConnectedEvent) => void |
Returns: Promise<PluginListenerHandle>
addListener(eventName: 'onScaleDisconnected', listenerFunc: (event: OnScaleDisconnectedEvent) => void) => Promise<PluginListenerHandle>Event emitted when a compatible USB scale device is disconnected.
| Param | Type |
|---|---|
eventName |
'onScaleDisconnected' |
listenerFunc |
(event: OnScaleDisconnectedEvent) => void |
Returns: Promise<PluginListenerHandle>
removeAllListeners() => Promise<void>Removes all listeners
| Prop | Type |
|---|---|
devices |
USBDevice[] |
| Prop | Type |
|---|---|
id |
string |
vid |
number |
pid |
number |
serial |
string |
product |
{ manufacturer: string; name: string; } |
| Prop | Type | Description |
|---|---|---|
device_id |
string |
The device to request permission for. If not specified, the first device will be used. |
| Prop | Type | Description |
|---|---|---|
permission |
boolean |
Whether the app has permission to access the USB scale device |
| Prop | Type | Description |
|---|---|---|
device_id |
string |
The device to check permission for. If not specified, the first device will be used. |
| Prop | Type | Description |
|---|---|---|
device_id |
string |
The device to open. If not specified, the first device will be used. |
| Prop | Type |
|---|---|
remove |
() => Promise<void> |
| Prop | Type |
|---|---|
data |
number[] |
weight |
number |
status |
ScaleStatus |
| Prop | Type |
|---|---|
device |
USBDevice |
| Prop | Type |
|---|---|
device |
USBDevice |
| Members | Value |
|---|---|
Fault |
"fault" |
Zero |
"zero" |
InMotion |
"in-motion" |
Stable |
"stable" |
UnderZero |
"under-zero" |
OverWeight |
"over-weight" |
NeedCalibration |
"need-calibration" |
NeedZeroing |
"need-zeroing" |
Unknown |
"unknown" |
addEventListener(type: "usb_scale_read", listener: (ev: ScaleRead) => any, useCapture?: boolean): void;Emitted when the scale sends data, and there is no callback set by setIncomingWeightDataCallback.
addEventListener(type: "usb_scale_connected", listener: (ev: { device: USBDevice }) => any, useCapture?: boolean): void;Emitted when a compatible USB scale device is connected.
addEventListener(type: "usb_scale_disconnected", listener: (ev: { device: USBDevice }) => any, useCapture?: boolean): void;Emitted when a compatible USB scale device is disconnected.