Pulls firewall policies and traffic routes from your Unifi Dream Machine and allows you to enable/disable them in Home Assistant.
A Unifi Dream Machine (UDM) running network application 9.0.92 or later.
Note
For version 8.x.x of the Unifi Network application, please use the v.0.3.x release of this integration.
A local account with Admin privileges to the network application. Must not be a UniFi Cloud account.
OR
Copy thecustom_components/unifi_network_rules
directory to your config/custom_components
directory.
I recommend installing the Studio Code Server addon to make it easier to copy in the custom component directly in the Home Assistant UI. Settings -> Add-ons -> Studio Code Server -> Install
. The turn on Show in Sidebar
.
THEN
- Restart Home Assistant.
- In the Home Assistant configuration page, click on "Integrations".
- Click on the "+" button in the bottom right corner.
- Search for "Unifi Network Rule Manager" and select it.
- Enter credentials of a local admin user on your UDM and click on the "Submit" button.
Host: The IP address of your Unifi Dream Machine. Avoid using the hostname as it may not work.
Username: The local admin account on the UDM.
Password: The password for the UDM account.
Once you have configured the integration, you will be able to see the firewall policies and traffic routes configured on your Unifi Network as switches in Home Assistant. Add the switch to a custom dashboard or use it in automations just like any other Home Assistant switch.
To run the tests, you need to install the dependencies in the requirements_test.txt
file.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements_test.txt
Then run the tests:
pytest tests
If you are having trouble getting the integration to work, please check the following:
- Ensure the UDM is running the latest version of the network application.
- Ensure the UDM is connected to the same network as your Home Assistant instance.
- Ensure the UDM is not using a hostname for the IP address.
Run this on a computer connected to the same network as your UDM or directly on your Home Assistant instance to verify connectivity to the UDM and that your credentials are valid.
curl -k -X POST https://[UDM-IP]/api/auth/login \
-H "Content-Type: application/json" \
-d '{"username":"[USERNAME]","password":"[PASSWORD]"}'
Possible responses:
- 200 OK: Credentials are valid. Returns a JSON object with the user's information.
- 401 Unauthorized: Credentials are invalid.
- 429 Too Many Requests: The user has made too many requests in a short period of time. Wait a few minutes and try again.
Head over to our Bruno collection to verify each request is successful. These are the same requests that the integration makes.
The integration is currently limited to managing firewall, traffic rules, and traffic routes. It does not currently support managing other types of rules.
Contributions are welcome! Please feel free to submit a PR.