iCloud3 v3 iDevice Tracker - Version 3

Now I’m thoroughly confused.

I have an iCloud integration using device_tracker.apple_cloud_mike_iphone For the mobile app integration I changed that to device_tracker.mikes_iphone_app.

Should my device_tracker still look like:


device_tracker:
  - platform: icloud3
    username: [email protected]
    password: mypassword

The device_name must be the iCloud account name, no the ios app device_tracker entity name.

I don’t understand. What/where can I find the exact iCloud account name?

And where does the devices: section go? Is it on the same level as device_tracker?

The Getting Started chapter here describes how the phone (and your iCloud account are named, how the ios app on the phone is named and how the ios app’s device_tracker entity are named.

The Configuring and Starting iCloud3 chapter here describes the configuration files. There are some examples about half way down in the Configuration Files section here.

To confirm, I should put devices: in config_ic3.yaml?

You do not have to put the devices in the config_ic3.yaml file. That just provides a way to separate the iCloud3 configuration from the rest of the HA configuration to help those with large configuration.yaml files.

Then where should devices: be placed? Is it part of device_tracker:?

I’ve read all of the help many times. It’s not obvious (to me) where this goes.

If you are using only the configuration.yaml file, the entry would look like:

device_tracker:
  - platform: icloud3
    username: [email protected]
    password: gary_icloud_account_password
    devices:
      - device_name: gary_iphone
        email: [email protected]
        name: Gary
        picture: gary.png
      - device_name: lillian_iphone
        email: [email protected]
        name: Lillian
        picture: lillian.png
    exclude_sensors: batstat,lzonn,lzont,name
    << and other parameters follow >>
    

That would be followed by other parameters.

If you are splitting up the parameters, they would be in the files described in the docs.

So I now have iphone_mike and iphone_mike_app for the iCloud and ios apps respectively. The iCloud entity is showing the correct zone, but not the app one, which is unknown. Isn’t there a way to send a command to the phone to force it to update itself?

There are several ways:

  1. Open the iOS App . It will issue a ‘Launch’ trigger that will be picked up by iCloud3.
  2. You can also Refresh the ios app by opening the app and pulling down on the screen.
  3. You can also request the location using the iC3 Event Log > Actions > Update Phone’s Location

Does anyone know what the proper URL is for adding the resource file icloud3-event-log-card.js? HACS installed it to custom_components/icloud3 and the suggestions in the help aren’t finding it.

See the iCloud3 docs in the Installing the Event Log chapter here. It describes how to set up the Lovelace resources for the Event Log module.

HACS install the Event Log into the icloud3 directory. iCloud3 will copy it to the www/custom_cards directory when it starts the first time.
.

I see that. However nothing I do seems to expose the .js file as a resource.

  • /community_plugin/custom_cards/
  • /www
    */local

And a dozen other paths

I have the same as the screen shot in the documentation which works for me…

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

Hi ALl,

Can this error something with iCloud tracker?

2021-07-03 13:11:26 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 340, in async_update_ha_state
    raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity None: idle>

2021-07-03 13:11:26 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 340, in async_update_ha_state
    raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity None: on>

2021-07-03 13:11:26 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 340, in async_update_ha_state
    raise RuntimeError(f"Attribute hass is None for {self}")
RuntimeError: Attribute hass is None for <Entity None: 1>

In logger om same time iCloud detected person was AWAY.

Cheers,
Peter

@poudenes
That has nothing to do with iCloud3

The File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 340 error msg includes the modules that generated the errors (../homeassistant/helpers/entity.py) so it is something in HA that caused the error. . It it was iCloud3, it would contain custom_components.icloud3.

Having problems telling iCloud3 not to use the Waze component. Section 2.1 of the instructions tells me to use the parameter distance_method: calc, but I’m getting this logged error

iCloud3 Error > Invalid configuration parameter >
   • Parameter .. - distance_method: calc
   • Valid values - device_name, email, picture, name, inzone_interval, track_from_zone, iosapp_suffix, iosapp_entity, iosapp_installed, noiosapp, no_iosapp
   • Resetting to - waze (+1 more times)

I have this in config_ic3.yaml

  - device_name: michael_iphone
    email:
    name: Michael
    picture:
    distance_method: calc

which I’m assuming must be wrong. There is a note at the end of the section saying “A greater than sign (’>’) separates the devicename from the parameters”, but if that’s needed I have no idea where it would go.

The distance_method: calc parameter is not associated with the device. Unindent the parameter so it falls in line with the `devices:, parameter…

devices:
  - device_name: michael_iphone
    email:
    name: Michael
    picture:
distance_method: calc

Found it… its something with the Mobile App (iOS)

Many thanks! Appreciate the very quick response

hello and thank you Gary for this great integration.

I got a watch which I hope to watch the battery status from.Iit is working but some times when it lose connection to the iCloud it is showing 0% instead of last known xx% can this be done so it will always show last known until it update from iCloud again?.

if you make automations it will not work as good with this “bug”

DFF6CE74-C94D-46C7-AE5D-174DFB753A8F_4_5005_c

all the blank spaces it will show 0%

Om stupid i have installed this how do I configure it? Didn’t see any instructions for that