Advertisement
boomx

netatmo co2-Check

Dec 21st, 2015
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.07 KB | None | 0 0
  1. --[[
  2. %% properties
  3. 141 value
  4. %% globals
  5. --]]
  6.  
  7. local co2ID = 141 -- ID des netatmo co2-Sensor
  8. local rgbw_opt = true
  9. local rgbwID = 171
  10.  
  11. local co2 = tonumber(fibaro:getValue(co2ID, "value"))
  12. --local co2 = 1050
  13. local co2_old = fibaro:getGlobal('netatmo_co2')
  14. local startSource = fibaro:getSourceTrigger()
  15.  
  16. Debug = function ( color, message )
  17. fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"))
  18. end
  19.  
  20. -- Funktion RGBW
  21. function setRGBW (rgbw_option, deviceID, colourString)
  22. local RGBWTable= {}
  23. local i = 1
  24.  
  25. for value in string.gmatch(colourString,"(%d+)") do
  26. RGBWTable[i] = value
  27. i = i + 1
  28. end
  29. if (rgbw_option) then
  30. if (tonumber(fibaro:getValue(deviceID, "brightness")) ~= 0) then
  31. fibaro:call(deviceID, "setColor", RGBWTable[1], RGBWTable[2], RGBWTable[3], RGBWTable[4])
  32. else
  33. fibaro:debug('RGBW = true; RGBW ist aus')
  34. end
  35. else
  36. fibaro:debug('RGBW = false')
  37. end
  38. end
  39.  
  40. if (startSource['type'] == 'other') then
  41. Debug('white', "netatmo co2-Check 1.0 gestartet. Szene manuell gestartet")
  42. else
  43. Debug('green', "netatmo co2-Check 1.0 gestartet. Szene durch CO2-Wert gestartet")
  44. end
  45. --[[
  46. if (co2_old == nil) then
  47. Debug('red', "Die Variable netatmo_co2 muss noch eingerichtet werden")
  48. fibaro:abort()
  49. end
  50. --]]
  51.  
  52. if (co2 < 1000) then
  53. Debug( "green", "co2-Wert von " .. co2 .. " ppm ist ok.")
  54. -- Setze grün auf 255 und rot auf 0
  55. setRGBW(rgbw_opt, rgbwID, '0,255,0,0')
  56. elseif (co2 >= 1000 and co2 <= 1050) then
  57. Debug( "orange", "co2-Wert von " .. co2 .. " ppm liegt leicht über dem empfohlenen Wert von 1000 ppm.")
  58. -- Setze grün auf 232 und rot auf 23
  59. setRGBW(rgbw, rgbwID, '255,232,0,0')
  60. elseif (co2 >= 1050 and co2 <= 1100) then
  61. Debug( "orange", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1050 ppm. Es sollte gelüftet werden.")
  62. -- Setze grün auf 209 und rot auf 46
  63. setRGBW(rgbw_opt, rgbwID, '255,209,0,0')
  64. elseif (co2 >= 1100 and co2 <= 1150) then
  65. Debug( "orange", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1100 ppm. Es sollte gelüftet werden.")
  66. -- Setze grün auf 186 und rot auf 69
  67. setRGBW(rgbw_opt, rgbwID, '255,186,0,0')
  68. elseif (co2 >= 1150 and co2 <= 1200) then
  69. Debug( "orange", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1150 ppm. Es sollte dringend gelüftet werden.")
  70. -- Setze grün auf 163 und rot auf 92
  71. setRGBW(rgbw_opt, rgbwID, '255,163,0,0')
  72. elseif (co2 >= 1200 and co2 <= 1250) then
  73. Debug( "orange", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1200 ppm. Es sollte dringend gelüftet werden.")
  74. -- Setze grün auf 140 und rot auf 115
  75. setRGBW(rgbw_opt, rgbwID, '255,140,0,0')
  76. elseif (co2 >= 1250 and co2 <= 1300) then
  77. Debug( "red", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1250 ppm. Es sollte DRINGEND gelüftet werden.")
  78. -- Setze grün auf 117 und rot auf 138
  79. setRGBW(rgbw_opt, rgbwID, '255,117,0,0')
  80. elseif (co2 >= 1300 and co2 <= 1350) then
  81. Debug( "red", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1300 ppm. Es sollte DRINGEND gelüftet werden.")
  82. -- Setze grün auf 94 und rot auf 161
  83. setRGBW(rgbw_opt, rgbwID, '255,94,0,0')
  84. elseif (co2 >= 1350 and co2 <= 1400) then
  85. Debug( "red", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1350 ppm. Es sollte DRINGEND gelüftet werden.")
  86. -- Setze grün auf 71 und rot auf 184
  87. setRGBW(rgbw_opt, rgbwID, '255,71,0,0')
  88. elseif (co2 >= 1400 and co2 <= 1450) then
  89. Debug( "red", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1400 ppm. Es sollte DRINGEND gelüftet werden.")
  90. -- Setze grün auf 48 und rot auf 207
  91. setRGBW(rgbw_opt, rgbwID, '255,48,0,0')
  92. elseif (co2 >= 1450 and co2 <= 1500) then
  93. Debug( "red", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1450 ppm. Es sollte DRINGEND gelüftet werden.")
  94. -- Setze grün auf 25 und rot auf 230
  95. setRGBW(rgbw_opt, rgbwID, '255,25,0,0')
  96. elseif (co2 >= 1500) then
  97. Debug( "red", "co2-Wert von " .. co2 .. " ppm liegt liegt über 1500 ppm. Es sollte DRINGEND gelüftet werden.")
  98. -- Setze grün auf 0 und rot auf 255
  99. setRGBW(rgbw_opt, rgbwID, '255,0,0,0')
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement