Monitor unifi Dream Machine (Pro)

Hi all you wonderfull developers :wink: :wink:
Could I wish for a UDM (Pro) integration into HA, like bandwidth monitor, temperature etc.
It would make the UDM (Pro) a much more attactive option for networking when you use HA.

You might look at unifi-poller (https://github.com/unifi-poller/unifi-poller). If you’ve set up Infux DB and Granfa and have the ability to install it, it’ll capture a bunch of great metrics.

1 Like

Aloha there, I’ve just tried setting it up, no success yet, so I’ll make another attempt :slight_smile:-)
That will of course collect the data and show it very nicely, but it won’t make it possible for me to show it on my esphome display that shows a lot of sensors from HA.

You can actually set up sensors based on influx db queries: https://www.home-assistant.io/integrations/influxdb/#sensor

1 Like

Hi again Dan, wow, I didn’t know that, it’s a bit of a quircky way of doing it, but that would be cool.
I’ve gotten the unifi-poller installed now with a bit of help :slight_smile:
I’ll certainly make some influxdb sensors now :smiley:
Thankyou for the help with pointing me to those (it would still be lovely to have it integrated directly :wink: )

Has there been any progress on this with the Unifi add-on?
I just installed a Dream Machine Pro and it would be very nice if I could get at the data but I have not been able to get things configured.

did u setup some influx sensors? i am at the same point here .P

Yes, I got what I wanted, speed and public IP:

- platform: influxdb
  host: localhost
  username: !secret ha-influx-user
  password: !secret ha-influx-pw
  queries:
    - name: Unifi Download Speed
      where: '"subsystem" = ''wan'''
      field: '"rx_bytes-r"'
      measurement: '"subsystems"'
      group_function: last
      database: unifi
      unit_of_measurement: "Mbit/s"
      value_template: "{{ (value | int / 131072) | round(2) }}"
    - name: Unifi Upload Speed
      where: '"subsystem" = ''wan'''
      field: '"tx_bytes-r"'
      measurement: '"subsystems"'
      group_function: last
      database: unifi
      unit_of_measurement: "Mbit/s"
      value_template: "{{ (value | int / 131072) | round(2) }}"
    - name: WAN IP
      where: '"subsystem" = ''wan'''
      field: '"wan_ip"'
      measurement: '"subsystems"'
      group_function: last
      database: unifi

Thanks for sharing this! It was really helpful. I’ve added sensors for CPU and memory as well. Sharing in case they’re useful to anyone else.

    - name: UDMP CPU
      where: '"subsystem" = ''wan'''
      field: '"gw_cpu"'
      measurement: '"subsystems"'
      group_function: last
      database: unifi
      unit_of_measurement: '%'
    - name: UDMP Memory
      where: '"subsystem" = ''wan'''
      field: '"gw_mem"'
      measurement: '"subsystems"'
      group_function: last
      database: unifi
      unit_of_measurement: '%'
1 Like

Darn this is just what I’m looking were it not that I can’t get IfluxDB to work on my HA. :unamused: :roll_eyes:

This looks great. I have grafana and influxdb on HA.
Is there a way to run unpoller also on HA?
How can I know more parameters?
Thanks!

Have a look here, there’s a few ways to pull more data from from the UDM PRO.

Not as far as I know, that would require a person to create a plugin. I’m using proxmox, so I just created a LXC on it for that. Works like a charm

I am running on a docker container on other machine. And it also works great. But if I can use it inside HA would be great.

Anyone a idea how to create a Temperature sensor for my udm pro. If i check influx db, i see that the udm pro is reporting the temperature under usg → temp_CPU. i tried this but don’t think it’s gonna work (tried disabling authentication but also not working):

  - plaform: influxdb
    host: <ip of udm pro>
    queries:
      - name: UDMPro CPU Temp
        where: '"usg" = ''temp_CPU'''
        database: unifi
        measurement: '"usg"'
        unit_of_measurement: °C
        group_function: last

This is what i get from influx db :

SELECT mean("temp_CPU") AS "mean_temp_CPU" FROM "unifi"."autogen"."usg" WHERE time > :dashboardTime: AND time < :upperDashboardTime: GROUP BY time(:interval:) FILL(null)

Already found it by adding this:

  - platform: influxdb
    host: localhost
    queries:
     - name: UDMP temp CPU
       where: '"name" = ''<nameofyourudm>'''
       field: '"temp_CPU"'
       measurement: '"usg"'
       group_function: last
       database: unifi
       unit_of_measurement: '°C'
     - name: UDMP temp Local
       where: '"name" = ''<nameofyourudm>'''
       field: '"temp_Local"'
       measurement: '"usg"'
       group_function: last
       database: unifi
       unit_of_measurement: '°C'
     - name: UDMP temp PHY
       where: '"name" = ''<nameofyourudm>'''
       field: '"temp_PHY"'
       measurement: '"usg"'
       group_function: last
       database: unifi
       unit_of_measurement: '°C' 

I hope i can help someone with sharing this :slight_smile:

1 Like

i am so glad I found this post.

Just installed unpoller in a container within HA using Portainer, installed the HA Community Addons Influx and Grafana, and with a little bit of tinkering around, now have beautiful Grafana dashboards in HA. It works out of the box, all latest versions of everything, and latest unifi software versions.

Now to use some of the above posts to put the values into some entities.

Thank you for all your work and sharing. Happy to share configuration steps or docker compose files if anyone needs. the instructions on the various websites were not super clear, so took a few hours trying things to get working.

key points

  • add user to unifi with local only read only access
  • install influx and grafana from the addon store in HA
  • setup a influx db with user name and password for unpoller to put data
  • setup grafana datasource http://a0d7b954-influxdb:8086 for influx
  • unpoller in a docker container in HA with portainer
  • setup using a docker compose file with all ENV variables in the compose file (not best way but easy with unifi and influx user/passwords)
  • connect container to hassio network so can connect to lan
  • grafana dashboards loaded using the json file, not via the ID and grafana url.
  • enjoy
4 Likes

I’d love to have a peek at some more of the details for that! I was pretty surprised that it wasn’t already available as a community add-on (sorry if that sounds terribly entitled, it’s not intended as such).

  • add user to unifi with local only read only access

For this, I’ve noticed when setting up a local user, you have a choice of picking what Role the user will have. For example a Unifi Protect View Only user, or a Unifi Talk View Only user. So when you set this read only user up, and a role for it, did you just do it for the Unifi Network portion?

@benchr

You just need the network viewer rights for the local user.

1 Like

I don’t know if a camera is required for the protect integration but it supplies mem temp and cpu for the udm pro. You can try enabling protect on the udm and then add the integration in hacs.