Updated 11/1/2020 - iCloud3 v2.2.1 is now available
The iCloud3 device tracker custom component is a major advancement over the iCloud component that is part of Home Assistant. It monitors the iOS App for location information and zone changes, uses the Waze route tracker for travel times, supports multiple zones, works with the Family Sharing and Find-my-Friends iCloud Location Services tracking methods, solves the false zone exits caused by gps wandering problem and much more.
Review the changes and features below and the extensive documentation to see how iCloud3 can be used to monitor your devices and provide you with presence detection that is accurate, responsive and timely.
Major Enhancements and Changes in v2.2
The Find-my-Friends (fmf) and Family Sharing (famshr) tracking methods have been rewritten to support iCloud 2fa accounts.
iOS App monitors additional triggers and location changes.
Performance enhancements reduce the calls to iCloud Location Services for location data.
Reduces āold location dataā by requesting iCloud location data before it is needed.
The iCloud3 configuration file can be used to specify configuration parameters. Using the iCloud3 Event Log > Actions > Restart iCloud3 command, they will take effect immediately, without restarting HA.
Improved error handling and notifications.
Additional configuration parameters and sensor attributes.
Major enhancements to the iCloud3 Event Log to support themes, tracking monitors, restarting iCloud3, pausing/resuming polling, errors and alerts notifications, event log export, and more.
Improvements to Stationary zone locations, detection and notificationsā¦
Reorganized the iCloud3 documentation for easier installation, trouble shooting, reference and guidance in using it for device tracking.
And some bug fixes.
And much moreā¦
Important Links
Download iCloud3 using HACS ā Open HACS, search for iCloud3, select Install and restart HA. The Quick Start Guide leads you through the steps needed to begin using iCloud3 to track your devices.
Extensive documentation with with examples of presence detection, including sample configuration files can be found here
Description and Features
iCloud3 is a device_tracker custom_component for iPhones, iPads and iWatches. It is tightly integrated with the HA IOS App, uses the Waze Route Tracker for distance and time information, creates Dynamic Stationary Zones when you are stationary, supports device include/exclude filters, minimizes battery usage, and much more.
iCloud3 is a Home Assistant device tracker custom component that greatly expands the capabilities of the HA iCloud integration. It exposes many new attributes, provides many new features, is based on enhanced route tracking methods, is much more accurate, and includes additional service calls.
Some of these features include:
A variable polling interval based on the Waze route mapping service (drive time and distance rather than just a calculated straight line distance).
Immediate zone changes (enter/exit) and location changes triggered by the iOS App.
An Event Log that highlights startup events, tracking events, errors, alerts and statistics and provides an Actions pulldown command window to Restart iCloud3, pause and resume polling, show tracking monitors and moreā¦
Sensor templates that are used in automations, in scripts and on Lovelace cards are created and updated automatically.
GPS wandering that changes the deviceās state from home to not_home randomly is eliminated.
Ability to track your location from multiple zones.
Short 15-second polling when less than 1 mi/km from home (reliably trigger automations based on an accurate distance).
Ability to include or exclude devices or device types (filters for devices you want to track).
Stationary Zones that help reduce polling and conserve battery life when you have not moved for a whileā¦
Old location data and GPS accuracy are automatically discarded.
Additional service call commands (setting intervals, pausing and resuming polling, zone assignment, etc.)
No longer need any other program (other than the HA iOS or app) to handle device tracking and presence detection (no more Nmap, OwnTracks or router based tracking components).
Many new configuration variables attributes, sensors and Service Calls.
I posted this on the 2.1 thread. Iām a release candidate or so behind (but after your changes regarding authentication) and since yesterday Iāve been receiving two factor requests a couple times per day. It looks like the native component is having a similar problem from other posts. It was working perfectly before.
@blhoward2
There havenāt been any changes to the authentication process for a while. Iām running 0.116 and am not seeing any 2fa requests. There was an issue someone opened after switching from the non-2fa account to the 2fa account about getting an authentication request on every update. That turned out to be the verification was never actually completed. Another user has a similar problem and, after deleting the cookie file 4 times and restarting HA, things settled down and are working fine. I deleted my cookie file and restarted iCloud3, went through the verification process and did see that no location information was being returning from iCloud Location Services. After restarting iCloud3, everything was fine.
I would delete the cookie file so a new verification process will start. Go through the select trusted device process, get the 6-digit code via a text message, enter that code and see if it completes. Then restart iCloud3 on the Event Log > Action pull down windows. You may have to do this several times. I did experience a problem a while ago and it seemed like there was a communication error from Apple that solved itself after a few tries.
The complete verification process is described in the iCloud3 docs here.
Installed everything. Login with icloud is ok. Had my 2way auth doneā¦ Have my entities and sensors.
Restart HA and now i dont see the correct information in the entities. When update HA iOS the iOS entities are updates. the icloud still show me iām at home. (im at my work now 1km away)
@poudenes
It sounds like iCloud3 is not monitoring the iOS app device tracker or last update trigger entity so it is not picking up zone enter/exit triggers. Review the startup information in the Event Log to see what entities are monitored and for any error messages. Select Event Log > Actions > Show Tracking Monitors to display the iOS app data as seen by iCloud3.
The iCloud3 docs discuss the iOS App here.
The iCloud3 docs discuss the Event Log during startup here.
Iāll try that but itās odd that suddenly itās a problem after a month of no issues. I upgraded to the new release last night and restarted and reauthenticated (At 8:33 PM) and it was fine until 10:18 this morning. Here is what Iām seeing in the log.
If I add hard a email address than just the info of cenkay_xr is showing.
Mine is not show even the info is coming from my email account ā¦
It say my email is not valid and its not in the FMF contact list
Hi Gary, I read every word of your documentation and my startup event logs match yours exactly. I am having issues where locations are not being updated or when they do, it is 30-40 minutes late. What should I check next ??
Make sure you can see everyone sharing their location in the FindMy app on all the devices. If you can not see it in the FindMy App, it will not be returned to iCloud3 when it is starting up. As I remember, the FindMy app might send an invitation to the person at the email address you entered to be shared. That person must approve the sharing invitation or they will not be seen.
@mikealdo
Go to Event Log > Actions > Export Event Log. It will create icloud3-event-log.log in the HA /config directory. Send it to [email protected] and Iāll take a look at it to see if I notice anything.
More info about exporting the Event Log is in the iCloud3 docs here
I already now add my friend in family sharing. Now both accounts are show correct in HA
And we did add him first as friend and he accepted the invite. Hit info was in HA, mine was not. (I add my username/password credentials)
iCloud3 is working perfectly for me, but my wifeās phone isnāt working properly. Itās constantly and consistently showing her in a named Zone just up the road (the local shops).
Today weāve gone for a walk around the neighbourhood and MY iCloud3 shows my phone merrily making its way around the neighbourhood while my wifeās remains static.
Itās really odd. It says in her log:
āUpdating device>GPS 53.799690247,-1.549103022/65m Located 8 seconds agoā
(location details obfuscated) but the location stays set at the wrong zone which is about 120m away.
Confused. Why does it work so well for me but not at all for my wife?
A thought: wonder if devicename is case sensitiveā¦
EDIT: I altered the case of devicename and itās correctly identified my wife as āhomeā for the first time. However, when I look at my ālogā in the state column it shows āhomeā, same for the zone column but in my wifeās state is blank. Only the zone shows her at home.
icloud3 setup error >> the ios app device_tracker entity was not found in the entity register. CRLFDevice_tracker entities suffixes found -
Also I have no āactionsā button only refresh, debug and restart.
@poudenes
In your track_devices parameter line, you are using the !secret XXX to identify the person you want to track. The track_devices parameter does not support using the HA !secret method. You need to use the actual email address of the person you want to track. iCloud3 useās theā@ā on the parameter line to determine the field is an email address that then ties it to the person.
See the display_as configuration parameter in the iCloud3 docs. Using it, you can change the text displayed in the Event Log from one value to another and hide the email address in the HA logs.
@daneboom
You are running an old version of the Event Log and need to clear your browser cache to load the new version. Then see what it looks like.
On your phone or iPad running the iOS App, select HA sidebar > App Configuration > Reset front end cache at the bottom of the screen. Exit back to HA and pull down from there too to refresh the page. That should reload the Event Log on the phone or iPad. Do this on every device running HA.
@daneboom
The error message āThe iOS App device_tracker entity was not found in the entity registryā indicates you have not installed the iOS App on the phone. Without the iOS App, you will not receive Zone enter/exit triggers and iCloud3 will not react to zone htt
See iCloud3 docs for more info on the iOS App here