Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


Question

Posted (edited)

Scena, która jest przeze mnie używana w kilku innych scenach.

Scena sprawdza wszystkie światła w naszym domu czy są włączone. Jeżeli tak, to gasi je.

 

Obsługuje urządzenia typu Switch/Dimmer oraz RGBW.

Please login or register to see this code.

Ikonka:

Please login or register to see this image.

/monthly_2018_01/5a53d8e1315ab_wylaczswiatla.png.56f89b92939ca8ae5b7b6e9a0b5eb99b.png" />

 

Aby uruchomić tę scenę we własnych scenach lub urządzeniach wirtualnych należy wywołać taki kod:

Please login or register to see this code.

 

 

Edited by szmyk
  • Like 2

Recommended Posts

  • 0
Posted

Witam,

czy ktoś mógłby mi pomóc w dwóch kwestiach, mianowicie jak zrobić aby ta scena nie gasiła mi oświetlenia zewnętrznego bo mam na ogrodzie ok 40lamp na dwóch kanałach switcha i wszystko gaśnie razem z oświetleniem wewnętrznym:)

Druga prośba dotyczy tego, aby ktoś podpowiedział jak zrobić podobną scenę w odniesieniu do rolet tzn jeśli jest noc sprawdza stan rolet i je zamyka

Z góry dzięki za podpowiedzi

  • 0
Posted (edited)
4 hours ago, bsmart said:

Druga prośba dotyczy tego, aby ktoś podpowiedział jak zrobić podobną scenę w odniesieniu do rolet tzn jeśli jest noc sprawdza stan rolet i je zamyka

Z góry dzięki za podpowiedzi

 

 

witam!

 

Please login or register to see this code.

 

przy okazji

 

Please login or register to see this code.

CheckTime("12:00")  - kazdego dnia o 12:00

CheckTime("12:00-15:00") kazdego dnia od 12:00 do 15:00

CheckTime("1.12:00") kazdego poniedzialk o 12:00

CheckTime("1.12:00-5.12:00") poniedzialk - patku  o 12:00

CheckTime("1.12:00-5.15:00") poniedzialk - patku  od 12:00 do 15:00

CheckTime("1.21:00-5.06:00") poniedzialk - patku  od 21:00 do 6:00 ranka

 

mozliwe: Sunset / Sunrise 

Sunset + 00:10 - dziesiec minut po zachodzie słońca

Sunrise - 01:00 - godzine przed switem

Edited by 10der
final solution
  • 0
Posted

dzięki, a czy jest konieczność wpisywania ręcznego id rolet?

  • 0
Posted (edited)

 

Please login or register to see this code.

 

Edited by 10der
  • 0
Posted

ok, ale podpowiedz mi drogi kolego, jak to wszystko połączyć w całość tzn co z czym, co dopisać czy też zostawić bez zmian.

Wielkie dzięki

  • 0
Posted

edytowane!

najprawdopodobniej pojawi się pytanie, jak rozpocząć scenę. Och!

5 minut

done!

  • 0
Posted

A jak wykluczyć wyłączenie oświetlenia którego nie chcę wyłączać tą sceną?

Podany przez Ciebie kod wyszukuje wszystkie te urządzenia, jednakże jak pominąć określone urządzenia z tej listy

Z góry dzięki za odpowiedz

  • 0
Posted

omg!

spojrz uwaznishe!

 

Please login or register to see this code.

"RGBW-LED" - nazwa twojego urzadzenia.

 

  • 0
Posted

zrobiłem to w ten sposób lecz nie działa

if (fibaro:countScenes() > 1) then
  fibaro:debug("! Koncze scene");
  fibaro:abort();
end

-- dynamicznie pobieram identyfikatory urządzeń z interfejsem "light"
function filter(tbl, func)
     local newtbl= {}
     for i,v in pairs(tbl) do
         if func(v) then
         newtbl=v
         end
     end
     return newtbl
 end

local lightsIDs  = fibaro:getDevicesId(
  {
    interfaces = {
      "light",
    },
    properties = {
      dead = false,  
    },
    enabled = true,
    visible = true,
  }
);

lightsIDs = filter(lightsIDs, function(e) return fibaro:getName(e) ~= "OGRÓD LAMPY" end)
lightsIDs = filter(lightsIDs, function(e) return fibaro:getName(e) ~= "OŚWIETLENIE ZEW DOM" end)

for i, id in pairs(lightsIDs) do
     print(fibaro:getName(id))
end

-- wypisuje w logach jakie urządzenia znalazłem
fibaro:debug(os.date("%Y-%m-%d")..". idSwiatel: " .. json.encode(idSwiatel));

for i, swiatloId in ipairs(idSwiatel) do
  local swieci = tonumber(fibaro:getValue(swiatloId, "value")) > 0;
  local programRGB = fibaro:getValue(swiatloId, "currentProgramID");
 
  if (swieci or
      programRGB ~= nil and tonumber(programRGB) ~= 0) then
    -- zapisuję w logach jakie światło i w jakim pokoju
    fibaro:debug(os.date("%Y-%m-%d")..". Wyłączam " .. fibaro:getName(swiatloId) .. " w " .. fibaro:getRoomNameByDeviceID(swiatloId));
    
    -- zapalone światło, więc je wyłączam
    fibaro:call(swiatloId, "turnOff");
  end
end

  • 0
Posted (edited)
52 minutes ago, bsmart said:

local lightsIDs  = fibaro:getDevicesId(

[.....]

fibaro:debug(os.date("%Y-%m-%d")..". idSwiatel: " .. json.encode(idSwiatel));

for i, swiatloId in ipairs(idSwiatel) do

 

 

ha ha ha :)

przepraszam:)

 

 

Please login or register to see this code.

 

Edited by 10der
  • 0
Posted

Chyba nadal jest coś nie tak

Please login or register to see this attachment.

  • 0
Posted (edited)

tak tak:)

 

[DEBUG] 20:05:45: Światło nocne - podświetlenie
[DEBUG] 20:05:45: Rozeta # 1
[DEBUG] 20:05:45: Gniazdo lampy
[DEBUG] 20:05:45: Światło na służbie
[DEBUG] 20:05:45: Schody (w dół)
[DEBUG] 20:05:45: Oświetlenie
[DEBUG] 20:05:45: RGBW-LED
[DEBUG] 20:05:45: Oświetlenie garażu
[DEBUG] 20:05:45: Przełącz # 1
[DEBUG] 20:05:45: Oświetlenie - The Fence
[DEBUG] 20:05:45: Rezerwa przekaźnika nr 1
[DEBUG] 20:05:45: Rezerwa przekaźnika nr 1
[DEBUG] 20:05:45: Schody (na górze)
[DEBUG] 20:05:45: Zarezerwuj nowe # 1
[DEBUG] 20:05:45: Zarezerwuj nowe # 2
[DEBUG] 20:05:45: Iluminacja sali
[DEBUG] 20:05:45: Oświetlenie przedsionka
[DEBUG] 20:05:45: 2018-02-08. idSwiatel: null
[DEBUG] 20:05:45: 2018-02-08. Wyłączam Gniazdo lampy w Szafce
[DEBUG] 20:05:45: 2018-02-08. Wyłączam Duty Light w Hall

 

Edited by 10der
  • 0
Posted

to dlaczego u mnie nie działa?

  • 0
Posted (edited)

prosze utworzyc pusta nowa scene:

 

Please login or register to see this code.

 

przeprowadziс. wynik - tutaj. dziekuje

 

Edited by 10der
  • 0
Posted

dobra, wszystko działa więc bardzo dziękuję za pomoc

PS

teraz będę walczyć z roletami i mam nadzieję że z kodem który podałeś poradzę sobie szybciej:)

Dnia 6.02.2018 o 20:24, 10der napisał:

 

Po wpisaniu poniższego kodu wywala mi:

Please login or register to see this attachment.

a jak usunę end z linii 23 to wyskakuje lista wszystkich urządzeń podłączonych, a nie tylko roller shutter'ów

 

Dnia 6.02.2018 o 20:24, 10der napisał:

Please login or register to see this code.

 

przy okazji

 

Please login or register to see this code.

CheckTime("12:00")  - kazdego dnia o 12:00

CheckTime("12:00-15:00") kazdego dnia od 12:00 do 15:00

CheckTime("1.12:00") kazdego poniedzialk o 12:00

CheckTime("1.12:00-5.12:00") poniedzialk - patku  o 12:00

CheckTime("1.12:00-5.15:00") poniedzialk - patku  od 12:00 do 15:00

CheckTime("1.21:00-5.06:00") poniedzialk - patku  od 21:00 do 6:00 ranka

 

mozliwe: Sunset / Sunrise 

Sunset + 00:10 - dziesiec minut po zachodzie słońca

Sunrise - 01:00 - godzine przed switem

 

Po wpisaniu podanego przez Ciebie kodu wywala mi:

Please login or register to see this attachment.

a jak usunę end z linii 23 to wyskakuje lista wszystkich urządzeń podłączonych, a nie tylko roller shutter'ów

 

  • Thanks 1
  • 0
Posted (edited)

 

 

Please login or register to see this code.

 

my fail!

 

plus:

 

 

Please login or register to see this code.

 

local tbl = {"OGRÓD LAMPY", "OŚWIETLENIE ZEW DOM"}
lightsIDs = filter(lightsIDs, function(e) return not keyInTable(fibaro:getName(e), tbl); end)

 

wiec bedzie łatwiej


 

 

24 minutes ago, bsmart said:

 

Please login or register to see this attachment.

a jak usunę end z linii 23 to wyskakuje lista wszystkich urządzeń podłączonych, a nie tylko roller shutter'ów

 

 

 

sprawdzam ... 5 min

Edited by 10der
  • 0
Posted

błąd w linii 23 wyświetla w kodzie do rolet - natomiast z kodem do oświetlenia zrobiłeś wszystko ok i działa - tak jak pisałem

 

  • 0
Posted
11 minutes ago, bsmart said:

natomiast z kodem do oświetlenia zrobiłeś wszystko ok

nie! błąd

Please login or register to see this code.

 

Quote

kodzie do rolet 

 

wciaz wygladajacy. potrzebue czas.

Please login or register to see this code.

 

uwaga! Ja nie mam rolet. wiec bedziemy debugowac :) to razem

 

  • 0
Posted

pojawia się błąd

Please login or register to see this attachment.

  • 0
Posted

-- end !!!!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...