Ja mam tak rozwiązane:
--[[
%% properties
236 power
136 power
%% globals
--]]
if (fibaro:countScenes()>1) then
fibaro:debug("Scena pralki nie może być uruchomiona ponownie");
fibaro:abort();
end
local lvn_WashingMachine_ID = 236;
local lvn_neTV_ID = 136;
local lvn_TimeCounter = 0;
local lvn_WashingMachinePowerON = 4.0;
local lvn_WashingTime = 0;
local lvt_WashingMachineStartTimeHours;
local lvt_WashingMachineStartTimeMins;
local lvt_WashingMachineStartTimeSecs;
local lvt_currentDate = os.date("*t");
local lvt_WashingMachineStartTime;
local lvt_WashingMachineStopTime;
local lvb_Washing = false;
local lvb_WashingFinished = false;
fibaro:debug("Scena - nadzór nad pralką uruchomiony");
if (tonumber(fibaro:getValue(lvn_WashingMachine_ID, "power")) > lvn_WashingMachinePowerON) and lvb_Washing == false then
lvt_WashingMachineStartTime = tonumber(os.time());
lvb_Washing = true;
lvb_WashingFinished = false;
fibaro:debug("Pralka wystartowała: " .. os.date());
-- fibaro:debug("Aktualne zużycie prądu: "..power.." W");
end;
while lvb_Washing do
if tonumber(fibaro:getValue(lvn_WashingMachine_ID, "power")) > lvn_WashingMachinePowerON then
lvn_TimeCounter = 0;
elseif (tonumber(fibaro:getValue(lvn_WashingMachine_ID, "power")) < lvn_WashingMachinePowerON) and lvn_TimeCounter <= 60 then
lvn_TimeCounter = lvn_TimeCounter + 1;
elseif (tonumber(fibaro:getValue(lvn_WashingMachine_ID, "power")) < lvn_WashingMachinePowerON ) and lvn_TimeCounter > 60 then
fibaro:debug("Pranie zakończone.");
lvb_Washing = false;
lvt_WashingMachineStopTime = tonumber(os.time());
lvb_WashingFinished = true;
end;
fibaro:sleep(1000);
end;
------------------------------------------------------------------------------
if lvb_WashingFinished == true then
lvn_WashingTime = os.difftime (lvt_WashingMachineStopTime, lvt_WashingMachineStartTime);
local lvt_WashingMachineStartTimeHours = string.format("%02.f", math.floor(lvn_WashingTime/3600));
local lvt_WashingMachineStartTimeMins = string.format("%02.f", math.floor(lvn_WashingTime/60 - (lvt_WashingMachineStartTimeHours*60)));
local lvt_WashingMachineStartTimeSecs = string.format("%02.f", math.floor(lvn_WashingTime - lvt_WashingMachineStartTimeHours*3600 - lvt_WashingMachineStartTimeMins*60));
lvs_neTV_text = "Pranie zakończone. Czas prania: "..lvt_WashingMachineStartTimeHours..":"..lvt_WashingMachineStartTimeMins..":"..lvt_WashingMachineStartTimeSecs;
fibaro:debug(lvs_neTV_text);
fibaro:setGlobal("gls_neTV_text", lvs_neTV_text);
fibaro:call(lvn_neTV_ID, "pressButton", "17");
fibaro:call(154, "pressButton", "20")
end;
wyświetla mi napis z netv na telewizorku i gada przez gadaczke. niestety nie wiem kto jest pierwszym autorem tego skryptu.
Pobaw się może coś pomoże.