iCloud3 v3 iDevice Tracker - Version 3

Yep, that was done this morning. I’ve also tried from other machines with the same result. The system also doesn’t show the sensor_badge (picture) associated with my phone on the overview dashboard. It’s really crazy.

It happens for both devices…different location and good gps ……

I think this fixed my problem :slight_smile:

1 Like

The badge is configured several different ways. You can edit directly through the UI or apply your picture to the badge through the customize.yaml file, Person configuration, or selecting the device_tracker you’d like to use for location. Your .jpg file should be available at /config/www/ (local).

The docs say that config_ic3.yaml is how the picture gets defined. All the pictures are in the /config/www directory as jpg files. But that’s not important right now. I just want the darn js card to work. lol

@peecee I have been watching the dialog trying to get the Event Log running and it looks like the parameters are correct. However, some entries in the configuration files duplicate the default values. I would suggest trying a bare bones configuration to see what happens.

In configuration.yaml, put in the iCloud username and password (fill in your stuff as necessary):

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

In config_ic3.yaml, entry:


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

Let all other parameters use the default values.

The Lovelace resource from prior entries look ok (see here for a screenshot of the resources setup on my system.

The Event Log card Lovelace yaml can be foundhere.

Restart HA and see if it shows up.

Look at the HA log file to see if any errors are displayed `HA Sidebar > Configuration > Settings > Logs and see if there are any errors.

@gcobb321 Thank you!!! That must have done something, because now the Lovelace card shows up and displays my phone! Finally. I appreciate the help of both you and @GaryK . I don’t know what was different. Of course now I think I should have copied the config files to something with a .bak extension and create new ones. Now I need to tweak the configs.

I got this setup and i am impressed with the accuracy compared to other methods. this is a fantastic component! One thing i am trying to figure out is how to determine the dir_of_travel variable. I was looking at the event log card while my wife was driving home from work. I have a zone set up for her work, so as she left, the dir_of_travel showed away_from for about half of the way home (it’s not that far, about 10 miles). it only switched to towards when she was about 4 miles from home. It is almost as if it was using the work location as the source, hence the driving away. The docs discuss a base zone, but i have not found a way to define it. is there a setting for this?

@sebby As I recall, it’s been a while since that part was written, but the dir_of_travel takes the calculated distance from home on one poll and compares it to the next one. It is ‘towards’ if it is smaller and ‘Away From’ if larger. It can be inaccurate when moving sideways where the distance is about the same form one poll to the next or when the time between polls is large.

1 Like

one more question for the experts… i have been trying to have an automation that turns on some outside lights whenever i (or the wife) get home. i was trying to do this with the proximity sensor, but the results were highly inconsistent. here is what i had in the automation (this one is for my phone, i have a similar one for the wife):

alias: Location - Arriving home Seb
description: ''
trigger:
  - platform: numeric_state
    entity_id: device_tracker.seb_iphone  #this is the device tracker for my phone using HA IOS App
    below: '1000'
condition:
  - condition: template 
    value_template: >-
      {{ state_attr('proximity.distance_from_home_seb', 'dir_of_travel') ==
      'towards'  }}  
  - condition: state
    entity_id: sun.sun
    state: below_horizon
  - condition: state
    state: not_home
    entity_id: person.sebastian
action:
  - service: notify.mobile_app_seb_iphone
    data:
      message: Seb is arriving hoome
      title: Arrival Alert
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.outside_lights
mode: single

i think i can switch this to use all iCloud3 attributes (since they are much more accurate) to make it actually work as expected, but i am not sure on which values to use. in the original, the proximity sensor i created is using feet as the value (hence the < 1000 feet to turn on the lights). if i use something like waze_distance, i assume the value is in miles, but can I use fractions of miles, like .25? the other quesiton is when does it mark me home, my home radius is 100 feet, but it seems that the iCloud3 integration marks me home sometime before actually hitting that radius. Just trying to see if anyone has done any automations with this instead of proximity and what have they used. thanks in advance for any ideas!

@sebby
See Gary Arrives Home scripts in Sample Automation and Scripts in the iCloud3 docs here. I use it to open my garage door when I get about .25mi from home.

Since the iCloud3 app monitors the iOS App zone enter trigger, it will put you into the Home zone when the iOS app does. The iOS app also looks at a 100m to see when you are getting close and might trigger it before you hit your zone radius. It is not exact but a lot of things affect the distance - timing, gps accuracy, cell phone coverage, response time of the cell phone area, etc.

1 Like

thanks! I think i got it. have to do some additional testing, but in case anyone is looking for something similar, here is my automation to turn on our outside lights as either the wife or i arrive home after dark.

alias: Location - Arriving Home Outside Lights
description: ''
trigger:
  - platform: state
    entity_id: sensor.seb_trece_zone_name
    to: home
    id: home-seb
  - platform: state
    entity_id: sensor.ida_s_fancy_phone_zone_name
    to: home
    id: home-ida
condition:
  - condition: sun
    before: sunrise
    after: sunset
action:
  - choose:
      - conditions:
          - condition: trigger
            id: home-seb
          - condition: template
            value_template: '{{ states(''sensor.seb_trece_zone_distance'')  | float <= 0.25}}'
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.outside_lights
      - conditions:
          - condition: trigger
            id: home-ida
          - condition: template
            value_template: >-
              {{ states('sensor.ida_s_fancy_phone_zone_distance')  | float  <=
              0.25}}
        sequence:
          - service: switch.turn_on
            data: {}
            target:
              entity_id: switch.outside_lights
    default: []
mode: single
2 Likes

I have the same problem. I hope value can be discarded when no data retrieved. I’m switching on/off my charger using these values (and Charging/NotCharging), currently this is preventing me from using these values.

@GaryK there’s definitely a bug with the startup logic - frequently find if icloud3 restarts (to correct a ‘paused’ device) then it will set my phone to ‘home’ no matter where in the world it actually is then only after that set it away

@daneboom That is correct. iCloud3 is loading the Home zone into the location and zone when it starts to be able to get it to boot up. Last week, I added a ‘restore_state’ routine to v3 that saves the location data every time it is updated and then uses that data to reinitialize everything before the first locate on an HA restart. That solved several dashboard display issues and fixed the HA restart issue.

V3 is coming along. It is a full Integration, all configuration is done online, no more configuration files, full support for multiple zones, Waze time/distance results are being saved and retrieved from a data base, better usage of iOS app data, loads in about 3-5 seconds, improved iCloud integration, more options, and other stuff I’ve forgotten. Still to do is finish coordinating sensor and device_tracker entity naming changes, zone validation when tracking from multiple zones, some HA parameter/configuration setup for initial installation, some dashboard resource setup, automatically excluding some sensors form the HA history database, some Waze history maintenance routines, adding Event Log actions to the configurator and a few other things. I would say that it’s about 95% ready for beta testing. Since I’ll be gone from mid-May into June, I’m looking at late-June too early-July.

6 Likes

brilliant, Gary, thanks!

@gcobb321 can an unique id be set for the device_tracker created by iCloud3 so we can assign an icon to the device?

No. But It does support adding a picture and displaying it. See docs here. Then scroll down a little.

I can’t get the pictures to show. I’ve put them in config/www/
And I’ve tried:

picture: /local/name_512x512.jpg
picture: /www/name_512x512.jpg
picture: /config/www/name_512x512.jpg
picture: name_512x512.jpg

What could I have missed?

Hello. Sorry for the super noob question, but is there a link to show how to get started with icloud3? I downloaded it from HACS, but I don’t know what to do from there to get anything to show up.

all I need is for my iphone tracker and batterly levels to update. Normal icloud interval is 30 minutes which is way too long for any automations. I just can’t seem to figure out what needs to be coded or where to start with icloud3 after installing it.