Direct connect between Pixel Watch 2 and Dexcom G6 not working via xDrip #3676
Replies: 5 comments 4 replies
-
Ok I reset the watch, deleted xDrip and made a fresh installation. The watch still won't connect to the g6 sensor but now I get this errors in my log:
Edit:
Ok I managed to build and install the apk (forgot to sign on the first try). I discovered that the wear device uses another endbyte for the authrequest message:
Edit2: ofc. this means the alternate bt channels gets used. Is the decision to use it crucial to any feature in xdrip, afaik there isn't a state where both phone and wear device are both connected simultaneously to the sensor right? |
Beta Was this translation helpful? Give feedback.
-
No one has addressed WearOS issues and requirements for a very long time. There are very small phones that some parents send their kids to school with. I don't have a solution for you. I'm just telling you my limited knowledge of what is available. The problem is that it is not supposed to just work. It has to work reliably. BlueJay does. I mean let's say you figure out a way to improve WearOS direct collection. What will you do when your child switches to G7? |
Beta Was this translation helpful? Give feedback.
-
Ok, it seems that the direct connection from the Pixel Watch2 (WearOS 4) is now working reliably with a few changes in the wear code. I had to update a lot of classes to reflect the changes of the last 3-5 years. We'll be testing the feature with our watch over the next few days/weeks and if everything goes smoothly, I'll provide a PR for it. I'm also going to implement the nightscout upload feature directly from the watch, as this is crucial for us as parents. |
Beta Was this translation helpful? Give feedback.
-
Unfortunately, after more extensive testing, we found a problem. Uploading to Nightscout only worked sporadically when the phone (bluetooth) or a known wifi was nearby. Over LTE, the upload was very erratic and only succeeded every few hours at most. I am now implementing several checks for an active network and prioritising the cellular network so that the upload is done every 5 minutes as usual. Unfortunately, the problem is still difficult to analyse because if I want to see the log data on the phone, the bluetooth connection immediately takes over the transfer of the upload data to nightscout and no longer the cellular network directly. I am currently working on a small display view of the log data directly on the watch, so that a connection to the mobile phone is not necessary. |
Beta Was this translation helpful? Give feedback.
-
Ok, it took a lot of work, but in the end it works as I want it to. Originally it could only connect to the nightscout host when xdrip was started on the phone. Unfortunately, prioritising and re-establishing the cellular connection on the clock did not work. I found out that the data packets which are sent from the 'cell phone xdrip app' with the flag “urgent” via wear data-api to the watch virtually wake up the lte connection again. Since the data packets sent via the data api are sent to all nodes, I have now used this mechanism as a workaround:
And it seems to work fine! Even when the xdrip application is completely deactivated/removed on the mobile phone, the watch now sends data to nightscout every 5 minutes! We will be monitoring the battery consumption over the next few days, so it may be possible to tweak things a bit. |
Beta Was this translation helpful? Give feedback.
-
Hey there!
I bought a Pixel Watch 2 for my kid to replace the bulky mobilephone he needs to take with him for the cgm readings atm.
At first the mobile phone with android 14 paired successfully with the dexcom g6 sensor and also the cgm readings were displayed on the google pixel watch 2 (with wearos 4) without problems.
But as soon as the setting "Force Wear Collection Service" gets enabled the readings stop and the watch cannot properly create a connection to the sensor.
I already tried to shutdown the phone, restarted the watch multiple times, resetted the watch multiple times but the connection can't get established.
Is there anything I can do to fix this? I read somewhere that ppl were able to connect their pixel watch 2 with xdrip to the g6 sensor a few months ago, did something change here in the meantime?
Im currently running the lastest build of xDrip, version aee9315-2024.09.19.
Thats the log part the comes from the watch during trying to create a connection to the sensor:
It seems like the log message "Task deadlock on..." comes from here:
https://github.com/NightscoutFoundation/xDrip/blob/master/wear/src/main/java/com/eveningoutpost/dexdrip/utilitymodels/PlusAsyncExecutor.java#L90
and the qsize got reduced to 2 for watches instead of 10 like on the phone but i cannot say if thats the root cause or there is anything else.
Beta Was this translation helpful? Give feedback.
All reactions