From d6d9a09d505d11148599a95a5be3e1351edbe0ac Mon Sep 17 00:00:00 2001 From: hc Date: Mon, 13 Apr 2026 15:17:52 +0800 Subject: Local iHealth SDK, device detail screen, iOS event fixes --- libs/ihealth-sdk/doc/bg5s.md | 176 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 libs/ihealth-sdk/doc/bg5s.md (limited to 'libs/ihealth-sdk/doc/bg5s.md') diff --git a/libs/ihealth-sdk/doc/bg5s.md b/libs/ihealth-sdk/doc/bg5s.md new file mode 100644 index 0000000..06bc6d4 --- /dev/null +++ b/libs/ihealth-sdk/doc/bg5s.md @@ -0,0 +1,176 @@ +# BG5S Workflow + +## Import BG5S Module + +```js +import { + BG5SModule, + BG5SProfileModule +} from '@ihealth/ihealthlibrary-react-native'; +``` + +## APIs + +### Add and remove listener + +```js +// add +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + console.log(event); +}); + +// remove +notifyListener.remove(); +``` + +### Set time + +If you use new bg5 or it has not been used for a long time. You should sync current time with bg5. + +```js +BG5SModule.setTime(mac); + +// response +// {"type":"BG5S","mac":"5C0272267365","action":"action_set_time"} +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_SET_TIME) { + console.log("set time"); + } +}); +``` + +### Set Unit + +The API can change the unit of the bg5 display. + +```js +// 1: mmol/L 2: mg/dL +BG5SModule.setUnit(mac, 1); + +// response +// {"type":"BG5S","mac":"5C0272267365","action":"action_set_unit"} +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_SET_UNIT) { + console.log("set Unit"); + } +}); +``` + +### get bg5s status information + +```js +BG5SModule.getStatusInfo(mac); + +// response +// {"info_unit":2,"info_code_version_ctl":3,"info_code_version_blood":3,"info_offline_data_num":0,"info_used_strip":0,////"info_timezone":8,"info_time":"2017-01-01 00:40:37","info_battery_level":71,"type":"BG5S","mac":"5C0272267365","action":"action_get_status_info"} + +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_GET_STATUS_INFO) { + console.log(event[BG5SProfileModule.INFO_BATTERY_LEVEL]); + console.log(event[BG5SProfileModule.INFO_TIME]); + console.log(event[BG5SProfileModule.INFO_TIMEZONE]); + console.log(event[BG5SProfileModule.INFO_USED_STRIP]); + console.log(event[BG5SProfileModule.INFO_OFFLINE_DATA_NUM]); + console.log(event[BG5SProfileModule.INFO_CODE_VERSION_BLOOD]); + console.log(event[BG5SProfileModule.INFO_CODE_VERSION_CTL]); + console.log(event[BG5SProfileModule.INFO_UNIT]); + } +}); +``` + +### delete userd strip + +```js +BG5SModule.deleteUsedStrip(QRCode); + +// response +// {"type":"BG5S","mac":"5C0272267365","action":"action_delete_used_strip"} +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_DELETE_USED_STRIP) { + + } +}); +``` + +### delete offline data + +```js +BG5SModule.deleteOfflineData(QRCode); + +// response +// {"type":"BG5S","mac":"5C0272267365","action":"action_delete_offline_data"} +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_DELETE_OFFLINE_DATA) { + + } +}); +``` + +### get offline data + +```js +BG5SModule.getOfflineData(mac); + +// response +// {"offline_data":[{"dataID":"D8615BFEB73C3928D83131894D68E87B","data_measure_timezone":8,"data_measure_time":"2019-04-22 01:31:47","data_value":1023,"data_time_proof":false}],"type":"BG5S","mac":"5C0272267365","action":"action_get_offline_data"} + +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_GET_OFFLINE_DATA) { + console.log(event[BG5SProfileModule.OFFLINE_DATA]); + } +}); +``` + +### adjust offline data + +```js +BG5SModule.adjustOfflineData(mac); + +// response +// {"offline_data":[{"dataID":"D8615BFEB73C3928D83131894D68E87B","data_measure_timezone":8,"data_measure_time":"2019-04-22 01:31:47","data_value":1023,"data_time_proof":false}],"type":"BG5S","mac":"5C0272267365","action":"action_get_offline_data"} + +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === "action_adjust_offline_data") { + console.log(event[BG5SProfileModule.OFFLINE_DATA]); + } +}); +``` + +### start a measurement + +```js +// * measureType 1: measure with real blood, 2: measure with control solution +BG5SModule.startMeasure(mac, 1); + +// response +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_STRIP_IN) { + console.log("strip in"); + + } else if (event.action === BG5SProfileModule.ACTION_STRIP_OUT) { + console.log("strip out"); + + } else if (event.action === BG5SProfileModule.ACTION_GET_BLOOD) { + console.log("analysis blood"); + + } else if (event.action === BG5SProfileModule.ACTION_RESULT) { + // {"dataID":"FCB4230B3F081306DCC0404090861A36","result_value":84,"type":"BG5S","mac":"5C0272267365","action":"action_result"} + console.log(event[BG5SProfileModule.RESULT_VALUE]); + console.log(event[BG5SProfileModule.DATA_ID]); + } +}); +``` + +### get data stored in the bg5 device + +```js +BG5SModule.setOfflineModel(mac, true); + +// response +// // {"type":"BG5S","mac":"5C0272267365","action":"action_delete_offline_data"} +notifyListener = DeviceEventEmitter.addListener(BG5SModule.Event_Notify, (event) => { + if (event.action === BG5SProfileModule.ACTION_SET_OFFLINE_MEASUREMENT_MODE) { + + } +}); +``` \ No newline at end of file -- cgit