Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to ring a Tile from this library #49

Open
Alfiegerner opened this issue Jun 27, 2020 · 17 comments
Open

Add ability to ring a Tile from this library #49

Alfiegerner opened this issue Jun 27, 2020 · 17 comments
Labels
enhancement Enhancement of the code, not introducing new features. help-wanted Needs a helping hang or expertise in order to resolve

Comments

@Alfiegerner
Copy link

Is your feature request related to a problem? Please describe.
I'd like to be able to ring my tile without using the app.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Something like a ringMe method on the tile object.

Additional context
Add any other context or screenshots about the feature request here.

'This is filtered down from partner, who said can you please put an icon on our homeassistant UI to ring the remote? I hate the tile app' 🙂

@bachya bachya added the enhancement Enhancement of the code, not introducing new features. label Jun 28, 2020
@bachya
Copy link
Owner

bachya commented Jun 28, 2020

Thanks for submitting, @Alfiegerner! Unfortunately, I am unable to see any sniffed HTTP traffic when the Tile is pinged; it's possible that the app does this directly over a Bluetooth connection (which is not something this library currently supports).

I'll leave this open in case anyone is able to assist.

@Alfiegerner
Copy link
Author

@bachya - thanks! Will investigate the Bluetooth sniffing when I have a chance.

@bachya bachya mentioned this issue Sep 9, 2020
Closed
@stgzach
Copy link

stgzach commented Sep 9, 2020

Hi, if you're interested I managed to make the Tile devices sound with the web version. The link is here. Have a nice day.

@bachya
Copy link
Owner

bachya commented Sep 9, 2020

@ehily Thank you! Would you be willing to submit a pull request here? Our community would appreciate it!

@stgzach
Copy link

stgzach commented Sep 9, 2020

I would like to but my code is not laid out like yours and I use the web api. So I don't know how I would do it but you can adapt my code if you wish. Have a nice day.

@bachya bachya changed the title Ring tile Add ability to ring a Tile from this library Sep 9, 2020
@travisp
Copy link

travisp commented Nov 13, 2020

I can't find evidence that the production.tile-api.com supports setting the ring state, although it might be there.

Would it be acceptable to use the web API as in ehily's code in order to set ring state? If so, I'd be open to trying to put together a PR.

Edit: I'm not sure the above code works either. The web interface seems to only expose my phone device, not my regular tile devices, and passing in the UUID from pytile doesn't seem to work.

@bachya
Copy link
Owner

bachya commented Nov 16, 2020

I'm certainly open to other APIs if they can (a) add meaningful functionality and (b) follow the general design patterns of the library.

@nakaotatsuya
Copy link

nakaotatsuya commented Jul 13, 2021

Hi, thank you for this library. Has this problem already solved?
I found this. http://improwis.com/notes/ble.webt#TileInc.Tile1.0
I wonder if it can help you to be able to ring tiles without the app, though I don't know about this BLE connection.
I hope someone can create the system of ringing tiles without the app.
Thank you.

@nakaotatsuya
Copy link

nakaotatsuya commented Jul 15, 2021

And, I check my Tile by using bettercap, and I got this information below. Most of the characteristics can be only read, not written.
I doubt if I can change the value of 000f handle, but I don't know what is happening.
I couldn't ring a tile without the app, sorry.

┌──────────────┬───────────────────────────────────────────────────────┬─────────────┬────────────────────────────────────────────────┐
│   Handles    │               Service > Characteristics               │ Properties  │                      Data                      │
├──────────────┼───────────────────────────────────────────────────────┼─────────────┼────────────────────────────────────────────────┤
│ 0001 -> 0009 │ Generic Access (1800)                                 │             │                                                │
│ 0003         │     Device Name (2a00)                                │ READ, WRITE │ Tile                                           │
│ 0005         │     Appearance (2a01)                                 │ READ        │ Unknown                                        │
│ 0007         │     Peripheral Preferred Connection Parameters (2a04) │ READ        │ Connection Interval: 16 -> 80                  │
│              │                                                       │             │ Slave Latency: 0                               │
│              │                                                       │             │ Connection Supervision Timeout Multiplier: 400 │
│ 0009         │     2aa6                                              │ READ        │ 01                                             │
│              │                                                       │             │                                                │
│ 000a -> 000a │ Generic Attribute (1801)                              │             │                                                │
│              │                                                       │             │                                                │
│ 000b -> ffff │ feed                                                  │             │                                                │
│ 000d         │     9d41000735d6f4ddba60e7bd8dc491c0                  │ READ        │ ,2h«1c*í03                                     │
│ 000f         │     9d41001835d6f4ddba60e7bd8dc491c0                  │ WRITE       │                                                │
│ 0011         │     9d41001935d6f4ddba60e7bd8dc491c0                  │ NOTIFY      │                                                │
│              │                                                       │             │                                                │
└──────────────┴───────────────────────────────────────────────────────┴─────────────┴───────────────────────────────────────────

@wieluk
Copy link

wieluk commented Sep 30, 2021

I don't know if this is still active but it should be possible via api because it is possible with alexa or google.
https://www.thetileapp.com/en-us/blog/how-to-use-amazon-alexa-and-google-assistant-with-tile

@kylewilliams321
Copy link

Any updates to this?

@Bretthansenpc
Copy link

I would love this option!

@StaleLoafOfBread
Copy link

@bachya RE:

Thanks for submitting, @Alfiegerner! Unfortunately, I am unable to see any sniffed HTTP traffic when the Tile is pinged; it's possible that the app does this directly over a Bluetooth connection (which is not something this library currently supports).

I'll leave this open in case anyone is able to assist.

I think what is happening is the Tile app sees that it is the device directly connected to the Tile device and sends out the Bluetooth command to ring it. So instead, we need a secondary device to send the command to Tile's API which will then tell your phone which is directly connected to the Tile, to ring it. Fortunately, it seems there are two scenarios we can create to achieve this:

  1. Ring a shared Tile:

Can we both ring a shared Tile?
Yes, just make sure both devices have the most up-to-date Tile app version. Both devices can ring the shared Tile as long as the device is within Bluetooth range of the Tile. You can ring a shared Tile one user at a time.

https://tileteam.zendesk.com/hc/en-us/articles/205332837

  1. Ringing a Tile on a secondary phone

You can ring your Tile from any device logged into your Tile account.
https://tileteam.zendesk.com/hc/en-us/articles/203953853-Use-My-Tile-with-More-Than-One-Device

As extra precaution, especially for option 2, Bluetooth should be turned off on the device requesting the ringing in the Tile app. This is to ensure that there's no way it could have issued the ring command direct to the Tile device itself. If I find some time I'll see what I can find but wanted to leave the note here in case anyone else with some time could take this idea and run with it.

@bachya bachya added no-stale This issue or PR is exempted from the stale bot and removed no-stale This issue or PR is exempted from the stale bot labels Oct 31, 2022
@bachya bachya added the help-wanted Needs a helping hang or expertise in order to resolve label Oct 31, 2022
@lesleyxyz
Copy link

lesleyxyz commented May 6, 2023

Hi All,

I just implemented this in my NodeJS library if someone wants a reference:
https://github.com/lesleyxyz/node-tile

It's not the easiest to implement unfortunately, but that's a deliberate move by Tile

You can also find an initial attempt of me explaining how the protocol works here:
https://github.com/lesleyxyz/node-tile/blob/main/Tile_Protocol.md

@jeremad
Copy link

jeremad commented Dec 28, 2023

Hi folks, I implemented a tiny flutter mobile app that can ring a Tile tracker, giver its auth key and and bluetooth mac address, which you can find using this project. If any of you is interested I can publish it. Cheers

@kylewilliams321
Copy link

Yes interested

@jeremad
Copy link

jeremad commented Dec 29, 2023

https://github.com/jeremad/jeretile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhancement of the code, not introducing new features. help-wanted Needs a helping hang or expertise in order to resolve
Projects
None yet
Development

No branches or pull requests