UniFi Network integration - official thread

Awesome work! I installed it and has been perfect since day 1!

I am wondering though… I know the PPSK (private PSK?) is in a pre release state as of today, that might change at any time, but…

I currently use the Unifi integration and place the QR code in a wall panel. I then use a script that changes the password of a certain SSID every 24 hours… Is there any way to achieve this with say, the third PPSK in the list of said SSID?

1 Like

I have no idea, do you have an example of the API output with the PPSK?

1 Like

I’m no programmer… :sweat_smile::sweat_smile::sweat_smile:

You can enable debug logging of the integration and look at the debug log, you should be able to find the ppsk on your wlan if it is provided.

Found them! Yes, they are exposed to HA.

This is what I think is relevant from the code… I’ve redacted some parts for privacy, others were already redacted by the log itself:

      "**REDACTED**6f8326d9b": {
        "setting_preference": "manual",
        "dtim_6e": 3,
        "wpa3_support": true,
        "minrate_na_advertising_rates": false,
        "wpa_mode": "wpa2",
        "minrate_setting_preference": "auto",
        "minrate_ng_advertising_rates": false,
        "b_supported": false,
        "radius_das_enabled": false,
        "group_rekey": 0,
        "radius_macacl_format": "none_lower",
        "pmf_mode": "optional",
        "wpa3_transition": true,
        "passphrase_autogenerated": true,
        "private_preshared_keys": [
          {
            "password": "**OBVIOUSLY REDACTED**",
            "networkconf_id": "<**REDACTED**8469dd7fd"
          },
          {
            "password": "**OBVIOUSLY REDACTED**",
            "networkconf_id": "**REDACTED**ed08efacdf2f"
          },
          {
            "password": "**OBVIOUSLY REDACTED**",
            "networkconf_id": "**REDACTED**0ed08eface00d"
          },
          {
            "password": "**OBVIOUSLY REDACTED**",
            "networkconf_id": "**REDACTED**3c7433f2a5"
          }
        ],
        "bc_filter_enabled": false,
        "tdls_prohibit": false,
        "mcastenhance_enabled": true,
        "usergroup_id": "**REDACTED**308469dd7fe",
        "schedule_enabled": false,
        "proxy_arp": false,
        "country_beacon": false,
        "sae_sync": 5,
        "uapsd_enabled": false,
        "iapp_enabled": true,
        "name": "Sojuelix",
        "site_id": "**REDACTED**308469dd7e8",
        "hide_ssid": false,
        "wlan_band": "both",
        "_id": "**REDACTED**506f8326d9b",
        "private_preshared_keys_enabled": true,
        "no2ghz_oui": true,
        "x_iapp_key": "**REDACTED**0f5d7ea5e57dd32d28",
        "auth_cache": false,
        "networkconf_id": "**REDACTED**ff308469dd7fd",
        "dtim_na": 3,
        "is_guest": false,
        "minrate_na_enabled": false,
        "sae_groups": [],
        "enabled": true,
        "sae_psk": [],
        "wlan_bands": [
          "2g",
          "5g"
        ],
        "mac_filter_policy": "allow",
        "p2p_cross_connect": false,
        "security": "wpapsk",
        "ap_group_ids": [
          "**REDACTED**8469dd807"
        ],
        "l2_isolation": true,
        "minrate_ng_enabled": true,
        "bss_transition": true,
        "minrate_ng_data_rate_kbps": 1000,
        "radius_mac_auth_enabled": false,
        "wpa3_fast_roaming": false,
        "schedule_with_duration": [],
        "pmf_cipher": "auto",
        "ap_group_mode": "all",
        "wpa3_enhanced_192": false,
        "vlan_enabled": false,
        "fast_roaming_enabled": false,
        "rrm_enabled": false,
        "wpa_enc": "ccmp",
        "x_passphrase": "**REDACTED**",
        "radius_macacl_empty_password": false,
        "mac_filter_list": [],
        "dtim_mode": "default",
        "p2p": false,
        "schedule": [],
        "element_adopt": false,
        "bc_filter_list": "**REDACTED**",
        "dpi_enabled": false,
        "minrate_na_data_rate_kbps": 6000,
        "mac_filter_enabled": false,
        "sae_anti_clogging": 5,
        "dtim_ng": 1
      },

I’ve checked the QR code of the PPSK network and the password that it leads to is the regular psk, even though it is disabled…

1 Like

hey danielccm, thank for this information.
I’m using the script here for our homeWIFI / guestWIFI (UPDATED: Automating Unifi WiFi SSID password changes and QR code generation - #62 by Robban)

with the private-preshared_keys I don’t know how to change the script to automate the password change, maybe you can help out a bit? Or is the password change possible now with the Unifi Integration?

1 Like

Unfortunately my dev skills stop right at copy and paste + “customise-my-private-data-into-fields” of others’ code…

I’m stuck right at that same step…

Hey all!

Another month and another release so here comes the UniFi release notes for Home Assistant 2023.11.0.

One major new thing is the new way to configure what clients should produce entities, it’s now just an opt in by selecting specific clients. The old options to configure clients will be removed down the line.

Starting this summer @herriejr worked hard to implement traffic rules support and got completed a few weeks back. He is now working on the integration side, keep a look out with future Home Assistant releases to use @herriejr work.

Try these features out during the beta, feedback is appreciated.

Cheers!

/Robban


Home Assistant 2023.11.1


Home Assistant 2023.11.0

aiounifi library v64 change log

For feature requests of the integration post an issue at aiounifi github

If you appreciate my work I’m on Github Sponsors.

2 Likes

I updated to HA 2023.11 and was very excited about the new feature to explicitly choose the clients. I have round about 150 active network devices and only need aprox. 10 of them in HA.

So i did the configuration again, but nothing happened. After i selected my 10 clients in the first config screen it added even more devices than i had before. I was hoping that my 150 devices would be replaced by the only 10 i wanted. But that did not happen. Am i doing something wrong?

Beside i have many devices that i cannot identify because their names are different from what the unifi controller shows. Does the integration took the names that i gave the client in my network configuration or does it rely on the device name itself? I suppose the latter because i also had some Apple devices that only showed up by its mac adress. As it turned out i had to disable the wifi privacy feature at this Apple devices for my home wifi to get the devices shown by its names.
However i still have problems with the naming of the devices. Only way to match them is by looking at the mac adresses. Also HA shows some very old devices which are no longer present at unifi controller. How can i do a full sync between HA and the unifi controller? I was hoping that the new explicit selecting feature handles this.

There is no automatic clean up yet. They will probably be “unavailable” or not initiated.

Only UniFi client entities from the new list should be created. Are you sure the devices are not just leftovers? According to my tests it works as expected (apart from no cleanup yet).

If the devices are created from other sources than UniFi that will not change, UniFi integration takes name from two sources either the assigned UniFi name (if set) else the hostname.

Before starting doing automatic clean up I’d like to get some more feedback to make sure Im on the right track with this new path.

/R

Hey thanks for your quick reply. I removed the integration and did a complete clean setup. Now it is much better: no more leftovers.

But i did not manage to get only the selected devices. If i have other integrations with wifi devices then the unifi integration shows them too no matter if i had selected them. So it is not possible to limit it to the 10 i wanted. Now i have 20 clients mapped in the unifi integration which is much better than the former 150.

Is there any way to seperate the unwanted devices from other integrations to show up only there?

Double checked the logic, so I might have been a bit allowing in the “allowed to create entity” logic. It will just check if the client is configured to be allowed, if not it will fall back to the old logic, should rework that…

You can probably remove old logic completely by turning off the other client related configuration options.

I am not 100% certain but i assume that i just tried this: i unchecked all other checkboxes and only selected the devices i want. Did not work. I also get always all unifi devices even when i unchecked „Track network devices (Ubiquiti devices)“.

Maybe the logic would need some rework, but for me its just ok at the moment as it is. In future it would be nice to have the option to select unifi devices too … atm the chechbox suggests a „all or nothing“ as it was before for the client devices.

But despite this: thank you very much for your work and quick help!

1 Like

Its on the list!

1 Like

Looks like Unifi Network 8.0.7 (currently EA) breaks PoE Port status and control. It was still working on 8.0.6. Observations:

  • All ports listed as “on” whether they are or not
  • Toggle power works on the triggered port, but all other ports now switch to “on” state

I have dug through the logs I know how to find and have come up empty. I suspect the first noted issue is the reason for the second and also points to why multiple automations updating PoE state can’t run at the same time (a port poe state change would seem to be applying known state across all ports).

I plan to tinker a bit to see if I can figure out any workarounds or alternatives, but we’ll see. Can repro consistently, happy to work with anyone more familiar as well if that’s helpful. Since this is an EA Unifi Network version I didn’t want to file an official bug; not sure when they’ll go GA.

Edit: I hadn’t tried this previously but noting on the chance this is also new: I am able to power off two ports at the same time if they’re in the same automation.

1 Like

If you want to keep a discussion on this we can do that on a new issue on the aiounifi github project.

I fixed being able to control multiple ports without needing to have a sleep in between. It got added like 2-3 releases ago

Created here Unifi Network 8.0.7 breaks PoE port status · Issue #523 · Kane610/aiounifi · GitHub if anyone is interested

Any idea if this could work? I’d hate to have to go back to seeing multiple ssids at home… lol! :sweat_smile:

Can you open an issue on aiounifi on GitHub and give a bit more detail, how do you set it up, how it looks on the interface and also provide the logs. This is possibly a bit of work.

Can this integration read Unifi errors? My dhcp-server breaks down once in while and the error is in Unifi logs . I’d like to set an automation to reboot the router when the error occurs in Unifi logs.