Hallo Miteinander,
ich betreibe einen 3D-Drucker an einem Wall-Plug.
Wenn der Drucker fertig ist möchte ich gerne dass der Wallplug nach 10 min Unterschreitung einer Leistung von 12 Watt von selbst ausgeht.
Ich finde keine passen Parameter für eine gradfische Szenen Programmierung (von LUA und Skript habe ich keine Ahnung).
Auch die Parameter des Wallplug und irgendwelche Assoziationen helfen mir nicht, da man offenbar keine Assoziation mit dem zu schaltenden Gerät selbst vornahmen kann.
Hat da noch jemand eine Idee ? Ist doch eigentlich eine einfache Anforderung dachte ich.
hallo @jochenrettich
HC2 oder HC3?
ich würde das wirklich mit LUA machen, für HC2 hab ich ein fertiges Skript, das du ohne Probleme Anpassen kannst. Ich bin mir sicher falls HC3 kann dir auch jemand eins zur Verfügung stellen.
434 ist die ID vom Wallplug, einfach anpassen.
bei mir ist die Schwelle 3 Watt, auch einfach anpassen.
Gruß - kro
--[[
%% properties
434 value
434 power
%% globals
--]]
-- VARIABLES ----------------------------------------------------------------
local debug = 0
local sourceTrigger = fibaro:getSourceTrigger();
--table type for function compatibility
local laptopId = 434
local laptop_power
--wie lange soll die Verzögerung sein?
local startDelay = 60
-- FUNCTIONS ----------------------------------------------------------------
function Debug(color, message)
if (debug == '1') then
fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"))
end
end
--Switch on given Devices
function turnDevicesOn(ids)
-- if ( tonumber(fibaro:getValue(ids, "value")) == 0 ) then
fibaro:call(ids, "turnOn")
Debug("white", "....device: '"..fibaro:getName(ids).."' turned ON")
--end
fibaro:sleep(1000)
end
-- Switch off given Devices
function turnDevicesOff(ids)
--if ( tonumber(fibaro:getValue(ids, "value")) > 0 ) then
fibaro:call(ids, "turnOff")
Debug("white", "....device: '"..fibaro:getName(ids).."' turned OFF")
--end
fibaro:sleep(1000)
end
-- Switch off all Devices
function turnAllOff()
Debug("white", "..turning OFF devices:")
turnDevicesOff(laptopId)
end
-- LOGIC --------------------------------------------------------------------
if (fibaro:countScenes() > 1) then
fibaro:abort();
end
Debug("green", "started by " ..sourceTrigger["type"])
function main()
laptop_power = tonumber(fibaro:getValue(laptopId, "power"))
Debug("white","Device " .. laptopId .." Power:" ..laptop_power)
-- power smaller 3 -> switch off
if ( laptop_power < 3 ) then
Debug("yellow", "Gerät im Standby")
Debug("white", "Switch off: Laptop")
turnDevicesOff(laptopId)
end
end
if tonumber(fibaro:getValue(laptopId, "value")) < 1 then
Debug("white", "Device is OFF, scene aborted ...")
fibaro:abort()
end
Debug("white", "Scene STARTED --------------------------")
-- wait x seconds then start main()
setTimeout(main, startDelay * 1000)