Hjälp med scen som styrs ifrån S2 på dimmer

Post Reply
Earplugged
Medlem
Posts: 158
Joined: 03 Feb 2016, 17:16
8

Har tre olika Fibaro dimmerpuckar i vardagsrummet som styrs separat via tre knappar på olika ställen i rummet, skulle nu vilja ha en knapp som styr alla när man önskar detta och smartast är väl att använda S2 på en av puckarna?

Någon som har tips på kod för att styra dessa ifrån S2 på ena pucken och helst klara sig med en scen...?

klick x1 = släck alla tre lamporna (bara om någon av lamporna redan är tända)
klick x1 = tänd alla tre lamporna (senast inställda värde på resp dimmer)

Klick x2 = alla tre lampor tänds på max

Håll inne knapp = alla tre lampor släcks (jag startar en sova scen som släcker/tänder diverse lampor)
sycorax
Ny medlem
Posts: 18
Joined: 04 Jan 2017, 22:05
7

Hej jag har gjort scene för att styra mysbelysning med hjälp av S2 på min ena brytare (se nedan). Byt ut "44 sceneActivation" till din dimmer som skall styra S2 funktionen.
På alla ställen där du ser "jT...." är egentligen bara ett ID, byt till de id:n du vill ha.
Ta bort första raden "local jT = json.decode(fibaro:getGlobalValue("jTable"))", detta är en egen lösning för hantering av ID:n.
Ta bort sista raden "fibaro:setGlobal("StadBelysningOn", "0");"
Raden "if (( tonumber(fibaro:getValue(jT.vardagsrum.spot, "sceneActivation")) == 24 ) or startSource["type"] == "other" ) then" är dubbel-klick på S2.

24 = Dubbel-klick
25 = Trippel-klick
26 = Enkel-klick

--[[
%% autostart
%% properties
44 sceneActivation
%% weather
%% events
%% globals
--]]

local jT = json.decode(fibaro:getGlobalValue("jTable")) -- get jTable with ID:n
local startSource = fibaro:getSourceTrigger();
if (( tonumber(fibaro:getValue(jT.vardagsrum.spot, "sceneActivation")) == 24 ) or startSource["type"] == "other" ) then

fibaro:call(jT.hall.spot, 'turnOff');
fibaro:call(jT.hall.wallplugnetwork, "turnOn");

fibaro:call(jT.kok.spot, "turnOff");
fibaro:call(jT.kok.bench_light, "turnOff");
fibaro:call(jT.kok.wall_light, "turnOff");

fibaro:call(jT.matsal.ceiling, "setValue", "50");

fibaro:call(jT.vardagsrum.spot, "turnOff");
fibaro:call(jT.vardagsrum.ceiling, "setValue", "30");
fibaro:call(jT.vardagsrum.wallplugl, "turnOn");
fibaro:call(jT.vardagsrum.wallplugr, "turnOn");

fibaro:setGlobal("StadBelysningOn", "0");
end

Jag kör tre olika scenActivations i mitt hem, en för NattiNatti (släcker allt med enkel-klick "26"), MysMode "24" och StädMode (Tänder hela hemmet till max "25").
För att anpassa scenen till din fråga får du använda dig av if/else-satser för att kontrollera om lampor är tända resp. släckta.

Lycka till
/Sycorax
Earplugged
Medlem
Posts: 158
Joined: 03 Feb 2016, 17:16
8

sycorax wrote: 13 Oct 2018, 12:00
Jag kör tre olika scenActivations i mitt hem, en för NattiNatti (släcker allt med enkel-klick "26"), MysMode "24" och StädMode (Tänder hela hemmet till max "25").
För att anpassa scenen till din fråga får du använda dig av if/else-satser för att kontrollera om lampor är tända resp. släckta.

Lycka till
/Sycorax
Tack för hjälpen, har nu fått ihop så att lamporna tänds/släcks varannan gång jag kör enkelklick så jag har kommit en bit närmare målet.

Vill även få in de andra "klickvarianterna" i samma scen, hur lägger jag in så att scenen även startar vid dubbelklick och att något annat då händer?
jompa68
Proffsmedlem
Posts: 735
Joined: 12 Aug 2012, 08:53
12
Location: Hofors

Så här kan man göra.

Code: Select all

--[[
%% autostart
%% properties
44 sceneActivation
%% weather
%% events
%% globals
--]]

local jT = json.decode(fibaro:getGlobalValue("jTable")) -- get jTable with ID:n
local startSource = fibaro:getSourceTrigger();
if (( tonumber(fibaro:getValue(jT.vardagsrum.spot, "sceneActivation")) == 24 ) then
fibaro:call(jT.hall.spot, 'turnOff');
fibaro:call(jT.hall.wallplugnetwork, "turnOn");
fibaro:call(jT.kok.spot, "turnOff");
fibaro:call(jT.kok.bench_light, "turnOff");
fibaro:call(jT.kok.wall_light, "turnOff");
fibaro:call(jT.matsal.ceiling, "setValue", "50");
fibaro:call(jT.vardagsrum.spot, "turnOff");
fibaro:call(jT.vardagsrum.ceiling, "setValue", "30");
fibaro:call(jT.vardagsrum.wallplugl, "turnOn");
fibaro:call(jT.vardagsrum.wallplugr, "turnOn");
fibaro:setGlobal("StadBelysningOn", "0");

elseif (( tonumber(fibaro:getValue(jT.vardagsrum.spot, "sceneActivation")) == 25 ) then
do your stuff here

elseif (( tonumber(fibaro:getValue(jT.vardagsrum.spot, "sceneActivation")) == 26 ) then
do your stuff here
end

Earplugged
Medlem
Posts: 158
Joined: 03 Feb 2016, 17:16
8

Tack för hjälpen, nu fungerar det precis som jag vill ha det: :D

Enkelklick: Tänder/släcker
Dubbelklick: Sätter belysning på max
Håll in: Startar dimma ner belysning
Släpp: Stoppar dimma ner belysning

Det som saknas är att jag hade velat kunna dimma uppåt också genom att hålla in knappen, nu måste jag först starta på max och sedan dimma mig nedåt.


Code: Select all

--[[
%% properties
344 sceneActivation
%% weather
%% events
%% globals
--]]

local startSource = fibaro:getSourceTrigger();
if (
 ( tonumber(fibaro:getValue(344, "sceneActivation")) == 26 )
or
startSource["type"] == "other"
)
then
	local deviceValue1 = tonumber(fibaro:getValue(31, "value"));
	if (deviceValue1 > 0) then
	fibaro:call(31, "turnOff");
    	fibaro:call(47, "turnOff");
    	fibaro:call(63, "turnOff");
    	fibaro:call(344, "turnOff")
else
	fibaro:call(31, "turnOn");
    	fibaro:call(47, "turnOn");
    	--fibaro:call(63, "turnOn");
    	fibaro:call(344, "turnOn");
	end
elseif (
 ( tonumber(fibaro:getValue(344, "sceneActivation")) == 24 )) 
then
  	fibaro:call(31, "setValue", "100");
  	fibaro:call(47, "setValue", "100");
  	fibaro:call(63, "setValue", "100");
  	fibaro:call(344, "setValue", "100");
  
elseif (
 ( tonumber(fibaro:getValue(344, "sceneActivation")) == 22 )) 
then
  	fibaro:call(31, "startLevelDecrease");
  	fibaro:call(47, "startLevelDecrease");
  	fibaro:call(63, "startLevelDecrease");
  	fibaro:call(344, "startLevelDecrease");
  	
  elseif (
 ( tonumber(fibaro:getValue(344, "sceneActivation")) == 23 )) 
    then
    fibaro:call(31, "stopLevelChange")
  
end
forumadmin
Site Admin
Posts: 276
Joined: 10 Dec 2011, 11:43
12

Varför har du inte bara gjort en association på dimmern med dessa 4 lampor?
Earplugged
Medlem
Posts: 158
Joined: 03 Feb 2016, 17:16
8

forumadmin wrote: 15 Oct 2018, 20:44 Varför har du inte bara gjort en association på dimmern med dessa 4 lampor?
Det är främst för att jag vill kunna lägga in fler funktioner som inte blir helt konsekventa på alla fyra lamporna och att jag kan blanda in fler enheter/variabler.
Tex vid enkelklick vill jag bara tända tre av lamporna men vid nästa klick släcka alla fyra, vid dubbelklick vill jag tända alla plus dra upp rullgardiner osv osv...

Använder samma typ av scen till rullgardinerna där jag via S2 styr dom utan association så när jag klickar "upp" så stannar gardinen på en viss procent för att vara i höjd som en gardin medan dubbelklick kör den ända upp, dessutom olika höjd på fönstren så gardinerna får olika målvärden.
Post Reply