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/184.108.40.206 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 --email@example.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.