Commit Graph

223 Commits

Author SHA1 Message Date
Johan Degraeve 9a91de757b fix #205 : Watch and notification : option to specify minimum time interval between two events or two notifications.
This is not completely as requested in the issue https://github.com/JohanDegraeve/xdripswift/issues/205

It does allow watch/Libre 2 users to have a new reading every minute.
It also allows all users to have specify the minimum time between to calendar events on the watch, or to have a notification with a reading.

For the notification : an overrule of the interval is done if there's been a dis/reconnect, which means if there was a disconnect/reconnect, the next reading will generate a notification, no matter the value of the interval.

Default value for the interval = 0
2021-03-29 23:11:32 +02:00
Johan Degraeve de647a421f fix related to commit 473686ba37e97b08841c5b7525a856d722ab8504: enable oop web by default 2021-03-21 14:29:55 +01:00
Johan Degraeve 259f03a98b Enhancement #191, better implementation than previous commit for 'auto snooze alerts for 5 minutes, if new reading occurs within 5 minutes'
previous commit was 82a3cb6617
2021-03-20 23:55:02 +01:00
Johan Degraeve 3884b21963 fix in upload to NightScout. uploadedToNS must be set in main thread because the sensor object has been retrieved in mainManagedObjectContext 2021-03-17 21:01:09 +01:00
Johan Degraeve b0702068e3 fix #198 Watch agenda option leads to higher battery consumption with FSL2Direct
In WatchManager the variable timeStampLastProcessedReading was not set. This variable is needed to check if a new event needs to be created in the calendar or not. Two readings must be at least 4.75 minutes away from each other
2021-03-17 11:19:30 +01:00
Johan Degraeve 82a3cb6617 enhancement #191 auto snooze alerts for 5 minutes, if new reading occurs withing 5 minutes 2021-03-16 21:41:02 +01:00
Johan Degraeve e54d67277f DexcomShare, more tracing 2021-03-12 21:03:50 +01:00
Johan Degraeve b5e3306ad3 NightScout upload, restrict upload to 300 readings to avoid exceeding size limit of 102400 2021-03-04 23:00:50 +01:00
Johan Degraeve fcddbd2c40 Replaced Dexcom share errors 'Account Not Found' and 'Invalid Password' by generic error 'Invalid account or password'.
For two reasons :
- Dexcom share response is not always giving the right error code, for example if initial value in the settings is done with random account and random password, then Dexcom does not say if it's the account or password that is wrong
- it's simply not secure to say if it was the account or password that is wrong

And moved the string to TextsCommon as it may apply to other providers as well (never know)
2021-03-03 21:46:30 +01:00
Johan Degraeve 39fc553bfd fix #194 Dexcom Share upload always says it verified successfully.
Apparently Dexcom sometimes returns no error even for invalid username/password but gives session id "00000000-0000-0000-0000-000000000000".
The fix is to generate error when the session id is "00000000-0000-0000-0000-000000000000"
2021-03-03 20:43:11 +01:00
Johan Degraeve 262decf3f3 fix upload calibrations to nightscout, there were crashes because a Calibration object (which is an NSManagedObject), which was retrieved in the main thread, was being used in the background thread 2021-02-21 10:02:17 +01:00
Johan Degraeve daad6c675e atom : fix for new sensor detection 2021-02-20 21:17:01 +01:00
Johan Degraeve f068e6df87 atom 2021-02-19 21:33:54 +01:00
Johan Degraeve 1bf7d377f2 Fix crashes in coredata.
Several crashes were happening randomly due to wrong handling of NSManagedObjectContext.
This should now be fixed.
2021-02-10 23:09:29 +01:00
Paul Plant f32e76890e remove coloured objectives lines 2021-01-24 11:42:04 +01:00
Johan Degraeve 0748aabaf5 Coloured glucose points according to value below low mark value, above high mark value, or between low and high mark value 2021-01-23 13:45:25 +01:00
Johan Degraeve c1de2f771a Merge branch 'removeoopweb' into develop 2021-01-16 12:23:11 +01:00
Johan Degraeve 0b2ef2589e fix related to restrictreadings : fixing filter in Array for BgReading's - also for NightScout and Dexcom upload, if user enables/disables upload, then upload also most recent reading 2021-01-16 12:23:03 +01:00
Johan Degraeve 6e98be4da6 NightScout upload change : treat failure due to upload of existing readings as successful.
If the statuscode = 500 and if response from NightScout has error code 66 then consider this as successful

it seems to happen sometimes that an attempt is made to re-upload readings that were already uploaded (meaning with same id). That gives error 66
in that case consider the upload as successful
2021-01-14 23:48:25 +01:00
Johan Degraeve a0fe6342b4 Removed all code related to oop web, which was to get calibration info via oop web server. The 'webOOPEnabled' flag is still there, it's now used to distinguish between xDrip or Libre algorithm (which was already the case since one of the previous commits 2021-01-13 22:57:32 +01:00
Johan Degraeve eb69a34636 Libre 2 : use sensorTimeInMinutes to show the sensor age in bluetooth screen 2021-01-10 23:05:32 +01:00
Johan Degraeve 1c17115f88 Libre 2 : removed sensor State because it's read only during NFC scan, which means may not be up to date if there's no frequent NFC scan done 2021-01-10 22:48:38 +01:00
Johan Degraeve 67ec6b0ef4 Libre 2 : should support oop web without having to use first Bubble or MM - also serial number and battery are shown now in bluetooth screen 2021-01-05 22:44:45 +01:00
Johan Degraeve a7f2981e81 Follower mode : use API key if set in settings 2021-01-03 11:17:24 +01:00
Johan Degraeve 22ec7c6c21 create event for watch also in follower mode 2021-01-03 10:49:49 +01:00
Johan Degraeve 2f9d7acf21 fix related to restrictreadings : fixing filter in Array for BgReading's, also WatchManager and HealthKitManager changed so that last disconnect is not taken in account 2021-01-01 22:15:00 +01:00
Johan Degraeve 78b00a56a9 fix related to restrictreadings : fix for speak readings 2020-12-31 12:56:31 +01:00
Johan Degraeve e7404d5b2e related to fix #148 - the thing was crashing when uploading battery level for a Bubble. Now it will show battery level as percentage and not the iphone battery level, for Bubble, MM and others that offer battey level as percentage. For Dexcom it stays : both voltage and ios device batter level are uploaded 2020-12-30 23:46:04 +01:00
Johan Degraeve e1a9c04eb5 Loop share changes : get latest readings with timestamp > latest share. To make sure that's there's always 60 readings shared, the shared readings are stored in userdefaults (as array of dictionary), and will be reused next time that one or more new readings are shared. This will allow to update readings in coredata (due to smoothing algorithms), but still sharing the older values with Loop, and still making sure there's always 60 readings shared 2020-12-27 23:56:13 +01:00
Johan Degraeve d04518ba85 removed the check on last shared reading or Loop, and sharing 12 readings now 2020-12-22 12:48:37 +01:00
Johan Degraeve e41d95bf2c restrict readings to Loop, Nightscout, Dexcom Share, healthkit, etc.. to 1 reading - specificially important for Libre 2 as this one gives a reading every minute 2020-12-19 10:58:11 +01:00
Johan Degraeve 4e90f7fc8c fix #152 Allow different nightscout port 2020-12-16 22:54:43 +01:00
Johan Degraeve b9bcffdacc fix #148 show battery level in NightScout 2020-12-15 23:26:27 +01:00
Johan Degraeve b552ec47b6 if sensor active, and user swithes from master to follower, confirmation will be asked, because switching from master to follower stops the active sensor 2020-12-13 10:56:18 +01:00
Johan Degraeve e5d197d9d3 fix #118 - when using mmol, alarms and colors on home screen are inconsistent for the same mmol value 2020-12-12 21:56:42 +01:00
Johan Degraeve 2b77af6d52 Libre improvements 2020-12-10 22:13:46 +01:00
Johan Degraeve bf3b5a9c70 Dexcom G5 battery read improvement, when forcing disconnect (or stop scanning) or when deleting the transmitter, then timeStampOfLastBatteryReading is set to nil, so that when either reconnecting or recreating, battery read will be forced. Also changes the disconnect method in BluetoothTransmitter, removing unused code 2020-12-09 22:08:57 +01:00
Johan Degraeve 2915a11c9b Libre improvements 2020-12-07 23:28:28 +01:00
Johan Degraeve 8bd2d07efb Libre 2 direct. Not for use yet. Requires first to hard code in RootViewcontroller :sensorid, patchinfo, unlockcode and unlockcount. This info can be read eg via DiaBLE. 2020-12-05 23:28:28 +01:00
Johan Degraeve 70d5698a75 change in how diff between latest and latest but one reading is calculated. Latest but one must be at least 4.5 minutes earlier. This will only affect Libre 2020-11-27 21:53:31 +01:00
Johan Degraeve 34324c4203 removed all timeStampLastBgReading in transmitters, as it's not used anymore since changes done for smoothing 2020-11-14 21:20:06 +01:00
Johan Degraeve 980b2272ed Smoothing Libre, more info https://github.com/JohanDegraeve/xdripswift/wiki/Libre-value-smoothing 2020-11-13 17:45:21 +01:00
Johan Degraeve 06080196df version 4.4.11 - build 4118 2020-11-08 22:13:21 +01:00
Johan Degraeve 3bcfc3033b where TimeInterval init is used, convert parameter first to Double, because there seem to be some crashes occuring on those lines 2020-10-27 21:40:57 +01:00
Johan Degraeve fc7164ab93 removal filtered data as this is not used (also for Dexcom) 2020-10-27 20:49:10 +01:00
Johan Degraeve 4920b5bf67 Merge branch 'libreimprovements' into develop 2020-10-24 10:25:27 +02:00
Johan Degraeve 77b19728de attempt to solve and trace the crash in SnoozeParameters, as reported by users 2020-10-24 10:22:34 +02:00
Johan Degraeve 0fe351699b offline oop web 2020-10-22 23:00:03 +02:00
Johan Degraeve e00d09b1de glucoseChartManager, searching for lastChartPointEarlierThanEndDate optimized 2020-10-18 12:59:59 +02:00
Johan Degraeve b511954051 glucoseChartManager : calculate maximumValueInGlucoseChartPoints faster 2020-10-17 23:08:27 +02:00