Unterschied: SetValue und RequestAction?

Guten Tag,
habe hier Probleme… Kann mir da Jemand auf die Sprünge helfen?

Danke und lg

SetValue ändert nur den Wert der Variable. RequestAction führt auch das möglicherweise hinterlegte Aktionsskript aus. RequestAction entspricht also der Aktion als würde sie im Webfront vom User ausgeführt.

1 „Gefällt mir“

Danke!
Ich habe dann aber ein Problem:

bekanntlich habe ich ja mit dem Modul von Kai ein Problem:
Also das Modul funktioniert einwandfrei denke ich, nur wenn ich Präsenzabhängig oder auch nur Zeitabhängig das Display/Bildschirm dunkel schalten möchte geht es mit RequestAction NICHT!
Mit SetValue schaltet er die Variable!
Aber (!)
Mit SetValue zeigt mir das Debugfenster NICHT den Befehl, mit RequestAction aber schon (es wird aber der Variable nicht geschaltet)

Hier schön zu sehen:

Kenn mich nicht mehr aus…
Wieso?
lg

Weil das Setzen einer Variable auf einen Wert nie eine Aktion auslöst.
Du veränderst nur den angezeigten Wert.
Wenn du willst das eine Aktion ausgelöst wird, musst du RequestAction benutzen. Das sendet den neuen Wert an die Instanz und sie schaltet dann z.b. die Hardware.

Michael

Hi Michael,
ja aber wenn ich RA verwende dann passiert eben Nichts!
Die Bildschirmvariable wird nicht verändert! Bei SV schon…

Wer sagt das eine Aktion immer die Variable ändern muss?
Wenn die Aktion fehlschlägt, weil z.B. die Hardware nicht reagiert, dann bleibt die Variable auf dem alten Wert.
RequestAction verändert nie direkt die Variable. Das ist immer abhängig von der Aktion dahinter.
Die Variable zeigt den Ist-Zustand an. Und nicht den gewünschten.
Michael

1 „Gefällt mir“

Update:
Mhh, vielleicht checks ichs wirklich nicht! Frage auch an @KaiS
Kann es sein, das der Bildschirm mit RA tatsächlich ausgeschaltet wird? Und ich den aktuellen Zustand ERST sehe wenn das Modul updatet?
Hingegen wenn ich mit SetValue schalte wird das Display nicht wirklich ausgeschaltet sonder NUR bei mir im IPS so angezeigt???
Ich kanns leider nicht kontrollieren, da ich nicht zuhause bin.

Das ist doch was du meinst Michael, oder?

Danke
lg

War das Modul nicht von @KaiS ?
Wenn ein Modul einen festen Intervall hat, von z.b. 60 Sekunden, siehst du den neuen Wert erst nach dem nächsten Intervall.
Außer das Modul aktualisiert die Variable nach einem erfolgreichen Schaltvorgang.
Michael

1 „Gefällt mir“

Jop. Richtig KaiS :slight_smile:

Ich habs jetzt verstanden glaube ich, aber dann stimmt etwas mit dem Modul nicht:
Mit RequestAction habe ich dann im Intervall des Updates des Modul diese „Zerhackung“

z.B.:
Keine Präsenz/oder 30 Sekunden Timer → Skript schaltet Bildschirm mit RequestAction AUS → Im Intervall des Updates (15 Sekunden) kommt kurz ein EIN und dann wieder beim nächsten Aufruf des Skripts das AUS…

Das Modul funktioniert, ich setze es genauso bei mir ein und bei mir wird der Status auch zurückgegeben. :wink:
Es wird geprüft, ob der Befehl erfolgreich war und dann wird die Variable auf true bzw. false gesetzt.

Es gibt eine neue Beta Version.
Ich habe mal ein weitere Meldung im Debug eingebaut. Kannst du mal ein neues Debug posten?
Am besten wir wechseln aber wieder in den dazugehörigen Thread. Ich führe die Beiträge jetzt nicht zusammen. Da ich hier dann alles aus dem Zusammenhang reißen würde.

Grüße,
Kai