Jag är ännu för feg för att gå över till lua. Står ju att man inte kan gå tillbaka om man valt lua.
15 min innan solnedgång finns ju.;)
Ska titta på fibaro uk och se om jag blir klokare. Just nu är det väldigt stor förvirring :s
 
Tobiasfranzen77 skrev:
Jag är ännu för feg för att gå över till lua. Står ju att man inte kan gå tillbaka om man valt lua.
15 min innan solnedgång finns ju.;)
Ska titta på fibaro uk och se om jag blir klokare. Just nu är det väldigt stor förvirring :s
Just den scenen kan inte bli grafisk igen, men det är ju bara att ta bort och göra om :)

Nej 15 min innan finns inte.. där emot 15 minuter efter..
 
Tobiasfranzen77 skrev:
Jag är ännu för feg för att gå över till lua. Står ju att man inte kan gå tillbaka om man valt lua.
Så länge du inte redigerar koden går det att backa till grafiskt.

3.590
 
Jag har en fruktansvärt irriterande bugg som jag inte vet hur jag ska felsöka.

Jag har en slider i en virtuell enhet där jag ställer in väckningstid. När den är uppnådd (kollas varje minut) så startas en loop som dimmar upp (Fibarodimmer) ljuset i taklampan från 0 till 100 under 20 minuter.

Nu till buggen. Någonting hakar upp sig någonstans och taklampan tänds med ett ryck från 0 till 50% typ. Den struntar alltså i alla dimmningar 0..1..2.. ..48..49.. osv tills den "vaknar" och hoppar in där den borde vara. Scriptet fungerar felfritt när jag testar jag testar på dagen.

Hur felsöker jag det här på bästa sätt?
 
Ja nu minns inte jag om du kör vera eller hc2 - men jag skulle vilja se scriptet ;-)

Och är du SÄKER på att lampan verkligen klarar av dim nivå under 50? Jag menar, det är inte så att den kanske inte tänder på för låg nivå - dvs är det en vanlig glödlampa, LED eller lågenergi - eller vad är det för typ av lampa?

Om du kör fibaro HC2 kan du ju alltid skriva ut debug information:
fibaro:debug("Lite text: "..variabelnamn)
 
Bamsefar skrev:
Ja nu minns inte jag om du kör vera eller hc2 - men jag skulle vilja se scriptet ;-)
Direkt när du skrev det där så kom jag på vad som är fel.

Jag nollställer aldrig "aktuellt värde". Andra gången den går så startar den på 100. På måndag ska jag testa igen. Visst får du se scriptet. Jag har kommenterat det hej villt för din skull :D
 
--[[
%% autostart
%% properties
%% globals
--]]

fibaro:debug('Startar scen');

-- Dimmern till taklampan
local device = 9;

-- Den virtuella device som har väckningstiden
local virtualDevice = 34;
local virtualDeviceLabel = 'ui.ParentsAlarmTime.value';

-- Tid från start till stopp för väckning, startnivå och slutnivå
local dimDurationMinutes = "20";
local startLevel = 1;
local endLevel = 100;

-- Väckningstid (i minuter från 00:00)
local startTime;
-- Aktuell tidsstämpel
local now;
-- Aktuell tid (i minuter från 00:00)
local time;
-- Senast satta ljusstyrka
local level;
-- Dimmningssteg (i praktiken 1 eller -1)
local step = (endLevel - startLevel) / math.abs(endLevel - startLevel);
-- Tid i ms mellan dimmningssteg
local stepTimeMs = math.floor(1000 * 60 * dimDurationMinutes / math.abs(endLevel - startLevel));

-- Evig loop
while true do
-- Hämta aktuell tid
now = os.date("*t");
-- Konvertera till minut-format
time = tonumber(string.format("%02d", now.hour) * 60 + string.format("%02d", now.min));

-- Hämta väckningsdtid
startTime = fibaro:getValue(virtualDevice, virtualDeviceLabel)
-- Om starttiden är annan än "Av", konvertera till minut-format
if (startTime ~= "Av") then
startTime = string.sub(startTime,1,2) * 60 + string.sub(startTime,4,5)
end

fibaro:debug('Aktuell tid: '..time..', väckarklocka: '..startTime);

-- Om det är vardag och väckningstiden infallit, starta väckning
if ((startTime == time) and (now.wday >= 2) and (now.wday <= 6) and (startTime ~= "Av")) then
fibaro:debug('Startar väckarklocka');

-- Sätt startnivå
level = startLevel;
fibaro:call(device, "setValue", level);
fibaro:sleep(stepTimeMs);

-- Loopa dimmning
repeat
level = level + step;
fibaro:debug('Sätter nivå: '..level);
fibaro:call(device, "setValue", level);
fibaro:sleep(stepTimeMs);

-- Kontrollera om ljusstyrkan ändrats manuellt, om så, avbryt väckarklockan
if (tonumber(fibaro:getValue(device, "value")) ~= level) then
fibaro:debug(tonumber(fibaro:getValue(device, "value")).." vs ".. level ..', Avbryter väckarklocka');
break;
end;
until (level == endLevel)

-- Släck taklampan efter 80 minuter om den lämnats tänd
fibaro:debug('Väntar på släckning');
fibaro:sleep(80*60*1000);
fibaro:call(device, "turnOff");
end
-- Sleep 55 sekunder mellan kontroll av tid
fibaro:sleep(55*1000);
end
 
Det var raden "level = startLevel;" som saknades. Efter första körningen startade den på 100.
 
Hur gör man egentligen för att bygga om Mesh-nätverket? Jag har idag bytt plats på två dimmrar. Det borde finnas ett kommando för att få controllern uppdatera routing-tabellerna på bästa sätt.
 
Om det är lua som du skriver i ovan så har du avskräckt mig för all framtid!

Finns det nån tråd här som visar hur man lägger enkla scener?
För jag känner att jag skulle behöva en tråd typ fibaro for dummies ;)
 
Tobiasfranzen77 skrev:
Om det är lua som du skriver i ovan så har du avskräckt mig för all framtid!
Det är LUA. Men jag har programmerat en del genom åren och tycker det är kul att göra det... "smart"...

Den här raden till exempel:
local stepTimeMs = math.floor(1000 * 60 * dimDurationMinutes / math.abs(endLevel - startLevel));
räknar ut att om man ska dimma från 1 till 100 på 20 minuter så ska det vara 12,121 sekunder mellan varje steg.

Jag hade ju lika gärna kunnat skriva:
local stepTimeMs = 12121
men då blir det ju krångligare om man vill ändra till max 50% dimmning eller 30 minuter och man har glömt bort hur man tänkte när man programmerade.

Säg vad du vill göra i stället. Man ska börja i rätt ände.
 
Redigerat:
Jag antar att det blir enklare när man väl förstår vad allt betyder och innebär.
Först vill jag bara skapa enkla scener såsom att starta lampor alla dagar från solnedgång till kl 23.

Vill kunna nyttja min motionsensor att tända två lampor om den märker rörelse mitt i natten. Typ dimmer på 15% om man ska ta ett glas vatten eller gå på toa.

När jag fattat dem så kan jag börja bygga vidare
 
Testar lite... Men inte ens det allra enklaste funkar.
Önskvärt vore om man kunde få till ett stopp på denna scenen, där lampor släcks
image.jpg
Inloggade ser högupplösta bilder
Skapa konto
Gratis och tar endast 30 sekunder
 
Nej, jag tror (jag har bara skrivit LUA, tycker det är enklare) att du måste göra två scener.
 
Men varför funkar den inte?
Tänder när jag klickar KÖR
 
Vi vill skicka notiser för ämnen du bevakar och händelser som berör dig.