* Improve unifi device tracker performance
The unifi websocket sends an update every second
which generates a significant amount of state
changed updates.
Avoid creating callback functions when they
are not going to be used.
* make _no_heartbeat/_make_disconnected instance methods
* remove extra empty line
* revert is_wired change
* remove extra line
* Async remove call removed too much, resulting in disabled entities coming back after a restart
* Calling super().async_remove is no longer needed, changed to self.async_remove
* Yes, they should be sets...
* Improve client tracker to be more comprehensible and streamlined
Improve block switches
Improve tests
* Small clean up
* Add descriptions on ssid test
* Improve test
* Make polling default off, only POE clients left to verify
* Minor improvements
* On removal cancel scheduled updates
* POE works without polling now
* Combine else and if to an elif
* Move removal of sensor entities into a base class
* Fix martins comments on sensors
* Reflect sensor changes on device_tracker platform
* Reflect sensor changes on switch platform
* Improve layering
* Make sure to clean up entity and device registry when removing entities
* Fix martins comments
* Allow disable wired bug work around
* Move small improvements from closed PR #34065
* Fix failing test
* Add new test
* Some extra logging
* Harmonize log outputs
* Add config flow string
* Fix Balloobs comments
* Rewrite UniFi integration to use push messaging
* Add signalling for new clients/devices
* Update list of known wireless clients when we get events of them connecting
* Reconnection logic for websocket
* Fix failing tests
* Bump requirement to v12
* Add new tests
* Update homeassistant/components/unifi/controller.py
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Add controls to catch when client goes offline and UniFi bug marks client as wired
* Device trackers shouldn't jump between going away and home
* POE control shouldn't add normally wireless clients as POE control switches
* Move ignoring logic to entity registry enabled default
* Handle config to option import better
* Properly enable and disable entity registry entries on changes from config entry options
* Fix balloobs comments
* Fix some tests
* Fix tests
* Simplify updating disable on entities
* Simplify device tracker update function
* Local entity disabled replaced on rebase
* Only alter entities with changed options
* Proper tracking of changed options
* Back to straightforward updating of disabled