Script ändern Wallplug zu Aktor

Hallo ich hab vor ein paar Jahren das Waschmaschinen - Script abgeändert damit dies denn PC ausschaltet. Jetzt möchte ich anstelle des Wallplug einen Aktor vorbauen. bekomme dies aber nicht im Scribt hin. Vielleicht kann mir einer von euch helfen. Vielen dank.

--[[
%% properties
99 value
%% globals
--]]

WallplugID = 99; -- ID des Wallplug, hier ändern.
local vu_wz = 125
local vu_sz = 12
local phone1 = 189

local sourceTrigger = fibaro:getSourceTrigger();

if (sourceTrigger["type"] == "property") -- Trigger Wallplug
then
fibaro:debug('Wallplug Auslösung an/aus');
fibaro:sleep(60000); -- 10 min Wartezeit
local Wallplug = (tonumber(fibaro:getValue(WallplugID, "value")) > 0 ); -- Ist Wallplug an
if (Wallplug)
then
while true do
fibaro:debug('Loop läuft');
local PushAus = (tonumber(fibaro:getValue(WallplugID, "power")) < 50 ); -- Wallplug kleiner als 50 Watt
if (PushAus) then
fibaro:call(WallplugID, "turnOff"); -- Wallplug aus
fibaro:sleep(10000);
fibaro:call(vu_wz, "pressButton", "1")--WZ nachricht von Pc... an VU+!
fibaro:call(phone1, "sendPush", "PC ist aus!"); -- Push
break;
end
fibaro:sleep(60000);
end
end
end

Was heißt „einen Aktor vorbauen“? Der WP ist doch ein Aktor.

ok blöd ausgedrückt. einen unterputz-aktor denn fibaro fgs-213

Bin LUA-Anfänger, aber meiner Meinung nach müsstest Du in Zeile 3 und 7 nur die neue ID des Single Switch eintragen (anstelle von 99), dann sollte es schon funktionieren.

mhh ein versuch wert teste das mal am we aber meine das hab ich schonmal versucht. aber danke erstmal

Was mich wundert, dass in Zeile 7 vor „WallplugID“ kein „local“ steht, das kenne ich so (noch?) nicht. Das könntest Du ggfs. noch zufügen, wenn es nicht reicht nur die IDs zu ändern. Try and Error… :wink:

beides geht nicht. ich vermute mal das es am wallplug im scribt liegt. man müsste es umschreiben das es ein on/off switch ist

Hm, die IDs müssen ja auf jeden Fall angepasst werden.
Ich habe selber keinen Single Switch im Einsatz, weiß aber, dass man den als Taster oder Schalter konfigurieren kann (Parameter 20], evtl. liegt’s da dran.

hy dirk hatte gestern noch gebastelt. also hatte es soweit neu geschrieben das der loop funktionierte aber es nicht abgeschaltet hat. jetzt hab ich erstmal diese lösung aber auch noch nicht zufriedenstellend. to many instancen nach einer weile.

--[[
%% autostart
%% properties
86 power
%% globals
--]]

local vu_wz = 125
local vu_sz = 12
local phone1 = 189

local startSource = fibaro:getSourceTrigger();
if(startSource["type"] == "other") then
	fibaro:call(86, "turnOff");
	fibaro:debug('Pc an')
else
if (( tonumber(fibaro:getValue(86, "power")) < 50 )) then
setTimeout(function()
local delayedCheck0 = false;
local tempDeviceState0, deviceLastModification0 = fibaro:get(86, "power");
if (( tonumber(fibaro:getValue(86, "power")) < 50 ) and (os.time() - deviceLastModification0) >= 60) then
	delayedCheck0 = true;
end

local startSource = fibaro:getSourceTrigger();
if (
 ( delayedCheck0 == true )
or
startSource["type"] == "other"
)
then
	fibaro:call(86, "turnOff");
    fibaro:sleep(10000);
	fibaro:call(vu_wz, "pressButton", "1")--WZ nachricht von Pc... an VU+!
	fibaro:call(phone1, "sendPush", "PC ist aus!"); -- Push
end
end, 60000)
end
end

Da muss ich passen, sorry.
In Zeile 18 fehlt 'ne Klammer.

du meinst so ? setTimeout((function()

setTimeout(function())
Die Anzahl der ( muss identisch mit der Anzahl der ) sein.

Siehe z.B. Zeile 48 in dem verlinkten Script.
https://www.siio.de/board/thema/lua-script-bewegungsmelder-lux/

Ich muss meine Aussage mit „setTimeout(function()“ wohl korrigieren.
Ich habe jetzt schon mehrere Posts gefunden, in denen der Befehl genau so geschrieben ist, wie Du es auch hast, sorry.
Wie gesagt, bin LUA-Anfänger und bei Deinem Script kann ich auch nicht helfen.
Aber vielleicht findest Du in dem folgenden Post Hilfe:
https://www.siio.de/board/thema/to-many-instances-4/

ok vielen dank läuft ja jetzt erstmal der rest ist feintuning