iCloud3 v2.2.1 Device Tracker-Advanced tracking features, iOS App monitoring

@gcobb321 Perfect, thanks. My iPhone name is in spanish, that’s way it starts with ‘iPhone’

@gcobb321 any chance to look to lost iphone service problem?

@enribomber
The lost phone service is only available with the Family Sharing tracking method due to a limitation of the pyicloud_ic3.py interface program. At some point, I may add a notification using the iOS App but do not have any timeframe on when this might happen. My next priority issue is to dig back into iCloud verification/authentication expiration problems.

I’m using family sharing but doesn’t work…

Hi Gary, hats off to you for this fantastic integration. My daughter just got an iPhone for her Birthday and has replaced her Android phone meaning I can finally implement iCloud3 and replace Life360.

My only question so far is would it be possible to have the 24 hour clock as a configurable?

I’ve tried creating a template sensor based on the zone_timestamp attribute however as it’s only 12 hours its showing my sensor as “Home since Tuesday 06:39 AM” when in fact I arrived home at 18:39/06:39 PM.

Thanks!

@pardanme
The ‘unit_of_measurement: km’ parameter will display the clock in 24-hour format.

iCloud3 v2.2.1c - Release Candidate 1 is available

Download it here. To install, download the zip file into the icloud3 directory, unzip it and restart HA.

Change Log:
1.Bug fix - The iOS App reports the device_tracker state with the zone’s friendly_name. iCloud3 was handling zones by the zone name. This caused problems handling zone change detection and, at times created a iOS App/iCloud3 state mismatch error.
2. Bug fix - If (1) the phone was turned off and not available when HA restarted or (2) became unreachable for an extended period of time while HA/iCloud3 was running (cell service down, turned off, airplane mode, etc.), the phone would be in a not_set state or the location would become older and older. This would hang up iCloud3 in a 5-second update loop, polling iCloud for location data when none was available. It will now retry the data request 4-times at a 15-second interval. The interval will increase to 1, 5, 15, 30, 1 hr and then the max_interval (4-hrs) and remain there until the phone comes back online. If the phone is then turned on, it will be picked up on the next successful location data request and returned and then tracked as normal.3. 3. Bug fix - When old location messages were added to the Event Log if the last located time is old and the phone is in a zone.
4. Bug fix - If the unit_of_measurement not being set to ‘km’ if the parameter was in the config_ic3.yaml file. It was being set correctly if it was in the HA configuration.file.
5. Bug fix - Fixed ‘Lost Pnone’ notification. It will now work with all tracking methods using the iOS App Notifications platform.
6. If the phone’s name started with iPhone (or iPad), the first character of the sensor.xxx friendly_name attribute would be a ‘-’. The ‘-’ was removed. Also removed the ‘-’ between the phone’s name and the attribute name to match the iOS App friendly_name formatting.
7. New configuration parameter - ‘display_zone_name: True/False(default)’ The ‘device_tracker.[devicename]’ entity displays the zone’s friendly_ name, which is then displayed on the lovelace card. The name is truncated if it is longer than 10-12 letters. This option, if True, will display the zone name itself instead of the friendly_name.
8. Added some logger debug statements to ‘pyicloud_ic3.py’ to capture icloud request/response events that might help pinpoint what is happening when iCloud needs to do an account verification.

To turn this on, add the following to your configuration.yaml file:

logger:
  default: info
  logs:
    custom_components.icloud3.pyicloud_ic3: debug

Gary,

Finally got everything working, most of the issues were related to the settings on the phones. Really nice work and excellent documentation. Quick question, how do you enable the boolean driving flag that you use in your sample lovelace cards ??

@gcobb321 SInce your update 2.2.1c im still connected without verification proces within 24hours

@mikealdo
I use an automation that sets an input_boolean that is triggered by the distance from home. See the sample automation/scripts in the iCloud3 docs here.

In the iOS app config setup we’re told to enable ‘Enter Zone’, ‘Exit Zone’ and ‘Significant Location’ notifications. This causes my phone to make a noise too often for my liking. What happens if I disable those 3 settings? Do they just control the notification on my phone or will iCloud3 stop tracking location changes?

@thoughton
Those options inform you when that type of activity takes place. They do not affect any iCloud3 tracking abilities and can be turned off. I recommended they be turned on to make sure iCloud3 is recognizing those types of triggers while you are getting up and running. If you want to still see the notifications but without the sound, go to the iPhone Settings > Notifications > Home Assistant App and turn off Sounds.

Excellent, thanks!

v2.2.1e Development Version - Release Candidate 2

I have just uploaded v2.2.1e to the iCloud3 GitHub repository Development Directory here. Download the .zip file, unzip it into the iCloud3 directory and restart HA.

Item #1 is the biggest change. iCloud3, when using the iOS App tracking_method, will now request location information from the iOS App just like it does with iCloud Location Services. This will provide another means of tracking your phone when there are major issues with the iCloud authentication/verification.

Change Log:

  1. Enhancement - Updated the iOS App tracking method to request the phone’s location when the Next Update Time is reached in the same manner as the iCloud tracking methods. Using the tracking method ‘iosapp’ eliminates all iCloud account polling, relies only on the data provided by the iOS app and provides a reliable tracking method when access to the iCloud accounts is limited due to 2fa authentication/verification issues. At night, the iOS App usually shuts down when the phone is asleep. When the phone becomes inactive and is not responding to location requests, a message is displayed in the Event Log and on the iCloud3 information screen, the interval is increased until the phone wakes up and the iOS App becomes active again. When iOS App wakes up and begins responding to the location request, polling will automatically resume. Note: If the iOS App is running in the background, it still may not wake up and respond to the location requests. In that case, the iOS App must be restarted. iCloud3 will detect the ‘launch’ trigger issued by the iOS App and begin polling as normal.
  2. Bug fix - The iOS App device_tracker entity contained the zone’s friendly name on enter/exit events while iCloud3 used the zone name for it’s device_tracker entity. This led to extra zone triggers zone mismatch errors when the names were different. This has been fixed.
  3. Updated - Changed the way zones are handled to better support overlapping zones, particularilly when you have two zones with a center at the same location with different sizes. For example, your Home zone has a radius of 100m and you have a second zone at the Home zone’s location with a radius of 500m. The larger zone will help wake up the iOS App before you reach the Home zone. Another example is having a city size zone to display the city’s name instead of Away in the Zone and State entities on the Event Log and iCloud3 information screen.
  4. New parameter - ‘display_zone_name: True/False’, Default: False. iCloud3 (and the iOS App) displays the zone’s friendly name in the Zone and iOSApp state fields on the Event Log and the iCloud3 information screen. If the friendly name is too long to be displayed, it will be truncated. With this parameter, the zone’s name rather than it’s friendly name, is displayed.
  5. New parameter - ‘time_format: 12/24’, Default depends on the unit_of_measurement (mi=12, km=24). This parameter overrides the unit_of_measurement time format.
  6. Enhancement - Added error handling to the iCloud authentication/verification process.
2 Likes

Restart HA now after the update.
Before I restart HA also 2 times and with last one I get message to do verification… BUT the system was still working. Got all my info back and the log looks ok???

HA now is rebooted after the update. Got a popup on my iMac for verification code. in HA got a notification to select a trusted device. But hit the approve button in iMac and the notification was gone
iCloud3 is working without the trusted device selection procedure.

Apologies if this is a silly question but I cannot find the answer and just want to check if I am even trying to solve the right problem. I am using fmf with currently just myself set up as a user. When you run it however it says no tracked devices.

In the log I can see the following:
FmF contact list email addresses found in the FindMy app for [email protected] >
[email protected]
[email protected]

Should I not see [email protected] on the bullet pointed list too? Is if so any idea why it is missing?

did you add your address in the device tracker platform?

is your Find My Phone functionality enabled on your iphone ?

Yes, my phone address is in the configuration as a tracked device, if that is what you mean, and I can successfully log into iCloud. What I can see in the bullet points in the log are all the friends that I can see on the fmf app on my phone. I know my location is being shared as they can see me on their phones.

My first question is in your logs for that line can you see your email address twice, once at the top and once on the list part? If you can I have an Apple config issue, if not I have a home assistant config issue

@Sibiu
You have an Apple config issue. ICloud3 receives all of the emails of the people that have accepted the invitation to be tracked and lists all it has received so you can tell if the tracked device is actually in the list when you have problems.

I would go into the FindMe app, add yourself to the people list, get an invitation and accept it just to make sure your info is in the list. Also make you are sharing your location in the Settings> Privacy>Location

Thanks, but can’t get that to work, when I add my address in the FindMe app it gives me an error saying you cannot share with yourself. Location sharing is enabled in settings.