import {
BG5Module,
BGProfileModule
} from '@ihealth/ihealthlibrary-react-native';
// add
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
console.log(event);
});
// remove
notifyListener.remove();
If you use new bg5 or it has not been used for a long time. You should sync current time with bg5.
BG5Module.setTime(mac);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_SET_TIME) {
console.log("set time");
}
});
The API can change the unit of the bg5 display.
// 1: mmol/L 2: mg/dL
BG5Module.setUnit(mac, 1);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_SET_UNIT) {
console.log("set unit");
}
});
When you scan the barcode at the top of bottle, you can get a string. Pass the string to this API, you can get bottle id, Number of the strips and expire day.
BG5Module.getBottleInfoFromQR(QRCode);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_CODE_ANALYSIS) {
console.log(event[BGProfileModule.STRIP_NUM_BG]);
console.log(event[BGProfileModule.STRIP_EXPIRETIME_BG]);
console.log(event[BGProfileModule.BOTTLEID_BG]);
}
});
BG5Module.getBottleInfoFromQR(QRCode);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_SET_BOTTLEID) {
console.log("Set bottleID");
}
});
BG5Module.getBottleInfoFromQR(QRCode);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_GET_BOTTLEID) {
console.log(event[BGProfileModule.GET_BOTTLEID]);
}
});
When you use a new bg5 device or you open a new strip bottle, must set bottle message to bg5 device.
/**
* mac device mac address
* stripType 1: GOD, 2: GDH
* measureType 1: measure with real blood, 2: measure with control solution
* barcode for GOD strip, you can scan barcode at top of the bottle. for GDH strip, set null.
* unusedStrip unused strip.
* expireDay check the expire day on the bottle, and stirp is expired after opening for 90 days.
*/
BG5Module.setBottleMessage(mac, 1, 1, QRCode, 25, "2027-07-15");
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_SET_BOTTLEMESSAGE) {
console.log("set bottle message success");
}
});
BG5Module.getBottleMessage(mac);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_GET_BOTTLEMESSAGE) {
console.log(event[BGProfileModule.GET_EXPIRECTIME]);
console.log(event[BGProfileModule.GET_USENUM]);
}
});
// * measureType 1: measure with real blood, 2: measure with control solution
BG5Module.startMeasure(mac, 1);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_STRIP_IN) {
console.log("strip in");
} else if (event.action === BGProfileModule.ACTION_STRIP_OUT) {
console.log("strip out");
} else if (event.action === BGProfileModule.ACTION_GET_BLOOD) {
console.log("analysis blood");
} else if (event.action === BGProfileModule.ACTION_ONLINE_RESULT_BG) {
console.log(event[BGProfileModule.ONLINE_RESULT_BG]);
console.log(event[BGProfileModule.DATA_ID]);
}
});
BG5Module.getOfflineData(mac);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_GET_OFFLINEDATA_COUNT) {
console.log(event[BGProfileModule.GET_OFFLINEDATA_COUNT]);
console.log(event[BGProfileModule.GET_OFFLINEDATA]);
}
});
BG5Module.deleteOfflineData(mac);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_DELETE_OFFLINEDATA) {
console.log("delete data");
}
});
The BG5 use regular bluetooth communicate with phone. For save the power, if there is no communication, bg5 will turn off. The api is used to keep link with phone.
BG5Module.holdLink(mac);