iCloud device data integration in openHAB

Hello everybody,

I’ve explored the iCloud Binding a little bit more on the weekend.

First I switched from an old BETA version to the current release in 2.3.0 snapshot.

When integrating two iCloud accounts, I noticed that I also see the devices of the second iCloud account, via the family sharing, in the Paper UI Inbox.
The devices from the family sharing, do not provide the location but only for example the battery level back.
So I had to be careful when integrating things, which device I would add, came over which iCloud account.
After a few new rules (distance from home, formatted Address) I had achieved the status as with the BETA Binding.

Now I was interested, after I had read here of the many battery consumption, how big this is?

I had a test iPhone SE configured for this as follows:

  • The device had only the basic device configurations after reset.
  • Mobile -> connected to 4G (3-4 bars)
  • Wi-Fi -> on and connected (good connection)
  • Bluetooth -> off
  • Location service -> on

The battery was always fully charged (100%) for the test and operated for exactly 12 hours on battery power (8 am to 8 pm).

  1. Without iCloud integration, the battery still had 95% after 12 hours

  2. With iCloud integration and a refresh interval of 10 min. still 91%
    image

  3. With iCloud integration and a refresh interval of 5 min. still 86%
    image

From this it can be deduced, for the iphone SE, that within 12 hours the battery consumption by the iCloud binding with a refresh time of 10 min. -> 4-5% and at 5 min. -> 9-10%.

What can still be stated is that with every refresh the binding sends a request to the iCloud account and from the iCloud account at the same time a request is sent to the devices.

This means at a refresh time of 10 min. the scanned values are between 10-20 min. old.
At a refresh time of 5 min. correspond to 5-10 min. old.

So if you want to get a current value, you have to send the refresh twice in the case of a manual refresh (see Binding description), because the returned value is always from the previous request. Between the two refreshes should be 10-15 seconds.

Furthermore, in case of a manual refresh of the location for a device, a request will be sent from the account to all devices of the iCloud account!

image

Maybe this will help one or the other …

2 Likes