-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix int value in unique_id for Tellduslive #127526
Conversation
Hey there @fredrike, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
@@ -194,4 +194,4 @@ def native_value(self): | |||
@property | |||
def unique_id(self) -> str: | |||
"""Return a unique ID.""" | |||
return "-".join(self._id) | |||
return "-".join(map(str, self._id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should do a migration for the unique_ids that are an integer, otherwise it will create duplicate entities
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Example for an unique_id migration: #122330
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is out of my skills, but i have confirmed that this change doesn't create duplicate entities. It returns the same value as before so the entities is the same. This was the return before 2024.10 when it was working return "{}-{}-{}".format(*self._id)
so i don't know if a migration is necessary as it will return the same value as before?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But this way can't produce an int as unique_id, unless self._id
is not a list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahaa so you wan't to keep the int value? and migrate the existing ones that where all strings to use int in the unique id instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No we want it to be a string, but what I am wondering about, this can only return an integer when self._id
only returns a single value. So I think the change itself is doing something wrong. When you run this code, do you see what the unique_id of the entity ends up being?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I think I see what you mean, this looks good
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
@@ -194,4 +194,4 @@ def native_value(self): | |||
@property | |||
def unique_id(self) -> str: | |||
"""Return a unique ID.""" | |||
return "-".join(self._id) | |||
return "-".join(map(str, self._id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I think I see what you mean, this looks good
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM 👍
cc @albertomontesg as author of offending PR.
Proposed change
This fixes #127478 which was caused by #125987.
Issue is that self._id is a list which contains int values and #125987 expects that the values should be strings.
Type of change
Additional information
Checklist
ruff format homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
.To help with the load of incoming pull requests: