Advertisement
boomx

Widget - Chris

Feb 1st, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.71 KB | None | 0 0
  1. --[[
  2. %% properties
  3. 403 value
  4. %% globals
  5. --]]
  6.  
  7. local doorID = 661;
  8. local doorlockID = 877;
  9. local Phone1 = 323;
  10. local MacBook = 403;
  11.  
  12. function Debug( color, message )
  13. fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"));
  14. end
  15.  
  16. local startSource = fibaro:getSourceTrigger()
  17.  
  18. if (startSource['deviceID'] == MacBook) then
  19. if (tonumber(fibaro:getValue(MacBook, "value")) == 0) then
  20. fibaro:sleep(3*1000)
  21. Debug("yellow", 'Raum verlassen?');
  22. counter = 0
  23. while ((tonumber(fibaro:getValue(MacBook, "value")) == 0) and counter < 60) do
  24. counter = counter + 1
  25. fibaro:sleep(10*60)
  26. -- fibaro:debug(counter);
  27. end
  28. if (tonumber(fibaro:getValue(MacBook, "value")) == 0) then
  29. if (tonumber(fibaro:getValue(doorID, 'value')) == 0 ) then
  30. fibaro:call(877, "secure");
  31. Debug("green", 'Schliesse Tuer ab');
  32.  
  33. else
  34. if (tonumber(fibaro:getValue(doorID, 'value')) == 1 ) then
  35. Debug("yellow", 'Tuer steht noch offen');
  36. while (tonumber(fibaro:getValue(doorID, 'value')) == 1) do
  37. fibaro:sleep(5*60)
  38. end
  39. if (tonumber(fibaro:getValue(MacBook, "value")) == 0) and (tonumber(fibaro:getValue(doorID, 'value')) == 0 ) then
  40. fibaro:call(877, "secure");
  41. Debug("green", 'Wurde geschlossen Schliesse Tuer ab');
  42. end
  43. else
  44. Debug("green", 'Macbook wurde innerhalb einer Minute wieder eingeschalten.');
  45. end
  46. end
  47. end
  48. end
  49. else
  50. if (fibaro:getGlobal('PresentState') == 'Home') then
  51. if (tonumber(fibaro:getValue((doorlockID), "secured")) == 0) then
  52. fibaro:debug('Widget: Verschliesse Bürotür sobald geschlossen')
  53. while (tonumber(fibaro:getValue(doorID, 'value')) > 0) do
  54. fibaro:sleep(1*1000)
  55. end
  56. fibaro:call(doorlockID, 'secure')
  57. fibaro:debug('Bürotür ist geschlossen.')
  58. elseif (tonumber(fibaro:getValue((doorlockID), "secured")) == 255) then
  59. fibaro:call(doorlockID, "unsecure")
  60. fibaro:debug('Widget: Bürotür wird geöffnet')
  61. fibaro:call(Phone1, "sendPush", "Bürotür via Widget geöffnet"); -- Push Handy
  62. if (fibaro:getGlobalValue("TimeOfDay") == "Morning" or fibaro:getGlobalValue("TimeOfDay") == "Day")
  63. then
  64. -- hier noch Prüfung ob Tür auf oder zu --
  65. fibaro:call(730, "unsecure")
  66. fibaro:debug('Widget: Danalock Square wird geöffnet')
  67. fibaro:call(Phone1, "sendPush", "Danalock square via Widget geöffnet"); -- Push Handy
  68. end
  69. end
  70. end
  71. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement