iCloud3 v3 iDevice Tracker - Version 3

iCloud3 Development-Beta updated to v2.3.6b3

Installation Instructions

  1. Download the iCloud3 v2.3.6b3 zip file from the Development-Beta directory.
  2. Unzip it into the custom_components/icloud3 directory.
  3. Restart HA.

Development-Beta Change Log:

v2.3.6b3 (3/14/2021)

iCloud3:

  1. The device_tracker last_located, last_update and next_update time attributes now display the timestamp (2021-03-11 14:23:30) instead of only the time (2:23:30 or 14:23:30). The sensors created by iCloud3 for these items still show only the time. This is helpful when the times of these items are for the previous or the next day. Sensors for these timestamps are not created by iCloud3. To create them, create a template sensor and extract the device_tracker’s attribute value.
  2. Reduced the size of the Next Update countdown timer to better fit on smaller width screens.
  3. Corrected an invalid variable name (EVA_NOTICE --> EVLOG_NOTICE). This error was displayed when sending a notification to a device was not successful.
  4. Fixed a problem calculating the iCloud time/locate that is displayed in the Event Log Statistics table every 3-hours.

Event Log:

  1. Expanded single line size of zone names from 10 to 12 letters.
  2. Support for the version number change.
  3. Added Start/Stop Logging Rawdata to the Actions menu.
v2.3.6b2 (3/9/2021)
  1. Fixed a problem where the Event Log would not display when the iOS App and iC3 Zone names contained an 's (e.g., Barry’sHouse).
  2. Updated the Event Log card version number check to support the v#.#.#b# (e.g., v2.3.6b2) numbering scheme.
v2.3.6b1 (2/28/2021)
  1. Revamped the way the configuration parameters are retrieved from HA, how they are processed and how iCloud3 is set up based on the parameters.
  2. Combined the processing of the parameters from configuration.yaml and config_ic3.yaml to use common routines. They are edited using common routines and invalid values are reset to the default value.
  3. The track_from_zone parameter can now accept multiple zones using the zone name or the friendly name.

Have just got a new iPhone and am trying to get iCloud3 to talk to it instead of the old, defunct, dead one. Not going well so far, on my umpteenth reboot but I have a good feeling about this last one! :smiley:

EDIT Nope - it just keeps reporting iC3 zone - null (no text) but the iOS app column knows where it is. It says “discarded, no location data”.
Confused what I have to do.

@daneboom
Open an issue here and review the iCloud3 start stages to see if there are any error messages. Make sure the devicenames are all correct, they are listed in the FamShr or FindMyFriends List, the iCloud account authorization is OK, etc.

I’ll need a lot more info than just the above screenshot. You can export the Event Log on the Event Log > Actions and send it to [email protected].

How do I get the event log working?

No matter what I try I end up with
Custom element doesn’t exist: icloud3-event-log-card.
type: ‘custom:icloud3-event-log-card’ entity: sensor.icloud3_event_log

I have this in my configuration.yaml

device_tracker:
  - platform: icloud3
    username: [email protected]
    tracking_method: iosapp
    config_ic3_file_name: 'config_ic3.yaml'
devices:
  - device_name: Some_iPhone
    name: Someone

This is my lovelace resource

/local/custom_cards/icloud3-event-log-card.js

I created the www folder under config and it created the custom_cards folder and copied the js file over.

If I go into Developer tools sensor.icloud3_event_log I can see data…

log_level_debug: ''
filtername: ClearLogItems
update_time: 'Sun, 03/21, 03:39:35'
names:
  some_iphone: Someone
logs: >-
  [['', ' ', ' ', ' ', ' ', ' ', '^^^Click `Refresh` to
  display                                 all records (15 of 28 displayed)^^^'],
  ['3:29:36a', 'Home', 'Home', '2 hrs', '', '0 mi', 'IOS App update complete'],
  ['3:29:35a', 'Home', 'Home', '2 hrs', '', '0 mi', 'Results: From-Home >

etc...

Cannot get lovelave card for log :cry:

I thought this magically started working as I was looking from my phone and I can see the log on the my phone but it doesn’t work on the webpage on my PC.

It wasn’t obvious but the log it shows was of the phone companion app log not the Homeassistant log from the db?

I assume you have added the icloud3-event-log-card entry to a lovelace card described in the ic3 docs here.

Have you restarted HA?

iCloud3 Development-Beta updated to v2.3.6 Release Candidate

Installation Instructions

  1. Download the iCloud3 v2.3.6 zip file from the Development-Beta directory.
  2. Unzip it into the custom_components/icloud3 directory.
  3. Restart HA.

Development-Beta Change Log:

v2.3.6 Release Candidate

New Config Parameters

  1. inzone_intervals - You can specify the interval between location updates when you are in a zone (inzone_interval) globally, by device type (iphone, watch, etc) or when the iOS App is not installed on a device.
  2. The inzone_interval parameter has been added to the devices/device_name parameter that lets you specify the inzone interval for each device. If it is not specified, the inzone_intervals list above is used.
  3. The noiosapp parameter on the devices/device_name parameter is being depreciated (it still works and will not be removed). It is being replaced by the iosapp_installed parameter. noiosapp: Trye is the same as iosapp_installed: False.

See the Change Log here for more information and examples.

Other Changes

  1. If the phone was no longer available but still on the iCloud account (lost, stopped working, can not be locate, etc), entries were still being added to the Event Log even though polling had been reduced. This has been fixed. Now, if the phone has not been located for 26-hours or there are more than 300 discarded location updates in a day, the device will be Paused…

This is the final beta version for v2.3.6 before release. Let me know if everything works or you have a problem.

In the end it was a browser caching thing, tried a different browser and it worked to Shift F5 and it came back fine so I can see the log now.

Next step is to add the tracking user lovelace view, wish me luck :slight_smile:

Hi Gary
Just to advise - this I have done - thank you!!!

@gcobb321
Hi Gary, installed v2.3.6 and the following is something I had not experienced previously. After exiting and subsequently entering my Home zone neither the iOS App nor iC3 Zone updated to ‘home’.

After checking the Event log I noticed the alert that tracking had paused as a result of excessive errors, I followed the instructions provided to resume polling to restart .Only after trying this twice did the update to the device location happen.

Cheers

@bastero
I added the routine to pause polling if there were an excessive number of discarded locations in one day (100) or there were constant old_locations in a 26-hour period to solve a problem where a phone was no longer available but iCloud3 continued to track it. I have increased the total discarded transactions to 400 in one day so it wouldn’t be paused early. It was a fail-safe limit to make sure the Event Log didn’t fill up with lots of discarded entries. Even then over 100 in a day seems like quite a lot. Have you ever looked at the stats displayed each day to see what your count has been running?

@gcobb321
Thanks for the explanation Gary… to be honest I have not paid attention to the number of discards. Below from the 6am & 12:00pm summary updates, as you can see there seems to have been an issue with iOS updates not triggering for quite some time. Perhaps this says something to you.

Do you have the update available with the 400 limit?

Thanks

@bastero
I just uploaded it to the iCloud3 development directory. The description says v2.3.6rc2. I did not change the version number in iCloud3.

@gcobb321
Thanks, I’ve installed and will monitor the discarded and let you know what the outcome is.

Update: regarding the issue with discards using v2.3.6rc2. Below is the summary Event log for 6:00am & 12:00pm

Screen Shot 2021-03-24 at 12.22.45 PM

Screen Shot 2021-03-24 at 12.21.29 PM

@gcobb321 Was curious if there was a way to either resend a 2fa code or remove the notification? Restarting iCloud3 seems to have kicked it into gear after a log that 2fa needs to be entered, and trying to enter in a code when one randomly appears shows an error:

Will give 2.3.6 RC a whirl shortly and see if there’s any difference. Cheers!

@brianhogg
Try Event Log > Actions > Reset iCloud Interface. That will delete the session cookie files, recreate them and ask for a 2fa code.

1 Like

Looks like that did the trick! Immediately issued a 2fa, and worked to submit it via the form off the HA notifications area.

Some time ago I came across a post on displaying the distance from the home zone in (miles or km) I believe using a Glance card… I have tried to replicate but this following is as far as I’ve got trying to use the Entity-filter type. It displays the zone the device_tracker sees but not the distance.

Any suggestions?

type: entity-filter
entities:
  - entity: device_tracker.iphoneexpress
    state_filter:
      - attribute: zone_distance
        operator: '!='
        value: home
  - entity: device_tracker.garbineiphone
    state_filter:
      - attribute: zone_distance
        operator: '!='
        value: home
card:
  type: glance
  show_state: true
  show_name: false

Screen Shot 2021-03-29 at 3.15.40 PM

One thing I have done is setup a fake tracker to mark me home/away using mqtt as I run a search on my WiFi router for my mac on a webhook which is pretty much instant coming or going.

So under my user track device I have my fake mqtt tracker but then you can add more, I can add device_tracker.calz_iphone & device_tracker.calz_iphone_app both seem to have the same GPS info but device_tracker.calz_iphone seems to have loads more info and mentions icloud3_version: 2.3.5 so assume I select this one as a secondary but does the first take precedence over the second.

By adding the second tracker what more does it allow me to do etc?
I already the have the Lovelace location info card running.

@bastero
I think the ‘badge’ sensor is what you are looking for. Go here. My Lovelace config for the glance card is:

type: glance
entities:
  - entity: sensor.gary_iphone_badge
  - entity: sensor.lillian_iphone_badge

The state is the zone if the phone is in a zone or the distance from the zone if it is not home.

1 Like