Congrats on getting it going - all that YAML must have taken some persistence.
I really don’t know why the tariff variable approach didn’t work. Hate not knowing so I’ve created a test utility meter with three rates and this automation to control the selector
alias: Peak/Cheap rate select for three rate Utility meter
description: ""
trigger:
- platform: time
at: "02:00:00"
variables:
tariff: Cheap
- platform: time
at: "05:00:00"
variables:
tariff: Standard
- platform: time
at: "16:00:00"
variables:
tariff: Peak
- platform: time
at: "19:00:00"
variables:
tariff: Standard
action:
- service: select.select_option
target:
entity_id: select.test_utility_meter
data:
option: "{{ tariff }}"
mode: single
Will leave it running for 24 hours and see how it goes