iCloud3 v3 iDevice Tracker - Version 3

@GoodyGizmos
All of the matched iOS app device_tracker entity name suffixes that are found are listed on the Event Log with a message showing which one will be used.

Hi Gary,

I don’t know if this is expected behaviour; icloud3 does not appear to keep the formatting of the zones I’ve created in HA.

Eg: a zone called RonAndTammy will appear in icloud3 as Ronandtammy, and a zone with an & in the name will skip the & entirely in icloud3.

I’m expecting I’m doing something wrong but I can’t figure out what. Any idea what it could be?

Thank you in advance.

@Nabs
The zone name can be displayed several ways in the Event Log and other places. See iCloud3 docs here for info on the display_zone_format parameter.

Hi,

I get any time whis message:;
Setup failed for custom integration icloud3

I have all devices in the family account.

configuration.yaml

# iCloud3
recorder:
  purge_keep_days: 3
  exclude:
    entities:
      - sensor.icloud3_event_log

device_tracker:
  - platform: icloud3
    username: !secret icloud3_user
    password: !secret icloud3_pw
    create_sensors: zon,zonn,ttim,zdis,cdis,wdis,nupdt,lupdt,info`
    exclude_sensors: zont,zonfn,lzont,lzonfn,zonts,bat
    event_log_card_directory: '/www/custom_cards'
    config_ic3_file_name: '/config/config_ic3.yaml'
    tracking_method: famshr

config_ic3.yaml:

devices:
  - device_name: myphone
    email: [email protected]
    name: Manager
    picture: manager.jpg
  - device_name: wife
    email: [email protected]
    name: Wife
    picture: wife.jpg
  - device_name: daughter
    email: [email protected]
    name: Daughter
    picture: daughter.jpg
  - device_name: ipad-manager
    email: [email protected]
    name: iPad
    picture: ipad.jpg

#-- Formatting Parameters
unit_of_measurement: km
time_format: 24

#--Zone/Tracking Parameters
inzone_interval: '60 min'
max_interval: '4 hrs'
center_in_zone: True
stationary_inzone_interval: '30 min'
stationary_still_time: '8 min'
stationary_zone_offset: 1, 0
travel_time_factor: .6
distance_method: waze

  #--Accuracy Parameters
gps_accuracy_threshold: 100
ignore_gps_accuracy_inzone: True
old_location_threshold: '2 min'

@Grandor
See iCloud3 docs here that describe some troubleshooting steps that might help solve your probable…

First, what an awesome app! I can’t imagine the hours of coding behind it.

I am having difficulty tracking 4 devices at the same time. Mom, Dad and Child_1 are famshr. Child_2 has her own account and is FmF with Mom, Dad and Child_1.

When I load iCloud3 with the configuration file entries below, I can only track the members of famshr (Mom, Dad and Child_1). I’ve tried specifying tracking_method: famshr and also tracking_method: fmf with the same results. I’ve also tried it without track_devices.

configuration.yaml File
device_tracker:

tracking_method: famshr

tracking_method: fmf

track_devices:
  - Mom_iPhone > [email protected]
  - Child_1_iPhone > [email protected]
  - Dad_iPhone > Dad@yahoo
  - Child_2_iPhone > Child_2@yahoo

When I load iCloud3 with the configuration file entries below, I can only track Dad and Child_2.

configuration.yaml File
device_tracker:

tracking_method: famshr

tracking_method: fmf

track_devices:
  - Mom_iPhone > [email protected]
  - Child_1_iPhone > [email protected]
  - Dad_iPhone > Dad@yahoo

device_tracker:

  • platform: icloud3
    username: [email protected]
    password: !secret Child_2_Yahoo_password
    track_devices:
    • Child_2_iPhone > Child_2@yahoo

Here is the config_ic3.yaml File:
devices:

  • device_name: Dad_iPhone
    email: [email protected]
    name: Dad
    inzone_interval: 30 secs
    iosapp_installed: True
  • device_name: Mom_iPhone
    email: [email protected]
    inzone_interval: 30 secs
    name: Mom
    iosapp_installed: True
  • device_name: Child_1_iPhone
    email: [email protected]
    inzone_interval: 30 secs
    name: Child_1
    iosapp_installed: True
  • device_name: Child_2_iPhone
    email: [email protected]
    inzone_interval: 30 secs
    name: Child_2
    iosapp_installed: True

What am I doing wrong?

Is there a way to cause a location/interval update based off the state of another entity. For example I have a user that doesn’t have the HA app. Currently using icloud3 to update location. I also have BLE room presence detection. When BLE detects not home can I cause icloud3 to change interval of update? Other wise it marks user at home with an interval update of 2 hours. I am trying to trigger away automations and this is delaying it by 2 hours.

@chrisryn
You might be able to do what you want using the iCloud3 update service call with the resume command for the device. That will initiate a device Location request that will change the zone to away and restart the interval between Location updates.

icloud3_command_resume_polling:
  alias: 'Resume Polling'
  sequence:
    - service: device_tracker.icloud3_update
      data:
        command: resume
        devicename: [devicename-of-device]

Also, you might want to change the inzone_interval of the device without the iOS app to a smaller number (15 mins) so it will pick up the zone exit sooner.

@garygcastleberry

  1. You can only log into one iCloud account and have only one iCloud3 platform. You have two-Dad and Child 2.
  2. The track_devices parameter was depreciated a long time ago. I couldn’t tell if you were using it or not.

What you want to do is use the Dad iCloud account like you are doing but don’t specify the tracking _method parameter. Then put child2 as a device_name on that account. Enter the child2 email and put the tracking_method: fmf in the child2 device_name parameter to specify that it should us the fmf method.

Here’s the configuration.yaml file.
device_tracker:

Here’s the config_ic3.yaml file.

devices:

  • device_name: Dad_iPhone
    email: [email protected]
    name: Dad
    inzone_interval: 30 secs
    iosapp_installed: True
  • device_name: Mom_iPhone
    email: [email protected]
    inzone_interval: 30 secs
    name: Mom
    iosapp_installed: True
  • device_name: Child_1_iPhone
    email: [email protected]
    inzone_interval: 30 secs
    name: Child_1
    iosapp_installed: True
  • device_name: Child_2iPhone
    email: [email protected]
    tracking_method: fmf
    inzone_interval: 30 secs
    name: Child_2
    iosapp_installed: True

This results in iCloud Error Invalid configuration parameter and iCloud Error for [email protected] > Setup aborted, no devices to track.

Here’s the config_ic3.yaml file for the iPhone I’m having trouble with
- device_name: Child_2
email: [email protected]
inzone_interval: 30 secs
name: Gracie
iosapp_installed: True

The device name has been verified on the phone itself: “Settings>General>About>Name”

Here’s a snapshot of the event log and a snapshot of the Find My app on [email protected] phone:

@garygcastleberry
Set the configuration to :

device_name: Child_2
  email: [email protected]
  inzone_interval: 10 mins
  name: Gracie
  tracking_method: fmf

and see if that works.

The Event Log shows the fmf device that are valid for the Dad account. Make sure Gracie it’s listed and can be seen in FindMe app on Dad’s phone. Also make sure dad can be seen on her phone. If they are both not visible in the FindMy app, they will not be able to be linked and located by iCloud3.

If that doesn’t work and you still need help, export the Event Log file using Event Log > Actions > and send the log file to [email protected]. I’ll need to see your exact setup so don’t change the names to dad, child _1, child_2, etc.

I changed the inside interval from 30 secs to 10 mins.

Hey guys,

Loving this addon, and it’s made presence and location detection so much more usefull.

I’m having a problem, and I can’t seem to get my head around it. I’m have the "The see service is not supported for this entity device_tracker.name_of_iphone".

Now, the manual says that this is related to the HA iOS app, and this is where it gets odd for me and I’m getting lost. My phone has the iOS app and I’ve changed the entity name to have _iosapp at the end. 2 other iphones do not have the iOS app installed, so I have no idea what is going on with those. My wifes iPhone seems to be working fine with no errors.

Also, these errors are flooding the HA logs, and I think it’s affecting performance of HA. Apart from the see service error, I’m not see any other errors.

Any one have any idea what’s going on? If you need to see yaml, or logs or something, let me know what exactly you need. Maybe it’s just the simplest mistake on my part. But I’m at my end here.

Thanks. :slight_smile:

@cjsimmons
You may still have an iOS app device_tracker with the same name as the iCloud devicename left over from an earlier install. You can look at the iosapp Integration/devices or the settings > Devices to find it. What’s happening is there it’s an old device tracker entity that loads before iCloud3 so iCloud3 cannot use it.

@gcobb321 I don’t have any errors and everything seems to be configured and working properly, so this may be a silly question. But, in the Event Log all of my devices, the actions dropdown, refresh arrow, refreshed time, the help (?) icon, and the first and last line in each update block are colored red. Is that normal or should I be looking somewhere else for issues?

Thank you for great component. Good documentation also! Looking forward to test and play with v3.

ah, ok. I’ll have a proper look at all the device trackers that I have and see what I can find for those phones. 2 of the phones have never had the iOS app, so not sure why it’s happening. My phone does have the app, but continues to error after adding the prefix to the entity name.

Mayber there is another device tracker with the same name. Not sure, but I might have to have a look at the old known_devices.yaml file.

The problem was solved by sending a share location invite to the email address of the fmf person instead of the mobile number. Thanks, Gary, for all of your help.

@garygcastleberry
Glad you figured it out. In v3, you will select the fmf device from a list of FindMy devices tied to the account. Both email and phone numbers are shown in the list.

I have a location update issue and am a bit puzzled.
The documentation says

iCloud Account → iCloud3 ← iOS App

iCloud shows that I am at work, I can see that in the “where is” app on my iPhone.
The iOS app correcly updates that I am at work, that is the device_tracker.doephone_app, also maintained like that in the icloud3 config (app suffix added, as suggested in the documentation).

devices:
  - device_name: DoePhone
    name: John Doe
    iosapp_entity: device_tracker.doephone_app

But even though both sources are correctly, the device tracker device_tracker.doephone being updated by icloud3 remains at home and has not even noticed a status change at all
grafik
Even 6 hours after arriving at work, icloud3 still thinks that the iOS app says that I am home, but the app isn’t, the app device tracker reports work since hours.
When I restart icloud 3, it finally fetches all status correctly and iOS app and IC3 zone get in sync, but only then. So while technically it seems to generally work, the update mechanism in this specific case is broken.

In other cases everything works fine, it is not that icloud3 overall seems to be broken for me, but at least in the cases of my work location this has now already happened multiple times in a row, and I do not see what is different here (and why a manual restart solves what is not being triggered otherwise).
Any clue how to solve that?

I see this in the log from the night
grafik
I guess that is because I always put my phone into flight mode at night. Could this be related and it actually stops polling and does not start it anymore by itself? But then icloud3 should never work, as I always do this.
And even after selecting “resume polling”, while it then correctly displays the iOS app location as being at work, it does still not update the icloud3 zone:
grafik