With the iCloud binding not working and no short term prospect for it being revised, I am going to try the pyicloud approach suggested by @Jiri_Kratochvil and @dathbe. As suggested by @peteraquino at iCloud Binding Communication Error - #354 by peteraquino, I’m creating a new thread for this discussion.
After looking at both approaches, I’m leaning towards a hybrid. I want to use iCloud location for multiple iPhone devices for several members of my family. I like the way multiple devices are handled in this iCloud Binding Communication Error - #352 by dathbe by @dathbe, but found the script installation iCloud Binding Communication Error - #348 by Jiri_Kratochvil by @Jiri_Kratochvil easier to follow given my limited java and python knowledge. I’m concerned that the Exec Binding approach may may lead to timeout restrictions if I run it 3 times in a row for the 3 separate device IDs.
I’m running openHAB 3.4.0M1 on a Pi 4 using openhabian. Current system specs from the UI Technical Information details are:
runtimeInfo:
version: 3.4.0.M1
buildString: Milestone Build
locale: en-US
systemInfo:
configFolder: /etc/openhab
userdataFolder: /var/lib/openhab
logFolder: /var/log/openhab
javaVersion: 11.0.16
javaVendor: Raspbian
osName: Linux
osVersion: 5.15.61-v7l+
osArchitecture: arm
availableProcessors: 4
freeMemory: 479311920
totalMemory: 854589440
startLevel: 70
bindings:
- amazonechocontrol
- astro
- denonmarantz
- harmonyhub
- icalendar
- icloud
- ipcamera
- mail
- mqtt
- myq
- network
- omatic
- openweathermap
- remoteopenhab
- tplinksmarthome
- tuya
- zwave
clientInfo:
device:
ios: false
android: false
androidChrome: false
desktop: true
iphone: false
ipod: false
ipad: false
edge: false
ie: false
firefox: false
macos: false
windows: true
cordova: false
phonegap: false
electron: false
nwjs: false
webView: false
webview: false
standalone: false
os: windows
pixelRatio: 1.5
prefersColorScheme: light
isSecureContext: false
locationbarVisible: true
menubarVisible: true
navigator:
cookieEnabled: true
deviceMemory: N/A
hardwareConcurrency: 4
language: en-US
languages:
- en-US
onLine: true
platform: Win32
screen:
width: 1707
height: 1067
colorDepth: 24
support:
touch: false
pointerEvents: true
observer: true
passiveListener: true
gestures: false
intersectionObserver: true
themeOptions:
dark: light
filled: true
pageTransitionAnimation: default
bars: filled
homeNavbar: default
homeBackground: default
expandableCardAnimation: default
userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/106.0.0.0 Safari/537.36
timestamp: 2022-10-17T19:06:17.821Z
I followed the first 2 steps from GitHub - Krata4/icloud: icloud library which is using pyicloud
After that I was able to launch pyicloud, log into iCloud and retrieve the information for my devices using
penhabian@openhab-midway:~ $ icloud --username=gmhyde@gmail.com --list
This returned the list of my devices. But it doesn’t include any family member devices that I was previously able to access through the ICloud binding (and that I see on my iPhone’s FindMy App). Before going any further, I wanted to be sure that I would be able to access devices which are part of my iCloud Family group.
I also have a few questions about making the python script run every 5 minutes, but before addressing that, I want to be sure that when I’m finished, I will be able to get all of the information I need.
Thanks for any suggestions.