Konwersja zakresu wartości liczbowej

Witam, mam node który zwraca wartość z przedziału 0-100 potrzebuje noda który proporcjonalne rozszerzy ten zakres od 0-255. Jak to rozwiązać?

Marcin.

Można to liniowo przeskalować.

msg.payload = skalowanie(msg.payload, 0, 100, 0, 255);

function skalowanie(value, oldMin, oldMax, newMin, newMax) {
    return ((value - oldMin) * (newMax - newMin)) / (oldMax - oldMin) + newMin;
}
return msg;
1 Like

Można jak wyżej, albo mnożyć payload przez 2,55
flows.json (924 bajty)

Można też przepuścić przez noda renge, dowolnie przelicza.
Może się jeszcze przyda komuś.

Tak jak "nie ma takiego miasta Londyn, jest Lądek, Lądek Zdrój..."
Nie ma takiego noda jak renge.

range
przepraszam mój błąd.