Double Switch 2

  • 14 Odpowiedzi
  • 6092 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Double Switch 2
« dnia: 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.
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #1 dnia: 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


*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #2 dnia: Październik 02, 2016, 12:23:00 pm »
Próbował już ktoś tego rozwiązania? Bo mi to coś nie działa.



Piotrek
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #3 dnia: Październik 04, 2016, 02:51:03 pm »
Już sobie poradziłem.

*

Offline Kamikaze

  • Administratorzy
  • ***** 105
  • 4
  • Nazwa i wersja ID: Loxone + GoogleHome + Satel + KNX
Odp: Double Switch 2
« Odpowiedź #4 dnia: Październik 05, 2016, 07:20:06 am »
To wklej scenę będzie dla potomnych :)
https://instalacjeinteligentne.pl - Inteligentne instalacje
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #5 dnia: 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)

*

Offline ntjarek

  • * 12
  • 0
Odp: Double Switch 2
« Odpowiedź #6 dnia: Październik 20, 2016, 11:15:05 am »
Hej, czy ktoś ma jakąś działającą scenę, bo coś mi nie wychodzi :)
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #7 dnia: 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)
*

Offline ntjarek

  • * 12
  • 0
Odp: Double Switch 2
« Odpowiedź #8 dnia: Październik 20, 2016, 02:27:38 pm »
No to mi ładnie działa tylko jak to zastosować do konkretnego polecenia, bo ja zielony.
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #9 dnia: Październik 20, 2016, 02:33:39 pm »
No ale co chcesz zrobić?

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

*

Offline ntjarek

  • * 12
  • 0
Odp: Double Switch 2
« Odpowiedź #10 dnia: Październik 20, 2016, 07:00:29 pm »
No na przykład przy dwukrotnym przyciśnięciu żeby włączył lampę?
*

Offline v41n

  • ** 35
  • 0
  • Nazwa i wersja ID: v41n
Odp: Double Switch 2
« Odpowiedź #11 dnia: 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.
*

Offline ntjarek

  • * 12
  • 0
Odp: Double Switch 2
« Odpowiedź #12 dnia: Październik 21, 2016, 09:44:21 am »
Ok działa tylko widzę, że długa droga przede mną :)
*

Offline ntjarek

  • * 12
  • 0
Odp: Double Switch 2
« Odpowiedź #13 dnia: 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

*

Offline ntjarek

  • * 12
  • 0
Odp: Double Switch 2
« Odpowiedź #14 dnia: 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