Commit Graph

168 Commits (619e7fbbce8ba85d510d1e35428911d45843e2c1)

Author SHA1 Message Date
Simone Chemelli 538ef7764e
Move Shelly thermostat check to status endpoint (#110543)
* Move Shelly thermostat check to status endpoint

* fix key path
2024-02-14 16:36:42 +01:00
Maciej Bieniek b60f931e6d
Improve tests for Shelly WallDisplay (#110435)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 16:51:34 -06:00
Maciej Bieniek 2bd64dba6b
Add `removal_condition` for Shelly analog input sensors (#110331)
* Add remove condition for analog input sensors

* xpercent key is not present in the payload if it has not been configured

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 20:13:11 +01:00
Maciej Bieniek 8de038527f
Improve type annotation in Shelly tests (#110361)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 10:23:55 -06:00
Maciej Bieniek 4f277b9509
Add pulse counter sensors for Shelly (#110248)
* Add pulse counter sensors to Shelly

* Add a unit for the pulse counter

* Fix removal condition

* xtotal key is not present in the payload if it has not been configured

* Update test

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 09:42:38 +01:00
Maciej Bieniek 326da81656
Add icon translations to Shelly (#110183)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-11 14:07:10 -06:00
Maciej Bieniek b276a7863b
Add missing `unique_id` check for Shelly Analog Input sensor (#109888)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-07 11:20:53 -06:00
Maciej Bieniek b5b09446a1
Add analog input value sensor for Shelly (#109312)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-07 10:22:00 -06:00
Maciej Bieniek d0384480f5
Test unique IDs for Shelly entities (#109879)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-07 10:18:00 -06:00
Erik Montnemery aea81a180c
Fix Shelly white light test (#109855) 2024-02-07 15:39:49 +01:00
J. Nick Koston 8d4f32645d
Add tests for shelly switch unique ids (#109617) 2024-02-04 11:23:33 -06:00
Simone Chemelli d4c91bd0b7
Add a repair issue for Shelly devices with unsupported firmware (#109076)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-30 10:59:33 -10:00
Simone Chemelli 6174aa4e59
Remove Shelly RSSI sensor if Wi-FI is not configured (#108390)
* Remove Shelly RSSI sensor if Wi-FI is not configured

* fix tests
2024-01-30 21:18:54 +01:00
Simone Chemelli 075dab250e
Code quality for Shelly tests (#109054)
* Code quality for Shelly tests

* clean-up
2024-01-29 16:02:51 +01:00
John Allen a385ca93bd
Send target temp to Shelly TRV in F when needed (#108188) 2024-01-17 22:06:11 +02:00
Shay Levy 28e18ce7bf
Fix Shelly Gen1 entity description restore (#108052)
* Fix Shelly Gen1 entity description restore

* Update tests/components/shelly/test_sensor.py

Co-authored-by: J. Nick Koston <nick@koston.org>

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 20:53:56 +02:00
J. Nick Koston b47861d973
Update shelly bluetooth scanner to version 2.0 (#107917) 2024-01-14 09:44:42 -10:00
Simone Chemelli ef8d394c16
Update sleep period for Shelly devices with buggy fw (#107961)
* update sleep period for Shelly devices with buggy fw

* code quality

* update model list

* add test

* Apply review comments

* fix test

* use costant
2024-01-13 22:33:02 +01:00
Shay Levy ad3c78f848
Fix Shelly missing Gen value for older devices (#107294) 2024-01-05 13:32:04 -10:00
G Johansson 83f4d3af5c
Implement mode validation in Climate entity component (#105745)
* Implement mode validation in Climate entity component

* Fix some tests

* more tests

* Fix translations

* fix deconz tests

* Fix switcher_kis tests

* not None

* Fix homematicip_cloud test

* Always validate

* Fix shelly

* reverse logic in validation

* modes_str

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 14:51:39 +01:00
Maciej Bieniek 3eef1a3f6a
Add valve platform for Shelly Gas Valve (#106087)
* Add valve platform

* Update BLOCK_PLATFORMS

* Add tests

* Use _attr_is_closed

* Fix mypy errors

* Make the valve switch to disabled by default

* Add deprecation issues

* Remove LOGGER

* Clean

* Add deprecation comments

* Suggested changes

* Set True for is_fixable

* Show valve entity and services in repair issue
2023-12-26 07:56:21 +01:00
Joost Lekkerkerker 22b2c588eb
Use issue registry fixture (#105633) 2023-12-13 11:23:38 +01:00
J. Nick Koston f002a6a732
Refactor all Bluetooth scanners to inherit from BaseHaRemoteScanner (#105523) 2023-12-12 21:28:43 +01:00
Maciej Bieniek bf93929826
Add support for Shelly Gen3 devices (#104874)
* Add support for Gen3 devices

* Add RPC_GENERATIONS const

* Add gen3 to tests

* More tests

* Add BLOCK_GENERATIONS const

* Use *_GENERATIONS constants from aioshelly
2023-12-11 22:58:56 +01:00
Maciej Bieniek 35b733fa2c
Bump `aioshelly` to version 7.0.0 (#105384)
* Remove get_rpc_device_sleep_period() function

* Bump aioshelly version to 7.0.0

* Remove firmware compatibility check from BLE scanner

* Remove firmware compatibility check from light transition

* Update default fw ver

* Use LightEntityFeature in tests
2023-12-09 17:12:05 +02:00
Maciej Bieniek b7bf1e9f3f
Make Shelly Wall Display thermostat implementation compatible with firmware 1.2.5 (#104812) 2023-11-30 17:26:07 +01:00
Maciej Bieniek 14387cf94b
Remove Shelly Wall Display switch entity only if the relay is used as the thermostat actuator (#104506) 2023-11-26 14:46:29 +01:00
Maciej Bieniek 2515dbeee1
Bump aioshelly to version 6.1.0 (#104456)
* Bump aioshelly

* Use MODEL_* consts from aioshelly

* Add missing models to BATTERY_DEVICES_WITH_PERMANENT_CONNECTION
2023-11-24 20:55:00 +02:00
Maciej Bieniek adc56b6b67
Add support for Shelly Wall Display in thermostat mode (#103937) 2023-11-24 12:55:41 +01:00
Maciej Bieniek c92a90e04d
Disable options flow for Shelly Wall Display (#103988) 2023-11-15 15:45:33 +01:00
Maciej Bieniek dbe193aaa4
Add `release_url` property of Shelly update entities (#103739) 2023-11-15 13:36:20 +01:00
Maciej Bieniek 47c9d58b5e
Override the `async_update()` method for Shelly sleeping devices (#102516) 2023-10-25 13:48:00 +02:00
Maciej Bieniek 3aa6771835
Update `DeviceInfo.sw_version` value for Shelly Gen2 sleeping devices (#101338)
* Update device info for gen2 sleeping devices

* Add test

* Update sw_version only if the firmware_version value has changed

* Rename device_update_info() to update_device_fw_info()

* Remove duplicate comparison
2023-10-04 11:00:17 +02:00
Maciej Bieniek 5c5dff034c
Add `event` platform for Shelly gen1 devices (#100655)
* Initial commit

* Use description.key

* Add translations

* Check event_types

* Rename input_id to channel

* Fix removeal confition

* Add tests

* Sort classes and consts

* Use ShellyBlockEntity class

* Update tests

* Update homeassistant/components/shelly/event.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2023-09-23 16:03:57 +02:00
Shay Levy 439ca60cb6
Fix Shelly Gen2 event get input name method (#100733) 2023-09-23 12:45:41 +03:00
J. Nick Koston 0eca433004
Update zeroconf discovery to use IPAddress objects to avoid conversions (#100567) 2023-09-19 18:58:46 +02:00
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