iCloud3 v2.1 Device Tracker - iCloud3 v2.2 has been released (10/10/2020)

iCloud 3 Release Candidate 11 is now available.

This is probably the last Release Candidate. It will be released to HACS when the documentation is finished.

Thanks in advance for reporting any issues or problems before going live.

Programs changed:

  • device_tracker.py
  • icloud3-event-log-card.js
  • pyicloud_ic3.py

This release has been tested with the latest version of the iOS App on the Apple App Store (2020.5.2) and the latest with the beta release (2020.6 (4)).

Download the installation zip file here
Full Change Log is here
v2.2.0 Documentation is here
Installation instructions are here

What’s New…

  • Tracking method FmF now works with the normal 2f iCloud account.
  • A request_location_update message is sent to the tracked_device during initilization to see if a notify can be successfully sent or if it generates an error. If an error is found, an iCloud3 Error message is displayed with instructions on changing the Device Name on the phone to correct the error.
  • Cleaned up and optimized code in the Event Log.
  • Validating the iOS App device to be tracked was from iC3 initialiation Stage 2 to Stage 3. Errors are clearer and correction instruction are clearer.
  • Changed the way the iOS App monitor is displayed in the Event Log. It now displays if an update will be triggered or not and the reason. The iOS App Monitor is refreshed if you do a ‘Refresh’ in the Event Log so it will then display if you select the ‘Show Event Log Tracking Details’.
  • Added a ‘display_as’ configuration parameter that changes one text value to another in the Event Log before it is displayed to be able to copy screen shots and post them to forums or into github issues without displaying private identification data. For example, you can display your email address as’ [email protected]’ instead of your real email address. This also works in the Export Event Log log file.

@scotty1395
I made a change to how the iOS App Monitor reports the iOS App device_tracker info. It also reports more info when starting up regarding all the entities it finds to monitor and which one will be monitored and any errors it runs into. On the Event Log, when you do a Refresh the latest iOS App Monitor info is added to the Event Log (in 5-sec maybe). Then select Show Event Log Tracking Details to see the data from the entities being monitored.

More info about in the link above.

Thanks Gary. I’ll get RC11 loaded now.

For the last few days I’ve had an automation set up that changes the state of the last_update_trigger entity to “Standby” whenever it receives an update from the app. This makes sure repeated events update the state/update time and are caught by iCloud3. Seems to be working quite well.

I’ll test RC11 with the automation disabled, though I think it may still be needed.

Hi Gary,
I know you have put in a lot of effort in describing your error messages and corrective actions required but the error below has me stumped!

I know it says that the Device name on the phone should be the same as the iOS App device_tracker. In my case I’ve tried multiple names (‘iPhone Express’, ‘iphoneexpress’, ‘iphoneexpress_app’, ‘mobile_app_iphoneexpress_app’ ) in the HA App as well as in the iOS Device name but nothing seems to clear the error .

Please advise, thank you!

Source: custom_components/icloud3_dev11/device_tracker.py:7934
Integration: icloud3_dev11
First occurred: 9:38:51 PM (2 occurrences)
Last logged: 9:38:51 PM

iCloud3 Error > Error sending test msg to ('Express', '') (iphoneexpress) > Device-mobile_app_iphoneexpress_app, Error-Unable to find service notify/mobile_app_iphoneexpress_app. -------------------------. The Device Name on the phone must be the same as the iOS App device_tracker being monitored.. 1. Open the iOS App on the phone.. 2. Select HA Sidebar>General.. 3. Change the Device Name on the phone to mobile_app_iphoneexpress_app.. 4. Close, unload and restart the iOS App on the phone to send the new Device Name to HA.. 5. Restart HA.
iCloud3 Error > Error sending test msg to ('Garbine', '') (garbineiphone) > Device-mobile_app_garbineiphone_app, Error-Unable to find service notify/mobile_app_garbineiphone_app. -------------------------. The Device Name on the phone must be the same as the iOS App device_tracker being monitored.. 1. Open the iOS App on the phone.. 2. Select HA Sidebar>General.. 3. Change the Device Name on the phone to mobile_app_garbineiphone_app.. 4. Close, unload and restart the iOS App on the phone to send the new Device Name to HA.. 5. Restart HA.```

@gcobb321
Just did the update through HACS, (from RC10 to RC11).
-Out of 5 devices I was tracking, 3 have suddenly changed names in how iCloud3 reads them. EG: used to be ‘fruity_phone_11’ now appears as ‘fruityphone11’. So all of a sudden, my config.yaml was wrong.
-Now everytime I restart HA or iCloud3, I get the ‘Your AppleID is being used on a device…’ and the 6-digit code appears. Yet, nothing shows up in HA Notification center. What’s going on there ? and how do I resolve this ? do I try to uninstall/reinstall iCloud3 totally?

Thanks for all the work on this. Just getting started, but had a quick question. When I originally setup my track_devices, I put double quotes around the user_name value for my wife’s phone, and those were included in the friendly name. Even after removing the quotes in my config, the quotes persist in the entity friendly name. Is there any way to change it? I suppose I can customize the entity, but that seemed like kind of a workaround.

Hi Gary,
Would it be possible to monitor the app device tracker entity for coordinate changes to trigger an iC3 update?
This would catch the scenario where the device tracker state hasn’t changed and the trigger sensor hasn’t updated due to repeated events (eg multiple sig loc changes in succession).

Are your iOS App Device Names iphoneexpress_app and garbineiphone_app. Look in App Configuration -> General.

1 Like

@alexh1285
RC11 is not on HACS. If you update4d using HACS, you probably reinstalled v2.1.0 which does not support 2fa. The version you are running is displayed in the Event Log when iC3 starts (first line of the Initialiation stages) or go to the Developer Tools>States and look at one of the iC3 device_tracker entity attributes. If you are running v2.1.0, get v2.2.0 again using the links below.

Download the installation zip file here
Full Change Log is here
v2.2.0 Documentation is here
Installation instructions are here

iCloud3 Release Candidate 11a is available

Download the installation zip file here
Full Change Log is here
v2.2.0 Documentation is here
Installation instructions are here

This is a minor update that fixes the following issues in RC11:

  • When iCloud3 starts, a test message is sent to the phone to make sure the Device Name on the phone matches the device name of the device_tracker entity being monitored. If an error was encountered, an error message is displayed with the device name, including ‘mobile_app’. The ‘mobile_app’ text is not part of the device name and should not have been displayed. This has been corrected.
  • Fixed an error generated by an invalid variable name ‘devicenme’ displaying another error message.
  • Fixed a problem decoding the version number in the Event Log.

The new features and changes in RC11 are:

  • Tracking method FmF now works with the normal 2f iCloud account.
  • A request_location_update message is sent to the tracked_device during initilization to see if a notify can be successfully sent or if it generates an error. If an error is found, an iCloud3 Error message is displayed with instructions on changing the Device Name on the phone to correct the error.
  • Cleaned up and optimized code in the Event Log.
  • Validating the iOS App device to be tracked was from iC3 initialiation Stage 2 to Stage 3. Errors are clearer and correction instruction are clearer.
  • Changed the way the iOS App monitor is displayed in the Event Log. It now displays if an update will be triggered or not and the reason. The iOS App Monitor is refreshed if you do a ‘Refresh’ in the Event Log so it will then display if you select the ‘Show Event Log Tracking Details’.
  • Added a ‘display_as’ configuration parameter that changes one text value to another in the Event Log before it is displayed to be able to copy screen shots and post them to forums or into github issues without displaying private identification data. For example, you can display your email address as’ [email protected]’ instead of your real email address. This also works in the Export Event Log log file.
1 Like

@scotty1395
ICloud3 does that by looking at the update time of the iOS device tracker. When the iOS app does an update, it changes the last_update_times of the state and last_update_trigger. iCloud3 picks this up and validates the trigger and state coordinates to make sure it is not an old location, not bad gps accuracy, not caused by gps wandering, etc.

@lordkev
You may have to change the entity name to remove the quotes. Go to HASidebar>Configuration. Then select Devices, Entities and Integrations at the top. Find the ones you need to correct and update them. HA docs has the details on using these screens.

Hi Gary,
The problem is the update time isn’t updated if the state doesn’t change to something different.

“ state.last_updated : Note that writing the exact same state including attributes will not result in this field being updated.”

@bastero
The ios App device_tracker entities you are monitoring should be ‘device_tracker.iphoneexpress_app’ and device_tracker.device.garbineiphone_app’ and the Device Names on the phone itself would be ‘iPhoneExpress-App’ and ‘GarbineiPhone-App’ (formatted) or ‘iphoneexpress_app’ and ‘garbineiphone_app’.

After you update the Device Name on the phone, you need to unload the ios app and reload it. Then you should restart HA so the ios app will send the Device Name to HA. It may take a minute or so for the ios app to update HA.

Look in Developer Tools>Services for the notify service call. That will show the name (remove the mobile_app_ part) of what HA thinks the phone’s Device Name is.

@scotty1395
Yes, but the attributes are being updated. The longitude & latitude are one of the attributes. I’ll dump the iosapp monitor every minute and see if there are changes not being picked up.

Hey @gcobb321 this is a very silly question but does the actual iCloud integration need to be setup in addition to iCloud3? Or is the iCloud3 config enough? You’ll see on my github comments that I feel I’m missing some data though I’m not getting errors at the moment, so I’m trying to figure out what’s going on there. Thanks! All your work on this is greatly appreciated!

Thank you Gary that fixed it !!! The bit I was missing was the ‘Device Names’ referred to the iOS device itself i.e. in Setting -> General -> About, as well as the within the App Configuration -> General. i.e. both need to be defined.

BTW I upgrade to RC11a. Thank you for the work you put into this, I for one really appreciate your support!!

I’ve just switched from using a non-2fa account to using famshr.
I’m seeing lots of this in the log.
What have I done wrong.

on RC11a.

The see service is not supported for this entity device_tracker.bruce_iphone

@bastero
Glad you got it fixed.

The v2.2.0 docs explains this a little better than the old docs. Plus, some (a lot) of the iOS App and mobile integrations/entities changed since v2.1.0.

Would you review the v2.2.0 docs and see if it clearly explains how it should be set up and let me know if there are any changes I should make to improve the explanation to avoid confusion?. Thanks.

v2.2.0 docs are in the Gettig Started chapter here

Got it now. Hadn’t read enough of the manual !