Configuration help for a air conditoner

Hello,
After some guru help on automating my air conditioner!

It has a ‘boost’ mode to run a more powerful heating or cooling mode, and by design only run for 15mins before it returns to the normal powered heating/cooling.
Sometimes the house is too hot or cold, and ill want to repeat the boost again for another 15mins or even more repeats. Essentially just keep running boosted mode for a while to bring the temp to desired levels.

The goal is that I want to trigger it in home assistant with a button, for an input_number amount of cycles of for an input_select of “boosted heating” or “boosted cooling”.

I’ve captured the IR code from the remote for boosted cooling, the script looks like this:

ac_20cool-highpower-highangle:
  sequence:
    - service: remote.send_command
      data:
        entity_id: remote.rmmini3_loungeroom_remote
        device: ac
        command:
          - 20cool-highpower-highangle
        num_repeats: 3            #resending ir command a few times as sometimes the ac doesnt receive properly or respond
        delay_secs: 1

I was thinking just to create the other config.yaml items:

  • input_number
  • input_select
  • timer

eg:

input_select:
  ac_manual_boost:
    options:
      - 22heat highpower lowangle
      - 20cool highpower highangle
input_number:
  ac_boost_repeats:
    name: "Air Conditioner boost repeats"
    initial: 1
    min: 1
    max: 5
    step: 1
    mode: box
timer:
  ac_boost_timer:
    duration: '00:15:30'

On the frontend I would be looking to create an entity-button bound to a script to run the action
"repeat { ‘input_number.ac_boost_repeats’ } times, for { ‘input_select.ac_manual_boost’ + delay 'timer.ac_boost_timer '}

Would be open to better ways of going about this also.
It would be great to have the option cancel out of it while its running as well.

Or probably a better way of doing this would be to start with a read of the room temp and boost accordingly until {‘input_select.desired_room_temp’} or a repeat boost limit (not run too many times) reached ?