Skip to content

Releases: gcobb321/icloud3

iCloud3 v3.3.4.1 (12/5/2025)

05 Dec 20:23

Choose a tag to compare

🐞 Bug Fix

  • Fixed an error in v3.3.4 (12/5/2025) related to username_base not found in utils.py that was preventing iCloud3 from loading.

iCloud3 v3.3.3 (11/22/2025)

22 Nov 17:58

Choose a tag to compare

Account Reauthentication

  • Fixed a Config flow could not be loaded: 500 Internal Server Error Server got itself in trouble error when trying to reauthenticate the Apple account after selecting the Orange Reauthentication button on Devices & settings > iCloud3. It did not occur when selecting the Authenticate Apple Account Sign-In screen.

Startup

  • The results of the Internet Connection Test done during Startup, Stage 2 are now displayed in the Event Log and icloud3.log file.

iCloud3 v3.3.2 (11/21/2025)

21 Nov 23:34

Choose a tag to compare

🚩 Updates to iCloud3 v3.3.x

Apple account Error 503/Password SRP handling

  • Fixed several issues in the PasswordSRP handler dealing with verifying the password. This was creating the Server Not Available 503 error resulting in password authentication failures and login delays.

Update Apple Account screen

  • When the Apple account password is changed, it needs to also be changed on this screen, otherwise the account will not be logged into on the next iCloud3 restart. Fixed a problem verifying the new password, relogging into the account and requesting an authentication code.
  • Multiple Apple accounts - Fixed a problem when going from this screen to the *Authenticate Apple Account Sign-in screen. The selected account was not being reselected.

Authenticate Apple Account Sign-in screen

  • Multiple Apple accounts - When several accounts need to be authenticated, the correct one was not being reselected after requesting new code.
  • Improved handling of logging into the Apple account
  • The Apple account login attempt would only be retried when the username and password was changed even though the account was not logged into. This as been fixed.

Hardware Security Keys (YubiKey)

  • Removed the security key selection fields from the Authenticate Apple Account Sign-in screen until I get it working.

iCloud3 v3.3.1 (11/16/2025)

16 Nov 19:15

Choose a tag to compare

🚩 Updates to iCloud3 v3.3

  • Fixed the TypeError: iCloudSession.request() got an unexpected keyword argument 'retry_cnt' error
  • Reverted displaying Security Key messages on the Authenticate Apple Account Sign-in screen
  • Changed the way Apple cookie files were handled to see if it helped cure the 'Server Not Available 503' error. It didn't.
  • The Apple Cookies are now being logged in the icloud3.log file when the Apple account is logged into.

iCloud3 v3.3 (11/15/2025)

15 Nov 20:07

Choose a tag to compare

📢🚩✨💥🚀🎁 iCloud3 works again, you can log into your Apple Account

  • Comments

    • I believe Apple reimplemented the authentication process they introduced last November that caused the same errors. This time, however, the native Python PyiCloud interface had already incorporated the changes that solved the problem. Thanks go to the PyiCloud team headed by @timlaing. It also helped that I was home and not on a cruise ship off the western coast of Africa like last time.
  • Some Notes about the 503 Error you may still see:

    • Condition 1 - This is a new login, the iCloud session files with the Trust Tokens and Cookies are being created.
    • Condition 2 - You are using multiple Apple Accounts.
    • What happens - One account may login in fine (usually the first one), the other will fail with a Server/PW-503 error. This is displayed in the Event Log, Stage 4, the greenbar at the top of the Event Log and in the iCloud3 Alerts sensor (sensor.icloud3_alerts).
    • What to do: Wait about 5-minutes, then restart iCloud3 using Event Log > Actions > Restart iCloud3 option. Do it again later if it gave you the 503 Error again.
  • Thanks for the Coffee

    • For those who encouraged me with the comments and coffee, thank you. I appreciate it.

✨ New and Improved Features

  • Apple Account
    • Added support for accepting updates to Apple's 'Terms of Use' documents.
    • Added Update Display/Run-Time Parameters screen to the Update Apple Account screen
  • Password SRP
    • Added support for using the PasswordSRP (Secure Remote Password Verification protocol) for verifying the password when logging into the Apple Account. Instead of sending the actual password over the internet, a 256-bit encrypted one-time key is sent to Apple.
    • Special Notes:
      • This may reduce the need for the 6-digit verification code entry (under long term review).
      • There are times when Apple will issue the Verification code popup and iCloud3 has not detected that the code is needed. I have ignored it and have not seen any problems. I have entered it and it was accepted.
    • Added option to enable/disable it on the Update Apple Account > Update Display/Runtime Parameters screen. There may be times when a lot of logins to an Apple account will generate a 503 error and the Password will fail to be validated. Apple is refusing to handle it thinking it is a fraudulent transaction. After 20-30 (?) minutes, restart iCloud3 from the Event Log and it will usually validate and log into the account correctly.
  • Internet Errors
    • Improved the operation of internet error detection and handling
    • Improved the status messages displayed while monitoring the internet
  • Security Keys (Yubikey) Support (Incomplete and Currently Disabled)
    • Changed error and status messages in the Configure screens to support Verification Code and Security Key handling
    • Added the ability to show the Security Key Names in the Configure > Authenticate Apple Account Sign-in screen
    • ToDo - Tie into HA to detect the Security Key Name used to authenticate the Apple Account sign-in
  • iCloud Account I/O
    • HA Event Loop Errors - Moved the Internet Connection Error handler and the Apple Account Username/Password validate handler from the HA Event Loop to the iCloud3 thread that runs outside of the Event Loop. This simplified requesting data from the Apple Account, handling internet errors and avoids problems related to doing I/O outside of the Event Loop.
    • Docker Container - iCloud3 should no longer have I/O issues related to running in a Docker container (hopefully).
    • Common icloud.com I/O handler - Consolidated all internet data request calls through a central point for improved reliability, control and monitoring
  • Startup
    • Logging into and verifying Apple accounts is now done in Event Log/Stage 4 to improve status monitoring
    • Added status messages to the Event Log that show the Apple Account the results of each event during the authentication process
  • Other Changes
    • Internal changes, module name changes, code cleanup and reorganization

iCloud3 v3.2.4.2 (9/20/2025)

20 Sep 17:18

Choose a tag to compare

This is a consolidated release containing v3.2.4, v3.2.4.1 & v3.2.4.2

🐞 Bug Fixes

  • Away Time Zone - Fixed a problem where the time zone adjustment was reset to the Home zone server time zone when iCloud3 was restarted
  • Apple Account Login - Fixed a problem where the Apple account server in China was not displaying an error message because the HA server was logged into through a VPN in another country.
  • Other Bugs - A few other minor bugs were fixed

✨ Improvements

  • Dashboard Builder:
    • When a device is added or deleted, all dashboards are now automatically updated. The new device is added to the Main View when it is displaying Result Summary information or when All Devices are displayed. It is removed from all views when it is deleted.
    • The Dashboard Builder screen has been reformatted

iCloud3 v3.2.4.1

🐞 Bug Fixes

  • Dashboard Builder - Fixed a problem where the Dashboard Builder would fail if 'All Devices' was selected from the Main View Devices selection list.
  • Apple Account Login - Fixed a problem where the error message description was not being set correctly when logging into an Apple Account being added failed.

✨ Improvements

  • Dashboard Builder:
    • The Devices to be displayed on the Main View (All Devices, First 2 iPhones or specific devices) can now be selected for both of the Main View formats (Result Summary & Tracking Details).
    • Changed the Action options description t better describe their functions.

iCloud3 v3.2.4

🐞 Bug Fixes

  1. Dashboard Builder:
    • Fixed an error reading the base template and dashboard files that are used to construct new dashboards.
    • Fixed a problem where all devices would be inserted into a dashboards instead of only the selected ones.
  2. iCloud3 Log File - Fixed a problem when the log-level was set to 'unfiltered'.

✨ Improvements

  1. Internet Connection Error - Added the following:
    • The Event Log error description message and alerts are added after the internet has been down for 1-minute to prevent very short dropouts from creating a lot of unnecessary messages.
    • Improved the error detection and testing done when verifying that Apple (icloud.com) can be connected to after the Internet is back online.
    • Added a 1-minute timeout to catch Apple location requests that have not been responded to. This is usually caused by IPv6 being enabled in HA. Appropriate tests and error messages explain that it is probably an IPv6 issue with instructions on how to disable it.
    • Improved the status message display messages.
  2. iCloud3 Startup:
    • iCloud3 starts after HA has finished loading to prevent HA from locking up due to any iCloud3 errors.
    • Significantly reduced the startup time when the log_level was set to debug (4 devices with 15 sensors went from pver 10-secs to less than 1-sec).
  3. Device Tracking - Devices not using the Mobile App (Watches) that are near other devices will be located 1-minute after the other devices have left a zone. This is not perfect and relies on Apple providing updated location data when it is relocated.
  4. Device Setup - Added Device Type categories to indicate if the iPad and Watch is WiFi only or Wifi+Cell.
  5. Tracking Results - The source of the GPS is displayed on the Event Log when a device's location is updated (GPS, WiFi, Cell, Unknown).
  6. iCloud3 Log File:
    • Configuration file records were added to the log file when the log_level is set to info or debug.
    • Fixed some problems formatting the log_level debug records.

iCloud3 ➤ v3.2.3 (7/19/2025)

19 Jul 13:41

Choose a tag to compare

🎉 New and Updated Features

  1. icloud3_alerts sensor - Errors and Alerts are displayed in the Event log as they are found and summarized in a green bar at the top of the Event Log. These may include device configuration errors, Apple account login errors, Apple account authentication is needed, Internet Connection Errors, etc. The sensor.icloud3_alerts has been also report these errors. This sensor entity can be used to notify a device that an error or alert has occurred.

    Errors are prioritized based on the following - critical (Internet Connection Errors), Apple Account errors (account not found, login errors, authentication needed alert), devices (configuration errors), and other.

    • State Value - The highest priority error.
    • Attributes - The Apple account or Device that encountered the error.
    • Attribute 'message_text' - A text summary of all errors that can be sent to a device using the notify.devicename service.
  2. Internet Connection Errors - Redesigned the Internet Connection Error Handler to:

    • Improved the detection of Internet Connection Errors
    • Improved the method used to determine when the Interned was restored
    • Improved the progress bar notification on the Event Log to better show that the internet is being checked on a regular basis
    • Added a check to see if apple.com was available after the Internet Connection is restored
    • Added a notification to the icloud3.alerts sensor when the Internet Connection is lost (after 3-minutes) and when it is restored
  3. Apple Username/Password Verification - When iCloud3 starts, the Apple account username/password is validated to insure it is correct and a successful login will be done. The method of doing this has been improved and now included several fallback methods if one method is rejected by Apple.

  4. Added Simplified Chinese Translation - Thanks @lo3612

🎉 Improvements

  1. Time Zone - The Time Zone and UTC offset are now determined from the time zone selected on the Home Assistant user settings screen. Previously the time zone configured for the computer/docker container running Home Assistant was used.
  2. Request Apple Verification Code - Reduced the time it takes between requesting the new code and then being able to enter it.
  3. Apple Account Username - Improved hiding the Apple account username in the Event Log and log files.
  4. Optimization - Continued to reorganize and optimize the iCloud3 code.
  5. Module Structure - Updated the module and directory names to improve the module file organization.

🐛 Bug Fixes

  1. Configure iCloud3 - Fixed a problem preventing the Apple devices list to be refreshed when the Verification Code was entered the first time on a new installation.
  2. Tracking - Fixed a problem displaying the number of devices in a stationary zone when a location update was being processed.

Thanks to all of you who clicked the coffee cup icon on the Event Log and bought me a coffee.
Gary

iCloud3 ➤ v3.2.2.3 (5/31/2025)

31 May 17:09

Choose a tag to compare

🐛 Bug Fixes

  1. Configure > Sensors - Fixed a bug on a new install or when resetting the sensors to the default value that caused a 'Battery - not in list' error message. And any changes would not be saved.

iCloud3 ➤ v3.2.2.2 (5/24/2025 - Updated Release)

24 May 18:01

Choose a tag to compare

🎉 Improvements

  1. External & Pingable IP Addresses - These will be used in future Internet Connection Error notifications and recovery and are now displayed in Stage 1 of the Event Log when iCloud3 starts.

🐛 Bug Fixes

  1. iCloud3 Startup Aborted - Introduced in v3.2.1 - If an error was encountered getting the External IP Address during startup, another error generating the message for the Event Log would stop iCloud3 from starting. This has been fixed.

Note: iCloud3 v3.2.2.2 was rereleased on 5/24/2025. The v3.2.2 release on 5/23/2025 was still displaying v3.2.1. There were no other changes.

iCloud3 ➤ v3.2.1 (5/22/2025)

22 May 20:38

Choose a tag to compare

🎉 Improvements and New Features

  1. External IP Address - Added the detection of the External IP Address in preparation for changes to handling Internet Connection Errors. You should notice an entry in the Event Log (External IP Address > 73.1.225.32 (ipify.org)) in Stage1 during the iCloud3 startup process. Let me know if this is not displayed or creates an error message.

🐛 Bug Fixes

  1. Configure Error 400: Bad Request - When iCloud3 had been reinstalled, this error would be generated the next time the Configure Parameters update was requested and the Configure process would abort.
  2. Configure Field Parameters screen - Fixed a problem changing the unit-of-measure or time display format.
  3. File Permissions Error when requesting a new verification code - Added a test to ensure the file permissions were correct.
  4. MobApp Notifications - Fixed an error adding a message to the Event Log when trying to set up Mobile App Notifications and the Mobile App Integration had not been installed.