gcobb321 / icloud3_v3

iCloud3 v3, Development Version - This Repo/Version is used for development and testing of new and updated features. It is not the official release of iCloud3 v3, .
MIT License
171 stars 13 forks source link

iCloud3 v3, Beta 16 (5/7/2023) has been uploaded #118

Closed gcobb321 closed 1 year ago

gcobb321 commented 1 year ago

@avd706 @andrzejf1994 @B-Hartley @broyuken @bgnzo818 @beyondwatts @bakerkj @andrzejf1994 @confusedsecuritydudes @chupacabra71 @chr04213 @criticallimit @daneboom @denac @derekoharrow @diothar @Exit2Studios @freshairr @gekberlin @garyak @freekode @hvddrift @hellotomtom @ihf1 @JtwoA @HA_n00b @J-Fartz @joselito1 @kalkocz @kamkilt @kingy444 @lukkigi @marceloaf @MarkGardiner @marting @mobiledude @myMartek @morrisonpeter @Nuuki9 @pauly7300 @poudenes @polskikrol @rdstodda @Snuffy2 @spamsal @Seger85 @scotty1395 @sj3fk3 @townsmcp @tm24fan8 @t077584 @u20p17

Important Links

Download - Go to the iCloud3 Releases page here. Select Assets, then select icloud3-beta-#.zip. Download the zip file and unzip it into the /config/icloud3 directory. Then restart HA. iCloud3 v3 Documentation - It is still in process, does not include the latest updates to iCloud3 and can be found here Change Logs - They can be found here

Update Notes

This beta is probably the last one, I hope. It includes a lot of small items dealing with Event Log messages, changes to the icons based on the state of the sensor entity, changes to sensor updates, enter zone delay handling, a new icloud3_update service call to activate the lost device alert, enhancements to Watch zone exits and updates, better handling of near by devices and some bug fixes.

These are important ones:

Gary

Change Log - Details

Beta 16 - 5/7/2023


1.  Event Log - Fixed a problem where the 'event-log-card.js file would not be installed if the 'www' directory
    did not exist. Now, the 'www' directory is checked and will be created if it didn't exist.

2.  inZone and Old Location - If a device not using the iOS App or a Watch, was in a zone and the location data was
    old but newer than the last update, the device was not being updated with newer location data and would be
    stuck retring the update on a larger and larger interval, resulting in the device never being updated. This
    has been fixed so the device will always be updated with newer location data, even if that location is old.

3.  Event Log - Made some minor changes to device location status messages for consistancy.

4.  Configuration Wizard -
    1.  Reorganized the menus so all the screens dealing with the iCloud account, devices and sensors are on the
        first page and parameter configuration are on the second page,
    2.  Apple Verification Code - Added it to the menu. Added an option to request a new code.
    3.  Change Device Order screen - Added it to the menu.

5.  Stationary Zone:
    1.  The Stationary Zone handling has been completely rewritten. Now, the Stationary Zone is no longer assigned
        to a device when iCloud3 starts but is a general zone that is created when it is needed. If several devices
        are near each other, they are will all move into the same Stationary Zone. Devices can exit the zone just
        like they exit a normal zone. When all of the devices have left, it is hidden and moved back to it's base
        location like before. This eliminates the problem of having iCloud3 move a device into it's own zone while HA
        moves it into another nearby device's zone.

        The Stationary Zone assigned by iCloud3 and the zone assigned HA for the person, the device_tracker state
        value and the iOS App are now all the same zone.

        The zone's friendly name defaults to 'StatZon#' where '#' is a number assigned to the zone. It is still
        specified on the Special Zones > Stationary Zone setup screen, where you can assign it's name another value.
        Using a 7-letter name ('StatZon#') insures it will not be truncated on the Lovelace screen when the
        device_tracker state value is displayed. The zone's full entity name is 'zone.ic3_statzone_#'.

6.  iOS App Zone Handling - The device's zone is assigned by iCloud3 from the location data from iCloud (FamShr and FmF)
    and when it is moved into a Stationary Zone. The iOS App device_tracker state value may lag behind this zone change
    and, in many cases, is not changed at all. iCloud3 will now issue an iOS App location request if the iOS App and
    iCloud3 zones are not the same after 2-minutes has elapsed. The iOS App will/should then recognize the zone change.

7 . Exit Zone - When a device leaves a zone based on an iOS App Exit Zone trigger, it will schedule an immediate
    FamShr location update if there are other devices in the same zone. This should help trigger an exit zone update
    immediately for the other devices that are not using the iOS App (Watch). Previously, those devices would exit
    the zone on their next scheduled location update.

8.  'lost_device_alert' service call - With this service, a phone can be locked and placed in a 'Lost Mode'. A
    message and phone number can be sent to a device, indicating it has been lost, asking the person that found
    it to call the number. For more information about this service, review the Apple iCloud User Guide/Use Lost Mode
    in iCloud.com. It also explains how to turn Lost Mode on or of using the Dind My app. The documentation can
    be found here - https://support.apple.com/guide/icloud/use-lost-mode-mmfc0f0165/icloud

    Example Service Call for an automation or script:
        service: icloud3.lost_device_alert
        data:
          device_name: 'gary_iphone'
          number: '123-456-7890'
          message: 'This Phone has been lost. Please call this number to report it found.'

9.  Sensor Updates:
    1.  Last Zone sensors - Fixed several problems where they would not display or would display the wrong value.
    2.  Battery Level - Fixed a problem where an older iOS App battery level would overwrite a newer FamShr battery
        level. Also added the update time to the Battery.
    3.  Direction of Travel - The value will now display Towards or AwayFrom when tracking from the Home Zone. It
        will display zone name when tracking from another zone. The waze travel time has been added to list of items
        that are checked to determine the travel direction.
    4.  Icons - The icons for the Zone, Last Zone and Direction of Travel sensors have been changed to better
        indicate if you are at or going towards or away from Home or another zone, or if the device is in it's
        Stationary Zone.
    5.  Next Update time - When tracking from more than one zone, the 1st letter of Track-from-Zone that is causing the update
        is displayed as an icon.

10. Enter Zone Delay - Changed 'PassThru' zone delay to 'Enter Zone' Delay in the Configuration Wizard and on some
    Event Log messages. Also fixed several issues triggering it.

11. Device Offline - Fixed some problems dealing with 'Location Old (#xx)' Event Log messages and setting the retry
    interval when a device went offline.

12. NearBy Devices - If one device is a Watch and the other is an iPhone, the devices are paired and within 15m of
    each other, the Watch's location will not be used for the iPhone. Apple used the location of the paired iPhone
    with the Watch prior to Watch v7 to conserve the battery so it does not make sense to use the location data.

13. Apple Watch - If the Watch, which is not using the iOS APP to trigger zone exits, is close to another device
    when the other device leaves a zone, a Zone Exit Trigger will be generated for the Watch. This causes the
    Watch to exit the zone when it happens instead of waiting for it's next update time to be reached.

13. Did a lot of code cleanup.
FredWst commented 1 year ago

Hi

icloud3_main.py missing in 16a zip file.

Fred

gcobb321 commented 1 year ago

Good grief.

Thanks. I just added remade the icloud3.zip file and it's there this time. Get the b16a release again and you should be all set.

gcobb321 commented 1 year ago

@FredWst You need to create a new issue if you have a problem related to your using v3. This prevents everyone who downloaded b16 from getting a notification.

A negative time indicates an overdue next update trigger. This can happen when it is due but an old location is detected. There are checks to do the update after it is 1 minute old. Also, your note does not include the time this happened so I know where to log in the logs, if it was stuck and stopped locating or if it then continued.