iOS SDK API Document
Version | Modified content | Revised by |
---|---|---|
1.0.0 | Initial access to devices such as Bluetooth scales and girth rulers | Symons |
1.0.1 | Optimize device connection and body fat algorithm | Symons |
1.0.2 | Optimize broadcast scale logic and body fat algorithm to increase skeletal muscle rate | Symons |
1.0.3 | Add new device support, add logging function, modify some model class attributes | Symons |
1.0.4 | Add balance scale support and optimize log function | Symons |
1.0.5 | Add new girth ruler support and fix bugs | Symons |
1.0.6 | Optimize device connection, support 8-electrode devices, and support historical data reporting | Symons |
1.0.7 | Fix mac address parsing error under iOS and add height ruler support | Symons |
1.0.8 | Support broadcast scale switching unit, support Skipping rope, compatible with Tmall Elf equipment | Symons |
1.0.9 | Add support for broadcast heart rate scale, fix the negative number of skipping calories, optimize skipping data analysis, and add skipping ota | Symons |
1.1.0 | Supports watchos, supports some height rulers and scales, supports BLE+WIFI devices, and supports the new 8-electrode algorithm | Symons |
1.2.0 | Support base station skipping | Symons |
1.3.0 | Support TFT Scale,Optimize OTA Speed. | Symons |
Generic interface class
ICDeviceManager(Device manager class)
shared
Get Bluetooth manager singleton object, the SDK interface exists in the form of a singleton
delegate
Responsible for monitoring SDK initialization results, Bluetooth status, device connection status, data upload and other callbacks
initMgr
Initialize the SDK (default configuration), the result will be initialized through the onInitFinish callback. Note: All interfaces can only be called after the SDK is initialized. During the running of the App, it only needs to be initialized once and does not need to be initialized repeatedly.
initMgrWithConfig:
Use the configuration class to initialize the SDK, and the result will be initialized through the onInitFinish callback. Note: All interfaces can only be called after the SDK is initialized. During the running of the App, it only needs to be initialized once and does not need to be initialized repeatedly.
Parameter name | Type | Remarks |
---|---|---|
config | ICDeviceManagerConfig | Configuration information, if you don’t know how to choose, please use the default |
updateUserInfo:
Update user information
Parameter name | Type | Remarks |
---|---|---|
userInfo | ICUserInfo | User Info |
setUserList:
Update user information list
Parameter name | Type | Remarks |
---|---|---|
userlist | NSArray< ICUserInfo* > | User Info |
scanDevice:
Scan the surrounding devices. If scanning is not required, call stopScan to stop scanning, otherwise it will not stop automatically. Note: When Bluetooth is turned off, the scanning interface will not take effect. If the Bluetooth interface is turned off during scanning, scanning will automatically stop. There is no need to call stopScan. Even if Bluetooth is turned on, automatic scanning will not occur.
Parameter name | Type | Remarks |
---|---|---|
delegate | id< ICScanDeviceDelegate > | Scan result callback |
stopScan
Stop scanning
addDevice:callback:
Add device
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICAddDeviceCallBack | The operation callback only tells the developer whether adding the device to the SDK is successful, but not the connection status. The connection status is through the onDeviceConnectionChanged callback. After the addition is successful, the SDK will manage the device connection by itself. |
addDevices:callback:
Add device list (Note: The callback will be as many times as there are devices)
Parameter name | Type | Remarks |
---|---|---|
devices | NSArray< ICDevice * > | Device list |
callback | ICAddDeviceCallBack | The operation callback only tells the developer whether adding the device to the SDK is successful, but not the connection status. The connection status is through the onDeviceConnectionChanged callback. After the addition is successful, the SDK will manage the device connection by itself. |
removeDevice:callback:
Remove device
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICRemoveDeviceCallBack | Operation callback, After the device is removed, if the device is connected, it will be disconnected, and there will be no connection status callback |
removeDevices:callback:
Remove devices
Parameter name | Type | Remarks |
---|---|---|
devices | NSArray< ICDevice * > | Device list |
callback | ICRemoveDeviceCallBack | Operation callback, After the device is removed, if the device is connected, it will be disconnected, and there will be no connection status callback |
upgradeDevice:filePath:mode
Upgrade the device, and the upgrade status is called back through onReceiveUpgradePercent. Note: Not all devices have OTA functionality. If the device is disconnected during the upgrade process, the SDK will automatically reconnect and restart the upgrade process. If Bluetooth is turned off during the upgrade process, the SDK will stop the upgrade process, and the upgrade will not continue after Bluetooth is turned on. The effect is the same as calling the stopUpgradeDevice interface.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
filePath | NSString | Upgrade file path |
mode | ICOTAMode | OTA mode |
stopUpgradeDevice
Stop upgrading device
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
upgradeDevices:filePath:mode
Upgrade the device, and the upgrade status is called back through onReceiveUpgradePercent. Note: Not all devices have OTA functionality. If the device is disconnected during the upgrade process, the SDK will automatically reconnect and restart the upgrade process. If Bluetooth is turned off during the upgrade process, the SDK will stop the upgrade process, and the upgrade will not continue after Bluetooth is turned on. The effect is the same as calling the stopUpgradeDevice interface.
Parameter name | Type | Remarks |
---|---|---|
devices | NSArray< ICDevice * > | Device list |
filePath | NSString | Upgrade file path |
mode | ICOTAMode | OTA mode |
getSettingManager
Get device settings interface
getBodyFatAlgorithmsManager
Get the body fat algorithm interface
isBLEEnable
Whether Bluetooth has been turned on, Note: Please call it after the initialization callback is successful, otherwise it will return NO
version
SDK version
getLogPath
SDK log folder path, only keep the logs of the last 7 days
ICDeviceManagerSettingManager(Device setting)
Responsible for all settings of the device. Note: Only connected devices support settings.
Common settings interface
setUserInfo:userInfo:callback:
Set individual user information for a single device, The main function is that the same app can connect to multiple devices at the same time. Each device needs to use different user information. If it is only a single device, there is no need to call this interface, just use the updateUserInfo interface.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userInfo | ICUserInfo | User info |
callback | ICSettingCallback | Setting callback |
setUserList:userInfos:callback:
Set a separate user information list for a single device, The main function is that the same app can connect to multiple devices at the same time. The devices need to use different user information lists. If it is only a single device, there is no need to call this interface, just use the setUserList interface.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userInfos | NSArray< ICUserInfo* > | User info list |
callback | ICSettingCallback | Setting callback |
readUserInfo:callback:
Read nickname and avatar, Only supported by some devices
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
Weight scale/body fat scale related interfaces
setScaleUnit:unit:callback:
Set body scale unit
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
unit | ICWeightUnit | unit |
callback | ICSettingCallback | Setting callback |
configWifi:mode:ssid:password:callback:
Device network configuration, the network configuration status is called back through onReceiveConfigWifiResult, Note: Only BLE+WIFI dual-mode devices support.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
mode | ICConfigWifiMode | Wifi configuration mode |
ssid | NSString | WIFI SSID |
password | NSString | WIFI Password,If there is no password, pass an empty string |
callback | ICSettingCallback | Setting callback |
setScaleUIItems:items:callback:
Set the items displayed by the device, Note: Only some scales support it.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
items | NSArray< NSNumber * > | Display items |
callback | ICSettingCallback | Setting callback |
setOtherParams:type:param:callback:
Set manufacturer specific parameters, Note: Only some scales support.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
type | NSUInteger | Define according to customer needs |
param | NSObject | Define according to customer needs |
callback | ICSettingCallback | Setting callback |
setDeviceKey:key:callback:
Set the decryption key of the scale, Note: Only some scales support it.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
key | NSString | key |
callback | ICSettingCallback | Setting callback |
sendData:type:userId:obj:callback:
Send data to the scale, Note: Only some scales support.
Note: The same device can only be called once at the same time. You must wait for the previous sending to be completed before calling the next
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
type | ICSendDataType | Data type |
userId | NSUInteger | User ID |
obj | NSObject | data |
callback | ICSettingCallback | Setting callback |
cancelSendData:callback:
Cancel sending data, Note: Only some scales support.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
setCommand:cmd:param:callback:
Send the project settings command, Note: Only some scales support.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
cmd | NSUInteger | Command |
param | NSObject | Param |
callback | ICSettingCallback | Setting callback |
updateUserInfo_W:userInfo:callback:
W scale: Update or add user information
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userInfo | ICUserInfo | User info |
callback | ICSettingCallback | Setting callback |
setCurrentUserInfo_W:userInfo:callback:
W scale: Set current user information
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userInfo | ICUserInfo | User info |
callback | ICSettingCallback | Setting callback |
deleteUser_W:userId:callback:
W scale: Delete user
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userId | NSInteger | User id |
callback | ICSettingCallback | Setting callback |
getUserList_W:callback:
W scale: Get the user list, the user list will be called back from onReceiveUserInfoList
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
startScanWifi_W:callback:
W scale: Initiates scanning of WiFi list, WiFi list will be called back from onReceiveScanWifiInfo_W
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
stopScanWifi_W:callback:
W scale: Stop scanning the WiFi list
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
configWifi_W:ssid:password:method:callback:
W scale: Configure WiFi, the network configuration status will be called back from onReceiveCurrentWifiInfo_W
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
ssid | NSString | WiFi SSID |
password | NSString | WiFi Password |
method | NSInteger | WiFi Encryption Method (method returned by onReceiveScanWifiInfo_W ) |
callback | ICSettingCallback | Setting callback |
setHello_W:enable:callback:
W scale: Set the welcome page when booting
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
enable | BOOL | Is it displayed |
callback | ICSettingCallback | Setting callback |
setPowerMode_W:isNormal:callback:
W scale: Set power mode
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
isNormal | BOOL | Is it normal mode |
callback | ICSettingCallback | Setting callback |
setScreen_W:items:callback:
W scale: Set screen display items Note: 0:Weight 1:Body fat percentage 2:Muscle mass 3:BMI 4:Water percentage 5:Muscle percentage 6:Fat-free body mass 7:Bone mass 8:Protein percentage 9:Visceral fat 10:BMR 11:Body age
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
items | NSArray< NSNumber * > | Display Items |
callback | ICSettingCallback | Setting callback |
wakeupScreen_W:callback:
W scale: Wake up the screen
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
setScreenTime_W:time:callback:
W scale: Set screen display time
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
time | NSInteger | Time (Seconds) |
callback | ICSettingCallback | Setting callback |
bindDevice_W:callback:
W scale: Set the binding. The binding flag will be updated. When scanning, ICScanDeviceInfo.bindStatus
and calling queryBindStatus_W
can show that the device has been bound
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
queryBindStatus_W:callback:
W scale: Query binding status, onReceiveBindState_W
callback binding status
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
reset_W:callback:
W Scale: Reset Scale
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
deleteAllUser_W:callback:
W scale: Delete all user data
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
startUpgrade_W:currentVersion:newVersion:callback:
W scale: Start upgrade
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
currentVersion | NSString | Current version |
newVersion | NSString | New version |
callback | ICSettingCallback | Setting callback |
Circumference/Height ruler related interfaces
setRulerUnit:unit:callback:
Set Circumference/Height ruler unit
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
unit | ICRulerUnit | unit |
callback | ICSettingCallback | Setting callback |
setRulerBodyPartsType:type:callback:
Set the current Circumference ruler body part,Note: Not all Circumference ruler support.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
type | ICRulerBodyPartsType | Body part |
callback | ICSettingCallback | Setting callback |
setRulerMeasureMode:mode:callback:
Set Circumference ruler measurement mode,Note: Not all Circumference ruler support.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
mode | ICRulerMeasureMode | Measure mode |
callback | ICSettingCallback | Setting callback |
Kitchen scale related interfaces
setWeight:weight:callback:
Set the weight to the kitchen scale, unit: mg, Note: Not all kitchen scales support
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
weight | NSInteger | Weight, unit: mg, maximum cannot exceed 65535 mg |
callback | ICSettingCallback | Setting callback |
deleteTareWeight:callback:
Kitchen scale tare function, Note: Not all kitchen scales support it
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
setKitchenScaleUnit:unit:callback:
Set kitchen scale unit
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
unit | ICKitchenScaleUnit | Unit, Note: If the scale does not support this unit, it will not take effect |
callback | ICSettingCallback | Setting callback |
setNutritionFacts:type:value:callback:
Set nutritional value to kitchen scale, Note: Not supported by all kitchen scales
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
type | ICKitchenScaleNutritionFactType | Nutritional type |
value | NSInteger | Nutritional value |
callback | ICSettingCallback | Setting callback |
powerOffKitchenScale:callback:
Set the kitchen scale to power off, Note: Not all kitchen scales support it
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
Skipping rope related interfaces
startSkipMode:mode:param:callback:
Start skipping rope, Note: After calling the interface, if the skipping rope does not rotate, the skipping rope will not really start
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
mode | ICSkipMode | Testing mode |
param | NSInteger | Mode parameter, if it is a timed jump, fill in the time seconds (range: 1-5999), if it is a counted jump, fill in the total number of times (range: 1-9999), the default is 0 for free jumps |
callback | ICSettingCallback | Setting callback |
startSkipExt:param:callback:
Start skipping rope, Note: After calling the interface, if the skipping rope does not rotate, the skipping rope will not really start
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
param | ICSkipParam | Testing param |
callback | ICSettingCallback | Setting callback |
stopSkip:callback:
Stop skipping
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
setSkipLightSetting:lightEffects:mode:callback:
Set the lighting effect of the Skipping rope. Note: Only some Skipping rope supports it.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
lightEffects | NSArray< ICSkipLightSettingData* > | Lighting effect list |
mode | ICSkipLightMode | Lighting effect mode |
callback | ICSettingCallback | Setting callback |
setSkipSoundSetting:config:callback:
Set sound effects for Skipping rope. Note: Only some Skipping rope supports this.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
config | ICSkipSoundSettingData | Sound settings |
callback | ICSettingCallback | Setting callback |
setBPM:type:bpm:callback:
Set BPM for Skipping rope. Note: Only some Skipping rope supports this.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
type | ICBPMType | BPM type |
bpm | int | BPM |
callback | ICSettingCallback | Setting callback |
setVolume:volume:callback:
Set volume for Skipping rope. Note: Only some Skipping rope supports this.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
volume | int | volume: 0-100 |
callback | ICSettingCallback | Setting callback |
setSkipPlayFreq:freq:callback:
Set broadcast frequency for Skipping rope. Note: Only some Skipping rope supports this.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
freq | int | Play frequency, how many times it jumps, it will be broadcast once,fixed to 50, 100, 150, 200 |
callback | ICSettingCallback | Setting callback |
setHRMax:hr:callback:
Set heart rate upper limit for Skipping rope. Note: Only some Skipping rope supports this.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
hr | int | heart rate upper limit |
callback | ICSettingCallback | Setting callback |
setHR:hr:callback:
Set heart rate for Skipping rope. Note: Only some Skipping rope supports this.
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
hr | int | Current heart rate |
callback | ICSettingCallback | Setting callback |
lockStSkip:callback:
Only for base station:
Send preparation
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
queryStAllNode:callback:
Only for base station:
Check online status
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
changeStName:name:callback:
Only for base station:
Change node device broadcast name
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
name | NSString | Broadcast name,Length limited to 6 English characters |
callback | ICSettingCallback | Setting callback |
changeStNo:dstId:stno:callback:
Only for base station:
Change the device’s node number and base station code. Base station replacement and skipping rope addition and replacement are all implemented through this node.
Node number: Each device connected to the network has an ID, such as 1~60. If you want to change the node ID of a device,Then the target node ID is changed to the latest ID, and the original node ID is the current node ID.
Base station number: Each base station has a number. This number is the identification of which jump ropes the base station should be connected to. if The base station number of the skipping rope is inconsistent with the current base station, and the base station will not connect.
| Parameter name | Type | Remarks | | device | NSString | MAC address | | dstId | int | Target node ID | | st_no | int | The base station number to which it belongs (maximum 0x000000~0xFFFFFF) | | callback | ICSettingCallback | Setting callback |
setNickNameInfo:nodeId:nickName:headType:sclass:grade:studentNo:callback:
Only for base station:
Change the nickname of the specified node
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
nodeId | NSUInteger | Node ID |
nickName | NSString | Nickname |
headType | NSUInteger | Avatar serial number |
sclass | NSUInteger | Class |
grade | NSUInteger | Grade |
studentNo | NSUInteger | Student number |
callback | ICSettingCallback | Setting callback |
exitNetwork:callback:
Only for base station:
Disband the base station network
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
removeNodeIds:nodeIds:callback:
Only for base station:
Remove specified node
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
nodeIds | List< Integer > | Node ID list |
callback | ICSettingCallback | Setting callback |
setRootNodeId:matchMode:callback:
Only for base station:
Set root node
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
matchMode | NSUInteger | Base station operating mode |
callback | ICSettingCallback | Setting callback |
setClientNodeId:callback:
Only for base station:
Set client node
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
callback | ICSettingCallback | Setting callback |
bindHRDevice:nodeId:hrDeviceMac:callback:
Only for base station:
Bind heart rate device
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
nodeId | NSUInteger | The node ID that needs to be bound to the heart rate device |
hrDeviceMac | NSString | heart rate device |
callback | ICSettingCallback | Setting callback |
ICBodyFatAlgorithmsManager(Body fat calculation)
Body fat data recalculated, Note: A small number of devices do not support recalculation. The original single recalculation interface has been removed.
reCalcBodyFatWithWeightData:userInfo:
Recalculate user body fat data, Note: Algorithm Type uses the attributes in weightData
Parameter name | Type | Remarks |
---|---|---|
weightData | ICWeightData | Weight data, required: weight_kg, bfa_type, electrode and impedance data attributes |
userInfo | ICUserInfo | User info |
ICDeviceManagerDelegate(SDK status and data callback)
Generic callback
onInitFinish:
SDK initialization completion callback, Note: All interfaces can only be called after the SDK is initialized
Parameter name | Type | Remarks |
---|---|---|
bSuccess | BOOL | Is initialization successful |
onBleState:
Bluetooth change status callback
Parameter name | Type | Remarks |
---|---|---|
state | ICBleState | Bluetooth status |
onDeviceConnectionChanged:state:
Device connection status callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
state | ICDeviceConnectState | Connection status |
onReceiveUpgradePercent:status:percent:
Device upgrade status callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
status | ICUpgradeStatus | Upgrade status |
percent | int | Upgrade progress, range: 0-100 |
onReceiveBattery:battery:ext:
Battery power callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
battery | int | Battery power,range:0-100 |
ext | NSObject | Extended params, if it is a base station Skipping rope, the value of this params represents the node ID, Type: NSNumber |
onReceiveDeviceInfo:deviceInfo:
Device information callback, Note: Not supported by all devices
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
deviceInfo | ICDeviceInfo | 设备信息 |
onReceiveRSSI:rssi:
Device signal strength callback, Note: Not supported by all devices
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
rssi | int | Signal strength |
onReceiveUserInfo:userInfo:
Receive user information reported by the device, competitive Skipping rope are temporarily supported. Note: Not all devices support it
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userInfo | ICUserInfo | User info |
onReceiveUserInfoList:userInfos:
Received the user information list reported by the device. The user information is not complete and only contains part of it, Note: Not all devices support it
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
userInfos | NSArray< ICUserInfo* > | User info list |
onReceiveHR:hr:
Third-party heart rate device data upload, Note: Not all devices support
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
hr | int | Heart rate value |
Weight scale/body fat scale callback
onReceiveWeightData:data:
Weight scale data callback, Note: Some devices do not call back through this interface
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICWeightData | Measurement data |
onReceiveWeightCenterData:data:
Balance data callback, Note: Only supported by some devices
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICWeightCenterData | Measurement Balance data |
onReceiveCoordData:data:
Coordinate data callback, Note: Only some devices support it
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICCoordData | Measurement coordinate data |
onReceiveMeasureStepData:step:data:
Weight scale data callback, Note: Some devices do not call back through this interface, and weight, balance, impedance, and heart rate data are called back step by step (8-electrode scales and VA scales use this interface to call back)
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
step | ICMeasureStep | Current measurement step |
data | NSObject | data, Note: Different steps have different data objects. Please refer to the step type definition |
onReceiveWeightHistoryData:data:
Weight historical data callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICWeightHistoryData | Weight historical data |
onReceiveWeightUnitChanged:unit:
Device weight unit change callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
unit | ICWeightUnit | Device current weight unit |
onReceiveConfigWifiResult:state:
Configure wifi result callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
state | ICConfigWifiState | Configure wifi state |
onReceiveScanWifiInfo_W:ssid:method:rssi:
W scale: Received the scanned WiFi list
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
ssid | NSString | WiFi SSID |
method | NSUInteger | WiFi Encryption Method |
rssi | NSUInteger | Signal |
onReceiveCurrentWifiInfo_W:status:ip:ssid:rssi:
W scale: Receive current WiFi connection information
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
status | NSUInteger | status(0:WiFi not configured, 1:Not connected to WiFi, 2:Connected to WiFi but not connected to server, 3:Connected to server, 4:The WiFi module is not powered on) |
ip | NSString | IP |
ssid | NSString | WiFi SSID |
rssi | NSUInteger | Signal |
onReceiveBindState_W:status:
W scale: Received binding status
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
status | NSUInteger | Binding Status(1:Bound, 0:Unbound) |
Kitchen scale callback
onReceiveKitchenScaleData:data:
Kitchen scale data callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICWeightData | Measurement data |
onReceiveKitchenScaleUnitChanged:unit:
Kitchen scale unit changes
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
unit | ICKitchenScaleUnit | Device Current Kitchen Scale Unit |
Circumference/Height ruler callback
onReceiveRulerData:data:
Circumference/Height ruler data callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICRulerData | Measurement data |
onReceiveRulerUnitChanged:unit:
Circumference/Height ruler unit changes callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
unit | ICRulerUnit | Device Current ruler Unit |
onReceiveRulerMeasureModeChanged:mode:
Circumference ruler measurement mode change callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
mode | ICRulerMeasureMode | Device Current measurement mode |
Skipping rope callback
onReceiveSkipData:data:
Skipping rope data callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICSkipData | Skipping rope data |
onReceiveHistorySkipData:data:
Skipping rope historical data callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
data | ICSkipData | Skipping rope historical data |
onNodeConnectionChanged:nodeId:state:
Only for base station:
Node device connection status callback
Parameter name | Type | Remarks |
---|---|---|
device | ICDevice | Device |
nodeId | int | node ID |
state | ICDeviceConnectState | Connection status |
ICScanDeviceDelegate(Scan result callback interface)
Scan result callback delegate
onScanResult:
Scan result callback
Parameter name | Type | Remarks |
---|---|---|
deviceInfo | ICScanDeviceInfo | Scanned device information |
Model Definition
Model Definition
ICDeviceManagerConfig(Configuration class)
SDK configuration class, used to configure SDK
isShowPowerAlert
When Bluetooth is not turned on, when opening the app, whether the Bluetooth not turned on dialog box pops up (default: YES)
ICDevice(Device class)
Device class
macAddr
Device mac address
ICScanDeviceInfo(Scan device information class)
Scanned device information
name
Broadcast name
type
Device type
communicationType
Device communication method
macAddr
Device mac address
services
Service ID list
rssi
Signal strength (the smaller, the larger, 0: system paired device, -128: wrong signal value)
st_no
Base station number, Note: Only for base station
nodeId
Node ID, Note: Only for base station
bindStatus
Binding Status(0: Unbound, 1: Bound, 2: Query not supported)
ICUserInfo(User information class)
User information class
Most body scale only needs height, age, sex, and weightUnit assignments, most kitchen scale only needs kitchenUnit assignments, and most Circumference/Height ruler only needs rulerUnit and rulerMode assignments
userIndex
User index,default:1
userId
User ID,default:0
nickName
Nickname,default:"iCOMON"
nickNameCS
User name check code,default:0
headTypeSequence
User avatar sequence
headType
User avatar index
lang;
Language,default:1
nodeId
Node ID, Competitive skipping rope/Base Station Skipping rope
sclass
Grade, Competitive skipping rope/Base Station Skipping rope
grade
Class, Competitive skipping rope/Base Station Skipping rope
studentNo
Student ID, Competitive skipping rope/Base Station Skipping rope
height
Height(cm),default:172cm
weight
Weight(kg),default:60.0kg
age
Age,default:24
ICSexType sex
Gender,default:ICSexTypeMale
startWeight
Starting weight(kg),default:50.0kg
argetWeight
Target weight(kg),default:50.0kg
weightDirection
Weight direction, default: 0 weight loss, 1: weight gain
bfaType
Use the body fat algorithm version,default:ICBFATypeWLA01
Most customers don't need to care about this when using it, just use the default value
lockBfaType
Lock the use of body fat algorithm version. After setting, the algorithm version uploaded by the device will not take effect.,default:ICBFATypeWLA01
peopleType
User type,default:ICPeopleTypeNormal
Most algorithms do not have athlete mode, and only a few algorithms do. Therefore, if the body fat rate does not change after changing this parameter, it means that the algorithm does not support athlete mode.
weightUnit
User default weight unit,default:ICWeightUnitKg
rulerUnit
User default Circumference/Height ruler unit,default:ICRulerUnitCM
rulerMode
User default circumference measurement mode,default:ICRulerMeasureModeLength
kitchenUnit
Kitchen scale default units,default:ICKitchenScaleUnitG
bmiStanard
BMI standard,default:ICBMIStandardWHO
enableMeasureImpendence
Whether to enable measuring impedance,default:true, Available only on supported devices
enableMeasureHr
Whether to enable measuring heart rate,default:true, Available only on supported devices
enableMeasureBalance
Whether to enable measuring balance,default:true, Available only on supported devices
enableMeasureGravity
Whether to enable measuring gravity,default:true, Available only on supported devices
enableSmallThing
Whether to enable small object mode,default:true, Available only on supported devices
enableGirth
Whether to enable girth data, default: false
maxRNI
Maximum daily calorie intake, Available only on supported devices
currentRNI
Current daily calorie intake, Available only on supported devices
currentRNIProgress
Current intake progress, Available only on supported devices
ICDeviceInfo(Device information class)
Device information class, not available for all devices, not broadcast devices, only new models of connected devices
mac
Device mac address
model
Device model
sn
Device SN
firmwareVer
Firmware version
hardwareVer
Hardware version
softwareVer
Software version Currently this is not used, please use firmwareVer
manufactureName
Manufacturer information
ICWeightData(Weight data class)
Weight data class
userId
User ID,default:0
isStabilized
Whether data is stable, note: data is unstable, then only weight_kg and weight_lb are valid, unstable data is only for display, do not save.If it is data called back through onReceiveMeasureStepData, use the step parameter in the interface to determine whether to end the measurement.
weight_g
Weight(g)
weight_kg
Weight(kg)
weight_lb
Weight(lb)
weight_st
Weight(st:lb),This field is used with weight_st_lb
weight_st_lb
Weight(st:lb),This field is used with weight_st
precision_kg
kg Weight decimal point, eg: weight_kg=70.12, then precision=2,weight_kg=71.5, then precision_kg=1
precision_lb
lb Weight Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_st_lb
st:lb Weight Decimal point
kg_scale_division
kg Division value
lb_scale_division
lb Division value
temperature
Temperature,unit: Celsius
time
Measurement time stamp (seconds)
isSupportHR
Support heart rate measurement
hr
Heart rate value
bmi
Body mass index BMI (Accuracy: 0.1)
bodyFatPercent
Body fat percentage(Percent, Accuracy: 0.1)
subcutaneousFatPercent
Subcutaneous fat rate(Percent, Accuracy: 0.1)
visceralFat
Visceral fat index(Accuracy: 0.1),Actually, this value is an integer, but some customers use decimal points to express it. For compatibility, decimal points are also used here. Developers can decide whether to use integers according to their own needs
musclePercent
Muscle rate(Percent, Accuracy: 0.1)
bmr
BMR(Basal metabolic rate)(Unit:kcal)
boneMass
Bone weight(Unit:kg,Accuracy: 0.1)
moisturePercent
Moisture content(Percent,Accuracy: 0.1)
physicalAge
Physical age
proteinPercent
Protein rate(Percent, Accuracy: 0.1)
smPercent
Skeletal muscle rate(Percent, Accuracy: 0.1)
bodyScore
Body score
whr
waist-hip ratio
bodyType
Body type
targetWeight
Target weight
weightControl
Weight control
bfmControl
Fat mass control
ffmControl
Lean body weight control
weightStandard
Standard weight
bfmStandard
Standard body fat
bmiStandard
Standard BMI
smmStandard
Standard skeletal muscle mass
ffmStandard
Standard lean body weight
bmrStandard
Standard BMR
bfpStandard
Standard Body fat percentage
bmiMax
BMI, standard maximum value
bmiMin
BMI, standard minimum value
bfmMax
Body fat mass, standard maximum value
bfmMin
Body fat mass, standard minimum value
bfpMax
Body fat percentage, standard maximum value
bfpMin
Body fat percentage, standard minimum value
weightMax
Weight, standard maximum value
weightMin
Weight, standard minimum value
smmMax
Skeletal muscle mass, standard maximum value
smmMin
Skeletal muscle mass, standard minimum value
boneMax
Bone weight, standard maximum value
boneMin
Bone weight, standard minimum value
waterMassMax
Moisture content mass, standard maximum value
waterMassMin
Moisture content mass, standard minimum value
proteinMassMax
Protein mass, standard maximum value
proteinMassMin
Protein mass, standard minimum value
muscleMassMax
Muscle mass, standard maximum value
muscleMassMin
Muscle mass, standard minimum value
bmrMax
BMR, standard maximum value
bmrMin
BMR, standard minimum value
smi
Skeletal muscle mass index
obesityDegree
Degree of obesity
electrode
Number of electrodes, 4 electrodes or 8 electrodes
imp
Both feet impedance (4 electrodes)/whole body impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured,For 4-electrode single-frequency devices, you only need to take imp (most devices fall into this category)
imp2
Both feet impedance (4 electrodes, high frequency)/the impedance of the left hand (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured,For 4-electrode dual-frequency devices, only imp and imp2 need to be taken
imp3
Right-hand impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured
imp4
Left-foot impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured
imp5
Right-foot impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured
extData
Weight extended data (partial data of 8 electrodes is here)
data_calc_type
Data calculation method (0: sdk, 1: device calculation)
bfa_type
Algorithm Type for this body fat data calculation
state
Impedance state
impendenceType
Impedance type
impendenceProperty
Impedance Property
impendences
Impedance list, basically for 8-electrode dual-frequency use
waist
waist(unit:cm, Accuracy:0.1)
chest
chest(unit:cm, Accuracy:0.1)
hip
hip(unit:cm, Accuracy:0.1)
arm
arm(unit:cm, Accuracy:0.1)
thigh
thigh(unit:cm, Accuracy:0.1)
neck
neck(unit:cm, Accuracy:0.1)
ICWeightExtData(Weight data extension class)
Weight data extension class, mainly partial data of 8 electrodes
left_arm
Ratio of left arm fat to standard left arm fat (Unit: %, Accuracy: 0.1)
right_arm
Ratio of right arm fat to standard right arm fat (Unit: %, Accuracy: 0.1)
left_leg
Ratio of left leg fat to standard left leg fat (Unit: %, Accuracy: 0.1)
right_leg
Ratio of right leg fat to standard right leg fat (Unit: %, Accuracy: 0.1)
all_body
Ratio of trunk fat to standard trunk fat (Unit: %, Accuracy: 0.1)
left_arm_kg
Left arm fat mass (Unit: kg, Accuracy: 0.1)
right_arm_kg
Right arm fat mass (Unit: kg, Accuracy: 0.1)
left_leg_kg
Left leg fat mass (Unit: kg, Accuracy: 0.1)
right_leg_kg
Right leg fat mass (Unit: kg, Accuracy: 0.1)
all_body_kg
Trunk arm fat mass (Unit: kg, Accuracy: 0.1)
left_arm_muscle
Ratio of left arm muscle mass to standard left arm muscle mass (Unit: %, Accuracy: 0.1)
right_arm_muscle
Ratio of right arm muscle mass to standard right arm muscle mass (Unit: %, Accuracy: 0.1)
left_leg_muscle
Ratio of left leg muscle mass to standard left leg muscle mass (Unit: %, Accuracy: 0.1)
right_leg_muscle
Ratio of right arm muscle mass to standard right arm muscle mass (Unit: %, Accuracy: 0.1)
all_body_muscle
Ratio of trunk muscle mass to standard trunk muscle mass (Unit: %, Accuracy: 0.1)
left_arm_muscle_kg
Left arm muscle mass (Unit: kg, Accuracy: 0.1)
right_arm_muscle_kg
Right arm muscle mass (Unit: kg, Accuracy: 0.1)
left_leg_muscle_kg
Left leg muscle mass (Unit: kg, Accuracy: 0.1)
right_leg_muscle_kg
Right leg muscle mass (Unit: kg, Accuracy: 0.1)
all_body_muscle_kg
Trunk muscle mass (Unit: kg, Accuracy: 0.1)
ICWeightHistoryData(Weight history data class)
Weight history data class
userId
User ID,default:0
weight_g
Weight(g)
weight_kg
Weight(kg)
weight_lb
Weight(lb)
weight_st
Weight(st:lb),This field is used with weight_st_lb
weight_st_lb
Weight(st:lb),This field is used with weight_st
precision_kg
kg Weight decimal point, eg: weight_kg=70.12, then precision=2,weight_kg=71.5, then precision_kg=1
precision_lb
lb Weight Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_st_lb
st:lb Weight Decimal point
kg_scale_division
kg Division value
lb_scale_division
lb Division value
time
Measurement time stamp (seconds)
hr
Heart rate value
electrode
Number of electrodes, 4 electrodes or 8 electrodes
imp
Both feet impedance (4 electrodes)/whole body impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured,For 4-electrode single-frequency devices, you only need to take imp (most devices fall into this category)
imp2
Both feet impedance (4 electrodes, high frequency)/the impedance of the left hand (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured,For 4-electrode dual-frequency devices, only imp and imp2 need to be taken
imp3
Right-hand impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured
imp4
Left-foot impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured
imp5
Right-foot impedance (8 electrodes) (unit: ohm), if the impedance is equal to 0, it means that the impedance cannot be measured
centerData
Balanced data, some devices have
data_calc_type
Data calculation method (0: sdk, 1: device calculation)
bfa_type
Algorithm Type for this body fat data calculation
impendences
Impedance list, basically for 8-electrode dual-frequency use
impendenceType
Impedance type
impendenceProperty
Impedance Property
ICWeightCenterData(Balance data class)
Balance data class
isStabilized
Whether data is stable, note: data is unstable, then only weight_kg and weight_lb are valid, unstable data is only for display, do not save.
time
Measurement time stamp (seconds)
precision_kg
kg Weight decimal point, eg: weight_kg=70.12, then precision=2,weight_kg=71.5, then precision_kg=1
precision_lb
lb Weight Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_st_lb
st:lb Weight Decimal point
kg_scale_division
kg Division value
lb_scale_division
lb Division value
left_weight_g
Left Weight(g)
right_weight_g
Right Weight(g)
leftPercent
Left weight ratio(%)
rightPercent
Right weight ratio(%)
left_weight_kg
Left Weight(kg)
right_weight_kg
Right weight(kg)
left_weight_lb
Left Weight(lb)
right_weight_lb
Right weight(lb)
left_weight_st
Left Weight(st:lb)
right_weight_st
Right weight(st:lb)
left_weight_st_lb
Left Weight(st:lb)
right_weight_st_lb
Right weight(st:lb)
ICScaleSoundSettingData(Scale voice setting class)
Body Scale voice setting class
soundLanguageCode
Sound language code, Choose from list of supported speech languages.
soundVolume
Volume 0: mute, 1~30: small, 31~70: medium, 71~100: large
soundBroadcastOn
Voice broadcast switch
soundEffectsOn
Sound effect switch
listSoundSupportLanguage
List of supported speech languages
ICRulerData(Circumference/Height ruler data class)
Circumference/Height ruler data class
isStabilized
Whether data is stable, unstable data is only for display, please do not save
distance_in
Distance inch
distance_cm
Distance cm
distance_ft
Distance ft'in, The integer part of ft in the distance ft'in
distance_ft_in
Distance ft'in, The decimal part of in in the distance ft'in
distance
Measuring length (0.1mm)
time
Measurement time stamp (seconds)
partsType
Body Part Type, Some Circumference ruler devices have
precision_in
Inch distance Decimal point, eg :distance_in=70.12, then precision_in=2,distance_in=71.5, then precision_in=1
precision_cm
cm distance Decimal point, eg :distance_cm=70.12, then precision_cm=2, distance_cm=71.5, then precision_cm=1
unit
The measurement unit
mode
The measurement mode
ICSkipFreqData(Skipping frequency data class)
Skipping frequency data class
duration
Lasting time(Unit: s)
skip_count
Times
ICSkipData(Skipping data class)
Skipping data class
isStabilized
Whether data is stable, unstable data is only for display, please do not save
time
Measurement time stamp (seconds)
mode
Skipping mode
setting
Setting skipping mode Spec
elapsed_time
Skipping time
actual_time
Actual usage time of skipping rope,Not all skipping rope is supported
skip_count
Total number of skipping
avg_freq
Average frequency
cur_speed
Current speed, Not available on all devices, currently only available on S2
fastest_freq
Fastest frequency
calories_burned
Calorie consumption, unit: kcal
fat_burn_efficiency
Fat burning efficiency, unit: kcal/hour
most_jump
Most jumps
hr
Heart rate
freqs
Trip rope data,Note: The number may be inconsistent with freq_count. This is normal because freqs cannot save all Trip rope data due to limitations in hardware Flash capacity and transmission rate.
freq_count
Total number of trip ropes, Note: The number may be inconsistent with freq_count. This is normal because freqs cannot save all Trip rope data due to limitations in hardware Flash capacity and transmission rate.
status
Skipping state, Not available on all devices, currently only available on S2
setting_group
Number of groups, Not available on all devices, currently only available on S2
setting_rest_time
Set rest time, Not available on all devices, currently only available on S2
interrupts
Intermittent skipping data, Not available on all devices, currently only available on S2
nodeId
Node ID, Only for base station
battery
Node battery power, Only for base station
nodeInfo
Node information, Only for base station
nodeMac
Node mac address, Only for base station
ICSkipParam(Skipping mode param class)
Skipping mode param class
mode
Skipping mode
param
Skipping param(Intermittent skipping),Single round duration/number of single rounds(S2)
rest_time
Intermittent skipping, Single round rest time
group
Intermittent skipping, Number of groups
matchMode
Competitive skipping competition mode,0: 5-person competition, 1: Team competition
ICSkipInterruptData(Skipping Intermittent data class)
Skipping Intermittent data class
index
Index
rest_time
Rest time
time
Duration
skip_count
Number of skipping ropes
calories_burned
Calorie consumption
avg_freq
Average frequency
freq_count
Total number of trip ropes
ICSkipLightSettingData(Lighting effect setting class)
Lighting effect setting class
r
Red, range:0~255
g
Green, range:0~255
b
Blue, range:0~255
modeValue
Mode value (different modes set, the meaning of this value is different), range: 0~255
ICSkipSoundSettingData(Sound effect settings class)
Sound effect settings class
soundOn
Whether to turn on the voice switch
soundType
Sound type
soundVolume
Volume
fullScoreOn
Full score switch
fullScoreBPM
Full score BPM
soundMode
Sound interval mode
modeParam
Mode param
isAutoStop
Whether to automatically stop playing, YES: after the APP is distributed, the skipping rope will not play the voice, NO: both the skipping rope and the APP will play the voice
ICKitchenScaleData(Kitchen scale data class)
Kitchen scale data class
isStabilized
Whether data is stable, unstable data is only for display, please do not save
value_mg
Value, unit:mg
value_g
Value, unit:G
value_ml
Value, unit:ml
value_ml_milk
Value, unit:ml milk
value_oz
Value, unit:oz
value_lb
Value, unit:lb of lb:oz
value_lb_oz
Value, unit:oz of lb:oz
value_fl_oz
Value, unit:fl.oz
value_fl_oz_uk
Value, unit:fl.oz, uk
value_fl_oz_milk
Value, unit:fl.oz, us
value_fl_oz_milk_uk
Value, unit:fl.oz,uk
time
Measurement time stamp (seconds)
unit
This data unit
precision
Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_g
g, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_ml
ml, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_lboz
oz of lb:oz, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_oz
oz, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_ml_milk
ml milk, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_floz_us
fl.oz, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_floz_uk
fl.oz, uk, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_floz_milk_us
fl.oz, milk us, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
precision_floz_milk_uk
fl.oz, milk uk, Decimal point, eg: weight_lb=70.12, then precision=2,weight_lb=71.5, then precision_lb=1
unitType
Device data unit type, 0: metric, 1: us, 2: uk
isNegative
Whether the value is negative
isTare
Whether to tare mode
Enumeration definition
Enumeration definition
ICBleState
Bluetooth status
Definition | Remarks |
---|---|
ICBleStateUnknown | Unknown state |
ICBleStateUnsupported | Telephone do not support BLE |
ICBleStateUnauthorized | App does not get Bluetooth authorization |
ICBleStatePoweredOff | BLE is turned off |
ICBleStatePoweredOn | BLE is turned on |
ICDeviceConnectState
Device connected status
Definition | Remarks |
---|---|
ICDeviceConnectStateConnected | Connected |
ICDeviceConnectStateDisconnected | Disconnected |
ICDeviceCommunicationType
Device communication method
Definition | Remarks |
---|---|
ICDeviceCommunicationTypeUnknown | Unknown |
ICDeviceCommunicationTypeConnect | Connected |
ICDeviceCommunicationTypeBroadcast | Broadcast |
ICAddDeviceCallBackCode
Add device Callback code
Definition | Remarks |
---|---|
ICAddDeviceCallBackCodeSuccess | Added successfully, It does not mean that the connection is successful |
ICAddDeviceCallBackCodeFailedAndSDKNotInit | Add failed, SDK is not initialized |
ICAddDeviceCallBackCodeFailedAndExist | Add failed, device already exists |
ICAddDeviceCallBackCodeFailedAndDeviceParamError | Add failed, device parameter is wrong |
ICRemoveDeviceCallBackCode
Delete device Callback code
Definition | Remarks |
---|---|
ICRemoveDeviceCallBackCodeSuccess | Delete successfully |
ICRemoveDeviceCallBackCodeFailedAndSDKNotInit | Delete failed, SDK is not initialized |
ICRemoveDeviceCallBackCodeFailedAndNotExist | Delete failed, SDK is not existed |
ICRemoveDeviceCallBackCodeFailedAndDeviceParamError | Delete failed, device parameter is wrong |
ICDeviceType
Device type
Definition | Remarks |
---|---|
ICDeviceTypeUnKnown | Unknown |
ICDeviceTypeWeightScale | Weight scale |
ICDeviceTypeFatScale | Body fat scale |
ICDeviceTypeFatScaleWithTemperature | Body fat scale (with temperature) |
ICDeviceTypeKitchenScale | Kitchen scale |
ICDeviceTypeRuler | Ruler(Circumference/Height ruler) |
ICDeviceTypeBalance | Balance scale |
ICDeviceTypeSkip | Skipping rope |
ICDeviceTypeHR | Heart rate device |
ICDeviceSubType
Device subtype
Definition | Remarks |
---|---|
ICDeviceSubTypeDefault | Unknown |
ICDeviceSubTypeEightElectrode | 8-electrode device |
ICDeviceSubTypeHeight | Height ruler |
ICDeviceSubTypeEightElectrode2 | 8-electrode device 2 |
ICDeviceSubTypeScaleDual | Dual-mode device |
ICDeviceSubTypeLightEffect | Skipping rope with light effect |
ICDeviceSubTypeColor | Color screen scale |
ICDeviceSubTypeSound | Skipping rope with sound |
ICDeviceSubTypeLightAndSound | Skipping rope with light effects and sound |
ICDeviceSubTypeBaseSt | Base station Skipping rope |
ICDeviceSubTypeRopeS2 | iCOMON S2 |
ICDeviceSubTypeNewScale | New scale |
ICSettingCallBackCode
Setting callback code
Definition | Remarks |
---|---|
ICSettingCallBackCodeSuccess | Set successfully |
ICSettingCallBackCodeSDKNotInit | Set failed, SDK is not initialized |
ICSettingCallBackCodeSDKNotStart | Set failed, SDK is not started |
ICSettingCallBackCodeDeviceNotFound | Setup failed, device could not be found or device is not connected, please wait for device connection before setting |
ICSettingCallBackCodeFunctionIsNotSupport | The setting failed, the device does not support this function. |
ICSettingCallBackCodeDeviceDisConnected | Set failed, device disconnected |
ICSettingCallBackCodeInvalidParameter | Setting failed, invalid parameter |
ICSettingCallBackCodeWaitLastTaskOver | Setting failed, please wait for the end of the previous task |
ICSettingCallBackCodeFailed | Set failed |
ICDeviceFunction
Device function support
Definition | Remarks |
---|---|
ICDeviceFunctionWiFi | WIFI function |
ICDeviceFunctionVoiceAssistant | Voice assistant |
ICDeviceFunctionSoundEffect | Sound effects |
ICDeviceFunctionVolume | Volume |
ICDeviceFunctionVoiceLanguage | Voice language |
ICDeviceFunctionSupportUploadBodyfat | The device reports body fat percentage (for internal use, not for external use) |
ICDeviceFunctionRev | reserved |
ICUpgradeStatus
OTA upgrade status
Definition | Remarks |
---|---|
ICUpgradeStatusSuccess | Upgrade successed |
ICUpgradeStatusUpgrading | Upgrading |
ICUpgradeStatusFail | Upgrade failed |
ICUpgradeStatusFailFileInvalid | Upgrade failed, file is invalid |
ICUpgradeStatusFailNotSupport | Upgrade failed, the device does not support upgrade |
ICOTAMode
OTA upgrade mode
Definition | Remarks |
---|---|
ICOTAModeAuto | Automatic mode |
ICOTAMode1 | Mode 1 |
ICOTAMode2 | Mode 2 |
ICOTAMode3 | Mode 3 |
ICConfigWifiMode
Wifi configuration network mode
Definition | Remarks |
---|---|
ICConfigWifiModeDefault | Send ssid and password |
ICConfigWifiModeEnter | Notify the scale that the app enters the configuration network mode and extends the screen-on time. |
ICConfigWifiModeExit | Notify the scale that the app exits the configuration network mode |
ICConfigWifiState
Wifi configuration network state
Definition | Remarks |
---|---|
ICConfigWifiStateSuccess | Network configuration successful |
ICConfigWifiStateWifiConnecting | WIFI connecting |
ICConfigWifiStateServerConnecting | Server connecting |
ICConfigWifiStateWifiConnectFail | Network configuration failed, WIFI connection failed |
ICConfigWifiStateServerConnectFail | Network configuration failed, Server connection failed |
ICConfigWifiStatePasswordFail | Network configuration failed, wrong password |
ICConfigWifiStateFail | Network configuration failed |
ICWeightUnit
Body scale unit
Definition | Remarks |
---|---|
ICWeightUnitKg | Kilogram |
ICWeightUnitLb | Pound |
ICWeightUnitSt | Stone |
ICWeightUnitJin | Catty |
ICRulerUnit
Circumference/Height ruler unit
Definition | Remarks |
---|---|
ICRulerUnitCM | Centimeter |
ICRulerUnitInch | Inch |
ICRulerUnitFtInch | Feet'inches |
ICKitchenScaleUnit
Kitchen scale unit
Definition | Remarks |
---|---|
ICKitchenScaleUnitG | Gram |
ICKitchenScaleUnitMl | Milliliter |
ICKitchenScaleUnitLb | Pound |
ICKitchenScaleUnitOz | Ounce |
ICKitchenScaleUnitMg | Milligram |
ICKitchenScaleUnitMlMilk | Milliliter(milk) |
ICKitchenScaleUnitFlOzWater | Fluid ounces (water) |
ICKitchenScaleUnitFlOzMilk | Fluid ounces (milk) |
ICSexType
Gender
Definition | Remarks |
---|---|
ICSexTypeUnknown | Unknown/Confidential |
ICSexTypeMale | Male |
ICSexTypeFemal | Female |
ICPeopleType
User type
Definition | Remarks |
---|---|
ICPeopleTypeNormal | Normal |
ICPeopleTypeSportman | Athlete |
ICBMIStandard
BMI Standard
Definition | Remarks |
---|---|
ICBMIStandardWHO | WHO |
ICBMIStandardASIA | Asiatic |
ICBMIStandardCN | Chinese |
ICMeasureStep
Data type
Definition | Remarks |
---|---|
ICMeasureStepMeasureWeightData | Measure Weight (ICWeightData) |
ICMeasureStepMeasureCenterData | Measure balance (ICWeightCenterData) |
ICMeasureStepAdcStart | Start measuring impedance |
ICMeasureStepAdcResult | Finish measuring impedance(ICWeightData) |
ICMeasureStepHrStart | Start measuring heart rate |
ICMeasureStepHrResult | Finish measuring heart rate (ICWeightData) |
ICMeasureStepMeasureOver | Finished measurement |
ICKitchenScaleNutritionFactType
Kitchen scale nutrition facts types
Definition | Remarks |
---|---|
ICKitchenScaleNutritionFactTypeCalorie | Calories, The maximum value does not exceed 4294967295 |
ICKitchenScaleNutritionFactTypeTotalCalorie | Total calories, The maximum value does not exceed 4294967295 |
ICKitchenScaleNutritionFactTypeTotalFat | Total fat |
ICKitchenScaleNutritionFactTypeTotalProtein | Total protein |
ICKitchenScaleNutritionFactTypeTotalCarbohydrates | Total carbohydrates |
ICKitchenScaleNutritionFactTypeTotalFiber | Total fat fiber |
ICKitchenScaleNutritionFactTypeTotalCholesterd | Total cholesterol |
ICKitchenScaleNutritionFactTypeTotalSodium | Total sodium content |
ICKitchenScaleNutritionFactTypeTotalSugar | Total sugar content |
ICKitchenScaleNutritionFactTypeFat | Fat |
ICKitchenScaleNutritionFactTypeProtein | Protein |
ICKitchenScaleNutritionFactTypeCarbohydrates | Carbohydrates |
ICKitchenScaleNutritionFactTypeFiber | Dietary fiber |
ICKitchenScaleNutritionFactTypeCholesterd | Cholesterol |
ICKitchenScaleNutritionFactTypeSodium | Sodium content |
ICKitchenScaleNutritionFactTypeSugar | Sugar content |
ICRulerMeasureMode
Circumference ruler measurement mode
Definition | Remarks |
---|---|
ICRulerMeasureModeLength | Length mode |
ICRulerMeasureModeGirth | Girth mode |
ICRulerBodyPartsType
Body part type set by the Circumference ruler
Definition | Remarks |
---|---|
ICRulerPartsTypeShoulder | Shoulder |
ICRulerPartsTypeBicep | Bicep |
ICRulerPartsTypeChest | Chest |
ICRulerPartsTypeWaist | Waist |
ICRulerPartsTypeHip | Hip |
ICRulerPartsTypeThigh | Thigh |
ICRulerPartsTypeCalf | Calf |
ICSkipMode
Skipping rope mode
Definition | Remarks |
---|---|
ICSkipModeFreedom | Free skipping |
ICSkipModeTiming | Timed skipping |
ICSkipModeCount | Countdown skipping |
ICSkipModeInterruptTime | Skipping and resting at fixed intervals |
ICSkipModeInterruptCount | Fixed skipping times at intervals, skipping and resting |
ICSkipStatus
Skipping rope state
Definition | Remarks |
---|---|
ICSkipStatusJumping | Jumping |
ICSkipStatusJumpOver | Skipping ends |
ICSkipStatusRest | Resting |
ICSkipLightMode
Skipping rope lighting effect mode generally supports ICSkipLightModeRPM, other modes may not support it.
Definition | Remarks |
---|---|
ICSkipLightModeNone | None |
ICSkipLightModeRPM | RPM mode |
ICSkipLightModeTimer | Timer mode |
ICSkipLightModeCount | Countdown mode |
ICSkipLightModePercent | Percent mode |
ICSkipLightModeTripRope | Trip rope mode |
ICSkipLightModeMeasuring | Measuring mode |
ICBPMType
bpmType
Definition | Remarks |
---|---|
ICBPMTypeDefault | Default |
ICSkipSoundType
Sound type
Definition | Remarks |
---|---|
ICSkipSoundTypeNone | None |
ICSkipSoundTypeFemale | Standard female voice |
ICSkipSoundTypeMale | Standard male voice |
ICSkipSoundMode
Sound mode
Definition | Remarks |
---|---|
ICSkipSoundModeNone | Nome |
ICSkipSoundModeTime | By interval duration |
ICSkipSoundModeCount | By number of intervals |
ICSendDataType
File type sent
Definition | Remarks |
---|---|
ICSendDataTypeHeadImg | Avatar, input file path |
ICSendDataTypeNickName | Nickname, input ICUserInfo |
ICSendDataTypePowerOnImg | Boot animation, input file path |
ICSendDataTypePowerOffImg | Shutdown animation, input file path |
ICSDKMode
SDK mode
Definition | Remarks |
---|---|
ICSDKModeDefault | Default |
ICSDKModeCompetitive | Competitive |
ICBFAType
Algorithm Type, not all are listed. Under normal circumstances, you do not need to care about the meaning here.
Definition | Remarks |
---|---|
ICBFATypeWLA01 | WLA01 |
bodyType(Body shape chart)
Body shape chart
Definition | Remarks |
---|---|
0 | Too thin |
1 | Thin |
2 | Muscular Slim |
3 | Slim |
4 | Muscle |
5 | Fit |
6 | Athletes |
7 | Slightly overweight |
8 | Overweight |
9 | Slightly fat |
10 | Invisible fat |