NEWS
Shelly 2.5, Vergleich Strings funktioniert nicht
-
Hallo zusammen
Um den Winkel der Lamellen genau einstellen zu können, wollte ich in Blockly eine Logik aufbauen. Wenn die Lamellen waagrecht stehen, funktioniert mein Skript, den Motor kurze Zeit fahren zu lassen. Damit ich weiss, wie lange dies in welche Richtung passieren muss, will ich detektieren in welche Richtung die Storen zuletzt gefahren sind.
Der Datenpunkt von Shelly ist ein String, der entweder den Inhalt "stop", "open" oder "close" hat. Wenn ich den Status entsprechend steuere funktioniert es, nur das Auslesen mit vergleichen bekomme ich nicht hin.
Hier das funktionierende Skript zum Anfahren des Winkels über eine gewisse Zeit:
und der gescheiterte Vergleich:
hier noch das Skript:
var timeout; on({id: [].concat(getState('shelly.0.SHSW-25#4C752533E986#1.Shutter.state').val != 'stop'), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; timeout = setTimeout(async function () { if (getState('shelly.0.SHSW-25#4C752533E986#1.Shutter.state').val != 'stop') { if (getState('shelly.0.SHSW-25#4C752533E986#1.Shutter.state').val == 'open') { setState("0_userdata.0.Wohnzimmer.Store1.ZuletztHoch"/*ZuletztHoch*/, true); setState("0_userdata.0.Wohnzimmer.Store1.ZuletztRunter"/*ZuletztRunter*/, false); } setState("0_userdata.0.Wohnzimmer.Store1.ZuletztRunter"/*ZuletztRunter*/, true); setState("0_userdata.0.Wohnzimmer.Store1.ZuletztHoch"/*ZuletztHoch*/, false); } }, parseInt(2000)); });
kann mir da jemand helfen? Ich bin leider noch nicht so versiert in der Anwendung des gesamten ioBrokers, komme aus der FUPLA, KOPLA-Ecke.
vielen Dank und Grüsse an alle,
Bidu79 -
@bidu79
An einen Trigger können nur Datenpunkt-IDs übergeben werden - keine Werte und keine Vergleiche! Der Vergleich muss innerhalb des Triggers erfolgen.EDIT: Ein Datenpunkt für die letzte Richtung sollte genügen:
-
@paul53 Vielen Dank
Wo passiert der Vergleich, ob der Shutter.State den Wert "stop" hat oder nicht? Übersehe ich da etwas?Grüsse Bidu79
-
@bidu79 sagte: Wo passiert der Vergleich, ob der Shutter.State den Wert "stop" hat oder nicht?
Wert
enthält den Wert des Trigger-Datenpunktes, also "open"/"stop"/"close".