das hier ist fürs HC3 aber mit HUE:
-- Declarations
--[[ wird alle 5 Minuten durch cron gestartet --]]
{
type = "date",
property = "cron",
operator = "matchInterval",
value = {
date = { "0", "12", "24", "12", "*", "2020" },
interval = 300
},
isTrigger = true
}
-- AKTION
local co2ID = 954 -- ID des netatmo co2-Sensor
local rgbwID = 1063 -- ID der PhilipsHUE
version = "1.0 beta"
local co2 = fibaro.getValue(co2ID, "value")
print ("-------------------------------------------------------------------")
print ("CO2-Check "..version.." für das Fibaro HC3 und PhilipsHUE")
print ("-------------------------------------------------------------------")
-- Version: 1.0 für HC2 von boomx https://www.siio.de/kleine-lua-scripte-teil-4-co2-check-mit-netatmo/
-- Version: 1.0 (smg2274 Dezember 2020) für das HC3
--Funktion RGBW
function setRGBW (rgbw_option, deviceID, colourString)
local RGBWTable= {}
local i = 1
for value in string.gmatch(colourString,"(%d+)") do
RGBWTable[i] = value
i = i + 1
end
if (tonumber(fibaro.getValue(deviceID, "value")) ~= 0) then
fibaro.call(deviceID, "setColor", RGBWTable[1], RGBWTable[2], RGBWTable[3], RGBWTable[4])
else
print("Funktion aufgerufen; RGBW ist aus")
end
end
if (co2 < 1000) then
print("co2-Wert von " .. co2 .. " ppm ist ok.")
--setRGBW(rgbw_opt, rgbwID, '0,0,255,255') -- blau
setRGBW(rgbw_opt, rgbwID, '0,255,0,255') -- grün
elseif (co2 >= 1000 and co2 <= 1050) then
print("co2-Wert von " .. co2 .. " ppm liegt leicht über dem empfohlenen Wert von 1000 ppm.")
setRGBW(rgbw, rgbwID, '255,232,0,0') --grüngelb
elseif (co2 >= 1050 and co2 <= 1100) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1050 ppm. Es sollte gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,209,0,0') --gelb
elseif (co2 >= 1100 and co2 <= 1150) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1100 ppm. Es sollte gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,186,0,0') --orangegelb
elseif (co2 >= 1150 and co2 <= 1200) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1150 ppm. Es sollte dringend gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,163,0,0') --rotgelb
elseif (co2 >= 1200 and co2 <= 1250) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1200 ppm. Es sollte dringend gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,140,0,0') --orangerotgelb
elseif (co2 >= 1250 and co2 <= 1300) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1250 ppm. Es sollte DRINGEND gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,117,0,0') --orangerot
elseif (co2 >= 1300 and co2 <= 1350) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1300 ppm. Es sollte DRINGEND gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,94,0,0') --rot
elseif (co2 >= 1350 and co2 <= 1400) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1350 ppm. Es sollte DRINGEND gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,71,0,0') --rot
elseif (co2 >= 1400 and co2 <= 1450) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1400 ppm. Es sollte DRINGEND gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,48,0,0') --rot
elseif (co2 >= 1450 and co2 <= 1500) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1450 ppm. Es sollte DRINGEND gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,25,0,0') --rot
elseif (co2 >= 1500) then
print("co2-Wert von " .. co2 .. " ppm liegt liegt über 1500 ppm. Es sollte DRINGEND gelüftet werden.")
setRGBW(rgbw_opt, rgbwID, '255,0,0,0') --absolut rot
end