Heute mal ein kleines LUA-script, welches ich zu Hause einsetze um den StandbyVerbrauch (37 W) der angeschlossenen Multimediageräte (TV, Sat-Receiver, BlueRay-Player etc.) nach einer Leerlaufzeit von 4 Minuten auf 0 zu reduzieren ! Genutzt wird das Ganze mit dem HomeCenter 2 und den Wallplugs von Fibaro.

-- @file wallplug_auto_off.lua
-- @author oliver schmidt
-- @date 2016-08-18
-- @licence
-- © Oliver Schmidt (tutorials at net-fx2 dot de)
-- Unless stated otherwise, all lua-code of this Project is:
-- Licensed under the Create-Commons Attribution-Noncommercial-Share Alike 3.0 Unported
-- http://creativecommons.org/licenses/by-nc-sa/3.0/
--[[
%% properties
%% autostart
%% globals
--]]
local version = '1.0';
local sleep_value = 60000; -- SleepValue for while-loop
local sleep_counter = 0; -- initialize sleep_counter
local low_power = 40; -- low-power-value --> turn off device when powerconsumption is lower than specified value (watts)
local wall_plug = 57; -- fibaro-ID of the desired wallplug
local set_off_time = 240000; -- 240 seconds -- 4 minutes
fibaro:debug('Automatische WallplugAbschaltung bei EnergyLevel unter 40 Watt nach 3 Minuten (Ver.' .. version .. ')');
if (fibaro:countScenes() > 1)
then
fibaro:abort();
fibaro:debug('abort');
end
while true do
fibaro:debug('SleepCounter: ' ..sleep_counter);
local wp_power = tonumber(fibaro:getValue(wall_plug,"power"));
--fibaro:debug(wp_power);
-- only for debugging
-- if(wp_power > 0)
-- then fibaro:debug('WallPlug ist eingeschaltet..');
-- fibaro:debug('Aktueller Verbrauch: '.. wp_power ..' Watt.');
-- else fibaro:debug('Wallplug ist ausgeschaltet');
-- end
if (wp_power < low_power and wp_power > 0) then
sleep_counter = sleep_counter + sleep_value;
else
-- Zurücksetzen des SleepCounter wenn die angeschlossenen Geräte wieder
-- innnerhalb der eingestellten set_off_time eingeschaltet und genutzt werden
sleep_counter = 0;
end
if(sleep_counter == set_off_time and sleep_counter > 0)
then fibaro:debug('WallPlug wird nach ' .. set_off_time/1000/60 .. ' Minuten unter ' .. low_power .. ' \n Watt Verbrauch abgeschaltet.' );
fibaro:call(wall_plug,"turnOff");
sleep_counter = 0;
end
fibaro:sleep(sleep_value);
end
Über Anregungen oder auch Kommentare freue ich mich wie immer gerne.