pimpimmi / librealarm Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://plus.google.com/communities/118306966582165178782
License: GNU General Public License v3.0
Home Page: https://plus.google.com/communities/118306966582165178782
License: GNU General Public License v3.0
The succes rate is calculated incorrectly: It uses the formula (successes - failures) / successes and therefore can reach negative values. The correct formula would be successes / (successes + failures) which will result in a number between 0 and 1
I was following your instructions to enable nfc on the Sony Smartwatch 3 and can get no further than step 5. I successfully downgrade my firmware to the one which was older than LCA43 and then began to install the updates. No update got me onto LCA43. This version was skipped entirely and my device is now back on M1D64T
Hi,
Wonderful project you guys are working on.
Is it possible to buy random cheap smart watch from aliexpress and make it work with the librealarm? (As long as it's android and NFC support)?
Example of a watch
https://m.aliexpress.com/item/32648113464.html
Thanks
Should have separate settings
Hi all, got stuck again with the "next check" Libre Alarm issue, same as I wrote some time ago (see below the FB discussion here).
I used to fix this with a memory/cache cancel but this time it hasn't worked. I even re-installed the app and it's still showing "next check 00:59".
Even more, snooze is blocked (not able to see the time when it ends on Libre Alarm for both high and low glucose level) and also the glucose reading interval is not performing if I change it (if I move it from 10 to 7, it remained @ 5, value I set some time ago)
Any help please? I do like the app and it's really useful and powerful combined with xDrip+.
Thanks
Samuele
This night I had a strange issue, see Screenshot.
Bg dropped quiet fast, which is almost impossible I think. Moreover, bg was at around 200 and unit 50.
Hopefully I don't have loop so nothing bad but as I plan to loop soon, hope you can fix issue.
I would at least love a guard, something which check bg difference between 2 measurements and if bigger than a value to define then generate an error.
What do you think?
When there is an alarm, it's shown twice in the list.
Fonctionne avec xdrip?
Hello, thank you very much for this app, it improved the quality of our life!
Still there are some issues we face regularly with this app. Is there any log file stored on phone folder or is there any possibility to debug the coding? I could help to find the reason for the issues, but I need some advice as Java/android environment is new to me (I am SAP consultant ;-))
I have tried to use Libre Alarm on my Samsung S4, but only one function is working, it gets data from my smartwatch/my libre and give alarms. No way to disable alarms, there is no visible point on the surface to open settings, or just change from mmol to ml/dl. Tried to reinstall several times, cancelled glimp running on the same phone, nothing. Tried to upload it from different sources, but it is still unusable. I am running Android 5.0.1. Any ideas much appreciated :)
Most of us use the great LibreAlarm application with XDrip+
When we want to do a "Check Now", we have to launch the application, and press the button.
It would be very usefull to have a widget allowing to do a "Check Now" measurement and showing the librealarm status (started/stopped)
When I do the install of SWR50.zip on the watch, I'm seeing that it says there are problems mounting /data. Investigating, I found that "mount /data" fails unless I mount it readonly! None-the-less, I tried to reboot the watch, but it fails to boot. Just hangs in booting. I can get control back by booting the watch and continuing to hold down the power button (without connecting it to USB) until it says "connect to USB", then pressing twice quickly to bring up the menu, then doing a Factory Reset, and rebooting. This brings me back to build LDZ22D.
reformatting the userdata partition failed:
fastboot format userdata
Creating filesystem with parameters:
Size: 2873864192
Block size: 4096
Blocks per group: 32768
Inodes per group: 7984
Inode size: 256
Journal blocks: 10962
Label:
Blocks: 701627
Block groups: 22
Reserved block group size: 175
Created filesystem with 11/175648 inodes and 23049/701627 blocks
error: file_write: write: No space left on device
target reported max download size of 425721856 bytes
erasing 'userdata'...
OKAY [ 9.258s]
sending 'userdata' (42088 KB)...
OKAY [ 1.861s]
writing 'userdata'...
FAILED (remote: unknown chunk type in sparse image)
finished.
The error message No space left on device
makes me wonder if the available space for the partition might actually be smaller than it used to be - maybe due to remapped/defective blocks?
Currently it looks as if (due to the defective/missing /data partition), the watch doesn't boot up completely.
To give others who are experiencing problems prior to reflashing, It might help to add an optional step after unlocking the bootloader, suggesting to reboot and enable/allow usb debugging. Also, it probably isn't necessary to reformat the partitions, wiping them should be sufficient?
After recovery (following the second procedure described here, the partition seems to be there:
1|shell@tetra:/ $ df
Filesystem Size Used Free Blksize
/dev 224.9M 24.0K 224.9M 4096
/sys/fs/cgroup 224.9M 12.0K 224.9M 4096
/mnt 224.9M 0.0K 224.9M 4096
/system 495.9M 483.2M 12.8M 4096
/cache 348.7M 204.0K 348.5M 4096
/data 2.6G 27.4M 2.6G 4096
/storage 224.9M 0.0K 224.9M 4096
/mnt/runtime/default/emulated: Permission denied
/storage/emulated 2.6G 27.4M 2.6G 4096
/mnt/runtime/read/emulated: Permission denied
/mnt/runtime/write/emulated: Permission denied
AppCrash by text input for the strings "settings_confidence_text, settings_postpone_text, settings_low_glucose_text, settings_high_glucose_text"
Better is a input only in number format.
05-27 23:53:00.996 21340-21340/com.pimpimmobile.librealarm I/ActivityManager: Timeline: Activity_idle id: android.os.BinderProxy@42b2a980 time:20654842
05-27 23:53:00.996 21340-21340/com.pimpimmobile.librealarm I/GLUCOSE::WearService: Wear connected
05-27 23:53:01.006 21340-21385/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: sending to 1665e0a3, command: /update
05-27 23:53:02.026 21340-21340/com.pimpimmobile.librealarm I/GLUCOSE::WearService: Message receiver: /status_update, 2:1:5:1464385592286
05-27 23:53:08.766 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:08.836 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:08.866 21340-21536/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: sending to 1665e0a3, command: /trigger_glucose
05-27 23:53:09.546 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:09.596 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:09.616 21340-21549/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: sending to 1665e0a3, command: /trigger_glucose
05-27 23:53:11.776 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:12.036 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:12.666 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:13.006 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:13.546 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:13.886 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:14.196 21340-21340/com.pimpimmobile.librealarm D/cliptray_Editor: setInputTypeforClipTray(): 0
05-27 23:53:15.256 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:15.406 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:15.886 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:15.886 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:15.886 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:15.886 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:15.936 21340-21340/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: send data, message: /settings, PostponeSettings:120000:true,HighGlucoseSettings:10.0:true,LowGlucoseSettings:3.5:true,ConfidenceSettings:1.0:true,
05-27 23:53:15.936 21340-21340/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: send data, message: /settings
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.016 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.026 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.286 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:16.586 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:16.756 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.756 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.756 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:16.756 21340-21340/com.pimpimmobile.librealarm D/BubblePopupHelper: isShowingBubblePopup : false
05-27 23:53:17.216 21340-21340/com.pimpimmobile.librealarm I/GLUCOSE::WearService: Message receiver: /settings, OK
05-27 23:53:17.246 21340-21340/com.pimpimmobile.librealarm I/GLUCOSE::WearService: Message receiver: /status_update, 2:1:5:1464386116821
05-27 23:53:19.716 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:19.826 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:22.116 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:22.156 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:22.176 21340-21776/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: sending to 1665e0a3, command: /trigger_glucose
05-27 23:53:27.406 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:27.466 21340-21861/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: sending to 1665e0a3, command: /trigger_glucose
05-27 23:53:27.466 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:28.046 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:28.106 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
05-27 23:53:28.146 21340-21877/com.pimpimmobile.librealarm I/GLUCOSE::WearableApi: sending to 1665e0a3, command: /trigger_glucose
05-27 23:53:32.076 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch Down
05-27 23:53:32.146 21340-21340/com.pimpimmobile.librealarm I/ViewRootImpl: ViewRoot's Touch Event : Touch UP
E/AndroidRuntime( 7911): Process: com.pimpimmobile.librealarm, PID: 7911
E/AndroidRuntime( 7911): java.lang.NumberFormatException: Invalid long: "1.0"
E/AndroidRuntime( 7911): at java.lang.Long.invalidLong(Long.java:124)
E/AndroidRuntime( 7911): at java.lang.Long.parse(Long.java:361)
E/AndroidRuntime( 7911): at java.lang.Long.parseLong(Long.java:352)
E/AndroidRuntime( 7911): at java.lang.Long.parseLong(Long.java:318)
E/AndroidRuntime( 7911): at java.lang.Long.valueOf(Long.java:476)
E/AndroidRuntime( 7911): at com.pimpimmobile.librealarm.shareddata.settings.PostponeSettings.getExtraData(PostponeSettings.java:21)
E/AndroidRuntime( 7911): at com.pimpimmobile.librealarm.shareddata.settings.SettingsUtils.createSettingsTransferString(SettingsUtils.java:51)
E/AndroidRuntime( 7911): at com.pimpimmobile.librealarm.MainActivity$2.onDrawerClosed(MainActivity.java:84)
E/AndroidRuntime( 7911): at android.support.v4.widget.DrawerLayout.dispatchOnDrawerClosed(DrawerLayout.java:839)
E/AndroidRuntime( 7911): at android.support.v4.widget.DrawerLayout.updateDrawerState(DrawerLayout.java:809)
E/AndroidRuntime( 7911): at android.support.v4.widget.DrawerLayout$ViewDragCallback.onViewDragStateChanged(DrawerLayout.java:2028)
E/AndroidRuntime( 7911): at android.support.v4.widget.ViewDragHelper.setDragState(ViewDragHelper.java:875)
E/AndroidRuntime( 7911): at android.support.v4.widget.ViewDragHelper$2.run(ViewDragHelper.java:336)
E/AndroidRuntime( 7911): at android.os.Handler.handleCallback(Handler.java:733)
E/AndroidRuntime( 7911): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 7911): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime( 7911): at android.app.ActivityThread.main(ActivityThread.java:5105)
E/AndroidRuntime( 7911): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 7911): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime( 7911): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
E/AndroidRuntime( 7911): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:608)
E/AndroidRuntime( 7911): at dalvik.system.NativeStart.main(Native Method)
I just got the nightrider. What would You need read the data from it?
Cheers Joe
Historic glucose are (or should be) uniquely identified by a sensor id and time relative to when sensor was started. So we need some sort of Sensor ID that's unique to the current sensor. Right now, it doesn't work at all.
AlarmManager is responsible to wake the app up every 10 minutes. Sometimes it doesn't work.
Possible reasons:
Current solution:
Possible future solutions:
Sometimes a read error will occur and will display ERR. I'd like this to be more specific. Can the app not connect to the watch or does the fail to read the sensor?
Also I occasionally get a reading <36 which I don't understand. It then also gets transmitted to xdrip+ as some random negative value (last time -70) which makes xdrip+ go mad. This should also display as a proper error message and absolute should not be broadcasted to xdrip+.
When pressing "Check Now" button, the value received from the sensor/SW3 is not transmitted to XDrip+
I use Libre alarm all day.
Here my idea, when in string "settings_postpone_text" for example 10 minutes stands than a option for Glucose Value Up/Down in this time (1.0 or 2.0) up/down mmol/l control to add.
One always knows, when a value rises or falls too fast.
Is the idea good?
Hi, I tried to follow the instructions to enable NFC and was unable to complete this successfully.
I am also doing this for a child with diabetes.
I have done everything in step 4 (as my version was higher).
After doing last step of 4 (factory reset) the situation is as follows:
Do you have any ideas how can I proceed now? Any help would be really appreciated.
Hi Joachim,
I really like LibreAlarm I think it will make a big difference to my son's long term health , so thank you! In the spirit of constructive feedback I'd like to point out where I see the main issues with the current build. I have reinstalled the app several times, got a new phone and got a new home router, so I think these issues are definitely app related (not associated equipment).
Most of the issues can be grouped into two main areas. 1.) alarm issues and 2.) timing issues.
1.) I'm using the xDrip+ functionality of LibreAlarm. The "turn LibreAlarm alarms off and let xDrip+ deal with alarms" option doesn't seem to work (not for Hypos anyway) even if I set the LibreAlarm alert level to 1 mmol/l. When the LibreAmarm alarm is activated the LibreAlarm app locks up (awaiting acknowledgment of the alarm), it then stops sending data to xDrip+ until there is a manual intervention. The result is I don't actually get any alert in my bedroom (I'm using Nightscout) because xDrip doesn't get any values and therefore doesn't pass any info on to Nightscout. It would be great if All Alarms in LibreAlarm could be totally switched off and the alarm function passed over entirely to xDrip+.
2.) sometimes for some reason LibreAlarm fails to try to do a reading, if this happens then the reading time can pass but the "next reading" time stays the same, this means the "next reading" time is now in the past, and the app will not make any more readings until the "check now" button is manually pressed. It would be great to add a date to the "next reading" code and then check if the "next reading" time is in the past and if it is compensate for it. This might also address the next check at 00:59:59 bug.
Finally the Glucose Check Interval works strangely, default is 10 minutes, if I set it to 5 minutes it seems to send data to xDrip+ every 5 minutes, but the LibreAlarm app still only updates every 10 minutes (this is a pretty minor bug).
Please take this feedback in the spirit in which it is intended, LibreAlarm is Brilliant, it would be great to just make it a tiny bit better!
Thanks so much, Andrew
Hello.
I wish to thank you for the great job.
My question is does anybody try to run this on newer NFC-ready smartwatches?
eg. Samsung Galaxy watch SM-R800 or similar...
It would be a benefit to be able to log fails to the running service so that we can assist in finding a resolution to this issue.
In detail: Android wear disconnection and re connection appears to not automatically resume the running NFC service. Additionally, a secondary issue that stops the service seems to be causing the same requirement to manually stop/start and in some cases fully re-install the LibreAlarm application. this may be due to application hibernation or similar phone dependant variable.
Hi,
i thinking this is a bug, every day approximately 8 hours lost a connection to Nightscout.
Workaround:
When reboot the smartphone and check now the sugar, than is a normaly connection to nightscout, but the old glucose data lost in LibreAlarm.
BR Mathias
Why root sony swr50 to be a collector when the Nightrider emits bluetooth ... so why activate the nfc if you only want to play bluetooth!
It's fun to try things, but it's getting complicated
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.