iCloud3 v2.0 Device Tracker - Advanced tracking features with HA iOS App integrated monitoring (Updated)

Does this release still get the 2fa notifications if not using the fmf method?

@Bartem If the iCloud Account used as the basis for tracking (username configuration parm ) has 2fa on it, it will get the notification from Apple. If it does not have the 2fa, it will not get the notification.

@garyk I bumped the version of device _tracker.py on the 10/25 release to 2.0-rc.1. Your event log still shows v2.0-rc so you are still running the previous version.

@garyk, @shauder I am at a loss about those see errors and am going to have to dig deep to see what is going on. I sure wish I could duplicate it otherwise, I’m just guessing. Do this… in the iCloud3 device tracker configuration , put in ‘log_level: debug’ and restart Home Assistant. After you see the ‘see’ errors, send the complete Home Assistant log file to [email protected] . Then I can see what was taking place before the errors and it might give me a clue to what is causing them. Thanks.

Would you send me a direct link? I’m not finding the latest.

@garyk it’s on the release tab here. Scroll down to assets and click device_tracker.py. You showed an error Failed to cash service device_tracker_icloud3_update. Was the ‘_’ between tracker and icloud3 really a period (device_tracker.icloud3_update)? N.C.

@garyk @shauder I found some links about the ‘see’ error here and here.

In the first one, itLooks like he deleted the iOS app from the integrations. If you have moved over to iOS app v2 and are no longer using v1.5, I wonder if that will fix it.

There is also another long discussion from Home Assistant guys here about device tracker, people and presence detection.

One thing they talk about is using the d-t legacy mode to fix things HA broke in .94 or .95. I took that out in the 10/25 (latest rc.1) update and will add it back in if you are still having’see’ errors.

This error has gone away with your latest release.

I didn’t update to a new one if there is one today but but I did this: https://companion.home-assistant.io/en/next/troubleshooting/beta-cleaning and the see error’s also went away. I think I did install 1.5 version of the app briefly when the 2.0 had issues. That’s likely what did it.

I followed the beta cleaning procedure before updating to build 68. This “see” error has been present in my log when attempting to run icloud3 since July.

I am finding that if I have the icloud3 setup first without the HA mobile app setup, then go to setup the HA mobile app everything seems to work. Except I do now get this error when I restart everything.

2019-10-26 16:54:58 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 399, in _async_add_entity
    raise HomeAssistantError(msg)
homeassistant.exceptions.HomeAssistantError: Entity id already exists: sensor.last_update_trigger. Platform mobile_app does not generate unique IDs

If I have the mobile app setup first then add icloud3 then I get the see errors I was seeing before.

EDIT: I updated back to all the files in master and it works without error now I think. It set itself to device_tracker.ishane and my ha mobile app set to device_tracker.ishane_3

My “see” error issue was caused by my attempt to create duplicate device tracker entities. As you’ve discovered, icloud3 can’t create a device tracker identical to the iOS App. I changed the icloud configuration for device name to something different, and the “see” error went away.

Clearly, there’s a logic error because I get both the arrive and left messages every time there’s a change in location:

  • alias: Doug arriving in zone
    trigger:

    • platform: state
      entity_id: sensor.doug_iphone_zone_name1
      condition:
    • condition: template
      value_template: “{{ states(‘sensor.doug_iphone_zone_name1’) not in [‘Away’, ‘Stationary’, ‘notset’] }}”
      action:
    • service: notify.alexa_media
      data:
      data:
      type: announce
      target:
      - media_player.douglas_s_echo_dot
      message: ‘Doug is arriving at {{states.sensor.doug_iphone_zone_name2.state }}’
  • alias: Doug leaving a zone
    trigger:

    • platform: state
      entity_id: sensor.doug_iphone_zone_name1
      condition:
    • condition: template
      value_template: “{{ states(‘sensor.doug_iphone_last_zone_name1’) not in [‘Away’, ‘Stationary’, ‘notset’] }}”
    • condition: template
      value_template: “{{ states(‘sensor.doug_iphone_zone_name1’) not in [‘Statonary’, ‘Away’] }}”
      action:
    • service: notify.alexa_media
      data:
      data:
      type: announce
      target:
      - media_player.douglas_s_echo_dot
      message: ‘Doug is leaving {{states.sensor.doug_iphone_zone_name2.state }}’

My other problem (I’m not using the release candidate…but I am on the latest beta)…is that using FMF, notifications sometimes don’t happen for an hour or so after I’ve arrived somewhere…and I don’t get a left home message until I arrive at my next location. I can live with a short delay on FMF but I need leave home to actually work when I leave home.

Can anyone find my logic error? Is using FMF just subject to long delays between noticing something has changed?

(note: ignore the notify.alexa stuff…it works fine).

iCloud3 v2.0 Release Candidate #4 is now available (10/29)

It fixes:

  • The device-tracker.see error message that hung up iCloud3 and filled the HA log file with errors (see the Change log for a complete desciription and solution).
  • Update some interval calculations
  • Updated the documentation
  • Add and changed some iCloud3 error message to better explain how they can be corrected.

Documentation and Download links:

  • Complete documentation with all enhancements and breaking changes can be found here
  • Download iCloud3 v2.0rc #4 here
  • The iCloud3 Development Repository is here

From the original release notes:

This is a major update to iCloud3 with many new features.

  • Support iCloud tracking methods Find-my-Friends and Family Sharing (2fa accounts with notifications and non-2fa accounts without notifications)
  • Support HA IOS app tacking method (version 1 & version 2)
  • iCloud3 Event log Lovelace custom card
  • Many new attributes & sensors
  • Customize the list of sensors that are created
  • Track devices from multiple zones
  • Updated and reformatted documentation
  • Many new and updated automations, scripts and Lovelace cards
  • And much more…

There are many breaking changes in this release. Be sure to review the Change Log in the iCloud3 Documentation. Manyu configuration parameters have been replaced with the new ‘track_devices’ parameter and the device_tracker service calls have been changed from icloud_svcname to icloud3_svcname

This is the release candidate in the icloud3_dev repository. It will be promoted to General Availability in a week around 11/3 if there are no unforeseen issues.

@ghstudio iC3 is totally dependent on the IOS App (v1 & v2) for zone enter and exit notifications. If the app doesn’t issue notifications, they will not be picked until the next polling cycle by FmF.

Make sure the app is loaded and can connect to HA. Also make sure location in General>Privacy>Location Services is set to Always for the Home Assistant apps. Make sure a Manual update in the HA app triggers a location update in iC3.

The release candidate corrects some issues in handling this for IOS App v2 and seems to be pretty solid now.

using the IOS 2.0 beta (latest) I get the following error message which I believe is related to icloud3:

Region monitorinig failed for region: zone.doug_iphone_stationary. Error: The operation couldn’t be completed (kCLErrorDomain error 5.)

Note…not sure if this is related: : my icloud3 configuration.yaml includes:

stationary_still_time: 999
gps_accuracy_threshold: 500 

Since I want to eliminate stationary and I can live with less GPS accuracy.

I upgraded and no problems except this one error I did see before upgrading also. The last few days before upgrading this seems to have worked pretty well. I don’t think this error hampers much.

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 399, in _async_add_entity
    raise HomeAssistantError(msg)
homeassistant.exceptions.HomeAssistantError: Entity id already exists: sensor.last_update_trigger. Platform mobile_app does not generate unique IDs

@ghstudio I think the kCLErrorDomain error is really coming from the HA IOS App, not iCloud3 . No idea what it means but I’ve seen people talk about on the IOS app forum

@shauder Hmm. The iCloud3 Event Log Lovelace card shows what iOS app device_tracker and sensor.last_update_trigger entities are being monitored. The entity registry for the iOS app device tracker also shows the sensor.last_update_trigger entity name. Are they the same?

They may have a _# after them if you have more than one device being tracked with the iOS app. That entity catches zone enter/exit, manual update trigger, etc so there should be the same.

It might also be coming from the iOS app. If it was coming from iCloud3, I would think it would show up every time the iOS app triggers an event that is picked up by iCloud3…

I spotted and error a few minutes ago reporting a ‘retry_cnt’ field doesn’t exist. It has to do with determining the interval when there is an old location or poor gps accuracy. I’ll fix it tomorrow or the next day after I see if there are any other issues.

They are the same
image

I only have one iOS device setup with HA.

To me the error seems like something was trying to create it again on startup? It seems like mostly a harmless error. Everything else works great just curious what’s causing it. I don’t ever recall seeing the error before adding this but maybe it is an error with the mobile app.