Automatische Abschaltung bei Unterschreitung eines Verbrauchswertes

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)