Coder Social home page Coder Social logo

findmy's Introduction

FindMy

Retrieve FindMy Objects data (Airtags, Airpods, etc.) from a jailbroken device and publish it through MQTT for use in Home Assistant

First of you'll need to install the Terminal & SSH addon (https://github.com/home-assistant/addons/blob/master/ssh/DOCS.md). Secondly you'll need a (jailbroken) iOS device (iPhone / iPad) that supports Find My (iOS 14.0 or higher), I've used an iPhone 7 with iOS 15.7.5 and applied the Palera1n jailbreak.

Jailbreaking the iPhone:

Download the .ISO from https://github.com/palera1n/palen1x/releases and follow the instructions as mentioned on https://ios.cfw.guide/using-palen1x.

Setup a passwordless connection

  • Follow the instructions from Smart Home Junkie on creating SSH-keys https://youtu.be/_ANmn9QSLtA
  • If you have got your private and public key copy that key to the iOS device: use ssh-copy-id -i {location of your public key} {username}@{iosdevice--ip-address}, you'll be prompted for your password and after that the SSH-key should be copied.

With Home Assistant now able to download the Items.data file the find_my.sh script will generate a device_tracker that you can use in your Maps-card for example.

The script is under development, so changes will me made.

Home Assistant Configuration

Find_my.sh

Copy the shell script to your prefered shell scripts location e.g. /config/shell/find_my Change the listed variables to match your setup:

  • scriptlocation
  • iosdevice
  • mqttbroker
  • username
  • password

Configuration.yaml

Add the following line to your configuration and modify it to match your setup:

  • /config/ssh/id_rsa should match the location of your ssh-key
  • [email protected] should match your SSH login
  • /config/shell/find_my/find_my.sh should match the location of find_my.sh
shell_command:
  find_my: ssh -i /config/ssh/id_rsa -o 'StrictHostKeyChecking=no' [email protected] '/config/shell/find_my/find_my.sh'

Automation

You can create an automation as basic as:

alias: "Run the Find_my script"
description: ""
trigger:
  - platform: time_pattern
    minutes: /5
condition: []
action:
  - service: shell_command.find_my
    data: {}
mode: single

findmy's People

Contributors

crispy78 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

findmy's Issues

iOS Jailbreaks

Where did u go to get & install the jailbreak software? I’ve tried countless google searches to find a legit site and haven’t found anything. Can u plz share? Thx

Data from iPhone is outdated

Hi!
I successfully managed to get your code working. But I noticed that the data copied from the iPhone is outdated and only gets updated when I actively reopen the app on the iphone.
Is there some way to update the data on the phone automatically?

Copy Keys to iOS device

Hi,

I am stuck with the step of copying the keys to the iOS device.

My question is how Do i copy those keys to the iOS device? I am using Windows.

Also, in the configuration.yaml, what is '[email protected] should match your SSH login' ? Is this the details for the iOS device or the Home Assistant?

Thank you

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.