Been wondering when you were going to try it out! ![]()
Yes, semantic_location is passed as an attribute. Come on over, the water is fine!
Been wondering when you were going to try it out! ![]()
Yes, semantic_location is passed as an attribute. Come on over, the water is fine!
hello , yes it was my first try instalation
Brilliant! That is the only thing I wasn’t sure was implemented.
I use it to get an approximate location of my cats in the house ![]()
Yeah sorry, I’ve been meaning to test this but the script was good enough and I’ve had far too many things happening over the last couple of months. Hopefully can get this up and running over the next few days!
Completely understand, I just recently got back to fixing bugs due to my busy work schedule. Life is always getting in the way and stuff.
In case you use discord, feel free to hop on our server:
Please try updating to V1.6.1. You should delete your current integration config and add it again after updating to the new version
Nevermind, still working on a fix ![]()
Alright, give the new pre-release a try…cache refactoring is a pain
I installed this version now, used my existing secrets and it seems to be working.
I’ve disabled a a couple of trackers that I don’t want to monitor in Home Assistant, and will monitor over the next couple of days before I move my sensors over.
One of my cats’ trackers was detected pretty much immediately. The other took a bit longer but showed up now.
Are you using a different logic for polling or is it basically doing a request for all the devices every X seconds interval?
Might just have been a small fluke on the initial setup, as I reloaded a couple of times after removing/disabling entities.
In any case, much easier than having to run something outside my home assistant for this!
Thank you
Polling is staggered as to not blast the API. I don’t really know how sensitive the API is and I don’t want to risk anything. So, it will poll one device, wait X seconds, poll next device, wait X seconds, poll next device.
Eventually, I plan to do much more dynamic polling to try and get better immediate location intervals based on type of connection (BLE, Google Home, passive, FCM, etc). But I really want to get a solid, basic code down first. FCM has been kicking my butt so far.
That makes perfect sense.
If I find any bugs/issue I’ll open something on GitHub.
Thanks again!
I have the same issue (“failed to connect to the google api”) with 1.6-beta4 and 1.6.2.3 version.
EDIT: fixed. I’d to regenerate secrets.json. HA logs give me the clue (the error message of the integration is not accurate)
Hey there, I installed the integration and it worked quite well, but then after just one day, I got a warning message from Google about some suspicious activity, and Google disconnected it. I tried making the JSON again, but unfortunately, the same thing happened after just one day.
It worked for me until the update to 1.6.0 where I had to recreate my secrets.json…I am now not able to create this anymore:
(venv) PS C:\<path>\GoogleFindMyTools-main> py main.py
Loading...
Traceback (most recent call last):
File "C:\<path>\GoogleFindMyTools-main\main.py", line 10, in <module>
list_devices()
~~~~~~~~~~~~^^
File "C:\<path>\GoogleFindMyTools-main\NovaApi\ListDevices\nbe_list_devices.py", line 45, in list_devices
result_hex = request_device_list()
File "C:\<path>\GoogleFindMyTools-main\NovaApi\ListDevices\nbe_list_devices.py", line 20, in request_device_list
result = nova_request(NOVA_LIST_DEVICS_API_SCOPE, hex_payload)
File "C:\<path>\GoogleFindMyTools-main\NovaApi\nova_request.py", line 18, in nova_request
android_device_manager_oauth_token = get_adm_token(get_username())
File "C:\<path>\GoogleFindMyTools-main\Auth\adm_token_retrieval.py", line 10, in get_adm_token
return request_token(username, "android_device_manager")
File "C:\<path>\GoogleFindMyTools-main\Auth\token_retrieval.py", line 23, in request_token
token = auth_response['Auth']
~~~~~~~~~~~~~^^^^^^^^
KeyError: 'Auth'
Hi, I’m using some O2 tags for Android from my mobile provider (it seems they are sold only in the Czech Republic: O2 | Mobilní telefony
).
I noticed that the tags sometimes play sounds randomly (on average 1–3 times per week). I initially thought the tags were faulty and planned to stop using them. However, about three weeks ago I removed the integration from Home Assistant, and the random beeping stopped. Two days ago, I added the integration back (alpha version 1.7.0-2), and the tags started randomly beeping again. There is no event in the tag details in HA, and I haven’t found anything suspicious in the logs either.
Can you help me please? I really like your integration. Thanks
I think I am seeing the same behaviour now. I did not hear them beep with the previous pre-release.
However, I am only hearing this with a specific tag, a Chipolo one. I have 2 Moto Tags and these aren’t beeping.
For who and which vehicle i used the car stereo Bluetooth connection as a condition. So whoever goes and whichever car gets connected are the ones leaving
So i tried to use it for tracking a Wear OS LTE smartwatch.
The watch is visible on Find Hub but will not be pull by the python script.
My guess is that smartwatches are not considered like a regular tracker by Find Hub as it only pull the location when asked through the UI.
I will have to stick using Find Hub app then…
Hi, I’ve got this error. The controls work but the sensors dont update with a location.
\GoogleFindMyTools-main\NovaApi\ListDevices\nbe_list_devices.py", line 68, in list_devices
selected_idx = int(selected_value) - 1
~~~^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: ‘’
Working great so far. One thing I would like to see added is showing what area a device is located in. I see the devices have a semantic location such as ‘Bedroom display’. It would be great if this could be associated with the area this device is in when it exists in the Google Cast integration. Is this possible?
For now using a custom template sensor:
custom_templates/device-tracker-area.jinja:
{% macro device_tracker_area(entity_id) %}
{% set loc = state_attr(entity_id, 'semantic_location') %}
{% if loc is not none %}
{% set cast_ids = integration_entities('cast') | map('device_id') | unique | reject('none') | list %}
{% set target_id = cast_ids | select('is_device_attr', 'name_by_user', loc) | first | default(cast_ids | select('is_device_attr', 'name', loc) | first, true) %}
{% set room = area_name(target_id) %}
{{ room if room is not none else loc }}
{% else %}
Unknown
{% endif %}
{% endmacro %}
Template sensor state:
{% from 'device-tracker-area.jinja' import device_tracker_area %}
{{ device_tracker_area('device_tracker.keys') }}