Skip to content

TDBU shade support — bug fix and dual rail commands #18

Description

@bls0n

Hi, I've been working on getting TDBU (Top Down Bottom Up) shades working with this library and found two things:

Bug fix
TDBU shades return None for mp (combined position), causing a TypeError crash. Change:

"closed_percent": int(roller.get("mp", 100)),

to:

"closed_percent": int(roller.get("mp") or 100),

Feature discovery
TDBU shades expose mp1 (bottom rail) and mp2 (top rail) positions separately, and accept movePercent1 and movePercent2 commands to control each rail independently. Adding move_to1() and move_to2() methods to the Roller class enables full dual rail control.

I've also modified the custom component's cover.py to create two entities per TDBU shade. The updated file is here:
https://github.com/bls0n/tdbu-shade-card/blob/main/backend/cover.py

Full documentation and a custom Lovelace card for visual dual rail control:
https://github.com/bls0n/tdbu-shade-card

Happy to submit a PR if helpful.

Hub: Rollease Acmeda Pulse v2, firmware 1.3.0
Shade type: Top Down Bottom Up, T13/T14 motor

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions