Maciej Bieniek
f6243a1f79
Add `event` platform for Shelly gen2 devices ( #99659 )
...
* Add event platform for gen2 devices
* Add tests
* Add removal condition
* Simplify RpcEventDescription; fix availability
* Improve names and docstrings
* Improve the event entity name
* Use async_on_remove()
* Improve tests coverage
* Improve tests coverage
* Prefix the entity name with the device name in the old way
* Black
* Use DeviceInfo object
2023-09-18 00:38:08 +02:00
Maciej Bieniek
e1f4a3fa9f
Add energy meter sensors for Shelly Pro EM ( #99747 )
...
* Add support for Pro EM
* Improve get_rpc_channel_name()
* Revert an unintended change
* Add tests
2023-09-07 06:59:04 +02:00
Maciej Bieniek
d9a1ebafdd
Show OTA update progress for Shelly gen2 devices ( #99534 )
...
* Show OTA update progress
* Use an event listener instead of a dispatcher
* Add tests
* Fix name
* Improve tests coverage
* Fix subscribe/unsubscribe logic
* Use async_on_remove()
2023-09-06 08:17:45 +02:00
Shay Levy
b0f3b7bb76
Revert "Change naming of Shelly entities to correspond with HA guidelines" ( #99059 )
2023-08-28 10:42:24 +02:00
Erik Montnemery
b0952bc54a
Use freezegun in shelly tests ( #99042 )
2023-08-25 09:06:43 -05:00
Shay Levy
406f06f0fc
Abort Shelly setup if MAC address mismatch ( #98807 )
2023-08-22 07:41:50 -05:00
Maciej Bieniek
17050a3286
Add support for Shelly Gas Valve addon ( #98705 )
...
* Support Gas Valve
* Treat opening and closing as open
* Use set_state()
* Change entity icon and name
* Add valve state sensor
* Closing == closed
* Add translations for valve state entity
* Valve state -> Valve status
* Add tests; use control_result
* Fix mypy error
* Add missing "valve" to the Mock
* Improve docstrings
* Fix climate platform tests
* Increase test coverage
* Add mising return
2023-08-22 11:53:52 +03:00
Maciej Bieniek
f97f33fff7
Only create an issue if push updates fail 5 times in a row for Shelly gen1 devices ( #98747 )
2023-08-21 22:27:36 +02:00
Shay Levy
a713d7585f
Bump aioshelly to 6.0.0 ( #98719 )
2023-08-21 10:49:11 +03:00
Maciej Bieniek
c526d23686
Change naming of Shelly entities to correspond with HA guidelines ( #97533 )
...
* Do not use the device name to create the entity name
* Remove unnecessary return
* Fix mypy complains
* Gen1
* Uncapitalize description.name if channel name is used
* Fix for climate and button
* switch_3 -> switch 3
* Add _attr_has_entity_name to ShellyRestAttributeEntity
* Capitalize channel name
2023-08-19 11:13:22 +02:00
Franck Nijhof
868a5f377f
Ruff: isort don't split imports based on trailing comma ( #98162 )
2023-08-10 14:27:03 +02:00
Maciej Bieniek
2e156e56bf
Create an issue if Shelly TRV is not calibrated ( #96952 )
...
* Create issue if Shelly Valve is not calibrated
* Add test
* Improve test
* Improve issue description
* Restart -> reboot
2023-07-21 14:20:03 +02:00
Maciej Bieniek
db83dc9acc
Create an issue if push updates fail for Shelly gen1 devices ( #96910 )
...
* Create an issue if push updates fail
* Improve strings
* Delete the issue when reloading configuration entry
* Change MAX_PUSH_UPDATE_FAILURES to 5
* Improve issue strings
* Add test
* Use for
* Update homeassistant/components/shelly/strings.json
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* Simplify deleting the issue
---------
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2023-07-20 13:11:05 +02:00
Maciej Bieniek
31dfa5561a
Add external power sensor for Shelly Plus HT ( #96768 )
...
* Add external power sensor for Plus HT
* Tests
2023-07-17 22:07:24 +03:00
J. Nick Koston
3a06659120
Speed up single entity/response service calls ( #96729 )
...
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* revert
* cannot be inside pytest.raises
* one more
* Update homeassistant/helpers/service.py
2023-07-17 09:33:13 +02:00
Maciej Bieniek
8d6a711cac
Make `unique_id` of the Shelly button entity immutable ( #95160 )
2023-06-27 19:10:12 +02:00
Maciej Bieniek
05039036f1
Add compatibility with sleeping Shelly gen2 devices with firmware 1.0.0 ( #94864 )
2023-06-21 12:01:17 +02:00
Erik Montnemery
eba04824a4
Replace assert_lists_same with pytest_unordered in integrations n-s ( #94902 )
2023-06-20 20:23:14 +02:00
Maciej Bieniek
7b3f100efb
Catch InvalidAuthError in `shutdown()` method for Shelly gen2 devices ( #94563 )
...
* Catch InvalidAuthError in shutdown() method
* Add test
* Revert unwanted change in tests
2023-06-15 00:00:21 +03:00
Maciej Bieniek
fe61672792
Don't inherit SensorEntity/NumberEntity and RestoreEntity in Shelly integration ( #93531 )
...
* Use RestoreNumber and Restore Sensor for block entities
* Update tests
* Use RestoreSensor for RPC entities
* Fix test for number platform
2023-06-04 19:14:08 -05:00
Ville Skyttä
940942a74a
Import `util.dt` as `dt_util` in `components/[p-s]*` ( #93761 )
2023-05-30 00:09:42 +03:00
Marvin Wichmann
795ef075da
Restore original websocket commands for config entries ( #93707 )
...
Restore original websocket commands and add "config_entries/get_single"
2023-05-28 21:40:35 -04:00
Maciej Bieniek
eb058a3d41
Add illuminance sensor for Shelly gen2 devices ( #93559 )
2023-05-25 23:10:44 +02:00
Erik Montnemery
b754f03eb1
Add WS command for getting a config entry ( #93387 )
...
* Add WS command for getting a config entry
* Update tests
2023-05-23 10:44:02 +02:00
J. Nick Koston
99b58f157e
Bump PyJWT to 2.6.0 ( #90134 )
...
* Bump PyJWT to 2.6.0
* fix time being frozen too late which makes the access token creation time in the future
* revert zha change
* fix repairs test
* fix ical test
2023-03-22 20:00:47 -04:00
epenet
a102883eff
Add type hints to integration tests (part 2) ( #88493 )
2023-02-21 09:25:05 +01:00
Maciej Bieniek
7119a0f811
Use `suggested_display_precision` instead of rounding in Shelly sensor platform ( #87084 )
2023-02-20 10:20:52 -06:00
epenet
80ee196fd8
Add type hints to integration tests (part 19) ( #88178 )
2023-02-15 18:07:40 +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
Maciej Bieniek
95bb019f71
Do not reload Shelly TRV entry when not needed ( #88037 )
...
* Do not reload the entry when the target temperature changes
* Do not reload the entry when the mode changes
* Increase test coverage
* Increase test coverage
2023-02-15 10:21:53 +01:00
Maciej Bieniek
cd4ce86f07
Add support for `triple_push` event for Shelly gen2 devices ( #88081 )
...
* Add support for triple_push event
* Sort
* Fix tests
2023-02-15 10:20:27 +01:00
epenet
ba85fdcd61
Add type hints to integration tests (q-s) ( #87706 )
2023-02-08 08:12:54 -08:00
epenet
aa00114c2f
Add return type to async tests without arguments ( #87612 )
2023-02-07 10:26:56 +01:00
epenet
a79be493e5
Adjust hass_client type hint in integration tests ( #86954 )
...
* Adjust hass_client type hint in integration tests
* Adjust hass_client_no_auth
* Fix rebase
2023-02-02 16:29:57 -05:00
Franck Nijhof
5e81d28116
Update black to 23.1.0 ( #87188 )
2023-02-02 18:35:24 +01:00
Shay Levy
857df05308
Add Shelly Gen2 update entity for sleeping devices ( #86837 )
2023-01-30 19:05:13 +02:00
Shay Levy
803cd8d9a3
Handle state unknown if last state is missing in Shelly ( #86813 )
...
Shelly - handle state unknown if last state is missing
2023-01-27 23:34:56 +01:00
Shay Levy
f9f9741d2a
Separate Shelly tests parameters in parametrize ( #86778 )
...
Shelly tests - separate parameters in parametrize
2023-01-27 14:28:35 +01:00
Shay Levy
ae6bc96002
Shelly code quality ( #86733 )
2023-01-27 10:47:05 +02:00
Franck Nijhof
e50a531cd9
Code styling tweaks to the tests - Part 2 ( #86662 )
...
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2023-01-26 01:23:53 +01:00
Maciej Bieniek
9a68f0abe8
Store Shelly climate `last_target_temp` value in restore extra data ( #86482 )
...
fixes undefined
2023-01-24 07:28:34 -10:00
Shay Levy
9e4be56939
Shelly - handle None in RPC power sensors ( #86399 )
...
Handle None in RPC power sensors
2023-01-22 22:18:47 +02:00
Shay Levy
d5797d9f7d
Cleanup Shelly imports ( #86359 )
...
* Cleanup Shelly imports
* Cleanup tests
2023-01-22 01:26:54 +02:00
Shay Levy
df77646c8a
Fix Shelly sleeping Gen2 - do not refresh from zeroconf discovery ( #86296 )
2023-01-20 21:27:31 +02:00
J. Nick Koston
d949f51f10
Handle ignored shelly entries when discovering via zeroconf ( #86039 )
...
fixes https://github.com/home-assistant/core/issues/85879
2023-01-16 11:21:49 -10:00
J. Nick Koston
2c95c0b3a1
Do not check ble scanner state for sleepy shelly devices ( #85566 )
...
fixes #85563
2023-01-10 00:16:14 +02:00
J. Nick Koston
3ac5b780ff
Reject the WiFI AP when considering to update a shelly config entry from zeroconf ( #85265 )
...
Reject the WiFI AP IP when considering to update a shelly config entry from zeroconf
fixes #85180
2023-01-06 01:44:10 +02:00
Erik Montnemery
a6217ca9b9
Improve error message when an automation fails to validate ( #83977 )
2022-12-21 23:20:50 +01:00
J. Nick Koston
e900918e51
Fix reload race in shelly when device is recently offline ( #84328 )
2022-12-21 09:29:48 +01:00
J. Nick Koston
b7c7e7f57b
Try to reconnect disconnected shelly devices as soon as they discovered by zeroconf ( #83872 )
2022-12-13 14:22:34 -10:00
J. Nick Koston
0e2ebfe5c4
Move bluetooth watchdog into the scanner base class ( #83888 )
2022-12-13 11:57:40 -10:00
J. Nick Koston
80a8d5443d
Improve remote bluetooth scanner diagnostics and add missing test cover ( #83796 )
2022-12-11 21:33:30 -10:00
J. Nick Koston
09f9bb05dc
Add bluetooth diagnostics to shelly ( #83438 )
...
* Add bluetooth diagnostics to shelly
* Add tests
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-12-09 10:55:10 -05:00
Maciej Bieniek
e11917b7cb
Fix restored temperature values in Shelly climate platform ( #83428 )
...
* Set last_target_temp value according the unit system
* Convert restored temperature values
* Add test
* Improve comments
* Move _last_target_temp value to constants
2022-12-07 09:11:18 +02:00
J. Nick Koston
b665a060f7
Do not try to stop the shelly ble scanner if not connected ( #83424 )
...
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-12-06 22:57:54 -05:00
Shay Levy
e1923bc13b
Add Shelly support for Plus WallDimmer US ( #83385 )
2022-12-06 19:44:17 +02:00
Shay Levy
815dfe9134
Fix Shelly gen2 channel name ( #82655 )
...
* Fix Shelly gen2 channel name
* Review comment
2022-11-24 21:38:32 +02:00
Shay Levy
1e68e8c4b4
Add Shelly tests coverage ( #82642 )
...
* Add Shelly tests coverage
* Review comments
* Remove leftovers
2022-11-24 20:07:19 +02:00
Shay Levy
4a089b5c28
Add tests coverage for Shelly climate platform ( #82529 )
2022-11-22 09:04:55 -06:00
Shay Levy
91a44b697b
Add tests coverage for Shelly number platform ( #82480 )
2022-11-21 10:55:06 -06:00
Shay Levy
32f3eb722e
Add tests coverage for Shelly entity ( #82432 )
...
* Add tests coverage for Shelly entity
* Make it generator expression
2022-11-20 23:59:25 +02:00
Shay Levy
8bd7f59b93
Add tests for Shelly sensor platform ( #82385 )
2022-11-19 22:01:30 +02:00
Shay Levy
ea98f0e9e8
Add tests for Shelly binary_sensor platform ( #82367 )
...
* Add tests for Shelly binary_sensor platform
* Rename create to register for
2022-11-19 18:07:02 +02:00
Erik Montnemery
1a274adc28
Add config_entries.async_wait_component ( #76980 )
...
Co-authored-by: thecode <levyshay1@gmail.com>
2022-11-17 21:52:57 +01:00
J. Nick Koston
8da969b767
Disable BLE options flow for sleepy shelly devices ( #82283 )
2022-11-17 20:39:51 +02:00
J. Nick Koston
435fc23737
Add shelly ble scanner support ( #82007 )
2022-11-15 12:34:45 -06:00
J. Nick Koston
956120662e
Add the ability to register for shelly event callbacks ( #82052 )
2022-11-14 19:58:10 +01:00
Shay Levy
775f4e9e0d
Clean-up Shelly legacy update entities ( #80961 )
2022-10-25 21:27:54 +02:00
Shay Levy
dce4753510
Cleanup Shelly update platform ( #80845 )
2022-10-25 00:20:26 +03:00
Shay Levy
228d491216
Fix Shelly entry unload and add tests for init ( #80760 )
2022-10-22 09:00:35 +02:00
Shay Levy
aea7a9af18
Bump aioshelly to 4.0.0 ( #80423 )
...
* Bump aioshelly to 4.0.0
* Remove leftover
* Fix number platform
* Set last_update_success to false upon failure in number and climate
* Set last_update_success upon failurie in entity
2022-10-20 15:08:48 +03:00
Shay Levy
8e9457d808
Add Shelly support for sleeping Gen2 devices ( #79889 )
2022-10-18 22:42:22 +03:00
Shay Levy
9019fcb5c5
Migrate Shelly to use kelvin for color temperature ( #79880 )
2022-10-08 22:24:19 +03:00
Shay Levy
723b018b63
Refactor Shelly tests - do not access hass.data ( #79606 )
2022-10-05 11:36:06 +02:00
Shay Levy
c70ca1572b
Make Shelly update sensors disabled by default ( #79376 )
2022-09-30 14:37:58 -04:00
starkillerOG
4bdd8cb459
Shelly migrate to update entity ( #78305 )
...
* Add update entity
* fixes
* fixes
* change to CONFIG catogory
* return latest version if no update available
* fixes
* Remove firmware binary_sensors and buttons
* import Callable from collections
* remove ota_update tests
* Update homeassistant/components/shelly/update.py
Co-authored-by: Shay Levy <levyshay1@gmail.com>
* simplify
* fix mypy
* Create test_update.py
* fix isort
* add progress support
* fix styling
* fix update_tests
* fix styling
* do not exclude shelly update test
* bring coverage to 100%
* snake case
* snake case
* change str(x) to cast(str, x)
* simplify tests
* further simplify tests
* Split MOCK_SHELLY_COAP and MOCK_SHELLY_RPC
* fix issort
* fix status test
* fix isort
* run python3 -m script.hassfest
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-09-28 20:21:30 +03:00
Maciej Bieniek
8719829fbe
Add missing error catch in Shelly reauth flow ( #79205 )
2022-09-28 11:00:27 -04:00
Maciej Bieniek
c46f55caa8
Add reauth flow to Shelly integration ( #78786 )
2022-09-24 22:01:49 -04:00
epenet
7bc2712142
Adjust root-import in tests ( #78761 )
...
* Adjust root-import in tests
* Adjust diagnostics
* Adjust button
* Adjust select
* Adjust device_tracker
* Adjust camera
* Adjust humidifier
* Adjust media_source
* Adjust update
* Adjust siren
* Adjust number
* Adjust alarm_control_panel
* Adjust notify
* Adjust sensor
* Adjust switch
* Revert anthemav
* Don't adjust demo humidifier
2022-09-19 15:22:23 +02:00
Franck Nijhof
7cd68381f1
Search/replace RESULT_TYPE_* by FlowResultType enum ( #74642 )
2022-07-07 19:57:36 +03:00
Shay Levy
74e8b076e5
Fix Shelly missing key config flow ( #72116 )
2022-05-20 12:05:53 +03:00
Simone Chemelli
4a95539d9d
Warn user if "model" key is missing from Shelly firmware ( #71612 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-05-18 10:29:02 -07:00
J. Nick Koston
24a0007785
Add additional context data to logbook events ( #71721 )
2022-05-12 17:21:14 -07:00
J. Nick Koston
24d7a464e1
Refactor logbook to reduce overhead and complexity ( #71509 )
2022-05-08 21:47:26 -07:00
Erik Montnemery
5e50a8abd5
Mark device triggers from hidden or auxiliary entities as secondary ( #70335 )
...
* Mark device triggers from hidden or auxiliary entities as secondary
* Update tests
2022-04-21 08:01:32 +02:00
Shay Levy
d4d819679c
Add Shelly gen2 authentication support ( #69753 )
2022-04-14 00:30:03 +03:00
Shay Levy
06e4c2f351
Fix Shelly gen2 cover unavailable when not calibrated ( #69671 )
2022-04-08 22:54:42 -07:00
Shay Levy
eee0c5372c
Use import instead of hass in Shelly tests ( #67909 )
2022-03-09 19:29:20 +01:00
Shay Levy
2d4d18ab90
Add Shelly gen2 cover support ( #67705 )
...
* Add Shelly gen2 cover support
* Make status property
2022-03-08 11:58:08 +02:00
Joshua Roys
9134e5c844
Get discovered zeroconf IPv6 addresses ( #65462 )
2022-02-11 16:46:17 -06:00
Shay Levy
efbbef5922
Fix Shelly detached switches automation triggers ( #65059 )
2022-01-28 08:30:44 -08:00
Michael
1d2b9d2c63
Add diagnostics platform to Shelly ( #64660 )
...
* add config entry diagnostics
* add test
* make pylint happy
* add some device settings
* adjust tests
* add hass system info
* make sw_version be a property of wrapper classes
* remove hass sys info, since is added centraly
* check if device is initialized
* device_info is always available
* add device status data
2022-01-23 02:18:09 +02:00
Shay Levy
c65a50bd2e
Fix Shelly error fetching device triggers for sleeping devices ( #63103 )
2021-12-31 18:47:03 +01:00
Ville Skyttä
ea58432721
Use DeviceAutomationType in tests/components/[s-z]* ( #62450 )
2021-12-21 11:56:00 +01:00
Michael
83acfda757
Add reboot button to Shelly devices ( #60417 )
2021-11-29 19:49:49 +01:00
Simone Chemelli
07c09ab268
Add new name handling for Shelly RPC devices ( #60539 )
2021-11-29 16:16:49 +01:00
Michael
296b738740
Add button to trigger ota firmware update for Shelly devices ( #58757 )
...
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2021-11-26 14:19:39 +01:00
epenet
77dfeb062f
Update ZeroconfServiceInfo in tests (n-t) ( #60219 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 10:35:44 -06:00
epenet
4555820987
Use ZeroconfServiceInfo in shelly ( #60098 )
2021-11-21 16:33:20 -06:00
Ville Skyttä
50e0c58310
Use http.HTTPStatus in components/s* ( #58291 )
2021-10-23 20:49:04 +02:00