05-20-2018 17:46 - edited 05-20-2018 17:48
05-20-2018 17:46 - edited 05-20-2018 17:48
I don't have a great description of this issue unfortunately.
My watch face sends a message (reliably) to my companion app every 30 minutes on the half hour. The companion app does some work, getting user location, getting data from a REST service, and then sending a message back to the face. This process fails every so often, maybe once a day.
So it seems like the companion (iPhone X, w/Versa) is not waking up for messaging every now and then, yet is still registering on the Versa as an open socket.
I tried setting a periodic timer to wake up the companion 5 seconds before I know the message will come through, but the issue still occurred.
Any suggestions? Workarounds? Solutions? Is anyone else experiencing something similar? Is this just due to iOS killing the background companion process? If so, is there any way to avoid this?
This is irritating, because it means about once a day my watch face stops working and won't work again until the iOS app is opened. This, of course, always happens when I'm driving and I shouldn't be fiddling around on my phone.
Thanks in advance for any help.
08-23-2018 00:37
08-23-2018 00:37
Hi, Have you found a solution? I have exactly the same problem...
09-17-2018 09:53
09-17-2018 09:53
Have you found a solution?
I send data from my fitbit ionic to the phone. Other than checking:
if (messaging.peerSocket.readyState === messaging.peerSocket.OPEN)
there isn't much we can do. Also, some times the companion app is in a good state for this condition to be true, but it still doesn't receive anything. I don't ask for a socket to be always open or make things super reliable and have everything always ready, but at least it would be nice to understand what is the condition that doesn't let my device receive that data, and how can I do a check on that. At least I would know that I need to send those data again somehow.
09-17-2018 12:33 - edited 09-17-2018 12:35
09-17-2018 12:33 - edited 09-17-2018 12:35
This sounds like the same issue I'm having posted here. Been scratching my head over this for months and don't seem to find any fine grained ability to deal with it other than the readystate stuff outlined in the guide and reference which really doesn't allow us to affect the communications between the devices in any meaningful way, for example, making sure they can talk to each other every 5 minutes (in my case).
I'm currently suspecting that this has nothing to do with the versa but with the Fitbit phone app itself and how it is interacting with the Bluetooth subsystem. It seems that they aren't playing well together and the Fitbit phone app occasionally looses it's BT connectivity footing and doesn't regain it well on it's own. This forces the user to manually go into the app, click the device (Versa for me) and then the sync process happens as it should. Which brings up the notion that "syncing" and companion messages/file transfers are linked in some way that we developers can't control well. So, when the phone app can't sync on it's own for some reason, then all comms with the watch are dead in the water... but then when the user manually 'wakes the phone app up'... it syncs and then all comms start working for a while. I do have all the settings enabled in the phone app to ensure "all day syncing" "notification widget", etc... None of that seems to ensure reliable device to companion communications.
I really wish this could get cleaned up and could work more reliably.