NEWS
If statement wird nicht ausgeführt
-
Hallo zusammen!
Ich habe einen Multisensor, der einen Helligkeitswert liefert.
Der Datenpunkt
fhem.0.ug_buero_multisensor_zwave.luminanceliefert bspw. als Wert60 Lux, also einen String.Ich habe daher in einem Blockly Script zunächst eine Variable
luminanceerstellt, die bei Änderung des Objektwertes diesen in eine Zahl umwandelt. Aus60 Luxwird dann60. Das läuft und lässt sich auch im Log per debug output ablesen.Nun möchte ich eine eigentlich simple IF Abfrage erstellen. Falls der Wert von
luminancegrößer ist als 50, soll eine Sonoff Steckdose eingeschaltet werden. Dies habe ich mittelssteuere...-Element realisiert. Wenn ich dieses Blockly-Element isoliert ausführen lasse, schaltet sich die Steckdose ein.Mein Problem liegt anscheinend in dem
falls...macheBlock.Vermutlich ist die Lösung ziemlich simpel.
Hier das Script:

var luminance; on({id: "fhem.0.ug_buero_multisensor_zwave.luminance"/*Multisensor Büro luminance*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; luminance = parseFloat(getState("fhem.0.ug_buero_multisensor_zwave.luminance").val); console.log(('luminance: ' + String(luminance))); }); if (luminance > 50) { setState("mqtt.0.smarthome.ug.sz.bueroheizung.cmnd.Power"/*smarthome/ug/sz/bueroheizung/cmnd/Power*/, 'on'); }Besten Dank...
-
Hallo zusammen!
Ich habe einen Multisensor, der einen Helligkeitswert liefert.
Der Datenpunkt
fhem.0.ug_buero_multisensor_zwave.luminanceliefert bspw. als Wert60 Lux, also einen String.Ich habe daher in einem Blockly Script zunächst eine Variable
luminanceerstellt, die bei Änderung des Objektwertes diesen in eine Zahl umwandelt. Aus60 Luxwird dann60. Das läuft und lässt sich auch im Log per debug output ablesen.Nun möchte ich eine eigentlich simple IF Abfrage erstellen. Falls der Wert von
luminancegrößer ist als 50, soll eine Sonoff Steckdose eingeschaltet werden. Dies habe ich mittelssteuere...-Element realisiert. Wenn ich dieses Blockly-Element isoliert ausführen lasse, schaltet sich die Steckdose ein.Mein Problem liegt anscheinend in dem
falls...macheBlock.Vermutlich ist die Lösung ziemlich simpel.
Hier das Script:

var luminance; on({id: "fhem.0.ug_buero_multisensor_zwave.luminance"/*Multisensor Büro luminance*/, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; luminance = parseFloat(getState("fhem.0.ug_buero_multisensor_zwave.luminance").val); console.log(('luminance: ' + String(luminance))); }); if (luminance > 50) { setState("mqtt.0.smarthome.ug.sz.bueroheizung.cmnd.Power"/*smarthome/ug/sz/bueroheizung/cmnd/Power*/, 'on'); }Besten Dank...
-
Das If Statement wird nur einmal bei Skriptstart ausgeführt. Wenn du es in Verbindung mit dem Trigger ausführen willst muss es auch innerhalb des Trigger-Blocks stehen.
A.
@Asgothian
Habs geblickt. Danke! :-)
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