Script: Schalte Gerät ab wenn länger als X Energieverbrauch unter Y

--[[
%% properties
245 power
%% globals
--]]
 
local wallplug = 245 -- wallplug
local standby = 15 -- Verbrauch, unter dem der Standby-Modus erkannt werden soll

if (fibaro:countScenes()>1)
  then
 	fibaro:abort();
  fibaro:debug('abort');
end

local run = 0
local counter = 0
local currentDate = os.date('*t');
local power = fibaro:getValue(wallplug, "power")

if ((tonumber(fibaro:getValue(wallplug, "power")) > 1 ) and run == 0) then
  local start = (os.time())
  fibaro:debug('Verbraucher ist on...')
  fibaro:sleep(120*1000);  
  fibaro:debug('Verbrauch = '..power..' Watt')
  run = 1
end

while run == 1 do
 
  if (tonumber(fibaro:getValue(wallplug, "value")) == 1) then
    if ((tonumber(fibaro:getValue(wallplug, "power")) < standby))
        then
          -- fibaro:debug('Wasserkocher im Standby; zähle counter hoch');
          if (counter == 90) then
            fibaro:debug('Wasserkocher noch im Standby; 15 min sind vergangen; Schalte Wallplug aus');
            fibaro:call(wallplug, 'turnOff')
        end
      counter = counter + 1
      -- fibaro:debug(counter)
    elseif (tonumber(fibaro:getValue(wallplug, "power")) > standby)
        then
          fibaro:debug('Wasserkocher wieder an; counter resettet');
          counter = 0
    end
  elseif (tonumber(fibaro:getValue(wallplug, "value")) == 0) then
          fibaro:debug("Wasserkocher aus... Abort scene")
          run = 0
          counter = 0
  end
  fibaro:sleep(10*1000)
end

Das oben aufgeführte Script wird ausgeführt (getriggert) wenn der Wallplug vor dem Wasserkocher eingeschalten wird.
Dann prüft die Szene ob Sie schon ausgeführt wird, wenn nicht geht sie in die Schleife. prüft ob der Verbrauch unter dem Wert der oben definierten Variable: local standby in Watt ist. Falls nicht wartet Sie, sobald der Verbrauch unter den Wert fällt, startet ein Counter. Ist dieser bei 90 (15min) angekommen, wird das Gerät abgeschaltet.
Geht der Energieverbrauch zwischenzeitlich wieder hoch, so wird der Counter resettet.

Ich verwende es um Geräte im Standby (TV, Wasserkocher, Kaffeemaschine ect) abzuschalten

Hallo crissxcross,
super Script. Vielen Dank.
Hab die ID und den Verbrauch angepasst und nun wird unsere Handyladestation abgeschaltet nachdem das Handy komplett geladen ist.

Daumenhoch

Gruss
Carsten

Hallo crissxcross,

tolles Script.
Ich nutze es um den Fernseher komplett vom Strom zu nehmen wenn ich ihn mit der Fernbedienung in Standby bringe. Ich habe aber noch keine tolle Lösung gefunden den Fernseher wieder ans Stromnetz zu bringen (wallplug anschalten) wenn ich den Fernseher wieder über die Fernbedienung einschalten möchte. Denn zu diesem Zeitpunkt ist er ja noch vom Stromnetz getrennt. Geht das nur wenn ich den Wallplug zu einer bestimmten Uhrzeit wieder anschalte?

Gruß Armin

Hallo zusammen!

Ich habe das mit Fibaro Swipe gelöst. Eine Handbewegung und der Wallplug wird eingeschaltet:-)

Grüße

Christian

@Armin: ich stand am letzten Wochenende vor dem selben Problem. Hatte noch eine Philips Hue Steckdose über. Diese hab ich jetzt einfach “missbraucht”. Ich schalte die Steckdose der Hue per Remote (Logitech) ein, Plug vom TV geht an und die Philips Hue Steckdose geht wiede raus :slight_smile: Ist zwar etwas umständlich, hatte aber das Problem das meine Steckdose vom TV hinterm Schran ist. Die Philips Steckdose habe ich im Keller installiert :wink: Vielleicht fällt mir ja noch eine bessere Lösung ein.

Ich habe das Script siehe oben, eingebunden und angepasst (ID’s) usw.

kann ich einfach unter der Zeile 37 - fibaro:call(wallplug, ‘turnOff’) noch eine Zeile einfügen das er eine Pushmitteilung versenden soll.
Ich hat dies “fibaro:call(182, “sendDefinedPushNotification”, “12”);” eingefügt erhalte dann aber eine Fehlermedung.

Hii

mit “sendDefinedPushNotification” werde die vordefinierten Pushes verschickt.
Die müssen zuvor angelegt sein

Verwende mal:
fibaro:call(Deine_Phone_ID, 'sendPush', 'WallPlug wurde ausgeschaltet.')

VG Hoggle