node-red-contrib-apple-find-me 1.1.8

This is a node-red node to get the current locations and other metrics of connected Apple devices

npm install node-red-contrib-apple-find-me

node-red-contrib-apple-find-me

This is a node-red node to get the current locations and other metrics of connected Apple devices.

It work's without 2-Factor-Authentication (2FA) and retrive all connected devices.

Important: Family-Devices are not longer working!

Donation:

Donate

Installation

NPM Downloads Current Release

Install from your Node-RED Manage Palette

or

Install using npm

$ npm install node-red-contrib-apple-find-me

Redmatic:

$ source /usr/local/addons/redmatic/home/.profile
$ cd /usr/local/addons/redmatic/var
$ npm install --save --no-package-lock --global-style --save-prefix="~" --production node-red-contrib-apple-find-me

Check for Updates:

$ npm outdated

Update:

$ npm install node-red-contrib-apple-find-me@latest

Nodes:

Nodes

Examples:

NodeExample

Parameter (Account):

Parameter Description
Name Node Name
Apple ID self explanatory
Password self explanatory
Timezone Select your Timezone
Format Define your Time-Format
Request-Timeout Define Request-Timeout in seconds

Parameter (Locate my Devices):

Parameter Description
Account Your Apple Account
Name Node Name
Geo-API OpenStreetMaps, HereMaps or GoogleMaps (HereMaps and GoogleMaps needs an API-KEY)
Trigger Interval How often should the devices be updated
Places Define locations that should be specified in the payload if the device is within a 150 meter radius

Parameter (Locate my Devices with Payload):

Parameter Description
Account Your Apple Account
Name Node Name
Geo-API OpenStreetMaps, HereMaps or GoogleMaps (HereMaps and GoogleMaps needs an API-KEY)
Places Define locations that should be specified in the payload if the device is within a 150 meter radius

Parameter (Send Message):

Parameter Description
Account Your Apple Account
Name Node Name
Device-ID ID of the iOS-Device (You can get it with the Locate my Devices Node)
Message ID of the iOS-Device (You can get it with the Locate my Devices Node)

Parameter (Find my Phone):

Parameter Description
Account Your Apple Account
Name Node Name
Device-ID ID of the iOS-Device (You can get it with the Locate my Devices Node)

How to use

  • Add Locate my Devices node or a Locate my Devices (run with Payload) node to your flow
  • Create Account-Information
  • Setting Properties and enjoy

Features

  • Define places
  • Retriev device metrics (ModelName, ModelImage, DeviceID, DisplayName, BatteryLevel, BatteryState)
  • Retriev location information (Latitude, Longitude, CurrentPlace, CurrentAddress, OSM-Url, GoogleMaps-Url)
  • Run Find my iPhone
  • Send Message to an iOS Device
  • Add new node within you can locate your devices by incoming an input

Example Payload (Locate my Devices):

{
       "<ModelType> e.g: MacBook Pro or iPhone":[
          {
             "modelName":"<ModelName> e.g: MacBook Pro 13\"",
             "modelImageLink_Small":"<ModelImageSmallLink>",
             "modelImageLink_Medium":"<ModelImageMediumLink>",
             "modelImageLink_Large":"<ModelImageLargeLink>",
             "deviceID":"<Unique DeviceID>",
             "displayName":"<DiviceName> e.g: Daniel's MacBook Pro",
             "batteryLevel":"<BatteryLevel in percent> e.g 53",
             "batteryState":"<BatteryStatus> e.g: CHARGING",
             "locationInfo":{
                "distances": [
                    {
                      "name": "HOME",
                      "distance_in_meter": <Distance in meter> e.g 200,
                      "distance_in_km": <Distance in kilometer> e.g 0.2,
                      "distance_in_miles": <Distance in miles> e.g 0.3
                    }
                  ]
                },
                "altitude":0,
                "latitude":0.00000000000,
                "longitude":0.00000000000,
                "isInaccurate":false,
                "isOld":false,
                "positionType":"Wifi or GPS",
                "horizontalAccuracy": "<Accuracy in meters> e.g: 65",
                "verticalAccuracy":0,
                "currentPlace":"<if device in place then its here the name of place when distance < 150 meters>",
                "currentAddress":{<Address-Object from OpenStreetMap, HereMap or GoogleMaps>},
                "osmUrl":"<OpenStreetMaps Url>",
                "googleUrl":"<GoogleMaps Url>",
                "locationTimeStamp":"<TimeStamp of last location> e.g: 2020-11-10 14:51:12"
             },
             "refreshTimeStamp":"<RefreshTimeStamp> e.g: 2020-11-10 14:54:22"
          }
       ]
    }
 }

Changelog

Version Description
1.0.0 Initial Version
1.0.1 Add BatteryStatus
1.0.2 Nodes now available through the Node-Red palette
1.0.3 Bug with Places solved
1.0.4 Added Find my iPhone and send message, Geolocation GoogleMaps
1.0.5 Added new Node (apple-find-me-with-payload), API-Key now a Password-Fields
Added Descriptions
1.0.6 Change from node-red-apple-find-me to node-red-contrib-apple-find-me
1.0.7 Issue #4 (Send Message) solved
1.0.8 Bug fixed: Crash if address was not found
1.0.9 Added Timezone and Time-Format
1.1.0 Remove Family-Devices (not longer working) Issue #15
1.1.1 Change Version
1.1.2 Add Request-Timeout Settings in Account-Node
1.1.3 Bug fixed: Issue #22
1.1.4 Issue #23
1.1.5 Bug fixed: Problem with Package.json in 1.1.4
1.1.7 Bug fix and add new Geolocation-Provider (BingMaps, Geoapify, LocationIQ, Positionstack, Tomtom)
1.1.8 Bug fix and add distances (remove slow Elevation API Issue #27)

Bugs and feature requests

Please create an issue in GitHub

Node Info

Version: 1.1.8
Updated 2 years, 5 months ago
License: MIT
Rating: 3.0 2

Categories

Actions

Rate:

Downloads

31 in the last week

Nodes

  • apple-find-me-account
  • apple-find-me-sendmessage
  • apple-find-me-playsound
  • apple-find-me
  • apple-find-me-with-payload

Keywords

  • apple
  • iphone
  • imac
  • icloud
  • find-me
  • find
  • me
  • location
  • macbook
  • node-red

Maintainers