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

I think this RC11b change is permanently stopping a device going into its stationary zone.

An iCloud3 scheduled update usually takes two or three attempts until iCloud accuracy or age is sufficient, therefore the first one or two are discarded and the stationary zone timer reset. Rinse and repeat for the next scheduled update time and never move to stationary.

@scotty1395
I did make a change to reset the stat zone timer when it got an old location or bad gps. I was running into a problem where I was getting a lot of old locations and then the timer for the stationary zone was reached and I was put into a stationary zone when I was actually going about 85mph on I-95.

Probably the way to handle it would be to ignore the timer when the gps is bad or the location is old and then let a good location update handle it. An easy fix I’ll put in rc11c update.

@gcobb321 I have two issues with icloud 2.1

  1. In the IOS app and on the map of HA I see two stationary zones which keep on existing many weeks now and are a close to my home (probably a wrong GPS zone). Aren’t they supposed to be deleted somehow?

  2. When restarting HA icloud event log warns me that the device tracker of the IOS app has no latitude and longitide and reverts to IOS v1. In HA I see however in the tracker both a latitude and longitude?

Go get 2.2 rc11b. it fixes a whole lot of potential issues

1 Like

Well that seemed to work right now. I have no “stationary zones” anymore and also no error at HA startup

Get RC11c that I put up yesterday if you have any issues authenticating or verifying your iCloud account during iCloud3 start up. The stationary zones are not deleted. They live about 1km north of your Home zone with a 1m size.

I installed RC11c and indeed stationary zones are back again within 1 km. So that is by default, no problems. I still have an error at starting HA that the ios device_tracker has no latitute and longitiude but the icloud device tracker seems to work…

@tomdh76
I just made a change to see if it’s a timing issue of iCloud3 trying to get data before the iOS app is up and running. Rc11d and maybe a variant RC11e will be available in about 5 hours. I can’t test them in a live environment and would appreciate it if you would download them and see if they both work. Or if neither works.

Basically, the iCloud3 device data will be used if iOS app data is not available. There is also a counter that controls a message in the Event Log if the iOS app data is not available every 2 minutes.

I would be interested if everything works when you normally get the no latitude message (now using iCloud3 data) and then it starts to get the iOS app data or if you get the message every 2 min indicating it is never getting the iOS app data. And if not getting it, what are the iOS app device tracker attributes.

Release Candidate 11d is available

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

Release Candidate 11d (8/24/2020)

  • If no data is available from the iOS App (no Latitude attribute), the iCloud3 data will be used instead of restarting iCloud3. This potentially solves a timing issue where iCloud3 starts before the iOS App has been initialized. A message is added to the Event Log every 2-minutes until the iOS App data becomes available.
  • Fixed a bug where an iOS App trigger was not being processed when the last_update_trigger change time was the same as the iOS App’s device_tracker state change time.
  • All iOS App location data, except enter/exit triggers, is now validated for GPS accuracy and to determine if the location is old. Previously, only triggers in a specific list of triggers, based on the iOS App documentation, were validated. This eliminates needing to update iCloud3 if new triggers are added to the iOS App.

Release Candidate 11c (8/22/2020)

  • Added error checking in the mobile_app notify services extraction routine.
  • If this was a new installation and the icloud user account has not been authenticated with the 6-digit verification code, accessing the iCloud account when icloud3 was starting was generating errors, preventing the account from being authenticated.This has been fixed (I hope).
  • Reverted resetting the stationary zone timer on an old Location or bad gps item. Now, the timer will not be reset and the location must be good when the time is reached to move into a stationary zone.

Thx Gary for all your work. I do not have the error anymore that the Ios device tracker has no latitude or longitude. However, at start up the Ios device tracker is “not_set” in the event log of Icloud3. I see at that moment in the state of the device_tracker of the IOS app that it is set at home. When I go to the app and do a manual update it switches from “not_set” to home.

Maybe it has something to do with this issue?

@tomdh76
That points more to a timing issue. iCloud3 does the first locate with icloud. The iOS app is probably not started at that point. I’ll add in a check to monitor when the iOS app that is not set then becomes available.

I am seeing a problem when I try to use the config parameter config_ic3.yaml. I am getting the following error in the log:
ic3-1
The file does exist:

Here’s my config:

- platform: icloud3_dev
  username: !secret icloud_user
  password: !secret icloud_pwd
  tracking_method: fmf
  config_ic3_file_name: /config/config_ic3.yaml

I am running version V2.2.0rc11c.

Am doing something wrong?

Thank you!

The file should be located in /config/custom_components/ icloud_dev11c (or whatever you’ve named your iCloud3 directory)

OK … but the documentation says this:

“The config_ic3.yaml file location defaults to the config/custom_components/icloud3 directory, however it can be stored with your other configuration files in another directory. To do this, copy it to it’s new location and specify the full filename (e.g., config/configuration_ic3_lc.yaml or /config/includes/config_ic3.yaml ) on the config_ic3_file_name parameter. See below for more information and examples.”

Maybe the documentation is incorrect?

Thanks for your help!

@tomdh76
When you start ic3 and the ios app is not_set but the ic3_zone shows Home, Go to the Event Log, open up Actions > Show Event Log details. What is does the State- show, is it Home or not_set?
Also, if you restart HA and the ios app shows not_set and ic3_zone shows Home, go to the Event Log, then do a refresh, then do an Actions > Show Event Log Details. Now what does it show?

The documentation seems correct to me.

copy it to it’s new location and specify the full filename (e.g., config/configuration_ic3_lc.yaml or /config/includes/config_ic3.yaml )

Note the full filename reference if moved to another directory or in /config/includes/config_ic3.yaml if config_ic3.yaml name is used.

Hope this clarifies.

I must be dense … I created the file in the /config directory and then specified /config/config_ic3.yaml in the configuration. Given that the file does in fact exist here: /config/config_ic3.yaml, what should I be specifying for the config_ic3_file_name parameter?

Thank you for your help!

After a restart of HA there is only 12 second between ios ‘not set’ and ios ‘home’. In the event log details it states: "iosapp monitor (using IC3 data) > Trigger - @ , State not set, GPS (xxx,yyy), lastupdt time 00000, will update false, no data received from ios app, using ic3 data.

But for me those 12 seconds are not vital …:slight_smile: so if this it, it will work fine for me…

I think the best way is to share my file structure. Note where config_ic3.yaml is located i.e. /config/custom_components/icloud3_dev11d/config_ic3.yaml

Thanks for that. Here is where my config_ic3.yaml is located:


(I do not want to put this file in the custom_components directory - it’s likely to get deleted or overwritten when I upgrade/uninstall components)
Given that the file is in /config, I am specifying this for the config_ic3_file_name parameter:

config_ic3_file_name: /config/config_ic3.yaml