Na Twoje życzenie. Mówiłem że moc śr jest OK.
To już się robi grubo i nie da się tego poskładać z klocków… np. może się nie dać bo włączone są tylko 2kW grzałki.
Tak w ogóle to już mi się to nie podoba i szykuje nową wersję, która będzie podążać za mocą w górę i w dół.
edit…
W zasadzie koniec
Nowa wersja teraz powinna podążać za mocą.
flows (53).json (13,4 KB)
Dla obliczeń mocy uwzględnia znak i zaokrągla zawsze w dół
AvrPow = - (AvrPow / 1000).toFixed(0) ;
msg.payload = AvrPow + P_on;
if (AvrPow  < 0){
    msg.payload = 0;
    }
Ponieważ nie da się stworzyć formuły aby odpowiednio ustawić grzałki, kombinację zapisałem w tablicy i elementy indeksowane są obliczoną mocą skorygowaną.
// mapa grzałek:
// 1_L1, 1_L2,1_L3,2_L1,2_L2,2_L3
var HitMap = [
    ['off', 'off', 'off', 'off', 'off', 'off'],  //0kW
    ['on', 'off', 'off', 'off', 'off', 'off'],   //1kW
    ['on', 'on', 'off', 'off', 'off', 'off'],   //2kW
    ['on', 'on', 'on', 'off', 'off', 'off'],   //3kW
    ['on', 'off', 'on', 'off', 'on', 'off'],   //4kW
    ['on', 'off', 'off', 'off', 'on', 'on'],   //5kW
    ['off', 'off', 'off', 'on', 'on', 'on'],   //6kW
    ['on', 'off', 'off', 'on', 'on', 'on'],   //7kW
    ['on', 'on', 'off', 'on', 'on', 'on'],   //8kW
    ['on', 'on', 'on', 'on', 'on', 'on'],   //7kW
];
Chyba zrozumiałe?
Pozostaje wypełnić encję grzałek - teraz call_service dotyczy tylko jednej grzałki.
Mam nadzieję, że konstrukcja turn_{{payload}} zadziała 

Ponieważ część skopiowałem od Ciebie, to wyjście z triggera jest źle i powinno by podłączone dolne