Skip to content
Discussion options

You must be logged in to vote

hi @rh37hd , I believe you'll have a better time if you use the gatherer instead.

So something like

async def my_action(target, reference):
    async with target.session() as sender:
        plans = sender.make_plans("zones")

        async for serial, name, info in sender.gatherer.gather(plans, reference):
            if name == "zones":
                print(serial)
                for index, (h, s, b, k) in info:
                    print(f"    zone({index}) -- {h=},{s=},{b=},{k=}")

That code will already handle for you how the extended multizone messages will return multiple packets if the device has more than 82 zones.

Replies: 5 comments 7 replies

Comment options

You must be logged in to vote
1 reply
@rh37hd
Comment options

Answer selected by delfick
Comment options

You must be logged in to vote
1 reply
@delfick
Comment options

Comment options

You must be logged in to vote
1 reply
@delfick
Comment options

Comment options

You must be logged in to vote
1 reply
@delfick
Comment options

Comment options

You must be logged in to vote
3 replies
@delfick
Comment options

@rh37hd
Comment options

@delfick
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants