Page 1 of 1

Kolla PresentState innan scen körs/styra ljudvolym

Posted: 07 Dec 2015, 12:08
by MrL
Jag använder S2 på mina dimmers och det funkar kan. Ibland triggar jag färdigascener och i vissa fall så enstaka kommando. Jag har dock två problem jag gärna vill lösa.

Jag använder följande kod från wikin.

Code: Select all

--[[
%% properties
172 sceneActivation
%% globals
--]]
 
-- Config ------------------------------------------------
id = 172
----------------------------------------------------------
 
local trigger = fibaro:getSourceTrigger();
if (trigger['type'] ~= "property") then
fibaro:debug ("Unexpected source trigger '" .. trigger['type'] .. "'");
fibaro:abort ();
end
 
local id = tonumber (trigger['deviceID']);
local scene = tonumber (fibaro:getValue (id, "sceneActivation"));
 
----------------------------------------------------------
if (scene == 26) then -- 1 click
fibaro:setGlobal("PresentState", "Hemma")
fibaro:debug("S2 - 1 click")
 
elseif (scene == 24) then -- 2 click
fibaro:setGlobal("SleepState", "Sova")
fibaro:setGlobal("TimeOfDay", "Natt")
fibaro:debug("S2 - 2 click")
 
elseif (scene == 25) then -- 3 click
fibaro:debug("S2 - 3 click")
end


HEMMA/BORTA
Har två scener som heter hemma och borta. I båda dessa ställer jag Presenstate=Home eller Away. I scenerna tänder jag huset eller släcker lampor, stänger tv, musik osv. I slutet på båda så har jag ett meddelande som pushas ut med info om att Husert nu är i Borta-läge eller Hemma-läge. Bra att veta när barnen kommer hem eller går till skolan. Men det som stör mig är att scenen kör vid varje tryck även om man redan är hemma. Så ibland kommer en drös med meddelande. Jag vill bara att HEMMA-scenen skall köras som huset är i borta-läge (Presentstate=away). Och tvärt om. HUr lägger jag till en kontroll som kollar presentstate innan den kör scenen?


LJUDVOLUM
Har takhögtalare i köket och jag har skapat en virtuell enhet som snackar med min Sonos Connect:amp. På en av dimmrarna i köket använder jag S2 för att styra ljudet. 1 klick, play. 2 klick paus, 3 klick set volume 20%. Nu tänkte jag att det skulle vara riktigt bra om man kunde använda fler funktioner på S2. t.ex dimma ljudet när man håller inne knapparna. Likt när man dimmar ljuset. Är detta möjligt? Och isf. någon som har en tanke hur man kan lösa detta?

Re: Kolla PresentState innan scen körs/styra ljudvolym

Posted: 07 Dec 2015, 23:31
by hsn
En lösning på meddelanden är att du skapare en variabel tex MeddelandeState som är antingen hemma eller borta som och kollas innan meddelande sickas. Och sedan ändars till aktuell status.

Då det gäller volymen borde det gå att ta en dimmer som triggar en scen som i sin tur ändrar värdet på slidern i en Virtual divice som i sin tur skickar värdet till dit Sonos system

Re: Kolla PresentState innan scen körs/styra ljudvolym

Posted: 08 Dec 2015, 10:49
by MrL
Jag tänkte först och en variabel för meddelandestatus men sen kändes den överflödig för jag tänker att är PresentState HOME och jag kör scenen Borta så skall denna bara köras om huset är i läge HOME. Är huset redan i AWAY så skall inte scenen köras. Och körs inte scenen så händer inget med ljuset eller musiken. Och man slipper ett extra Push.

Det som är mest irriterande är om huset är HOME och jag triggar Hemma scenen igen så ändrar den ljuset, musiken och skickar ett nytt push. Är jag redan hemma och har ställt in ljuset i kök, vardagsrum, hall så ändras dessa inställningar när jag kör Hemma scenen då jag i denna ställer in ljuset på olika nivåer. Så optimalt är att den kör bara Hemmascenen om jag är borta och Bortascenen om jag är hemma. Annars händer inget.

Re: Kolla PresentState innan scen körs/styra ljudvolym

Posted: 08 Dec 2015, 10:56
by MrL
Vad gäller ljudet så tänkte jag att man skulle använda S2 och då ID 22 för "Holding down" och 23 för "releasing".Jag tänker mig att man bygger en skala där man fråga vad värdet är och sedan sänker man stegvis till man släppt knappen.

Så om volymen är 20 så sänker den till 19, 18, 17 tills jag släpper knappen. Det ajg vill skapa är att man sänker på samma sätt som när man dimrar ljuset på S1. Tryck in och den börjar dimrar uppåt. Släpp och tryck in och den dimrar neråt.