Tagged: Smarthome

Fibaro LUA Script – Wallplug auto off – automatisch aus

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.

Fibaro Home Center 2 – LogDateien extrahieren – Update: V 4.540

Bekanntlichermaßen läuft das Fibaro HC2 auf einem Linux OS.
Doch ohne root Rechte konnte man sehr schwierig die System Logs lesen. Wenn man sich root Rechte verschafft, verfällt jedoch die Hersteller-Garantie.
Bei den Z-Wave- oder HC-Server-Logs ist noch kniffliger, an die kommt man zwar als Entwickler ran, jedoch für den ‚ideal-Standard‘-Benutzer ist das fast unmöglich.

Seit der Beta 4.111 ermöglicht Fibaro den Zugriff auf folgende Log-Dateien via Web-Aufruf den Zugriff:

# Server-Logs

fibaro.HCServer.log
fibaro.installerBatteryMonitor.log
fibaro.ServicesMonitor.log
fibaro.ServiceUpdate.log
fibaro.Scripts.log
fibaro.Zwave.log

# System-Logs

cron
cron.1
cpu.log
dbSize.log
disk.log
dmesg.log
interfaceData.log
lighttpd-access.log
lighttpd-errors.log
logrotate.status
meminfo.log
messages
messages.1
migration.log
netstat.log
ps.log
requestsToServer.log
serialNumber.log
user.log
version.log

Um an diese Log-Dateien zu kommen, muss man einen Logs-File-Dump laden:

http://homecenter2-IP/services/system/logsDump.php

Diesen Log-Dump entschlüsselt man dann folgt:

# entschlüsseln des Log-Dumps
openssl enc -d -aes-256-cbc -in LogsDump.tar.gz -out Logs.tar.gz -k fibaro-hc2
# entpacken des Log-Archivs
tar -xvfz  Logs.tar.gz

Viel Spass beim analysieren der Log-Dateien.

Update: funktioniert auch noch in der aktuellen Version 4.540 !

Quelle: intuitech.de