Lampe geht nicht an

Hallo zusammen,

ich möchte mit folgendem Script dass wenn es täglich nach 20 Uhr ist und der Fernseher mehr als 10 Watt benötigt, dass die Lampe angeht, ansonsten ausbleibt.
Ich habe folgendes Script geschrieben aber es funktioniert nicht. Habe die vermutlich dass die aktuell Zeit in Stunden das Problem ist.
Kann mir wer helfen?

Grüße,
Daniel

--[[
%% autostart
%% properties
34 power
%% events
%% globals
--]]

local AktuelleZeitStunde = os.date("%H");

if((tonumber(fibaro:getValue(34, "power")) > 10)) and
(AktuelleZeitStunde > "22") then

  fibaro:call(17, "turnOn");
else
fibaro:call(17, "turnOff");
end

Hi,

in diesem Script wird viel mit Uhrzeiten gearbeitet:
http://www.siio.de/board/thema/weihnachtsbeleuchtung/#post-18987

VG Hoggle

Hi, leider hilft mir das nicht weiter, weil ich nicht weiß was der fehler ist… Normal müsste doch nach 20 Uhr aktueller Zeit und einem Verbrauch des Fernsehers von mehr als 10 Watt das Licht angehen. leider klappt das nicht.
Wo liegt der Fehler?

VG

In Zeile 12 nutzt Du “> 22”.
Das wird dann erst ab 23 Unr wirken.

Hi,

bitte das Skript, was Hoggle gepostet hat anschauen und dein Skript anpassen.

Würd dir vorschlagen, nicht für jedes Thema einen neuen Thread zu machen, für den es bereits fertige Lösungen gibt. Les dir mal ein bißchen was durch und probier es aus. Viele Sachen würden sich dann selbst erklären.

Gruß

Hi,

ja werde ich darauf achten… Es ist nur so, dass der Einstieg brutal schwierig ist, zumindest für mich und da bin ich froh, dass man Denkanstöße bekommt. Ich finde das Thema sehr interessant, aber ohne Hilfe beim Einstieg, ist es zum verzweifeln…

Grüße

Hallo Daniel,

hast du dein Problem gelöst!?

Ich saß in der der Bahn und habe ich kurz etwas zusammen geschrieben.
Somit konnte ich es leider nicht testen… Du kannst ja mal berichten ob es klappt

--[[
%% autostart
%% properties
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
local currentDate = os.date("*t");

fibaro:debug(os.date("Szene wurde erstmals am %d.%m.%Y um %H:%M Uhr gestartet."))

------------ Funktion ------------ 
function lichtsteuerung()
   local currentDate = os.date('*t');
-----------------------------------
  
--- Licht an --- 
if ( ((string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "20:00") and (tonumber(fibaro:getValue(34, "power")) > 10) )) then
fibaro:debug('Es ist 20:00 Uhr und der TV ist eingeschaltet. ');   
fibaro:call(17, "turnOn");
-----------------

--- Licht aus ---  
elseif ( ((string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "20:00") and (tonumber(fibaro:getValue(34, "power")) < 10) ))then
fibaro:debug('Es ist 20:00 Uhr und der TV ist ausgeschaltet. ');   
fibaro:call(17, "turnOff");
end
-----------------

     setTimeout(lichtsteuerung, 60*1000);
end
 
if (sourceTrigger['type'] == 'autostart') then
 lichtsteuerung();
end

Hi,

super vielen Dank… Ich hab zwar was gebastelt, was auch einigermaßen funktioniert, aber ich teste dein Script gerne:-)

Grüße