Skip to content
This repository has been archived by the owner on Aug 26, 2022. It is now read-only.

Releases: briis/unifiprotect

Version 0.10.0-beta.1

17 Oct 08:39
Compare
Choose a tag to compare
Version 0.10.0-beta.1 Pre-release
Pre-release

This is the first Beta release that will support UniFi Protect 1.20.0. There have been a few changes to the Protect API, that requires us to change this Integration. Unfortunately it cannot be avoided that these are Breaking Changes, so please read carefully below before you do the upgrade.

When reading the Release Notes for UniFi Protect 1.20.0-beta.2 the following changes are directly affecting this Integration:

  • Integrate “Smart detections” and “Motion Detections” into “Detections”.
  • Generate only RTSPS links for better security. (RTSP streams are still available by removing S from RTSPS and by changing port 7441 to 7447.

Changes implemented in this version:

  • CHANGE: IMPORTANT You MUST have at least UniFi Protect V1.20.0-beta.1 installed for this Integration to work. There are checks on both new installations and upgraded installations to see if your UniFi Protect App is at the right version number. Please consult the HA Logfile for more information if something does not work.
    If you are not running the 1.20.0 beta, DO NOT UPGRADE. If you did anyway, you can just uninstall and select the 0.9.1 release from HACS and all should be running again.
  • CHANGE: BREAKING CHANGE All switches called switch.record_smart_CAMERANAME and switch.record_motion_CAMERANAME have been removed from the system. They are being migrated to a Select Entity which you can read more about below. If you have automations that turns these switches on and off, you will have to replace this with the select.select_option service, using the valid options described below for the option data.
  • CHANGE: BREAKING CHANGE All switches for the Floodlight devices have been removed from the system. They are being migrated to a Select Entity which you can read more about below. If you have automations that turns these switches on and off, you will have to replace this with the select.select_option service, using the valid options described below for the option data.
  • CHANGE: BREAKING CHANGE The Service unifiprotect.set_recording_mode now only supports the following values for recording_mode: "never, detections, always". If you have automations that uses the recording_mode smart or motion you will have to change this to detections.
  • NEW: For each Camera there will now be a Select Entity from where you can select the recording mode for each Camera. Valid options are Always, Never, Detections. Detections is what you use to enable motion detection. Whether they do People and Vehicle detection, depends on the Camera Type and the settings in the UniFi Protect App. We might later on implement a new Select Entity from where you can set the the Smart Detection options. Until then, this needs to be done from the UniFi Protect App. (as is the case today)
  • NEW: For each Floodlight there will now be a Select Entity from where you can select when the Light Turns on. This replaces the two switches that were in the earlier releases. Valid options are On Motion, When Dark, Manual.
  • CHANGE: We will now use RTSPS for displaying video. This is to further enhance security, and to ensure that the system will continue running if Ubiquiti decides to remove RTSP completely. This does not require any changes from your side.

Version 0.9.1

17 Oct 04:11
Compare
Choose a tag to compare

⚠️ ⚠️ WARNING ABOUT Home Assistant v2022.2

The unifiprotect integration will be in Home Assistant core v2022.2. If you are running 0.10.x or older of the HACS integration, do not install v2022.2.x of Home Assistant core.

If you are running 0.11.x or the 0.12.0-beta, you should be safe to delete the HACS version as part of your upgrade. The 0.11.x branch is designed to be compatible with the 0.12.0-beta and the HA core version. The latest version of 0.12.0-beta will be the version of unifiprotect in HA core in v2022.0.

After v2022.2 comes out, this repo will be deprecated in favor of the Home Assistant core version.


This will be the final release for devices not running the UnifiOS. With the next official release, there will no longer be support for the CloudKey+ running a firmware lover than 2.0.
NOTE This release does not support UniFi Protect 1.20.0+. This will be supported in the next Beta release.

  • FIX: Issue #297. Improves determining reason for bad responses.

Version 0.9.0

29 Aug 05:03
Compare
Choose a tag to compare

⚠️ ⚠️ WARNING ABOUT Home Assistant v2022.2

The unifiprotect integration will be in Home Assistant core v2022.2. If you are running 0.10.x or older of the HACS integration, do not install v2022.2.x of Home Assistant core.

If you are running 0.11.x or the 0.12.0-beta, you should be safe to delete the HACS version as part of your upgrade. The 0.11.x branch is designed to be compatible with the 0.12.0-beta and the HA core version. The latest version of 0.12.0-beta will be the version of unifiprotect in HA core in v2022.0.

After v2022.2 comes out, this repo will be deprecated in favor of the Home Assistant core version.


  • NEW: This release adds support for the UFP Viewport device. This is done by adding the select platform, from where the views defined in Unifi Protect can be selected. When changing the selection, the Viewport will change it's current view to the selected item. The select platform will only be setup if UFP Viewports are found in Unfi Protect. When you create a view in Unifi Protect, you must check the box Shared with Others in order to use the view in this integration.

    NOTE: This new entity requires a minimum of Home Assistant 2021.7. If you are on an older version, the Integration will still work, but you will get an error during startup.
  • NEW: As part of the support for the UFP Viewport, there also a new service being created, called unifiprotect.set_viewport_view. This service requires two parameters: The entity_id of the Viewport and the view_id of the View you want to set. view_id is a long string, but you can find the id number when looking at the Attributes for the select entity.
  • FIX: Issue #264, missing image_width variable is fixed in this release.
  • CHANGE: PR #276, Ensure setup is retried later when device is rebooting. Thanks to @bdraco
  • CHANGE: PR #271. Updated README, to ensure proper capitalization. Thanks to @jonbloom
  • CHANGE: PR #278. Allow requesting a custom snapshot width and height, to support 2021.9 release. Thank to @bdraco. Fixing Issue #282

Version 0.8.9

29 Jun 07:55
Compare
Choose a tag to compare
  • FIXED: During startup of the Integration, it would sometimes log Error Code: 500 - Error Status: Internal Server Error. (Issue #249) This was caused by some values not being available at startup.

  • CHANGE: The service unifiprotect.save_thumbnail_image now creates the directories in the filename if they do not exist. Issue #250.

  • FIX: We have started the integration of the new UFP-Sense devices, but these are not available in Europe yet, so the integration is not completed, and will not be, before I can get my hands on one of these devices. Some users with the devices, got a crash when running the latest version, which is now fixed. The integration is not completed, this fix, just removes the errors that were logged. Thanks to @michaeladam for finding this.

  • NEW: When the doorbell is pressed, the integration now fires an event with the type unifiprotect_doorbell. You can use this in automations instead of monitoring the binary sensor. The event will look like below and only fire when the doorbell is pressed, so there will be no falseevent. If you have multiple doorbells you use the entity_id value in the data section to check which doorbell was pressed.

    {
        "event_type": "unifiprotect_doorbell",
        "data": {
            "ring": true,
            "entity_id": "binary_sensor.doorbell_kamera_doerklokke"
        },
        "origin": "LOCAL",
        "time_fired": "2021-06-26T08:16:58.882088+00:00",
        "context": {
            "id": "6b8cbcecb61d75cbaa5035e2624a3051",
            "parent_id": null,
            "user_id": null
        }
    }

Version 0.8.5

30 Mar 10:28
Compare
Choose a tag to compare
  • ADDED: Have you ever wanted to silence your doorbell chime when you go to bed, or you put your child to sleep? - Now this is possible. A new service to enable/disable the attached Doorbel Chime is delivered with this release. The service is called unifiprotect.set_doorbell_chime_duration and takes two parameters: Entity ID of the Doorbell, Duration in milliseconds which is a number between 0 and 10000. 0 equals no chime. 300 is the standard for mechanical chimes and 10000 is only used in combination with a digital chime. The function does not really exist in the API, so this is a workaround. Share with the Community what values are best for on with the different chimes. You might still hear a micro second of a ding, but nothing that should wake anyone up. Fixing issue #211

Version 0.8.4

18 Mar 06:41
f78f1ad
Compare
Choose a tag to compare
  • FIXED: Issues when activating Services that required an Integer as value, and using a Template to supply that value. Services Schemas have now been converted to use vol.Coerce(int) instead of just int.
  • CHANGED: All Services definitions have now been rewritten to use the new format introduced with the March 2021 Home Assistant release. NOTE: You might need to do a Hard Refresh of your browser to see the new Services UI.
  • FIXED: When using the switches or service to change recording mode for a camera, the recording settings where reset to default values. This is now fixed, so the settings you do in the App are not modfied by activating the Service or Recording mode switches.

Version 0.8.3

03 Mar 09:57
Compare
Choose a tag to compare

This is a minor release with only one new feature:

  • ADDED: New service unifiprotect.set_wdr_value which can set the Wide Dynamic Range of a camera to an integer between 0 and 4. Where 0 is disabled and 4 is full. Closing Issue #201

Version 0.8.2

04 Feb 07:14
Compare
Choose a tag to compare

@bdraco did some tweaking to the pyunifiprotect IO module, to implement testing and adding more stability. This has resulted in the following changes:

  • FIXED: Use the UniFi Servers MAc address as unique ID to ensure that it never changes. Previously we used the name, and that can be changed by the user. This will help with stability and prevent integrations from suddenly stop working if the name of the UDMP, UNVR4 or CKP was changed.
  • FIXED: Further enhance the fix applied in 0.8.1 to ensure the Integration loads even if the first update fails.
  • FIXED: Sometimes we would be missing event_on or event_ring_on if the websocket connected before the integration setup the binary sensor. We now always return the full processed data, eliminating this error.

Version 0.8.1

28 Jan 06:55
Compare
Choose a tag to compare

Minor release with two bug fixes

  • FIXED: The service unifiprotect.set_status_light did not function, as it was renamed in the IO module. This has now been fixed so that both the service and the Switch work again.
  • FIXED: Issue #181, Add a retry if the first update request fails on load of the Integration.

Version 0.8.0

09 Jan 11:35
a30ad15
Compare
Choose a tag to compare

This release adds support for the new Ubiquiti Floodlight device. If found on your Protect Server, it will add a new entity type light, that will expose the Floodlight as a light entity and add support for turning on and off, plus adjustment of brightness.

There will also be support for the PIR motion sensor built-in to the Floodlight, and you will be able to adjust PIR settings and when to detect motion.

You must have UniFi Protect V1.17.0-beta.10+ installed for Floodlight Support. Below that version, you cannot add the Floodlight as a device to UniFi Protect.

THANK YOU again to @bdraco for helping with some of the code and for extensive code review. Without you, a lot of this would not have been possible.

  • ADDED: New light entity for each Floodlight found. You can use the normal light services to turn on and off. Be aware that brightness in the Protect App only accepts a number from 1-6, so when you adjust brightness from Lovelace or the Service, the number here will be converted to a number between 1 and 6. (So Hass brightness of 43 equals Unifi brightness of 1)
  • ADDED: A Motion Sensor is created for each Floodlight attached. It will trigger motion despite the state of the Light. It will however not re-trigger until the time set in the Auto Shutoff Timer has passed.
  • ADDED: New service unifiprotect.light_settings. Please see the README file for details on this Service.
  • FIXED: Missing " in the Services description, prevented message to be displayed to the user. Thank you to @MarcJenningsUK for spotting and fixing this.
  • CHANGED: Bumped pyunifiprotect to 0.28.8

IMPORTANT: With the official FW 2.0.24 for the CloudKey+ all UniFi Protect Servers are now migrated to UniFiOS. So as of this release, there will be no more development on the Non UniFiOS features. What is there will still be working, but new features will only be tested on UniFiOS. We only have access to very limited HW to test on, so it is not possible to maintain HW for backwards compatability testing.

This release is tested on:

Tested means that either new features work on the below versions or they don't introduce breaking changes.

  • CloudKey+ G2: FW Version 2.0.24 with Unifi Protect V1.17.0-beta.13
  • UDMP: FW Version 1.18.5 with Unifi Protect V1.17.0-beta.13