Giter Club home page Giter Club logo

icloud3's Introduction

iCloud3 v3



CurrentVersion Type HACS

ProjectStage Released

iCloud3 is a device tracker custom component that tracks your iPhones, iPads and Apple Watches. iDevices in the Family Sharing List and the HA Mobile App Integration are trackable. The iDevice requests location data from from Apple's iCloud Location Services and monitors various triggers sent from the Home Assistant Mobile App to Home Assistant. Sensors are updated with the device's location, distance from zones, travel time to zones, etc.

Although AirPods and AirTags are in the iCloud Family Sharing list, they can not be tracked. They do not have the internal components to provide location data using cell towers and gps location information to Apple.

iCloud3 v3 Highlights

Although Home Assistant has it's own official iCloud component, iCloud3 goes far beyond it's capabilities. The important highlights include:

  • HA Integration - iCloud3 is a Home Assistant custom integration that is set up and configured from the HA Settings > Devices & Services > Integrations screen.
  • Configuration Settings - Configuration parameters are updated online using various screens and take effect immediately without restarting HA.
  • Track iPhones, iPads and Apple Watches - Track or monitor your iDevices.
  • Location data sources - Location data comes from the iCloud Account and the HA Companion App (Mobile App).
  • Actively track a device - The device will request it's location on a regular interval based on its distance from Home or another zone.
  • Passively monitor a device - The device does not request it's location. It is updated when another tracked device requests theirs.
  • Waze Route Service - The travel time and distance to Home or another tracked zone is provided by Waze.
  • Waze Route Service History Database - The travel time and distance data from Waze is saved to a local database and reused when the device is in a previous location.
  • Track from multiple zones - Tracking results (location, travel time, distance, arrival time, etc.) are reported from the Home zone or another zone (office, second home, parents, etc.).
  • Primary Home Zone - Set another zone as the primary zone for the device and report tracking results based on that location. This is useful when you have two homes, on a vacation at another location, triggering automations at your parents house with true devices, etc.
  • Improved GPS accuracy - GPS wandering errors leading to incorrect zone exits are eliminated.
  • Monitors Mobile App activity - Looks for location and trigger changes every 5-seconds.
  • Enter Zone delay - Delay processing Zone Enter triggers in case you are just driving through it.
  • Stationary Zone - A dynamic Stationary Zone is created when the device has not moved for a while (doctors office, store, friend's house). This helps conserve battery life.
  • Nearby devices - The distance to other devices is displayed and used to determine tracking results.
  • Zone monitoring - The number of devices in each zone is displayed when a device is updated.
  • Local Time Zone - Event times are normally displayed using the time zone your HA server is in. If, hoowever, you are away from home and in another time zone can, the Event times can be displayed for the time zone you are in.
  • Zone Activity Log - A log can be kept for each time you are in a zone. This log file (.csv format) can be imported into a spreadsheet program and used for expense reporting, travel history, device location monitoring, etc.
  • Sensors and more sensors - Many sensors are created and updated with distance, travel time, polling data, battery status, zone attributes, etc. Select only the ones you want to use.
  • Battery status - Updates the battery level and status (charging/not charging) from iCloud data during a tracking event and from the Mobile App every 5-seconds.
  • Distance Sensor Attributes - Shows the distance to the center and edge of the Home zone, distance to other zones and distance to other devices.
  • Event Log - The current status and event history of every tracked and monitored device is displayed on the iCloud3 Event Log custom Lovelace card. Information about device configuration, errors and alerts, nearby devices, tracking results, debug information and location request results is displayed.
  • Updating and Restarting - iCloud3 can be restarted without restarting Home Assistant.
  • Restore state values on restart - The current device_tracker and sensor entity states are restored on a restart. The attributes are not restored but are reset on the first tracking Event.
  • Device_tracker and sensor entities - iCloud3 devices and sensors are Home Assistant entities that are added, deleted and changed on the Update iCloud3 Devices and Sensors configuration screens.
  • Zone Exits for devices not using the Mobile App - Devices that do not or can not (Apple Watch) use the Mobile App respond to a zone exit when it detects another nearby device has left a zone.
  • Extensive Documentation - The iCloud3 User Guide explains the three main components, hot to get started, how to migrate from v2, how to install the integration, each of the screens and special features, the service calls that can request updates, locate iPhones and send notification alerts, examples of how to automate opening your garage door when you arrive home, etc.
  • And More - Review the following documentation to see if it will help you track and monitor the locations of your iPhones, iPads and Apple Watches.

Tracking Information Screen with Event Log

The screens below are an example of how the many tracking sensors can be displayed. The screen on the left shows the current tracking formation for Gary while the Event Log on the right shows a history of important tracking events.

evlimg

iCloud3 Documentation

  • Introduces the many features and components of iCloud3
  • Describes how to migration from v2.4.7 to v3.0
  • Provides step-by-step to install and configure iCloud3, it's components and it's supporting components (iCloud Account and the Mobile App)
  • Highlights the configuration screens and parameters
  • Provides example screens, automations and scripts
  • The User Guide is here

Installing or Upgrading to iCloud3 v3

  • iCloud3 v3 is now available on the iCloud3 HACS base as a prerelease version.

Important Links

  • iCloud3 v3 User Guide -The User Guide is quite extensive and can be found here
  • iCloud3 v3 GitHub Repository (Prerelease Version) - The primary GitHub Repository is here
  • iCloud3 v3 Development GitHub Repository - The Development Repository is used for beta version changes that have not been released yet is here
  • Installing as a New Installation - iCloud3 v3 is available in HACS as a prerelease version. Installation instructions are here
  • Migrating from v2.4.x - This includes installing iCloud3 v3, migrating your current configuration and reviewing it to insure it was migrated correctly. Instructions are here

Gary Cobb, aka GeeksterGary

icloud3's People

Contributors

darknicht66 avatar ehendrix23 avatar gcobb321 avatar hejki avatar ludeeus avatar pauly7300 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

icloud3's Issues

iCloud doesn’t load

I installed icloud3 on 0.111.1 via hacs and restarted. No errors, no logs saying it even tried to load. Tried multiple times. I have installed it in the past fine but for some reason now it’s just not even attempting to load. All the files are in custom components like they should be.

iCloud authorization

I know of a authorisation method in iCloud that you do not discuss and that is much easier to use. A user can generate a 'app-specific password' in iCloud; username plus app-specific password give access to the iCloud API avoiding all hassle with 2fa.

I use Home Assistant in combination with Node-Red; I have beenusing a Node-Red plugin that access my iCloud calendars for many months ago based on this 'app-specific-password' access without any problems.

Hope this helps in making your plugin better and easier to us.
Regards, ahartman

hard coded config directory at /config

Failure at startup when looking for .storage/core_entity_registry because het path is hard coded for /config

There's an API call to get hold of the registry at hass.helpers.entity_registry

Doesn't install from HACS again

Getting the following error:

2019-12-05 07:48:22 ERROR (MainThread) [hacs.repository.integration.gcobb321.icloud3] Download was not complete.

Doesn't install right from HACS

I'm trying to install this from HACS, but it doesn't seem to download all the right files. I'm not getting the hacs.json, device_tracker.py or most of the other files. I only get the few listed below.

core-ssh:/config# ls -l /config/custom_components/icloud3/
total 84
-rw-r--r-- 1 root root 29 Nov 25 16:17 init.py
-rw-r--r-- 1 root root 33930 Nov 25 16:17 icloud3-event-log-card.js
-rw-r--r-- 1 root root 6076 Nov 25 16:17 icloud3-event-log-card.js.gz
-rw-r--r-- 1 root root 196 Nov 25 16:17 manifest.json
-rw-r--r-- 1 root root 16470 Nov 25 16:17 sample_automations_scripts.zip
-rw-r--r-- 1 root root 5865 Nov 25 16:17 sample_lovelace_cards.zip
-rw-r--r-- 1 root root 1818 Nov 25 16:17 services.yaml
core-ssh:/config#

Missing sensor codes for customizing created sensors

In this documentation, a list of codes are provided to customize which sensors are created through the use of the create_sensors or exclude_sensors attributes. However, this list does not directly correspond to all the sensors created, as documented earlier on in the page.

Digging into device_tracker.py, I found that these codes are defined in SENSOR_ID_NAME_LIST, whereas the full list of sensors are actually found in SENSOR_DEVICE_ATTRS. In particular, the battery_status and badge sensors are missing from the list of codes, meaning that these sensors cannot be explicitly included. This makes the create_sensors attribute useless for anyone who wants to include these sensors, since they cannot be explicitly included. Similarly, exclude_sensors cannot be used if we want these sensors with missing codes to be excluded.

Hope the code list can be updated to include all available sensors. Alternatively, the codes could be removed and the actual sensors in SENSOR_DEVICE_ATTRS (eg. battery_status or badge) could be used in the configuration instead, which would be clearer and cause less confusion.

Several concurrent errors

Hi!

I'm experiencing concurrent several errors from time to time. Usually they appear a few times a day but I'm not sure what is the cause of that behaviour. I'm seeing since around last 2-3 weeks. I did not see them before.

I'm running latest version of HA (0.110.6) and icloud3 component (v2.1).
Here's my config:

device_tracker:
  - platform: icloud3
    username: !secret icloud_usr
    password: !secret icloud_pass
    track_devices:
      - Filip > *****@*******.**
    unit_of_measurement: km
    distance_method: calc
    stationary_still_time: 8
    old_location_threshold: 2
    create_sensors: nupdt

And here are the errors:

Logger: custom_components.icloud3.device_tracker
Source: custom_components/icloud3/pyicloud_ic3.py:844 
Integration: icloud3 (documentation) 
First occurred: 14:05:30 (1 occurrences) 
Last logged: 14:05:30

'NoneType' object has no attribute 'json'
Traceback (most recent call last):
  File "/config/custom_components/icloud3/device_tracker.py", line 2552, in _get_fmf_updated_location_data
    locations = fmf.locations
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 862, in locations
    return self.data.get('locations')
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 856, in data
    self._data = self.refresh_data()
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 844, in refresh_data
    self.response = req.json()
AttributeError: 'NoneType' object has no attribute 'json'
Logger: custom_components.icloud3.pyicloud_ic3.http
Source: custom_components/icloud3/pyicloud_ic3.py:862 
Integration: icloud3 (documentation) 
First occurred: 14:05:30 (1 occurrences) 
Last logged: 14:05:30

Failed to parse response with JSON mimetype
Logger: custom_components.icloud3.pyicloud_ic3.http
Source: custom_components/icloud3/pyicloud_ic3.py:123 
Integration: icloud3 (documentation) 
First occurred: 14:05:30 (1 occurrences) 
Last logged: 14:05:30

local variable 'response' referenced before assignment
Traceback (most recent call last):
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 123, in request
    content_type = response.headers.get('Content-Type', '').split(';')[0]
UnboundLocalError: local variable 'response' referenced before assignment
Logger: custom_components.icloud3.pyicloud_ic3.http
Source: custom_components/icloud3/pyicloud_ic3.py:113 
Integration: icloud3 (documentation) 
First occurred: 14:05:30 (1 occurrences) 
Last logged: 14:05:30

('Connection aborted.', OSError("(110, 'ETIMEDOUT')"))
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 677, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 426, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.7/http/client.py", line 1344, in getresponse
    response.begin()
  File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py", line 318, in recv_into
    raise SocketError(str(e))
OSError: (110, 'ETIMEDOUT')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 725, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 403, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.7/site-packages/urllib3/packages/six.py", line 734, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 677, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 426, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.7/http/client.py", line 1344, in getresponse
    response.begin()
  File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
  File "/usr/local/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py", line 318, in recv_into
    raise SocketError(str(e))
urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError("(110, 'ETIMEDOUT')"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 113, in request
    response = super(PyiCloudSession, self).request(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', OSError("(110, 'ETIMEDOUT')"))

Thanks!

How to install?

I don’t see install instructions anywhere. I have the component installed in HACS but how do I go from there?

custom cards

Hi, as a newbee I'm trying to set up icloud3 (great work btw). I think it's up and running but the custom cards are a pain...

when I add in de yaml file i get:

image
What am I doing wrong:

The card is placed in the www/custome_cards directory. Can you pls advise?

also when iI try to make a manual card i get:
With and without the ident between : icloud and :icloud

image

image

image

the file is there.

I get an empty screen:

image

Please can you advice this newbee

2.2 a new error was found in version 2.2. I wonder what caused it

2020-05-26 22:00:25 ERROR (SyncWorker_18) [custom_components.icloud3.device_tracker] ('Connection aborted.', OSError("(104, 'ECONNRESET')"))
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
chunked=chunked,
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.7/http/client.py", line 1336, in getresponse
response.begin()
File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py", line 318, in recv_into
raise SocketError(str(e))
OSError: (104, 'ECONNRESET')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 400, in increment
raise six.reraise(type(error), error, _stacktrace)
File "/usr/local/lib/python3.7/site-packages/urllib3/packages/six.py", line 734, in reraise
raise value.with_traceback(tb)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
chunked=chunked,
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
six.raise_from(e, None)
File "", line 3, in raise_from
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 416, in _make_request
httplib_response = conn.getresponse()
File "/usr/local/lib/python3.7/http/client.py", line 1336, in getresponse
response.begin()
File "/usr/local/lib/python3.7/http/client.py", line 306, in begin
version, status, reason = self._read_status()
File "/usr/local/lib/python3.7/http/client.py", line 267, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "/usr/local/lib/python3.7/socket.py", line 589, in readinto
return self._sock.recv_into(b)
File "/usr/local/lib/python3.7/site-packages/urllib3/contrib/pyopenssl.py", line 318, in recv_into
raise SocketError(str(e))
urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError("(104, 'ECONNRESET')"))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2515, in _refresh_pyicloud_devices_location_data
api_devices = self.api.devices
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 374, in devices
service_root, self.session, self.params, self.with_family
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 429, in init
self.refresh_client()
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 446, in refresh_client
"deviceListVersion": 1,
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 581, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 74, in request
response = super(PyiCloudSession, self).request(method, url, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 498, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', OSError("(104, 'ECONNRESET')"))

Version 2.2 calls icloud3_restart and then reports an error

2020-05-26 14:29:22 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] Unable to find service zone/reload
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 977, in _start_icloud3
self._initialize_zone_tables()
File "/config/custom_components/icloud3/device_tracker.py", line 5358, in _initialize_zone_tables
self.hass.services.call(ATTR_ZONE, "reload")
File "/usr/src/homeassistant/homeassistant/core.py", line 1174, in call
self._hass.loop,
File "/usr/local/lib/python3.7/concurrent/futures/_base.py", line 435, in result
return self.__get_result()
File "/usr/local/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
raise self._exception
File "/usr/src/homeassistant/homeassistant/core.py", line 1211, in async_call
raise ServiceNotFound(domain, service) from None
homeassistant.exceptions.ServiceNotFound: Unable to find service zone/reload
2020-05-26 14:29:25 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] local variable 'icon_name' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 5263, in _initialize_device_zone_fields
self.stat_zone_devicename_icon[devicename] = icon_name
UnboundLocalError: local variable 'icon_name' referenced before assignment

2020-05-26 14:29:26 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] local variable 'icon_name' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 5263, in _initialize_device_zone_fields
self.stat_zone_devicename_icon[devicename] = icon_name
UnboundLocalError: local variable 'icon_name' referenced before assignment
2020-05-26 14:29:27 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] local variable 'icon_name' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 5263, in _initialize_device_zone_fields
self.stat_zone_devicename_icon[devicename] = icon_name
UnboundLocalError: local variable 'icon_name' referenced before assignment
2020-05-26 14:29:28 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] local variable 'icon_name' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 5263, in _initialize_device_zone_fields
self.stat_zone_devicename_icon[devicename] = icon_name
UnboundLocalError: local variable 'icon_name' referenced before assignment
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_6) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:31 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:35 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1465, in _polling_loop_5_sec_device
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:35 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] Device Update Error, Error-<class 'ValueError'>
2020-05-26 14:29:40 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1465, in _polling_loop_5_sec_device
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:40 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] Device Update Error, Error-<class 'ValueError'>
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1465, in _polling_loop_5_sec_device
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] Device Update Error, Error-<class 'ValueError'>
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:45 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:29:50 ERROR (SyncWorker_3) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1465, in _polling_loop_5_sec_device
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:50 ERROR (SyncWorker_3) [custom_components.icloud3.device_tracker] Device Update Error, Error-<class 'ValueError'>
2020-05-26 14:29:55 ERROR (SyncWorker_9) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1465, in _polling_loop_5_sec_device
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:29:55 ERROR (SyncWorker_9) [custom_components.icloud3.device_tracker] Device Update Error, Error-<class 'ValueError'>

2020-05-26 14:30:00 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1465, in _polling_loop_5_sec_device
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:30:00 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] Device Update Error, Error-<class 'ValueError'>
2020-05-26 14:30:00 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:30:00 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:30:00 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:30:00 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:30:01 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:30:01 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')
2020-05-26 14:30:01 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] unsupported operand type(s) for +: 'NoneType' and 'int'
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2170, in _update_device_icloud
self._check_outside_zone_no_exit(devicename, zone, latitude, longitude)
File "/config/custom_components/icloud3/device_tracker.py", line 6293, in _check_outside_zone_no_exit
zone_radius_accuracy_m = zone_radius_m + self.gps_accuracy_threshold
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
2020-05-26 14:30:01 ERROR (SyncWorker_0) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-unsupported operand type(s) for +: 'NoneType' and 'int')

GPS Drifting Lately

Latest version of HA and iCloud3, all of a sudden my GPS has been wandering and marking me and my wife as not home when I am home. I believe this started right around the time that I updated the event log card from v1 to v2.x. It just switches to that from home for a few minutes and then back again.

07:01:45 not_home Away 2.5 min   0.06 mi
  Results: BaseZone-home > Zone-not_home, GPS-(xxxxxxxxxxxxxxx, xxxxxxxxxxxxxxxxx), Interval-2.5 min, Dist-0.06 mi, TravTime- (not_set), NextUpdt-7:04:15, Located-7:01:31 (13 sec ago)

07:06:00 home Home 2 hrs   0 mi
  Moving to zone center > home, GPS-(42.162324, -71.540265) to (xxxxxxxxxxxxxxx, xxxxxxxxxxxxxx), Dist-36.42m
07:06:00 home Home 2 hrs   0 mi
  Results: BaseZone-home > Zone-home, GPS-(xxxxxxxxxxxx, xxxxxxxxxxxxxx), Interval-2 hrs, Dist-0 mi, TravTime- (in_zone), NextUpdt-9:06:00, Located-7:05:49 (11 sec ago)

can't install via hacs

Wed Nov 27 2019 16:14:24 GMT+0000 (Greenwich Mean Time)
Download was not complete. 

can install other integrations fine, iCloud3 brings the above error.

Home Assistant 0.102.2
hacs Version: 0.17.4

device_tracker shows all icloud devices per device?

When using more than one icloud account, each device shows all the devices under the tracking attribute.

For example I have two icloud accounts, Ethan and Emily.

On device_tracker.ethans_iphone, "Tracking" shows:
tracking: ethans_iphone(ethans_iphone_ha_app), emilys_iphone(emilys_iphone_ha_app)

and on device_tracker.emilys_iphone, "Tracking" shows the same thing:
tracking: ethans_iphone(ethans_iphone_ha_app), emilys_iphone(emilys_iphone_ha_app)

Is this normal?

No devices to track.

I'm getting the following error on initial set up with a 2FA enabled phone. installed via HACS community

2019-11-29 10:06:24 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] iCloud3 Error: Setup aborted for Group-group1, [email protected]. No devices to track.

Config is:

device_tracker:

  • platform: icloud3
    username: !secret icloud_username
    password: !secret icloud_password
    tracking_method: fmf
    track_devices:

Devices not correctly detected, restart iCloud3 immediately fixes it

With 2.2.0rc5, when I restart HA (and iCloud3 is restarted), I will have errors in logs about device not being tracked but prior to restart they were correctly tracked. If I restart iCloud3 (using the button on the iCloud3 entity log card), the devices always get picked up.

Error I see is:

iCloud3 Error for Wife (wife_iphone)/wife_iphone > The iCloud Account 
for [email protected] did not return any device information for 
this device when setting up Family Sharing.

 1. Restart iCloud3 on the Event_log screen or restart HA.
 2. Verify the devicename on the track_devices parameter if the error persists.
 3. Refresh the Event Log in your browser to refresh the list of devices.

Again, if I restart iCloud3 immediately, it's fixed.

Conflict between device_trackers on HA reboot

I have two device trackers setup for my iPhone (device_tracker.maximus & device_tracker.maximus_2). The base maximus device is created with the Mobile App integration and the maximus_2 device is created by iCloud3 via the ioapp tracking method. The GPS data is captured on the maximus_2 device initially, and then the coordinates along with other iCloud3 specific attributes are written to the base maximus device_tracker entity. So far, I believe I am describing the standard behavior.

The problem I run into is when Home Assistant is restarted when my iPhone is not in the Home zone. The maximus_2 device will recognize the device as not_home with accurate coordinates; whereas the maximus device will always show the device as home. This status will not be corrected for some period of time -- I'm not entirely sure what causes it to eventually synchronize.

Support icloud3 config file for 2.2 to be outside of the custom_components directory

Currently with 2.2.0rc5, the support for the separate config file is great. One issue is this:

The new configuration file, config_ic3.yaml in the iCloud3 custom_component directory, lets you can specify most of the configuration parameters normally found in the HA configuration file

It's probably better that this file is outside the custom_components folder so those of us using git or other code versioning can more easily manage the config file changes since all those files in that folder are managed by HACS.

Perhaps the config value config_ic3_file_name should take a path instead?

[ERROR] local variable 'v2_trigger_changed_secs' referenced before assignment

Since update to v2.1 every 5 sec i receive:

File "/config/custom_components/icloud3/device_tracker.py", line 1420, in _polling_loop_5_sec_device
self._secs_to_time(v2_trigger_changed_secs))
UnboundLocalError: local variable 'v2_trigger_changed_secs' referenced before assignment
2020-03-22 16:43:00 ERROR (SyncWorker_2) [custom_components.icloud3.device_tracker] Device Update Error, Error=<class 'ValueError'>
2020-03-22 16:43:05 ERROR (SyncWorker_2) [custom_components.icloud3.device_tracker] local variable 'v2_trigger_changed_secs' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1420, in _polling_loop_5_sec_device
self._secs_to_time(v2_trigger_changed_secs))
UnboundLocalError: local variable 'v2_trigger_changed_secs' referenced before assignment
2020-03-22 16:43:05 ERROR (SyncWorker_2) [custom_components.icloud3.device_tracker] Device Update Error, Error=<class 'ValueError'>
2020-03-22 16:43:10 ERROR (SyncWorker_17) [custom_components.icloud3.device_tracker] local variable 'v2_trigger_changed_secs' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1420, in _polling_loop_5_sec_device
self._secs_to_time(v2_trigger_changed_secs))
UnboundLocalError: local variable 'v2_trigger_changed_secs' referenced before assignment
2020-03-22 16:43:10 ERROR (SyncWorker_17) [custom_components.icloud3.device_tracker] Device Update Error, Error=<class 'ValueError'>
2020-03-22 16:43:15 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] local variable 'v2_trigger_changed_secs' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 1420, in _polling_loop_5_sec_device
self._secs_to_time(v2_trigger_changed_secs))
UnboundLocalError: local variable 'v2_trigger_changed_secs' referenced before assignment
2020-03-22 16:43:15 ERROR (SyncWorker_1) [custom_components.icloud3.device_tracker] Device Update Error, Error=<class 'ValueError'>

Any idea where to look?

Regards, Harry

Iphone Waze Dist always showing 'NoRoutes'

Does something else need to be set up to get the waze sensors working? (TravTime also not showing anything)

Also out of curiosity - how do you have the driving sensors working?

Not your issue per se, however if you can collaborate with the HA team..... 43 sensors on the wall 🍺

After my house cleaning, I am pretty sure the only two 'device tracker' integrations are the iOS Home Assistant app and your icloud3. With these, I end up with the 43 'sensors' updating in my HA. Wow, WTF, great and painful. So many questions about this data, but no idea who and where to look for documentation and help....
device_tracker.iphonexi
device_tracker.iphonexi_i01
sensor.icloud3_event_log
sensor.iphonexi_activity
sensor.iphonexi_average_active_pace
sensor.iphonexi_badge
sensor.iphonexi_battery
sensor.iphonexi_battery_level
sensor.iphonexi_battery_state
sensor.iphonexi_battery_status
sensor.iphonexi_bssid
sensor.iphonexi_calc_distance
sensor.iphonexi_connection_type
sensor.iphonexi_dir_of_travel
sensor.iphonexi_distance
sensor.iphonexi_floors_ascended
sensor.iphonexi_floors_descended
sensor.iphonexi_geocoded_location
sensor.iphonexi_gps_accuracy
sensor.iphonexi_info
sensor.iphonexi_interval
sensor.iphonexi_last_located
sensor.iphonexi_last_update
sensor.iphonexi_last_update_trigger
sensor.iphonexi_last_zone
sensor.iphonexi_last_zone_name1
sensor.iphonexi_last_zone_name2
sensor.iphonexi_last_zone_name3
sensor.iphonexi_name
sensor.iphonexi_next_update
sensor.iphonexi_poll_count
sensor.iphonexi_sim_1
sensor.iphonexi_sim_2
sensor.iphonexi_ssid
sensor.iphonexi_steps
sensor.iphonexi_travel_distance
sensor.iphonexi_travel_time
sensor.iphonexi_trigger
sensor.iphonexi_waze_distance
sensor.iphonexi_zone
sensor.iphonexi_zone_distance
sensor.iphonexi_zone_name1
sensor.iphonexi_zone_name2
sensor.iphonexi_zone_name3
sensor.iphonexi_zone_timestamp
zone.iphonexi_stationary

Periodically, view with iCloud3 event log card appears blank

i.e., none of the cards are rendered at all.

On occasions when this happens, the following script error shows up in the browser console:

icloud3-event-log-card.js:589 Uncaught TypeError: Cannot read property 'slice' of undefined
    at HTMLElement._setupEventLogTable (icloud3-event-log-card.js:589)
    at HTMLElement.set hass [as hass] (icloud3-event-log-card.js:453)
    at HTMLElement.value (hui-view.ts:61)
    at HTMLElement.value (hui-view.ts:337)
    at HTMLElement.t.addEventListener.once (hui-view.ts:68)
    at r (fire_event.ts:76)
    at create-card-element.ts:111

using version 2.0.5.

icloud3 generating 500 of these errors per minute: 'The see service is not supported for this entity'

I am trying to configure icloud3 using the Home Assistant iOS app integration and I get these errors in the home-assistant.log :

'The see service is not supported for this entity'

Side note. As I understand your section on different ways to integrate icloud3 with iOS. If I understand correctly, if user has Apple's Two Factor Authentication enabled you should NOT try to use icloud3 using Apple iCloud integration. Correct? If so, I think you should just clearly state this at the beginning of your documentation and not have people go to the effort of getting to a road block several steps into your installation. FYI, I would think that a large segment of iOS users have 2FA turned on at this point, as Apple makes it difficult to avoid.

It's not clear to me how the core iOS integration can work with 2FA on and icloud3 does not.

_update_device_icloud:OverallUpdate-tuple index out of range

First of all - thanks for a great script, I love it very much.

I got this error making starting status on a device location = "not_set".

This gets repeated many times for all devices included in the configuration.

Thanks in advanced.

2019-11-23 16:40:00 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ ▼▼▼ FamShr ▼▼▼ pesiphone7plus-family-home ▼▼▼▼▼▼ State=not_set ▼▼▼▼▼▼ iCloud3 Restart not completed, retrying location update ▼▼▼
2019-11-23 16:40:00 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] FamShr update started
2019-11-23 16:40:00 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ = = = Prep Data From FamShr = = = (Now=1574502000)
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ ___ FamShr Status Attrs ___ (_get_famshr_data)
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ FamShr Status Last State=not_set, This State=not_set
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ FamShr Status Attrs={}{}
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ ___ iCloud Loc Attrs ___ (_get_famshr_data)
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ iCloud Loc Last State=not_set, This State=not_set
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ iCloud Loc Attrs={'isOld': False, 'positionType': 'GPS', 'latitude': 13.702895584569044, 'horizontalAccuracy': 24.00362482104263, 'timeStamp': 1574501930964, 'verticalAccuracy': 0.0, 'longitude': 100.64027245031139}{}
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ ►CHECK ISOLD, Time=16:38:50, isOldFlag=False, Age=1.1 min
2019-11-23 16:40:01 INFO (SyncWorker_11) [custom_components.icloud3.device_tracker] ◆pesiphone7plus◆ ►LOCATION DATA, TimeStamp=16:38:50, GPS=(100.640272, 13.702896), isOldFlag=False, GPSAccuracy=24
2019-11-23 16:40:01 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_update_device_icloud:OverallUpdate-tuple index out of range)
2019-11-23 16:40:01 ERROR (SyncWorker_11) [custom_components.icloud3.device_tracker] tuple index out of range
Traceback (most recent call last):
  File "/config/custom_components/icloud3/device_tracker.py", line 2236, in _update_device_icloud
    vertical_accuracy   = dev_data[13]
IndexError: tuple index out of range

Documentation of installation directory inconsistent

Here in your documentation, you specify installing the code in both 'custom-components/icloud' and 'custom-components/icloud3' . Which is correct?

https://gcobb321.github.io/icloud3/#/chapters/1-installation?id=installing-icloud3

'
Create a config/custom_components/icloud directory on the device (Raspberry Pi) running Home Assistant. Copy the five component files in the custom_components-icloud3 GitHub directory (device_tracker.py, pyicloud_ic3.py, init.py, manifest.json, services.yaml) into that directory so the directory structure looks like:

config
custom_components
icloud3
device_tracker.py
pyicloud_ic3.py
init.py
manifest.json
services.yaml

'

HA 107.x and icloude3 now connecting icloud

Error in log:

'NoneType' object has no attribute 'friends'

Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 5623, in _setup_tracked_devices_for_fmf
fmf = self.api.friends
AttributeError: 'NoneType' object has no attribute 'friends'

invalid request error

Uninstalled and error went away
When running i get this error:

sqlalchemy.exc.InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: 'charmap' codec can't encode characters in position 0-1: character maps to (Background on this error at: http://sqlalche.me/e/7s2a)
2020-04-15 18:30:07 ERROR (Recorder) [homeassistant.components.recorder] Error executing query: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: 'charmap' codec can't encode characters in position 0-1: character maps to (Background on this error at: http://sqlalche.me/e/7s2a)
2020-04-15 18:30:07 ERROR (Recorder) [homeassistant.components.recorder] Error saving events: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: 'charmap' codec can't encode characters in position 0-1: character maps to (Background on this error at: http://sqlalche.me/e/7s2a)
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/recorder/init.py", line 410, in _commit_event_session_or_retry
self._commit_event_session()
File "/usr/src/homeassistant/homeassistant/components/recorder/init.py", line 452, in _commit_event_session
self.event_session.commit()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1036, in commit
self.transaction.commit()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 501, in commit
self._assert_active(prepared_ok=True)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 295, in _assert_active
code="7s2a",
`

How do I create an iCloud account with 2FA?

I want to try to use the "Find My" sharing method, but it requires an iCloud account without 2FA. I can't find a way to create an iCloud account without it. I've tried on my mac through a browser and on the browser on my iPhone. During the account creation process, you are forced to give a phone #, and after creation, no way to turn it off in settings.

Did Apple just force 2FA on everyone now and thus breaking this sharing method with iCloud3?

Time display, 12h vs. 24h, local vs. GMT and time zones

Small issue but important to stay on top of for not 'techie' user, which are so important. There are a lot of causes of the display of time in different formats and this is very frustrating for users. Do all you can to make time and date as clear and logical as possible:

timezoneand24hr

NameError: name '_LOGGER' is not defined

This error is pretty common i my log. I use icloud3 2.1. Home Assistant 108.8 on docker.

Except from the error in the log tracking is working 👍
The error happens sometimes when my wifes phone is updating. Never on mine.

2020-04-25 08:13:45 INFO (SyncWorker_33) [custom_components.icloud3.device_tracker] Wifes(iphone) FamShr update started
2020-04-25 08:13:45 ERROR (SyncWorker_33) [custom_components.icloud3.pyicloud_ic3]  (450)
2020-04-25 08:13:45 ERROR (SyncWorker_33) [custom_components.icloud3.pyicloud_ic3.http] name '_LOGGER' is not defined
Traceback (most recent call last):
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 193, in _raise_error
    self.session.cookies.clear()
AttributeError: 'PyiCloudSession' object has no attribute 'session'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 128, in request
    self._raise_error(response.status_code, response.reason)
  File "/config/custom_components/icloud3/pyicloud_ic3.py", line 199, in _raise_error
    _LOGGER.exception(err)
NameError: name '_LOGGER' is not defined
2020-04-25 08:13:45 WARNING (SyncWorker_33) [custom_components.icloud3.pyicloud_ic3.http] Failed to parse response with JSON mimetype
2020-04-25 08:13:45 INFO (SyncWorker_33) [custom_components.icloud3.pyicloud_ic3] Authenticating as [email protected]
2020-04-25 08:13:48 INFO (SyncWorker_33) [custom_components.icloud3.pyicloud_ic3] Authentication completed successfully
2020-04-25 08:13:48 INFO (SyncWorker_33) [custom_components.icloud3.device_tracker] Reauthenticated FamShr account [email protected] for Wifesiphone
2020-04-25 08:13:48 ERROR (SyncWorker_33) [custom_components.icloud3.device_tracker] '<=' not supported between instances of 'int' and 'NoneType'
Traceback (most recent call last):
  File "/config/custom_components/icloud3/device_tracker.py", line 3476, in _determine_interval_retry_after_error
    latitude, longitude, 0, 0)
  File "/config/custom_components/icloud3/device_tracker.py", line 4327, in _setup_base_kwargs
    elif (zone_dist <= self.zone_radius_m.get(zone_name) and
TypeError: '<=' not supported between instances of 'int' and 'NoneType'
2020-04-25 08:13:50 INFO (SyncWorker_35) [custom_components.icloud3.device_tracker] Wifes(iphone) Device Tracking Complete, Results-BaseZone-home > Zone-jobbl, GPS-(59.2162, 15.3451), Interval-20 min, Dist-5.04 km, TravTime- (in_zone), NextUpdt-10:33:45, Located-09:43:40 (-5390 sec ago)

icloud3 configuration:

device_tracker:
  - platform: icloud3
    username: !secret myname_iphoneuser
    password: !secret myname_iphonepass
    group: familjen
    tracking_method: famshr
    track_devices:
      - mynameiphone > myname.png
      - wifesiphone > wife.png
    gps_accuracy_threshold: 66
    unit_of_measurement: km
    inzone_interval: 20
    stationary_inzone_interval: 15
    stationary_still_time: 20
    distance_method: calc
    create_sensors: trig

Waze error seems to kill all tracking

Seeing this in the logs:

2019-11-19 07:51:30 ERROR (SyncWorker_2) [custom_components.icloud3.device_tracker] ►►INTERNAL ERROR-RETRYING (_get_distance_data:WazeError-unsupported operand type(s) for /: 'NoneType' and 'int')
2019-11-19 07:51:30 WARNING (MainThread) [homeassistant.components.device_tracker] Could not parse gps value for iphone: (None, None)

Things work fine for a while, then this error pops up, and tracking seems to freeze for all phones.

Documentation Error [Bug]

Both Example 1 and Example 2 of the Lovelace examples share the same code, so would not produce the cards shown in the images (they all appear to be the code to render Example 2 (5x2), found at:
https://gcobb321.github.io/icloud3/#/chapters/3-sample-lovelace

Additionally, the code has an error, where in Lillian's section, the code is:
- entity: device_tracker.lillian_iphone
name: Gary

Finally, it appears that the custom-lovelace-card is listed as a type "js" when in fact it should be a "module"? At least that was the only way I could get it operational when installed via HACS.

Miles to KM

Hi,

is it possible show KM instead of miles?
cant find it in the documentation.

In v2.2.0-rc6, HA restarts are prone to the following situations. Restarting HA is enough

2020-06-16 13:26:54 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] None (None) iCloud3 Error > Not Tracking Devices > iPhone123 (iPhone),
2020-06-16 13:26:54 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] None (None) iCloud3 Error for Meifeng (mei_feng_iphone)/mei_feng_iphone > The iCloud Account for [email protected] did not return any device information for this device when setting up Family Sharing.. 1. Restart iCloud3 on the Event_log screen or restart HA.. 2. Verify the devicename on the track_devices parameter if the error persists.. 3. Refresh the Event Log in your browser to refresh the list of devices.
2020-06-16 13:26:54 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] None (None) iCloud3 Error for Lm (iphone_lm)/iphone_lm > The iCloud Account for [email protected] did not return any device information for this device when setting up Family Sharing.. 1. Restart iCloud3 on the Event_log screen or restart HA.. 2. Verify the devicename on the track_devices parameter if the error persists.. 3. Refresh the Event Log in your browser to refresh the list of devices.
2020-06-16 13:26:54 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] None (None) iCloud3 Error for 6Gongzuoji (iphone6gong_zuo_ji)/iphone6gong_zuo_ji > The iCloud Account for [email protected] did not return any device information for this device when setting up Family Sharing.. 1. Restart iCloud3 on the Event_log screen or restart HA.. 2. Verify the devicename on the track_devices parameter if the error persists.. 3. Refresh the Event Log in your browser to refresh the list of devices.
2020-06-16 13:26:54 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] None (None) iCloud3 Error for Lb (iphone_lb)/iphone_lb > The iCloud Account for [email protected] did not return any device information for this device when setting up Family Sharing.. 1. Restart iCloud3 on the Event_log screen or restart HA.. 2. Verify the devicename on the track_devices parameter if the error persists.. 3. Refresh the Event Log in your browser to refresh the list of devices.
2020-06-16 13:26:54 ERROR (SyncWorker_12) [custom_components.icloud3.device_tracker] None (None) iCloud3 Error for [email protected] > No devices to track. Setup aborted. Check track_devices parameter and verify the device name matches the iPhone Name on the Settings>General>About screen on the devices to be tracked.

2.2.0rc7

2020-06-25 01:48:30 ERROR (SyncWorker_2) [custom_components.icloud3.device_tracker] HTTPSConnectionPool(host='p26-fmipweb.icloud.com', port=443): Max retries exceeded with url: /fmipservice/client/web/refreshClient?clientBuildNumber=17DHotfix5&clientMasteringNumber=17DHotfix5&ckjsBuildVersion=17DProjectDev77&ckjsVersion=2.0.5&clientId=56FD8396-B62B-11EA-ABD5-0011327B10D3&dsid=17169381464 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fd3a242df10>: Failed to establish a new connection: [Errno -3] Try again'))
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 157, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw
File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 61, in create_connection
for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
File "/usr/local/lib/python3.7/socket.py", line 748, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 672, in urlopen
chunked=chunked,
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 376, in _make_request
self._validate_conn(conn)
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 994, in _validate_conn
conn.connect()
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 334, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 169, in _new_conn
self, "Failed to establish a new connection: %s" % e
urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x7fd3a242df10>: Failed to establish a new connection: [Errno -3] Try again

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py", line 720, in urlopen
method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
File "/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py", line 436, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='p26-fmipweb.icloud.com', port=443): Max retries exceeded with url: /fmipservice/client/web/refreshClient?clientBuildNumber=17DHotfix5&clientMasteringNumber=17DHotfix5&ckjsBuildVersion=17DProjectDev77&ckjsVersion=2.0.5&clientId=56FD8396-B62B-11EA-ABD5-0011327B10D3&dsid=17169381464 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fd3a242df10>: Failed to establish a new connection: [Errno -3] Try again'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2585, in _refresh_pyicloud_devices_location_data
api_devices = self.api.devices
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 369, in devices
service_root, self.session, self.params, self.with_family
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 424, in init
self.refresh_client()
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 441, in refresh_client
"deviceListVersion": 1,
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 581, in post
return self.request('POST', url, data=data, json=json, **kwargs)
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 80, in request
response = super(PyiCloudSession, self).request(method, url, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.7/site-packages/requests/adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='p26-fmipweb.icloud.com', port=443): Max retries exceeded with url: /fmipservice/client/web/refreshClient?clientBuildNumber=17DHotfix5&clientMasteringNumber=17DHotfix5&ckjsBuildVersion=17DProjectDev77&ckjsVersion=2.0.5&clientId=56FD8396-B62B-11EA-ABD5-0011327B10D3&dsid=17169381464 (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7fd3a242df10>: Failed to establish a new connection: [Errno -3] Try again'))

Request: Set initial stationary zones to Home coordinates

It appears that when iCloud3 starts up and creates stationary zones, it sets the coordinates as follows:
Stationary Zone Set > maximus_stationary, GPS-(90, 180)']

This location is in the Arctic Ocean. The coordinates then get overwritten when an actual temporary stationary location is detected.

This has not been an issue thus far; however in the newest release of HA (.105 beta), there is now a visual zone editor for managing zones. If HA starts up and tracked devices are located in a zone, the stationary zone won't update and those coordinates values (90, 180) will be reported. When entering the visual zone editor, the map is zoomed way out in order to show all zones centered on the screen. This is not a bug per se, but a little annoying.

If initial values of the stationary zone coordinates were set to Home, the current location of tracked devices, etc.. it would allow the map to center around all relevant zones for easier editing.

ERROR: ‘NoneType' object is not subscriptable

I’m using 2.0.6b to test out the new feature where the Stationary zone isn’t created until first use. However on Home Assistant start, iCloud3 throws the following error:

Logger:
custom_components.icloud3.device_tracker 
First occured: 3:18:05 PM (2 occurences) 
Last logged: 3:18:06 PM

'NoneType' object is not subscriptable
Traceback (most recent call last):
  File "/config/custom_components/icloud3/device_tracker.py", line 5355, in _initialize_device_zone_fields
    first_initial = self.friendly_name.get(devicename)[0].lower()
TypeError: 'NoneType' object is not subscriptable

Tracking never switches from 'stationary' to a known zone

icloud3 - 2.0.1

Things are stable and not throwing exceptions, but I've noticed that when people return home, they are marked as stationary, and never switch to 'home', (or any of the other known zones). This prevents several automations from running correctly.

Error: 'NoneType' object is not iterable

Hello,

I just wanted to post this error I am getting all the sudden. Near the end of 2019, I had this plugin working flawlessly with fmf. Recently, I have not had success where it all the sudden says "no devices to track". No emails changed on my AppleID, so I just found that weird.
However, a new error is the first about 'NoneType' object.

homeassistant.exceptions.PlatformNotReady
2020-02-19 13:16:59 ERROR (SyncWorker_9) [custom_components.icloud3.device_tracker] 'NoneType' object is not iterable

Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 5645, in _setup_tracked_devices_for_fmf
for contact in fmf.contacts:
TypeError: 'NoneType' object is not iterable
2020-02-19 13:16:59 ERROR (SyncWorker_9) [custom_components.icloud3.device_tracker] iCloud3 Error: Setup aborted for Group-group1, Username-**************. No devices to track.```

iCloud3 and duplicate entity IDs

Gary,

Thanks for developping this. New to HA and your integrattion. Got everything working except I cannot see in the UI the properties of the sensors. It says "This entity does not have a unique ID, therefore its settings cannot be managed from the UI.". Any idea?

Have 3 phones, all with different names, tracked through famshr. custom event log works fine.

Unable to customize sensor attributes

Hi - I'm using the '_zone_name1' in my automations as recommended, but to make my life a little bit easier I've tried editing two attributes via the customize feature:
.entity_picture
.friendly_name

Neither of them have 'taken' for some reason, all it has is state, icon and the default friendly_name. Is there something special about the sensor objects you create?

Cheers,
Andy

customize.yaml

It doesn’t seem like these entities are compatible with customize.yaml. I’m trying to rename the travel time sensors to display on a card but it throws an error saying that customize.yaml is not included in my configuration.yaml. It is though and I can edit other entities with it just fine. Just not yours.

Version 2.1 calls to refresh and restart the service will report an error, and the automatic refresh time will also report an error, which will not be updated after a long time

2020-05-16 23:13:46 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] argument of type 'NoneType' is not iterable
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 4526, in _trace_device_attributes
if ATTR_LOCATION in attrs:
TypeError: argument of type 'NoneType' is not iterable
2020-05-16 23:13:46 WARNING (MainThread) [homeassistant.components.sensor] Updating baidu_face sensor took longer than the scheduled update interval 0:00:02
2020-05-16 23:13:46 ERROR (SyncWorker_13) [custom_components.icloud3.device_tracker] local variable 'loc_time_secs' referenced before assignment
Traceback (most recent call last):
File "/config/custom_components/icloud3/device_tracker.py", line 2907, in _get_famshr_data
location_isold_flag, loc_time_secs, altitude,
UnboundLocalError: local variable 'loc_time_secs' referenced before assignment


2020-05-16 12:21:30 ERROR (SyncWorker_9) [custom_components.icloud3.pyicloud_ic3] (450)
2020-05-16 12:21:30 ERROR (SyncWorker_9) [custom_components.icloud3.pyicloud_ic3.http] name '_LOGGER' is not defined
Traceback (most recent call last):
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 176, in _raise_error
self.session.cookies.clear()
AttributeError: 'PyiCloudSession' object has no attribute 'session'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 111, in request
self._raise_error(response.status_code, response.reason)
File "/config/custom_components/icloud3/pyicloud_ic3.py", line 182, in _raise_error
_LOGGER.exception(err)
NameError: name '_LOGGER' is not defined

iCloud3 and IOS App - testing together

Hi - I've installed iCloud3 2.0.5 and everything appears to be working as expected... I had to rename the IOS App v2 device tracker name as called out here.

One question I have is that now I've renamed the IOS App device tracker name I don't seem to get any 'state change/zone change' events any more. iCloud3 is eventing as expected but nothing via the IOS app and/or the original device_tracker.andy_s_iphone_iosappv2 object (that was rename from device_tracker.andy_s_iphone).

Is that expected? I wanted to compare the two and see what kind of location-based events I got from both sources, and compare the time deltas, accuracy etc.

Thanks all,
Andy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.