NEWS
[gelöst] variable Rolladenposition über Vis
-
Hallo liebe Gemeinde,
ich habe folgendes Script welches funktioniert aber folgenden Fehler erzeugt.
" You are assigning a string to the state "knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position" which expects a number."var idt1 = 'javascript.2.Zeiten.Isabelle.Nachtruhe.Start'; var timer1; var Pos_Nachtruhe = 'javascript.2.Rolladen.Positionen.Isabelle.Nachtruhe'; function getTimeObject(state) { var t = state.val.split(":"); var h = parseInt(t[0]); var m = parseInt(t[1]); return {hour: h, minute: m}; } on(idt1, function(dp) { var t = getTimeObject(dp.newState); if (timer1) clearSchedule(timer1); timer1 = on({time: t}, function () { Nachtruhe (); }); }); var state = getState(idt1); var t = getTimeObject(state); if (timer1) clearSchedule(timer1); timer1 = on({time: t}, function () { Nachtruhe (); }); function Nachtruhe() { // Abbruch if (getState("knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position"/*OG-Isabelle-Rolladen-Position*/).val >= 10 || getState("knx.0.Rolladen.Rolladen-Betrieb.OG-Isabelle-Rolladen-Sperre"/*OG-Isabelle-Rolladen-Sperre*/).val === 1 || getState("javascript.2.Zeiten.Isabelle.Nachtruhe.Freigabe").val === 0) { return; } event("Isabelle...Rolladen hat Nachtruheposition durch Zeitvorgabe angefahren","Allgemein",""); setState("knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position"/*OG-Isabelle-Rolladen-Position*/,getState(Pos_Nachtruhe).val); }Über Vis gebe ich per Input Widget eine Prozentzahl vor für die Position.
Dieses Widget gibt immer einen String obwohl der Datenpunkt als Number deklariert ist.
Die Position der Rollade ist auch ein Number.Was kann ich da nun tun um die Fehlermeldung zu bereinigen?
Danke im voraus
Sebastian
-
var pos = Number(getState(Pos_Nachtruhe).val);
if (!isNaN(pos)) {
event("Isabelle...Rolladen hat Nachtruheposition durch Zeitvorgabe angefahren","Allgemein","");
setState("knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position"/OG-Isabelle-Rolladen-Position/, pos);
} -
Hallo liebe Gemeinde,
ich habe folgendes Script welches funktioniert aber folgenden Fehler erzeugt.
" You are assigning a string to the state "knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position" which expects a number."var idt1 = 'javascript.2.Zeiten.Isabelle.Nachtruhe.Start'; var timer1; var Pos_Nachtruhe = 'javascript.2.Rolladen.Positionen.Isabelle.Nachtruhe'; function getTimeObject(state) { var t = state.val.split(":"); var h = parseInt(t[0]); var m = parseInt(t[1]); return {hour: h, minute: m}; } on(idt1, function(dp) { var t = getTimeObject(dp.newState); if (timer1) clearSchedule(timer1); timer1 = on({time: t}, function () { Nachtruhe (); }); }); var state = getState(idt1); var t = getTimeObject(state); if (timer1) clearSchedule(timer1); timer1 = on({time: t}, function () { Nachtruhe (); }); function Nachtruhe() { // Abbruch if (getState("knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position"/*OG-Isabelle-Rolladen-Position*/).val >= 10 || getState("knx.0.Rolladen.Rolladen-Betrieb.OG-Isabelle-Rolladen-Sperre"/*OG-Isabelle-Rolladen-Sperre*/).val === 1 || getState("javascript.2.Zeiten.Isabelle.Nachtruhe.Freigabe").val === 0) { return; } event("Isabelle...Rolladen hat Nachtruheposition durch Zeitvorgabe angefahren","Allgemein",""); setState("knx.0.Rolladen.Rolladen-Position.OG-Isabelle-Rolladen-Position"/*OG-Isabelle-Rolladen-Position*/,getState(Pos_Nachtruhe).val); }Über Vis gebe ich per Input Widget eine Prozentzahl vor für die Position.
Dieses Widget gibt immer einen String obwohl der Datenpunkt als Number deklariert ist.
Die Position der Rollade ist auch ein Number.Was kann ich da nun tun um die Fehlermeldung zu bereinigen?
Danke im voraus
Sebastian
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden