52 Commits

Author SHA1 Message Date
Artur Pragacz
0130919128 Improve entity id generation (#160302) 2026-01-14 14:34:52 +01:00
Erik Montnemery
4e1d5fbeb0 Add WS command to help reset custom entity_id (#145504)
* Add WS command to help reset custom entity_id

* Calculate suggested object id from entity properties

* Fix logic and add additional tests

* Adjust test

* Update folder_watcher test

* Handle current entity id matches the automatic entity id

* Don't store calculated_object_id

* Update snapshots

* Update snapshots

* Update test

* Tweak logic for reusing current entity_id

* Improve test

* Don't assign same entity_id to several entities

* Prioritize custom entity name

* Update snapshots

* Update snapshots
2025-05-26 19:28:27 +02:00
Simone Chemelli
484a547758 Fix pylance warning on SnapshotAssertion import (#145206) 2025-05-19 13:55:48 +02:00
Paul Bottein
e591157e37 Add translations and icon for Twinkly select entity (#139336)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-02-26 13:44:43 +01:00
Erik Montnemery
4b34d1bbb5 Merge config subentry feature branch to dev (#136121)
* Reapply "Add support for subentries to config entries" (#133470) (#136061)

* Reapply "Add support for subentries to config entries" (#133470)

This reverts commit ecb3bf79f3.

* Update test snapshot

* Add config subentry support to device registry (#128157)

* Add config subentry support to device registry

* Apply suggestions from code review

* Update syrupy serializer

* Update snapshots

* Address review comments

* Allow a device to be connected to no or a single subentry of a config entry

* Update snapshots

* Revert "Allow a device to be connected to no or a single subentry of a config entry"

This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.

* Update test snapshots

* Bump release version in comments

* Rename config_subentries to config_entries_subentries

* Add config subentry support to entity registry (#128155)

* Add config subentry support to entity registry

* Update syrupy serializer

* Update snapshots

* Update snapshots

* Accept suggested changes

* Clean registries when removing subentry (#136671)

* Clean up registries when removing subentry

* Update tests

* Clean up subentries from deleted devices when removing config entry (#136669)

* Clean up subentries from deleted devices when removing config entry

* Move

* Add config subentry support to entity platform (#128161)

* Add config subentry support to entity platform

* Rename subentry_id to config_subentry_id

* Store subentry type in subentry (#136687)

* Add reconfigure support to config subentries (#133353)

* Add reconfigure support to config subentries

* Update test

* Minor adjustment

* Rename supported_subentry_flows to supported_subentry_types

* Address review comments

* Add subentry support to kitchen sink (#136755)

* Add subentry support to kitchen sink

* Add subentry reconfigure support to kitchen_sink

* Update kitchen_sink tests with subentry type stored in config entry

* Update kitchen_sink

* Update kitchen_sink

* Adjust kitchen sink tests

* Fix hassfest

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Improve docstrings and strings.json

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

* Update snapshots

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-10 16:40:07 +01:00
Splint77
7c87bb2ffb Twinkly RGBW color fixed (#136593) 2025-01-27 15:53:26 +00:00
epenet
64500e837f Use new ServiceInfo location in component tests (part 1) (#136057) 2025-01-20 13:09:34 +01:00
Sven Naumann
0b32342bf0 Add mode selector to Twinkly (#134041) 2025-01-02 10:54:29 +00:00
Joost Lekkerkerker
939365887f Add coordinator to Twinkly (#133793) 2024-12-23 11:35:37 +01:00
Joost Lekkerkerker
7be3cad1db Refactor Twinkly tests (#133725) 2024-12-22 12:00:24 +01:00
Joost Lekkerkerker
dc9133f919 Use mac address in Twinkly for unique id (#133717) 2024-12-21 13:26:09 +01:00
Maciej Bieniek
aad1d6a25d Use MAC address in Twinkly DeviceInfo.connections (#133708) 2024-12-21 12:19:11 +01:00
Joost Lekkerkerker
61e5f10d12 Fix Twinkly raise on progress (#133601) 2024-12-19 20:27:08 +01:00
Erik Montnemery
ecb3bf79f3 Revert "Add support for subentries to config entries" (#133470)
Revert "Add support for subentries to config entries (#117355)"

This reverts commit ad15786115.
2024-12-18 13:51:05 +01:00
Erik Montnemery
ad15786115 Add support for subentries to config entries (#117355)
* Add support for subentries to config entries

* Improve error handling and test coverage

* Include subentry_id in subentry containers

* Auto-generate subentry_id and add optional unique_id

* Tweak

* Update tests

* Fix stale docstring

* Address review comments

* Typing tweaks

* Add methods to ConfigEntries to add and remove subentry

* Improve ConfigSubentryData typed dict

* Update test snapshots

* Adjust tests

* Fix unique_id logic

* Allow multiple subentries with None unique_id

* Add number of subentries to config entry JSON representation

* Add subentry translation support

* Allow integrations to implement multiple subentry flows

* Update translations schema

* Adjust exception text

* Change subentry flow init step to user

* Prevent creating a subentry with colliding unique_id

* Update tests

* Address review comments

* Remove duplicaetd unique_id collision check

* Remove change from the future

* Improve test coverage

* Add default value for unique_id
2024-12-12 20:16:18 +01:00
Erik Montnemery
d82bff1bc2 Index config entry discovery_keys by discovery domain (#126563)
* Index config entry discovery_keys by discovery domain

* Add new signal

* Update tests

* Update homeassistant/config_entries.py

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

* Fix imports

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 21:48:11 +02:00
Erik Montnemery
b2982c18bb Reinitialize zeroconf discovery flow on unignore (#125753)
* Reinitialize zeroconf discovery flow on unignore

* Adjust tests

* Improve comments

* Fix logic for updating discovery keys

* Add tests

* Use mock_config_flow helper in new config_entries test

* Add discovery_keys attribute to ConfigEntry

* Update zeroconf rediscovery

* Change type of ConfigEntry.discovery_keys

* Update tests

* Fix DiscoveryKey.from_json_dict and add tests

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 16:49:21 +02:00
Robert Resch
ad50136dbd Add created_at/modified_at to config entries (#122456) 2024-07-29 22:08:46 +02:00
Marc Mueller
1ad8151bd1 Use PEP 695 type alias in tests (#117797) 2024-05-20 19:03:04 +02:00
Sid
895f73d8e4 Enable Ruff A001 (#115654) 2024-04-21 23:25:27 +02:00
epenet
9204ccfa17 Use is in ConfigEntryState enum comparison in tests (N-Z) (#114926) 2024-04-05 17:37:00 +02:00
Joost Lekkerkerker
f3ba713289 Use FlowResultType enum in config flow tests N-Z (#114682)
Use FlowResultType enum in config flow tests
2024-04-03 09:53:20 +02:00
Joost Lekkerkerker
6bb4e7d62c Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
Sid
82a60fe8ad Enable Ruff RSE (#113695) 2024-03-18 00:40:38 +01:00
Marc Mueller
aa16a9d707 Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc Mueller
87165c0d6e Add empty line after module docstring [tests t-z] (#112712) 2024-03-08 14:44:56 +01:00
Joost Lekkerkerker
d42dd0114d Add icon translations to Twinkly (#112328) 2024-03-07 12:33:28 +01:00
J. Nick Koston
77a44c54dd Fix formatting of mac addresses from dhcp discovery mocking in twinkly (#110609)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:33 -05:00
Joost Lekkerkerker
0e833c5fe3 Migrate Twinkly to has entity naming (#97206)
* Migrate Twinkly to has entity naming

* Update the device name after sync

* Fix tests

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-14 16:43:29 +01:00
Joost Lekkerkerker
a82410d5e9 Deduplicate constants E-Z (#105657) 2023-12-13 17:05:37 +01:00
Erik Montnemery
6908497c3d Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Paul Bottein
c98c18f25e Return 'None' for light attributes when off instead of removing them (#101946) 2023-10-19 01:08:08 +02:00
Olen
e921e4a662 Move fetching of sw_version for Twinkly (#100286) 2023-09-26 20:04:17 +02:00
Olen
7fe78fe9e4 Add diagnostics to Twinkly (#100146) 2023-09-13 13:09:57 +02:00
Erik Montnemery
7539cf25be Don't require passing identifiers to DeviceRegistry.async_get_device (#96479)
* Require keyword arguments to DeviceRegistry.async_get_device

* Update tests

* Update tests

* Don't enforce keyword arguments
2023-07-13 13:39:25 -04:00
epenet
9a5f88f55f Add type hints to integration tests (part 23) (#88235) 2023-02-17 16:40:46 +01:00
epenet
278050a73f Add type hints to integration tests (t-z) (#87707) 2023-02-08 19:10:53 +01:00
Franck Nijhof
ca1a12898c Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Franck Nijhof
02b5da710b Remove attributes from Twinkly lights (#84986) 2023-01-02 17:58:07 +01:00
Olen
2a0496a3a9 Support older twinkly devices without effects (#83145)
fixes undefined
2022-12-03 13:23:29 -05:00
Olen
33cd59d3c2 Add Twinkly effects (#82861)
* Add Twinkly effects

* Remove spurious comment
2022-11-29 11:15:30 +01:00
epenet
e9f55f4e54 Apply hass-relative-import to tests (s-z) (#78733) 2022-09-19 09:51:31 +02:00
epenet
a29990a784 Use new CONF_MODEL core constant (1/3) (#68829)
* Use CONF_MODEL in axis

* Use CONF_MODEL in denonavr

* Use CONF_MODEL in flux_led

* Use CONF_MODEL in konnected

* Use CONF_MODEL in steamist

* Use CONF_MODEL in tellstick

* Use CONF_MODEL in tensorflow

* Use CONF_MODEL in twinkly

* Use CONF_MODEL in yeelight

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-03-29 11:11:58 +02:00
Rob Bierbooms
efe34c8d13 Cleanups in Twinkly code (#64139)
* Cleanup Twinkly code

* Add codeowner'

* Change const names
2022-01-14 22:07:15 +01:00
Rob Bierbooms
49a32c398c Add support for setting RGB and RGBW values for Twinkly lights (#62337)
* Change library to ttls

* Add rgbw support

* Add client session to config flow

* Fix config flow

* Adjust tests 1

* Fix more tests

* Fix last tests

* Add new tests

* Update test for coverage

* Update test for coverage 2

* Update test for coverage 3

* Change brightness to attribute

* Set RGBW mode only when available

* Add RGB support
2022-01-13 18:44:27 +01:00
Pascal Vizeli
c02aae58fb Add twinkly DHCP support (#61434)
* Add twinkly DHCP support

* fix typing import

* fix format

* Fix imports v2

* Using IP

* Fix tests

* Apply suggestions from code review

Thanks @bdraco

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

* fix black

* Add confirm step

* Add more tests

* Update homeassistant/components/twinkly/config_flow.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-12-14 15:12:19 +01:00
Michael
db0c82b88e Fix slow config_flow test in Twinkly (#60374) 2021-11-26 00:00:37 +01:00
Marc Mueller
54d1e9985f Update typing 15 (#48079) 2021-03-18 15:13:22 +01:00
Erik Montnemery
b3fecb1c95 Update tests t-z to use async_get() instead of async_get_registry() (#47655) 2021-03-09 14:25:03 +01:00
Ville Skyttä
2fb3be50ab Make DeviceRegistry.async_get_device connections arg optional (#44897)
* Make async_get_device connections Optional, default None

* Remove unnecessary async_get_device connections arg usages

Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
2021-01-07 13:49:45 +01:00