Custom service to move blinds?

So I have a stream deck with the home assistant plugin - and I can call home assistant services and pass it the number of ticks I turn a dial.

Is there a way to make a custom action/service that if I pass it say 2 clicks, it will take the current position of a cover, subtract 2%, and set that as the new target % position of the cover?

Can you please show an example of how you pass the ticks?

Also how does it differentiate between clockwise and widdershins direction?

What you want should easily doable by passing variables to a script (scripts are services/actions) that then moves your cover the required amount.

I can pass the service data via JSON

{
“position”:{{ticks}}
}

clockwise/counterclockwise is positive or negative values to ticks.

Ok, but what triggers it being sent?

You don’t want to send the data unlit the dial has completed moving. How do you detect that?

It sends it every so often (default 300ms) if there are changes

image

This works:

    alias: blind_dial
    sequence:
      - action: cover.set_cover_position
        target:
          entity_id: cover.hallway_blinds     
        data:
          position: "{{ new_pos }}"
    fields:
      ticks:
        selector:
          number:
            min: 1
            max: 100
        name: ticks
        description: number of ticks of dial
    variables:
      new_pos: "{{ (state_attr('cover.hallway_blinds', 'current_position') + ticks)|int }}"

Glad you got it to work but you should take note of that last sentence. “which may cause trouble with home assistant”. 300ms is a very fast polling interval.