@ihealth/ihealthlibrary-react-native
Version:
React Native Model for iHealth Library
195 lines (149 loc) • 5.04 kB
Markdown
```js
import {
BG5Module,
BGProfileModule
} from '@ihealth/ihealthlibrary-react-native';
```
```js
// 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.
```js
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.
```js
// 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.
```js
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]);
}
});
```
```js
BG5Module.getBottleInfoFromQR(QRCode);
// response
notifyListener = DeviceEventEmitter.addListener(BG5Module.Event_Notify, (event) => {
if (event.action === BGProfileModule.ACTION_SET_BOTTLEID) {
console.log("Set bottleID");
}
});
```
```js
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.
```js
/**
* 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");
}
});
```
```js
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]);
}
});
```
```js
// * 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]);
}
});
```
```js
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]);
}
});
```
```js
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.
```js
BG5Module.holdLink(mac);
```