iCloud3 v3 iDevice Tracker - Version 3

@poudenes
I’m not having any problems with FamShr. Check your config, check EventLog for errors, check EventLog for Family Sharing devices, check Apple iCloud account to make sure devices are in Family Sharing (Apple might have done something else), check HA log for errors. Add log_level: debug+rawdata* to the config_ic3.yaml file and see if there is any data available.

It is working again. But I see something. I updated my phone to iOS 15. I’m still home. Restart iCloud3 didn’t show the info. Now my friend went to work. His location is updated now. But mine still not showing.

I will leave the house today and see what happen.

Thanks for your reply.

Have switched over to family sharing for my wife so at least that will work for the time being.

Just a shame as I had my whole family linked to friends so the house alarms wouldn’t go off when they came over but will just have to warn them for the time being.

Many thanks for all your hard work - annoying apple has to go mess it up!

1 Like

Hi @poudess, could you elaborate on what you did to get re-connected using the ‘Family Share’ option. I’m currently getting the following errors at Stage 3, iCloud3 is unable to locate neither my nor my wife’s device.

Any pointers would be appreciated from you or @gcobb321 , thank you!

@bastero
I think the device name on the phone does not match the device name on the iCloud3 device _name parameter in the configuration file. The scan finds iphoneexpress_app from the iCloud account when it should probably be just iphoneexpress.

@gcobb321 Thank you very much Gary, that fixed the issue. I’m confused though, as to how it worked before when the device name was ‘iphoneexpress-app’ when configured in FnF mode?

Thanks again!

@bastero
Fmf matches the email address in the parameters with the email address in the FindMy data in the iCloud account. That email address record data is then tied to the device_name parameter. It tied it to the iOS app because the iOS App’s name does start with the device_name by being the same as the device_name.

The FamShr method matches up the device_name parameter with the iCloud device name instead out the email address. If it doesn’t find a match, it won’t be tracked.

I had never tried it that way before but it makes sense now that I’ve thought about it.

1 Like

FIND-MY-FRIENDS TRACKING METHOD FIX UPDATE

A fix to support Find-my-Friends has been uploaded to the iCloud3 Development v2.4.4 directory in the iCloud3 GitHub repository here.

Download iCloud3 v2.4.4.zip and unzip it to the config/custom_components/icloud3 directory on your rpi/computer running HA. Then restart HA.

Thanks Ghawken for the updated code.

I’ll update the HACS release when I get back home in October.

3 Likes

Also downloaded this dev version. Even I use Family method.
But since my partner changed to new iPhone the information is not getting into HA.

Find My Friends app I can see his phone. Accurate and working
His iPhone name isn’t changed. So was not needed to update in the iCloud config

But its not getting new location.

@poudenes
Look at the devices in the Family Share and Find-My-Friends list in Stage 2 of iCloud3 startup to see if there are duplicates. If the old phone and new phone have the same name, and you did not delete the old one from your iCloud, the old one will be listed and iCloud3 is probably tracking that one instead of the new one. Remember, iCloud3 identifies phone by the phone’s name. If two phones with the same name are in the iCloud account, it does not know which one is the one that should be tracked.

When I get a new phone, I set up the new one, then change the name of the old one and wait a few minutes to let iCloud update everything. Then, on the old one, I turn off location Sharing and delete it from my iCloud account devices on the FindMy app. On my new phone, go to the Settings App, go to my iCloud account and delete the old phone.

The old phone is switched off. So that can’t be the issue right? I will ask my partner to change the name on the new phone (he hates the tracking option but I will try) and than add the new name into it

@poudenes
It doesn’t matter if it is switched off or even if it has been erased. It is still in the your iCloud account with the old device name. Resetting and erasing it does not remove it from your iCloud account. You have to do that manually. And changing the old phones name to something else makes it easier to be sure you remove the old one instead of the new one. At least now, the device model is listed along with the name.

1 Like

Thanks. I gonna work on this :slight_smile: Let you know

Just writing to confirm that this update fixed the issue I recently encountered with my mother’s iPhone. She shares her location with me through Find My (FmF), and iCloud3 stopped working for her, even though it kept working for my wife, who is part of my iCloud Family (FamShr)

I had just upgraded both their phones to iOS 15 and thought that it had reset some privacy/location-aware permissions to some kind of default that prevented FmF from working. Glad to see this update fix my issue so quickly, along with the mention of the API change by Apple so that I know I’m not going crazy. :stuck_out_tongue_winking_eye:

I too am using both FmF and FamShr to track family and the in-laws.
I’m finding that the location is updating just fine for those on FamShr, but for FmF the location updates initially, but seems to stop updating later. Trying to update those phones locations doesn’t make a difference, but a restart of iCloud3 seems to kick things back into action.

iCloud3 v2.4.5 Released to HACS

Fix to restore the WazeRouteCalculator function (v2.4.5, 10/6/2021)

  1. Fixed a problem where the Waze Route Calculator was being disabled and the distance method-calc was being used. The problem started when the WazeRouteCalculator module in the Home Assistant standard Python library was changed. This update uses a modified version of the WazeRouteCalculator that is part of the Python Standard library that was developed by Kovács Bálint, Budapest, Hungary. It has been customized to better support iCloud3.

Update to support iCloud+ change that broke Find-my-Friends tracking method (v2.4.4, 9/25/2021)

  1. With the release of iOS 15 and iCloud+, Apple changed the url used to retrieve the Find-My-Friends tracking method data and location. This update uses the new url so the Find-My-Friends data is returned from iCloud Web Services.
2 Likes

Thanks Gary.

With the latest release of HASS, now getting this warning which seems to be related to IC3:

home-assistant.log:2021-10-08 09:30:09 WARNING (MainThread) [frontend.js.latest.202110070] Icon mdi:cellphone-iphone was renamed to mdi:cellphone, please change your config, it will be removed in version 2021.12.

A quick grep shows the source:

custom_components/icloud3/device_tracker.py: ‘zone’: ‘mdi:cellphone-iphone’,
custom_components/icloud3/device_tracker.py: ‘icon’: ‘mdi:cellphone-iphone’,

I’ve seen the cellphone icon warning and will issue an update to change the icon. The warning will last until I do the update or until December, whichever comes first.

Installed latest version but see those errors:

2021-10-09 09:26:16 ERROR (SyncWorker_2) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')
2021-10-09 09:26:20 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')
2021-10-09 09:26:25 ERROR (SyncWorker_10) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')
2021-10-09 09:26:30 ERROR (SyncWorker_5) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')
2021-10-09 09:26:30 ERROR (SyncWorker_5) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')
2021-10-09 09:26:35 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')
2021-10-09 09:26:40 ERROR (SyncWorker_4) [custom_components.icloud3.device_tracker] ►INTERNAL ERROR-RETRYING (_determine_interval:SetupZone-can't multiply sequence by non-int of type 'float')

But the integration is working normal…