Skip to content

home-assistant: pin python-roborock to 4.15.0 for 2026.2.x compatibility#500419

Closed
Olauge-Secret wants to merge 1 commit into
NixOS:masterfrom
Olauge-Secret:fix/python-roborock-ha-compat
Closed

home-assistant: pin python-roborock to 4.15.0 for 2026.2.x compatibility#500419
Olauge-Secret wants to merge 1 commit into
NixOS:masterfrom
Olauge-Secret:fix/python-roborock-ha-compat

Conversation

@Olauge-Secret

Copy link
Copy Markdown

Motivation

Resolves #500395

python-roborock was updated to 4.17.1 in #495067, which introduced breaking API changes (fan_power_options renamed to fan_speed_options). This causes the roborock vacuum component in home-assistant 2026.2.3 to crash with:

AttributeError: 'StatusTrait' object has no attribute 'fan_power_options'. Did you mean: 'fan_speed_options'?

The fix in upstream home-assistant is in 2026.3.0, but nixpkgs currently ships 2026.2.3.

Changes

  • Pins python-roborock to 4.15.0 (last version compatible with home-assistant 2026.2.x) in the home-assistant package overrides
  • Pins pyrate-limiter to 3.9.0 for this override, since python-roborock 4.15.0 requires pyrate-limiter >=3.7.0,<4 while nixpkgs ships 4.0.2

This override can be removed once home-assistant is updated to 2026.3.x.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

cc @fabaff

python-roborock >= 4.16.0 introduced breaking API changes
(fan_power_options renamed to fan_speed_options) that require
home-assistant >= 2026.3.0. Since home-assistant is currently at
2026.2.3, pin python-roborock to 4.15.0 which is the last compatible
version.

Also pins pyrate-limiter to 3.9.0 for this override, as
python-roborock 4.15.0 requires pyrate-limiter >= 3.7.0, < 4.

Resolves NixOS#500395
@nixpkgs-ci nixpkgs-ci Bot requested review from dotlambda, fabaff and mweinelt March 16, 2026 15:07
@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle! labels Mar 16, 2026
@SuperSandro2000

SuperSandro2000 commented Mar 16, 2026

Copy link
Copy Markdown
Member

2026.3.1 is already on the way, so I would suggest to just sit it out until then.

#496442 and #497493

tag = "v${version}";
hash = "sha256-M1LAAQRzJkVQKHin/SUEEVVgFKFCbYbZ2NZ8vSwT+1Y=";
};
dependencies = (lib.filter (dep: (dep.pname or "") != "pyrate-limiter") (oldAttrs.dependencies or [ ])) ++ [

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We do not do such filters on dependencies. It should be on the same level as python-roborock.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 1-10 This PR causes between 1 and 10 packages to rebuild on Linux. 10.rebuild-linux: 1 This PR causes 1 package to rebuild on Linux. 12.first-time contribution This PR is the author's first one; please be gentle!

Projects

None yet

Development

Successfully merging this pull request may close these issues.

python3Packages.python-roborock: Incompatible with home-assistant 2026.2.x, requires 2026.3.x

2 participants