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


  • 0

[SCENA] Wyłącz światła


szmyk
 Share

Question

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
Link to comment
Share on other sites

Recommended Posts

  • 0

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

Link to comment
Share on other sites

  • 0
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
Link to comment
Share on other sites

  • 0

 

Please login or register to see this code.

 

Edited by 10der
Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

edytowane!

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

5 minut

done!

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0

omg!

spojrz uwaznishe!

 

Please login or register to see this code.

"RGBW-LED" - nazwa twojego urzadzenia.

 

Link to comment
Share on other sites

  • 0

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

Link to comment
Share on other sites

  • 0
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
Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

prosze utworzyc pusta nowa scene:

 

Please login or register to see this code.

 

przeprowadziс. wynik - tutaj. dziekuje

 

Edited by 10der
Link to comment
Share on other sites

  • 0

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
Link to comment
Share on other sites

  • 0

 

 

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
Link to comment
Share on other sites

  • 0

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

 

Link to comment
Share on other sites

  • 0
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

 

Link to comment
Share on other sites

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.

 Share

×
×
  • Create New...