Forum użytkowników automatyki budynkowej

Z-wave => Fibaro - urządzenia => Wątek zaczęty przez: v41n w Wrzesień 27, 2016, 06:42:39 pm

Tytuł: Double Switch 2
Wiadomość wysłana przez: v41n w Wrzesień 27, 2016, 06:42:39 pm
Cześć,


Czy ktoś się już tym bawił i wie jak używać parametru 28 lub 29 - aktywacja scen?

https://www.dropbox.com/s/2zpw6yn15tzx3d8/double%20switch.png?dl=0


Z góry dzięki.
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Wrzesień 30, 2016, 02:00:56 pm
Odpowiedź z supportu fibaro. Jak by ktoś potrzebował:

Cytuj
Modułu Singe/Doble Switch posiadają nową funkcję CentralScene Event. Niestety na chwilę obecną funkcję tą dla Switch’y można wykorzystywać w kodzie LUA (nie ma możliwości za pomocą bloczków).
Tak więc tworząc scenkę w LUA w pierwszej kolejności podajemy trigger w “%% events”
%% events
xxx CentralSceneEven

gdzie:
xxx – to ID urządzenia (ale ID urządzenie z node.0)

Kolejną rzeczą jest podanie poniższej komendy, aby pobierać zmienne:

local startSource = fibaro:getSourceTrigger();

W tym momencie mamy do pobrania zwie wartości:

local keyId = startSource[“event”][“data”][“keyId”]; - pobieranie key ID, które ma wartość 1 lub 2. Mówi to który klawisz S1 (wartość 1) czy S2 (wartość 2) został kliknięty niezależenie ile razy,

local keyAttribute = startSource[“event”][“data”][“keyAttribute”]; - pobieranie keyAttribute, które mają wartość string’a (nazwy) informującej ile razy został kliknięty klawisz (niezależnie czy to był S1 czy S2).

Tym samym jeżeli chcemy uruchomić coś po 1 kliknięciu klawisza S1 to podajemy:

if (keyId == 1 and keyAttribute == “Pressed1”)
then
….
end


Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Październik 02, 2016, 12:23:00 pm
Próbował już ktoś tego rozwiązania? Bo mi to coś nie działa.



Piotrek
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Październik 04, 2016, 02:51:03 pm
Już sobie poradziłem.

Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: Kamikaze w Październik 05, 2016, 07:20:06 am
To wklej scenę będzie dla potomnych :)
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Październik 05, 2016, 08:44:41 am
Nie chodzi o samą scenę bo z tym nie było problemu tylko o to, że nie działał triger.
W informacji z działu pomocy Fibaro była informacja, że ma to być ID urządzenia z node 0.
Moje urządzenie ma ID 1334 - a ID 1334.0 ma ID 1335(!) a widać to dopiero w lewym dolnym rogu po ustawieniu kursora na bloczku z numerem 1334.0
Może to jest jasne dla innych ale dla mnie nie było takie oczywiste.
W załączniku screen parametrów urządzenia.
Prosta scena, która sprawdza jaki klawisz został naciśnięty i ile razy:

--[[
%% properties
%% events
1335 CentralSceneEvent
%% globals
--]]


local startSource = fibaro:getSourceTrigger();
local keyId = startSource["event"]["data"]["keyId"];
local keyAttribute = startSource["event"]["data"]["keyAttribute"];
print(keyId)
print(keyAttribute)

Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: ntjarek w Październik 20, 2016, 11:15:05 am
Hej, czy ktoś ma jakąś działającą scenę, bo coś mi nie wychodzi :)
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Październik 20, 2016, 11:20:41 am
Cześć,


--[[
%% properties
%% events
1335 CentralSceneEvent
%% globals
--]]


fibaro:debug("START");

local startSource = fibaro:getSourceTrigger();
local keyId = startSource["event"]["data"]["keyId"];
local keyAttribute = startSource["event"]["data"]["keyAttribute"];
print(keyId)
print(keyAttribute)
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: ntjarek w Październik 20, 2016, 02:27:38 pm
No to mi ładnie działa tylko jak to zastosować do konkretnego polecenia, bo ja zielony.
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Październik 20, 2016, 02:33:39 pm
No ale co chcesz zrobić?

Wysłane z mojego SM-G928F przy użyciu Tapatalka

Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: ntjarek w Październik 20, 2016, 07:00:29 pm
No na przykład przy dwukrotnym przyciśnięciu żeby włączył lampę?
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: v41n w Październik 20, 2016, 07:51:37 pm
--[[
%% properties
%% events
1335 CentralSceneEvent
%% globals
--]]


local startSource = fibaro:getSourceTrigger();
local keyId = startSource["event"]["data"]["keyId"]
local keyAttribute = startSource["event"]["data"]["keyAttribute"];


if  tonumber(keyId) == 1 and tostring(keyAttribute) == "Pressed" then

--tu coś co chcesz zrobić

elseif  tonumber(keyId) == 1 and tostring(keyAttribute) == "Pressed2" then

--tu coś co chcesz zrobić

elseif  tonumber(keyId) == 1 and tostring(keyAttribute) == "Pressed3" then

--tu coś co chcesz zrobić

end



Pisałem z pamięci i nie sprawdzałem kodu.
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: ntjarek w Październik 21, 2016, 09:44:21 am
Ok działa tylko widzę, że długa droga przede mną :)
Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: ntjarek w Październik 21, 2016, 10:39:26 am

--[[
%% properties
%% events
152 CentralSceneEvent
%% globals
--]]


local startSource = fibaro:getSourceTrigger();
local keyId = startSource["event"]["data"]["keyId"]
local keyAttribute = startSource["event"]["data"]["keyAttribute"];

if  tonumber(keyId) == 1 and tostring(keyAttribute) == "Pressed" then


elseif  tonumber(keyId) == 1 and tostring(keyAttribute) == "Pressed2" then

local startSource = fibaro:getSourceTrigger();
if (
 ( tonumber(fibaro:getValue(158, "value")) > 0 )
or
startSource["type"] == "other"
)
then
   local deviceValue1 = tonumber(fibaro:getValue(155, "value"));
   if (deviceValue1 > 0) then
      fibaro:call(155, "turnOff");
   else
      fibaro:call(155, "turnOn");
   end
end



elseif  tonumber(keyId) == 1 and tostring(keyAttribute) == "Pressed3" then


   fibaro:call(65, "turnOff");
   fibaro:call(10, "turnOff");
   fibaro:call(154, "turnOff");
   fibaro:call(155, "turnOff");
end

Tytuł: Odp: Double Switch 2
Wiadomość wysłana przez: ntjarek w Październik 21, 2016, 10:43:12 am
Moje wypociny
1 klik włącza lampę 1
2 klik włącza lampę 1 i 2
3 klik wyłącza wszystko w pokoju lampy i tv
Może komuś się przyda