icloud3: iCloud verifies, lists devices, but then says "disabled until Verification can be completed" and defaults to iOS tracking, 501 Error in HA Log

Version : 2.4.7 iPhone being tracked is owned by my iCloud Account. Essentially as described in title: Logs show: Stage 1 : normal Stage 2a : Lists iPhone with checkmark next to it. Stage 2b : says "iCloud Account Authenticated (# 1), lists all of my devices + people in my FamShr, with the checkmark next to the tracked iphone, then “iCloud Alert > FmF or FamShr Tracking Method is disabled until Verification has been completed. iOS App Trackimg Method wil be used.”

The rest proceeds as normal for iOS tracking afaik. The 501 Error in the Logs is:

(Status Code 501)

Traceback (most recent call last):
  File "/config/custom_components/icloud3/device_tracker.py", line 6779, in _setup_tracked_devices_for_fmf
    self._log_rawdata("iCloud FmF Raw Data - (api_friends.data)", api_friends.data)
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 1079, in data
    self.refresh_client()
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 1006, in refresh_client
    req = self.session.post(self._friend_endpoint, data=mock_payload, params=params)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 635, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 179, in request
    self._raise_error(response.status_code, response.reason)
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 239, in _raise_error
    raise api_error
custom_components.icloud3.pyicloud_ic3.PyiCloudAPIResponseException:  (Status Code 501)

Thanks in advance and looking forward to upgrading to v3! 😃

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Reactions: 1
  • Comments: 17 (8 by maintainers)

Most upvoted comments

The above note about remove the call to _setup_tracked_devices_for_fmf() on line 1214 is correct.

Change it to #_setup_tracked_devices_for_fmf()

iCloud3 v3 is in the late beta stage that solves this issue and adds a lot of new features. It is a full Integration with all configuration done using configuration screens. Go here for more info and installation instructions. It’s still in beta because I’m adding a few tweaks and the docs are not complete.

The configuration.yaml + config_ic3.yaml is the configuration so remove the email from that one.

This doesn’t make any sense. The only email I have is the username in the device_tracker part of the configuration.yml, which is obviously required if you want to connect to apple API.

Here is my config :

configuration.yaml

device_tracker:
  - platform: icloud3
    username: !secret icloud_mail
    password: !secret icloud_password
    config_ic3_file_name: ./config_ic3.yaml
    event_log_card_directory: 'www/community'

config_ic3.yaml

devices:
  - device_name: me_iphone
    name: Me
    iosapp_suffix: _app
    picture: me.jpg
inzone_interval: '1 min'
display_zone_format: fname
unit_of_measurement: km
display_text_as:
  - me@gmail.com > me@mail
distance_method: calc

Same for me. For the devices only device_name is set.

In Stage 2b at step Family Sharing List devices that can be tracked all devices are found and marked with a check-mark. After that the message

iCloud Alert > FmF or FamShr Tracking Method is disabled until Verification has been completed. iOS App Trackimg Method wil be used.

is displayed and no tracking happens.


The only way I could get it to work again, is to remove the call to self._setup_tracked_devices_for_fmf() in this line