node-red-contrib-apple-find-me
v1.1.8
Published
This is a node-red node to get the current locations and other metrics of connected Apple devices
Downloads
131
Maintainers
Readme
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:
Installation
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:
Examples:
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