Hi,
ich habe mir erlaubt noch ein weiteres Skript für TUYA RGBCCT Leuchten zu schreiben, die die Farbtemperatur in einem Wert von 0-1000 darstellen.
Falls es jemand benötigt:
// Funktion, die den Wert liest, umrechnet und schreibt
function processValue() {
// Lese den Wert aus ioBroker (ersetze 'javascript.0.Dynamisches_Licht.Hilfswert_Kelvin' durch die tatsächliche Objekt-ID)
let sourceValue = getState('javascript.0.Dynamisches_Licht.Hilfswert_Kelvin').val;
// Kelvin range typically 2700K to 6500K
const minKelvin = 2200;
const maxKelvin = 6500;
// Tuya temperature range 0 to 1000
const minTuyaTemp = 0;
const maxTuyaTemp = 1000;
// Ensure the Kelvin value is within the expected range
if (sourceValue < minKelvin) sourceValue = minKelvin;
if (sourceValue > maxKelvin) sourceValue = maxKelvin;
// Convert Kelvin to Tuya temperature
const convertedValue = ((sourceValue - minKelvin) * (maxTuyaTemp - minTuyaTemp)) / (maxKelvin - minKelvin) + minTuyaTemp;
// Schreibe den umgerechneten Wert zurück zu ioBroker (ersetze 'javascript.0.Dynamisches_Licht.Hilfswert_Tuya' durch die tatsächliche Ziel-Objekt-ID, die Du noch erstellen musst)
setState('javascript.0.Dynamisches_Licht.Hilfswert_Tuya', Math.round(convertedValue));
console.log(`Wert von ${sourceValue} umgerechnet zu ${Math.round(convertedValue)} und geschrieben zu javascript.0.Dynamisches_Licht.Hilfswert_Tuya`);
}
// Setze das Update-Intervall auf eine Minute (60.000 Millisekunden)
setInterval(processValue, 60000);
// Starte den Prozess sofort, ohne auf das erste Intervall zu warten
processValue();