J. Nick Koston
4f18f0d902
Fix setup timings when config entry platform loads are not awaited ( #113959 )
...
* Move setup time logging into the context manager
We were fetching the time twice but since the context
manager already has the timing, move it there
* remove log setup assertions from integration test
* tweak logging to give us better data for tracking issues
* redundant
* adjust
* preen
* fixes
* adjust
* make api change internal so nobody uses it
* coverage
* fix test
* fix more tests
* coverage
* more tests assuming internal calls
* fix more
* adjust
* adjust
* fix axis tests
* fix broadlink -- it does not call async_forward_entry_setup
* missed some
* remove useless patch
* rename, detect it both ways
* clear
* debug
* try to fix
* handle phase finishing out while paused
* where its set does not need to know its late as that is an implemenation detail of setup
* where its set does not need to know its late as that is an implemenation detail of setup
* tweak
* simplify
* reduce complexity
* revert order change as it makes review harder
* revert naming changes as it makes review harder
* improve comment
* improve debug
* late dispatch test
* test the other way as well
* Update setup.py
* Update setup.py
* Update setup.py
* simplify
* reduce
2024-03-23 15:26:38 -04:00
Robert Svensson
f2879e6f39
Break out UniFi platform registration to its own class ( #112514 )
2024-03-09 09:18:23 +01:00
Marc Mueller
32f3f46542
Add empty line after module docstring (2) [tests.components] ( #112737 )
2024-03-08 19:16:21 +01:00
Marc Mueller
87165c0d6e
Add empty line after module docstring [tests t-z] ( #112712 )
2024-03-08 14:44:56 +01:00
Robert Svensson
7c9891fff9
Break out UniFi config handling to own class ( #111325 )
2024-03-05 21:36:26 +01:00
Robert Svensson
ab4750c2ea
Remove unnecessary access to UniFi hub object in tests ( #112275 )
...
* Remove unnecessary access to UniFi hub object
* Split strings
* Skip + on concatenating f-strings
* Use single quotes inside double quotes
2024-03-05 08:23:17 +01:00
Robert Svensson
efc89cd34f
Unifi websocket manager ( #111041 )
...
* Move hub into .hub.hub
* Move websocket to own module
* Minor shuffle
2024-02-24 16:20:59 -05:00
Robert Svensson
2f026ca963
Unifi rename controller to hub ( #110976 )
...
* Rename controller.py to hub.py
* Rename UniFiController to UnifiHub
* Rename controller instances into hub
* Rename controller to hub in tests
* Rename aiounifi Controller references to api
* Update strings
* Rename test_controller test_hub
* Narrow scope of test_remove_sensors
2024-02-20 08:51:22 +01:00
Jan-Philipp Benecke
22e62f42e6
Use entity & device registry fixtures in unifi tests ( #110889 )
2024-02-18 23:47:10 +01:00
wittypluck
7d24ae88e6
Mark Unifi bandwidth sensors as unavailable when client disconnects ( #109812 )
...
* Set sensor as unavailable instead of resetting value to 0 on disconnect
* Update unit test on unavailable bandwidth sensor
2024-02-06 18:33:10 +01:00
Marc Mueller
8b0c9d3d18
Use builtin TimeoutError [t-z] ( #109683 )
2024-02-05 12:20:36 +01:00
Robert Svensson
f1392f8519
Try to reconnect to UniFi on 403 ( #109067 )
2024-01-29 21:39:15 +01:00
J. Nick Koston
fb62b6f01e
Fix unifi test_tracked_clients test ( #108638 )
...
Fix unifi test_tracked_clients client
This test relied on the sensor platform getting set up and creating
the device before the device_tracker platform was setup since the
device_tracker platform will disable the entity because there is
not matching device entry for it via
4ee6735cbb/homeassistant/components/device_tracker/config_entry.py (L336)
There is no guarantee the sensor platform will get set up before
the device tracker platform so the test was subject to a race
where it would fail if the device tracker platform was setup first
2024-01-22 08:35:24 +01:00
wittypluck
d94421e1a4
Reset UniFi bandwidth sensor when client misses heartbeat ( #104522 )
...
* Reset UniFi bandwidth sensor when client misses heartbeat
* Fix initialization sequence
* Code simplification: remove heartbeat_timedelta, unique_id and tracker logic
* Add unit tests
* Remove unused _is_connected attribute
* Remove redundant async_initiate_state
* Make is_connected_fn optional, heartbeat detection will only happen if not None
* Add checks on is_connected_fn
2024-01-14 15:19:43 +01:00
Joseph Block
1271f16385
Add Unifi device state for additional diagnostics ( #105138 )
...
* Add device state for additional diagnostics
* Add state test and fix existing tests
* Utilize IntEnum and dict for state lookup
* Update aiounifi to v68
2023-12-16 08:38:21 +01:00
Erik Montnemery
6908497c3d
Add minor version to config entries ( #105479 )
2023-12-12 08:44:35 +01:00
Jan-Philipp Benecke
b5785003a3
Migrate unifi tests to use freezegun ( #105343 )
2023-12-09 12:55:40 +01:00
Robert Svensson
6271fe333d
Rework some UniFi unique IDs ( #104390 )
2023-11-24 11:18:55 +01:00
Robert Svensson
d78c0bd948
Handle 403 errors in UniFi ( #104387 )
...
UniFi handle 403 error
2023-11-23 20:25:26 +01:00
Robert Svensson
edf18df0e6
Add PoE power cycle button to UniFi integration ( #104332 )
2023-11-22 07:02:49 +01:00
Robert Svensson
f1fd8a0d2b
Bump aiounifi to v66 ( #104336 )
2023-11-22 07:02:13 +01:00
Robert Svensson
40817dabbf
Bump aiounifi to v64 ( #102700 )
2023-10-24 20:27:42 -05:00
Robert Svensson
721c45b7a3
Rework UniFi client configuration ( #99483 )
2023-10-22 23:39:54 +02:00
wittypluck
b79eae2e94
Update Unifi bandwidth sensors ( #101598 )
...
* Change bandwidth sensors device class, state class, unit of measurement, icon
* Reformat imports
* Reformat imports
* Revert suggested_unit_of_measurement. Add unit tests.
2023-10-22 17:14:49 +02:00
Robert Svensson
01b5854968
Rework UniFi websocket ( #100614 )
...
* Rework websocket management
* remove unnecessary fixture
* Remove controller from mock_unifi_websocket
* Mock api.login in reconnect method
* Remove unnecessary edits
* Minor clean up
* Bump aiounifi to v63
* Wait on task cancellation
2023-09-27 10:56:24 +02:00
Robert Svensson
7b00265cfe
Remove legacy UniFi PoE client clean up ( #100318 )
2023-09-13 20:14:03 +02:00
Robert Svensson
d8445a79fc
UniFi streamline loading platforms ( #100071 )
...
* Streamline loading platforms
* Move platform registration logic to UnifiController class
2023-09-11 15:55:27 +02:00
Robert Svensson
cf47a6c515
Add UniFi device uptime and temperature sensors ( #99307 )
...
* Add UniFi device uptime and temperature sensors
* Add native_unit_of_measurement to temperature
Remove seconds and milliseconds from device uptime
2023-09-09 11:12:44 +02:00
Robert Svensson
b0e40d95ad
Bump aiounifi to v61 ( #99686 )
...
* Bump aiounifi to v61
* Alter a test to cover the upstream change
2023-09-05 21:13:28 +02:00
J. Nick Koston
80d2309896
Switch async_track_time_interval to use async_call_later internally ( #99220 )
2023-08-28 13:56:22 -05:00
Robert Svensson
5e5193eeb5
Rework UniFi Network Controller device and add software version ( #99136 )
...
Rework Network Controller device and add software version
2023-08-27 17:07:38 +02:00
Robert Svensson
71bf782b22
Improve UniFi PoE control by queueing commands together ( #99114 )
...
* Working draft without timer
* Clean up
Improve tests
* Use async_call_later
2023-08-27 16:58:48 +02:00
Robert Svensson
45efe29262
Bump aiounifi to v58 ( #99103 )
2023-08-26 18:27:45 -05:00
Marc Mueller
72e6f79086
Replace remaining utcnow calls + add ruff check ( #97964 )
2023-08-25 03:23:43 +02:00
Robert Svensson
d0d160f11c
Unifi add port forward control to switch platform ( #98309 )
2023-08-21 22:01:44 +02:00
Robert Svensson
9e42451934
UniFi refactor using site data ( #98549 )
...
* Clean up
* Simplify admin verification
* Streamline using sites in config_flow
* Bump aiounifi
2023-08-18 22:44:59 +02:00
Chris
5b6a7edd8d
Add Unifi outlet switches for PDU devices ( #98320 )
...
Updates the Unifi outlet switching feature to support PDU devices
2023-08-13 20:06:12 +02:00
Chris
87753bdb82
Add UniFi power stats for PDU overall AC outlet metrics ( #98217 )
2023-08-12 18:12:59 +02:00
Chris
fe1f617a35
Add unifi power stats for PDU outlets ( #98081 )
...
Adds support for power stats for PDU outlets.
2023-08-10 18:25:03 +02:00
Erik Montnemery
05ac67eba2
Adjust unifi tests which create devices ( #98211 )
2023-08-10 18:24:42 +02:00
Franck Nijhof
868a5f377f
Ruff: isort don't split imports based on trailing comma ( #98162 )
2023-08-10 14:27:03 +02:00
Robert Svensson
02c27d8ad2
UniFi WLAN availability affected by WLAN enabled ( #98020 )
2023-08-09 18:52:35 +02:00
Robert Svensson
e43ad1c6a0
Add restart device to UniFi button platform ( #97642 )
...
* Add restart device to UniFi Button platform
* Add tests for button platform
* Small corrections
2023-08-05 20:07:20 +02:00
Robert Svensson
66cb407e4f
Improve counting of UniFi WLAN Clients sensor ( #97785 )
2023-08-04 19:22:46 +02:00
Robert Svensson
89069bb9b8
Add WLAN clients reporting to UniFi Sensor platform ( #97234 )
2023-07-26 08:00:17 +02:00
Robert Svensson
8d6c4e3306
Add controls to enable and disable a UniFi WLAN ( #97204 )
2023-07-25 14:01:57 +02:00
Robert Svensson
06f97679ee
Add WLAN QR code support to UniFi Image platform ( #97171 )
2023-07-25 10:11:48 +02:00
Erik Montnemery
fbbdebee47
Correct unifi device info ( #96483 )
2023-07-13 12:14:31 -04:00
Ville Skyttä
1ce74ba25c
Import `util.dt` as `dt_util` in `components/[t-z]*` ( #93763 )
2023-05-29 23:00:43 +02:00
Robert Svensson
09109d093e
Allow UniFi control PoE passthrough properly ( #92028 )
2023-04-26 09:16:18 +02:00
Robert Svensson
0d7711f787
Fix UniFi client tracker host_name missing ( #91188 )
2023-04-11 11:56:55 +02:00
epenet
7b3a932cd9
Remove incorrect constant usage in test ( #91198 )
2023-04-11 10:00:17 +02:00
Nerdix
d539bddabc
Correct handling if WIFI combine suffix is "None" ( #90528 )
...
* Correct handling of "None" WIFI combine suffix
* Update tests/components/unifi/test_config_flow.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
* Update tests/components/unifi/test_config_flow.py
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
---------
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-04-03 09:47:08 +02:00
epenet
69a46d4002
Adjust pylint plugin for components fixtures ( #90217 )
...
* Adjust pylint plugin for components fixtures
* Adjust components
* Use MagicMock
* Adjust
* Use None
2023-03-26 15:21:19 +02:00
Robert Svensson
ee74e21541
Rework UniFi wireless client "wired bug" logic ( #89757 )
2023-03-24 10:06:09 +01:00
Robert Svensson
8564768d9e
UniFi library controls add/update signalling ( #89525 )
...
* Library controls add/update signalling
* Remove add/remove signalling
* Remove unifi_entity_base and unifi_client to make mypy pass
2023-03-11 20:14:39 +01:00
Robert Svensson
288a4203ab
Make client tracker use common UniFi entity class ( #84942 )
...
* Make client tracker use common UniFi entity class
* Fix tests
* Fix mypy
* Remove legacy data
* Fix comment: skip else use return
* Minor change
* Remove missed stuff from previous rebase
* Import async_device_available_fn from entities.py rather than specifying it in device_tracker
* Avoid using asserts
* Keep explicit parenthesis for readability
* Allow loading entities on option changes
2023-03-11 06:23:49 +01:00
Robert Svensson
9ff45ca013
Allow loading UniFi entities on config options change ( #88762 )
...
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-06 16:08:14 +01:00
epenet
9a5f88f55f
Add type hints to integration tests (part 23) ( #88235 )
2023-02-17 16:40:46 +01:00
Franck Nijhof
ed79265843
Enable Ruff PT006 ( #88165 )
...
* Enable Ruff PT006
* Adjust existing cases
* Fix tests
* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
Erik Montnemery
cc564026fa
Move EntityCategory to homeassistant.const ( #87792 )
...
* Move EntityCategory to homeassistant.const
* Fix more imports
2023-02-09 20:15:37 +01:00
epenet
278050a73f
Add type hints to integration tests (t-z) ( #87707 )
2023-02-08 19:10:53 +01:00
Robert Hillis
d5b2062774
Disable uptime sensor by default in Unifi ( #87484 )
...
Disable Uptime sensor by default in Unifi
2023-02-05 19:28:28 +01:00
Robert Svensson
f56f391f81
Remove legacy constant from UniFi ( #84947 )
2023-01-01 20:03:14 +01:00
Robert Svensson
60de2a82c7
Make device tracker use common UniFi entity class ( #84786 )
2022-12-30 22:27:45 +01:00
Robert Svensson
e33cea9ff7
Add PoE power sensor to UniFi integration ( #84314 )
...
* Add PoE power sensor to UniFi integration
* Add unit of power
* Only update state if value has changed
* Remove stale print
* Subscribe to specific sensor to remove unnecessary state changes
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-12-29 22:55:00 +01:00
Robert Svensson
de5c7b0414
Rework UniFi device tracker to utilizing entity description ( #81979 )
...
* Rework UniFi device tracker to utilizing entity description
* Use bound
* Fix review comments from other PR
2022-12-28 22:29:11 +01:00
Robert Svensson
360f36eb71
Unifi use entity description with sensors ( #81930 )
...
* Move bandwidth sensors
* Add uptime sensor
* Use bound
* Fix review comments from other PR
2022-12-14 20:54:33 +01:00
Robert Svensson
af6338343e
Remove (2021) backwards supporting functionality from UniFi ( #81981 )
2022-11-16 12:49:10 +01:00
Robert Svensson
23bed25e52
Remove old UniFi POE client implementation ( #81749 )
...
Remove all references to POE client implementation
2022-11-08 07:48:54 +01:00
Robert Svensson
3444d2af1a
UniFi switch entity description ( #81680 )
...
* Consolidate switch entities to one class
* Move turn on/off into UnifiSwitchEntity
* Add event subscription
Remove storing entity for everything but legacy poe switch
* Only one entity class
* Improve generics naming
* Rename loader to description
* Improve control_fn naming
* Move wrongfully placed method that should only react to dpi apps being emptied
* Improve different methods
* Minor renaming and sorting
* Mark callbacks properly
2022-11-08 07:38:31 +01:00
Robert Svensson
115a1ceea0
Rewrite UniFi block client switch ( #80969 )
...
* Refactor UniFi block client switch entities
* Use new switch loader
* Rename lambdas
* Use is_on rather than _attr_is_on when applicable
2022-10-25 22:36:51 +02:00
Robert Svensson
03bf37e12c
Refactor UniFi DPI switch entities ( #80761 )
...
* Refactor UniFi DPI switch entities
* Remove dpi presence from items_added
2022-10-23 22:42:24 +02:00
Robert Svensson
0444dd71a6
Refactor UniFi outlet switches ( #80738 )
...
* Rewrite UniFi outlet switches
* Bump aiounifi to v41
* Remove devices from items_added input
2022-10-23 20:28:45 +02:00
Robert Svensson
92eaa539b6
Simplify mocking UniFi websocket ( #80652 )
...
* Simplify mocking UniFi websocket
* Fix one more
2022-10-20 19:37:13 +02:00
Robert Svensson
d0ed4b1ff2
Replace constants with enums in UniFi ( #80637 )
...
Replace constants with enums
Fix bad imports
2022-10-20 00:10:01 +03:00
Robert Svensson
04cdcad7f8
Expose UniFi PoE ports as individual switches ( #80566 )
...
* Add simple PoE control switches
* Add basic tests
* Complete testing
* Dont use port.up as part of available
* Bump aiounifi to v40
2022-10-19 19:54:40 +02:00
Robert Svensson
bfd12730f2
Bump aiounifi to v35 ( #79040 )
...
* Update imports
Replace constants with enums
* Import new request objects
* Bump aiounifi to v35
2022-09-25 20:08:56 +02:00
Erik Montnemery
3d723bddf8
Use mock_restore_cache in tests ( #77298 )
2022-08-25 09:28:53 +02:00
Jelte Zeilstra
5e10716dd8
Do not access hass.data in unifi test ( #75348 )
...
* Do not access hass.data in test
* Process review feedback
2022-07-23 12:42:43 +02:00
Robert Svensson
3144d179e0
Make UniFi utilise forward_entry_setups ( #74835 )
2022-07-18 10:39:38 -05:00
Jelte Zeilstra
514e826fed
Add install UniFi device update feature ( #75302 )
...
* Add install UniFi device update feature
* Add tests for install UniFi device update feature
* Fix type error
* Process review feedback
* Process review feedback
2022-07-16 20:39:11 +02:00
Franck Nijhof
7cd68381f1
Search/replace RESULT_TYPE_* by FlowResultType enum ( #74642 )
2022-07-07 19:57:36 +03:00
J. Nick Koston
1dd9e705f2
Switch dispatcher to use async_run_hass_job ( #74514 )
...
* Switch dispatcher to use async_run_hass_job
- Since we already wrap all the callbacks in catch_log_exception
we can use async_run_hass_job here
- The overhead of wrapping the call in a call_soon, queuing it
and running it later usually exceeds the overhead of running
the job itself
* fix size change during iteration
* fix out of order send
* fix missing mocking in unifi test
* Fix Legrand Home+ Control updating entities before the coordinator update had finished
* stray debug
2022-07-07 10:39:05 -05:00
epenet
f33151ff8b
Adjust config-flow type hints in unifi ( #72411 )
...
* Adjust config-flow type hints in unifi
* Use mapping
* Use mapping
* Fix tests
* Fix tests
* Revert "Use mapping"
This reverts commit 126fedc848
.
2022-05-24 21:42:11 +02:00
Robert Svensson
dc0d065901
Fix UniFi device tracker on controllers only reporting events ( #72240 )
...
Add events to UniFi client tracker in case controller does not report proper data
2022-05-24 16:06:30 +02:00
Franck Nijhof
c3d19f3827
Clean up accessing device_registry helpers via hass ( #72031 )
2022-05-17 12:22:15 -07:00
Jelte Zeilstra
75058e63a4
Create Update entities for Ubiquiti network devices ( #71700 )
...
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-05-13 09:17:41 +02:00
Robert Svensson
63e3095062
Abort UniFi Network options flow if integration is not setup ( #71128 )
2022-05-01 21:00:38 +02:00
Robert Svensson
46c2bd0eb0
Tweak UniFi client tracker ( #67129 )
2022-02-23 09:26:46 -10:00
Robert Svensson
69ac59ce73
Redact host address in UniFi diagnostics ( #65379 )
2022-02-01 09:52:56 -08:00
Paulus Schoutsen
b05b4c4b38
Simplify unifi cleanup logic ( #65345 )
2022-02-01 07:22:12 +01:00
Robert Svensson
da355438aa
Reconnect client service tried to connect even if device didn't exist ( #65082 )
2022-01-28 08:33:31 -08:00
Robert Svensson
046f0a706f
Add outlets to UniFi switch platform ( #64859 )
...
* Add outlets to UniFi switch platform
* Outlet shouldn't have entity category set
2022-01-25 07:49:02 +01:00
Robert Svensson
a15bdbbc4a
UniFi events aren't reliable for device tracker usage, use last_seen instead ( #64147 )
2022-01-24 15:11:33 +01:00
Robert Svensson
597fca9072
Make UniFi bandwidth sensors be about current transfer rather than total transfer ( #64701 )
2022-01-24 13:50:54 +01:00
Robert Svensson
7e20e555dd
Redact usernames in UniFi diagnostics ( #64794 )
2022-01-23 23:11:06 +01:00
Robert Svensson
20072140c6
Add diagnostics support to UniFi Network integration ( #64640 )
...
* Add diagnostics support to UniFi Network integration
* Remove system info
* Add test data before trying to redact sensitive information
* Redact sensitive information from config_entry.data
* Redact a lot of different parts of the device descriptions
Redact mac addresses in such a way its possible to still view topology
2022-01-23 13:44:43 +01:00
Robert Svensson
86d32b3440
Expose UniFi controller configuration url from discovered entry ( #64514 )
2022-01-20 09:34:54 +01:00
Robert Svensson
bc7624b417
Fix UniFi remove client service if time stamps are not integers ( #63998 )
...
* Only calculate total time if first and last seen are ints, else remove client
* Update homeassistant/components/unifi/services.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/unifi/services.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-01-13 08:15:40 +01:00