* Refactor ZHA sensors to use cached values after restart
* Get attr from cluster, not channel
* Run cached state through formatter method
* Use cached values for div/multiplier for SmartEnergy channel
* Restore batter voltage from cache
* Refactor sensor to use cached values only
* Update tests
* Add battery sensor test
* Set command only cover
* No need for override position now that we support command only
* Return empty state response for assumed state
Fixes#43178
Reverts: #23498
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Notifications extract from beta
* Remove info loggings
* Delete notification service
* Only notifications for right smiles
* Revert to correct logic
* Catchup with dev (mostly with ourselves from #41201)
* Remove debug logging
* Naming improvement
* Improve test quality as per codecov patch requirement
* Revert to original condition (and appropriately test)
* Fix delete_notification_service, bring tests fixtures up to 1.6.0 including notifications
* Review comment (@bouwew)
* Correct test value
* Re-apply #40108 fix after rebase sidestep
* Update tests/components/plugwise/test_init.py
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
* Add needed state to imports
* Remove separate gw unload code
* Change entry_fail approach
* Revert persistent notification part
* Revert persistent notification part - lint
* Update homeassistant/components/plugwise/binary_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/plugwise/binary_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Rework reuse of sensor in binary_sensor
* Explicit state attribute keys
* Remove tempfile
* List of notifications per severity
* Update homeassistant/components/plugwise/binary_sensor.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unnecessary pts adjustments
* Add comments
* Use -inf for initial last_dts to be more clear
* Use video first_pts as common adjuster in recorder
* Remove seek(0) before av.open