Esphome Number i sterowanie dwoma wyjściami

Cześć
Proszę o podpowiedź jak rozwiązać problem sterowania 2 triakami za pomocą komponentu number gdzie:
“Moc grzałek” w zakresie 0-50 steruje “Grzałką 1” w zakresie 0-100 a w zakresie 51-100 steruje “Grzałką 2” w zakresie 0-100
Czyli wybierając moc grzałek np. 75, grzałka 1 pracuje na 100% a grzałka 2 na 50%.
Próbowałem różnych sposobów ale bezskutecznie.

number:
  - platform: template
    name: "Moc Grzałek"
    id: moc
    min_value: 0
    max_value: 100
    step: 5
    optimistic: true
    initial_value: 0


  - platform: template
    name: "Grzałka 1"
    id: moc1
    min_value: 0
    max_value: 100
    step: 5
    optimistic: true
    initial_value: 0
    on_value:
      then:
        - light.turn_on:
            id: dimmer1
            brightness: !lambda return id(moc1).state/100.0;
  - platform: template
    name: "Grzałka 2"
    id: moc2
    min_value: 0
    max_value: 100
    step: 5
    optimistic: true
    initial_value: 0
    on_value:
      then:
        - light.turn_on:
            id: dimmer2
            brightness: !lambda return id(moc2).state/100.0;

A jakieś inne sposoby pokażesz, bo tu nawet nie uwzględniasz swoich obliczeń

moc1=(moc*2)

moc2=(moc*2)-100

jeszcze by trzeba było jakieś warunki dla wartości >100 i <0

No tak.
Polak zawsze musi sobie skomplikować życie a rozwiązaniem było dodanie jeszcze po jednym warunku

number:
  - platform: template
    name: "Moc Grzałek"
    id: moc
    min_value: 0
    max_value: 100
    step: 5
    optimistic: true
    initial_value: 0
    on_value: 
      then:
        - if:
            condition:
              number.in_range:
                id: moc
                below: 50.0
            then:
              - number.set:
                  id: moc2
                  value: 0
              - number.set:
                  id: moc1
                  value: !lambda return id(moc).state*2;
        - if:
            condition:
              number.in_range:
                id: moc
                above: 50.0
            then:
              - number.set:
                  id: moc1
                  value: 100
              - number.set:
                  id: moc2
                  value: !lambda return (id(moc).state*2)-100;

  - platform: template
    name: "Grzałka 1"
    id: moc1
    min_value: 0
    max_value: 100
    step: 5
    optimistic: true
    initial_value: 0
    on_value:
      then:
        - light.turn_on:
            id: dimmer1
            brightness: !lambda return id(moc1).state/100.0;
  - platform: template
    name: "Grzałka 2"
    id: moc2
    min_value: 0
    max_value: 100
    step: 5
    optimistic: true
    initial_value: 0
    on_value:
      then:
        - light.turn_on:
            id: dimmer2
            brightness: !lambda return id(moc2).state/100.0;

Uczę się dopiero lambd i zastanawiam się czy da się powyższy kod uprościć.