[PROJECT] Driver for Unifi Protect Controllers

@kanewolf: Support for the UAP-AC-M-Pro is now added to the Unifi NETWORK driver. I am not sure what you meant by "refuses" to accept it, you should always be able to manually change the driver of the child devices. It would not auto-detect it though and create it as an AP automatically because I have not seen the model before, so could not support it. As for the USG and USGPro4, sure, drivers can be added for those although I am not super clear on their capabilities (just the idea that their ports could be enabled/disabled). I would need their Model information also so they can be recognized.

I would manually select the childAP driver hit save and it wouldn't update. The state variables continued to show the child driver.

I updated the package and a second instance of my AC-M-PRO showed as a child. It had the correct AP driver. I deleted the stubborn device from my list.

I can give you the state data from the USGPro4. I don't know what "router" features you have for the UDM/UDMPro

There are not really any router-specific functions I have given them, it is mostly informational. But at the very least I can get it recognized and give it a child driver so it is a starting point. Not sure why the manual change of the driver type did not work... I just changed my UDMP into an AP without issue. Something to watch for I guess. Glad it recognized it and generated the correct one though.

As for the USG Pro 4, I can likely have a child driver made this weekend when I have a bit more free time... Thanks for the screenshot, that provides the Model (which is the bare minimum) and it shows the ports reporting.

One of the big things, which I blacked out is the WAN IP address. I don't know where that is visible otherwise.

No worries. If you want, you can remove the images from the posts as I got the model information already. If you wonder about a detail, you can always shoot me a message rather than post in the thread, or (as you did) you can blur/black anything or replace stuff if you just copy text. I have no real reason to see any of the fields that people could worry about (I guess it COULD happen if someone had some strange bug crop up, but since it has not happened yet, hopefully it won't).

@kanewolf: I just realized we have been talking about the Network driver AND I published an update for it... but this is my Protect drivers thread (DOH). I am going to continue over there...

Sorry everyone else.

Sorry. my error.

Ha! No worries there, I did not even realize it and I created the drivers and threads.
:crazy_face:

I have been trying to get hold of a UP-Sense to see how it works out and get samples of the data it provides, but it has been "sold out" for so long now I am pretty much ready to give up. But before I call it a complete wash I thought I would ask here if anyone has one and would be willing to provide a couple samples of the data it provides so that I can incorporate it into the driver.

Wow, serendipity! I just yesterday received two of the Unifi Smart Sensors that I plan to install in my garage, and I came here to check if you supported it yet!

What can I help with?

I will shoot you a separate message about it, thanks!

I just installed this a few days ago mostly to use for presence. Any best practice ideas to keep hub load to a minimum? I did install the AP and presence child devices but have the AP device set to not refresh automatically.

This probably belongs over in my Unifi Network thread, since I see you mention about the Presence child (which the Unifi Protect does not have).

I will try to copy/answer this over there.

Updated Version(s):

  • UnifiProtectAPI.groovy = 0.2.20
  • UnifiProtectChild-Sensor.groovy = 0.1.0

Change(s):

  • Initial support for the UP-Sense sensors has been added to the parent driver and an associated child device driver has been created.

Adding descriptionText logging of infrequent events such as doorbell press (not motion) would be helpful.

Popping that as an info item is possible, although I usually do not do too much info logging (easier for people to just check events). Looking at the child device though I think I can make a couple improvements. I should have these done tonight.

Updated Version(s):

  • UnifiProtectChild-Doorbell.groovy = 0.1.6

Change(s):

  • Added "pushableButton" capability for better integration into Hubitat. This also added the push command so someone can manually select it within the device page. It will not TRIGGER the doorbell, just the Hubitat side of things.
  • Improvements to the button press handling and max number of button presses. You WILL need to Save Preferences on the child device to make sure this is applied properly.
  • Minor change to the ProcessEvent command to allow it to have events FORCE an "isStateChanged" notice... Useful for the push command specifically because it will always be button 1 so normally that would not trigger a change.
  • Added info logging for when the button is pressed. The child device defaults to having the Info logging level and you need to Save Preferences anyways due to the other changes so you can always make sure the logging level is as-desired. It is always possible to turn off the logging with the "None" level.

Note(s):

  • No changes were needed in the UnifiProtectAPI.groovy parent driver. Everything was handled at the child driver level.

Any way to get this to work with the UNVR?