Sync issues with iOS

I have had some sync issues with one RuuviTag since I upgraded its firmware from 3.28.13 to 3.29.3: it does not sync anymore with the iOS App. Android sync works. The Ruuvi App on both phones receive the regular measurement updates. The upgraded RuuviTag does not have the “maintain connection” activated.

I have not tried upgrading my other RuuviTags yet. They work, with 3.28.13, work as before.

Any idea why the syncing does not work?

Hello,

There was a pretty major overhaul in how GATT connection works to save power on iOS, that might be related. @Rinat do you have any ideas what might be the cause here?

I downgraded the misbehaving tag to 3.28.13. Now the sync works. I wish it worked also with the latest firmware.

Just installed 3.29.3 and tried to sync - everything works ok with the AppStore build (2 points though).
I’ll try morning with more data collected.

I tried to re-install 3.29.3. First I pressed and held B and then pressed R

  • The red light did not light up consistently, most often for half a second only
  • When it finally stayed on for a little longer, after 10-20 attempts, I was able to download 3.29.3

As a result, syncing stopped working again. I removed the battery and tried again, with no luck. Then I tried and tried, and some 50 (!!!) B+R presses later, I was able to make the red light stay on, and re-install 3.28.13. Now syncing works.

This guy must be faulty. Can you send me a new one?

A few questions

  • Do 3.28.13 and 3.29.3 still support the 3 modes (1, 2, and 3, with 1285, 6425, and 1285 ms interval)? The green light blinks about every second
  • How can I read the firmware from the device? I tried with Decode on iOS but it only gave me the first line, the ID, but not the lines for MAC or SW

Please email sales@ruuvi.com for returns under warranty

No, only RAWv2 at 1285 ms is supported for now.

I use “NFC Tools” app on Android, you can also connect with nRF Connect Bluetooth app and read the firmware from Device Information Service on 3.x firmwares

Hi Otso,

Thanks, I’ll be in touch with your sales. I believe I have had enough unsuccessful attempts to prove that there is something wrong with the device.

Thanks for confirming which modes are supported. The modes 1, 2, and 3 are mentioned under v2.x.x but I did not find a mention some of them dropped in v3.x.x. However, I vaguely remembered 6-second blinking frequency before upgrading from v2.x.x to v3.x.x.

My Android phone does not have NFC. I tried with the nRF Connect Bluetooth on iPhone. It showed the Firmware revision string value as N/A. I vaguely remember having seen the firmware version number somewhere a few weeks ago, but I do not remember with which app or which phone.

regarding NFC on iPhone I have had the best luck with NFC tools Developed by wakdev waked.com .

NFC-reader Andrew Sowers

NFC reader STANC.IO. Nicolo Stanciu

Thanks for the suggestions. I tried both.

The first one was able to read RuuviTag correctly, showing all 3 lines shown on Ruuvi.com page for Decode, also the firmware version. I was able to make Decode only show the first line.

The second one tried to read but then claimed that the RuuviTag is not yet supported.

Earlier I had tried 3.29.3 with one RuuviTag. It did not sync at all. Not earlier and not yesterday. The unit had also some “button problems”, making it difficult to put it in Ruuvi Boot mode to change firmware (B button seemed to work very rarely). Now it is back to 3.28.13, and syncing well, but waiting to be returned for inspection due to the B button problem.

Yesterday I tried 3.29.3 with another RuuviTag. I had the same sync problem: no syncing at all. As a sidenote, the B button worked fine, and it is easy to downgrade to 3.28.13 to get syncing back.

Some details
-iPhone 8 with iOS 14.3
-Ruuvi Station 0.6.1 (20)
-Location: not determined
-Photo Library: authorised
-Camera: denied
-Notifications: authorised
-firmware 3.28.13 and 3.29.3
-one RuuviTag with “Säilytä yhteys” set to on, another with it set to off

One thing came to my mind. I have both iOS and Android devices at home, and I use both to read and sync the Tags.

I was wondering if the Tag keeps a record of the latest sync it did, regardless of with which device it synced, and does not sync with device B something it had synced with device A already. That would explain gaps, at least some of them.

RuuviTag does not keep such record, but apps do keep record of when they last synced.

I tried iOS sync with 3.30. Still not working.

  • I had v3.28, synced the latest data from the RuuviTag to iPhone App, and clearer the data from iPhone App
  • I uploaded v3.30 to RuuviTag, and tried to sync data from RuuviTag to iPhone App. The sync timed out, i.e., it failed
  • I uploaded v3.28 to Ruuvitag. Syncing works but the old data was not synced back to iPhone App, apparently because the iPhone App remembered the last synced data point
  • I checked the Firmware version with an NFC reader after each step

All in all, still no luck using the latest Firmware in RuuviTag with iOS :frowning:

Today I updated all my 10 RuuviTags to v3.30, hoping for the best. Why? I had forgotten that I had tried v3.30 already, to no avail. Also because the first RuuviTag I uploaded v3.30 to, synced with iOS. Well, the other 9 did not.

I tried to figure out why. With Android the sync worked with all RuuviTags, before and after the firmware update. I also tried to export all my data as csv. With Android it was a breeze but with iOS it took a long time. Sometimes the iOS App crashed. I have used my iPhone with RuuviTags a lot longer so also the csv files were a lot larger (200 kB vs 5 MB). Then I thought if the sync suffered from the same, a lot of data for the failing RuuviTags. I deleted one failing sensor’s data and tried to sync it. It did not work (the sync timed out, as before). So, still out of luck. Maybe I will downgrade my RuuviTags to v3.28.

However, I wonder why iOS sync worked with one RuuviTag, and not the others. DIfferent HW?

I also noticed another thing. When I synced with Android, the green light in RuuviTag lit up only briefly if there was only a few data points to sync. And longer if there were more. With iOS sync, this was with v3.28, even a short sync lit the green light for a long time. I assume iOS and Android do the sync differently, even when it works. And very differently with v3.30: Andoid sync works and iOS sync times out.

Please help, and tell me why one RuuviTag with v3.30 syncs with iOS, and the others do not.

Thanks you for the report, we’ll look into it.

The syncing can use Bluetooth 4.2 and 5.0 features, even though it is backwards compatible to 4.0. That explains why some devices sync a lot faster than others.

@Rinat FYI. Phone details are above

I am totally confused. Today I was able to sync all my RuuviTags with my iPhone 8!!

I have had some low memory issues with my phone (now I have deleted some big video files) and the phone restarted a few times due to low battery earlier this week. I do not believe there was an App or iOS update this week, so the only thing solving the issue I can think of was the phone reboots. One week ago only one Tag out of 10 synced, though. That’s odd, then one, now 10.

So, now a long (10-day?) history sync seems to work with all my Tags with v3.30 on iPhone (it worked with Android already).

Now waiting anxiously for my RuuviStation to arrive.

One additional thing I noticed last werk was that when my old iPad (1st gen Air, old iOS) had one Tag with a permanent connection, other phones (Android) were not able to receive measurement results.

Should a permanent iOS connection totally own a Tag?

This is a side-effect of having alerts on iPhone. iPhones can’t listen to Bluetooth advertisements, so they need to keep the connection open to receive data. Other phones still should receive the advertisements after version 3.28+, they just cannot connect to the tag.

I probably did this when still with v3.28. I had the impression that my Android phones did not get any measurement updates (advertisements?) from one Tag when my old iPad had a permanent connection to it.

I may have, however, forgotten some details.

I checked the changelog, it was fixed in 3.29.0 so iPhone really did block v3.28 for all the other devices. Thank’s for the feedback and sorry about the confusion