Luftüberwachung gesucht

Hallo,

ich hatte bis vor einiger Zeit in meinem HC2 ein Script, das in Zusammenarbeit mit Netatmo Geräten die Luftqualität überwachte.
Dafür wurde ein mal pro Stunde der CO2 Anteil gemessen und bei überschreiten eines bestimmten Wertes die Farbe von HUE Lampen geändert. War recht praktisch.
Leider finde ich das Script nicht mehr, obwohl ich glaube, dass ich es von hier hatte und nur für meine Bedürfnisse angepasst hatte.
Nun hoffe ich, dass hier jemand das Script kennt oder selbst hat, und mir einen Hinweis geben kann.

Danke für jeden Tipp
g.

so, jetzt auch hier:

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

Danke Dir,
genau das hatte ich gesucht und nicht mehr gefunden. :slight_smile:

g.

wünsche frohe Weihnachten

Hallo Sven,

bin neu auf dem gebiet und habe noch wenig Ahnung. Ich habe die LUA von dir ausprobiert, IDś geändert (als Szene)
Script läuft und wird grün, aber es ändert die Farbe der HUE ColorLamp nicht.

was habe ich falsch gemacht?

danke dir/euch
Chris

Guten Morgen Chris. Was zeigt denn das Debugfenster an?

Hallo Sven,

auch als „Neuer“ soll man auf das Debuggen nicht vergessen.
Hatte unter „Aktion“ auch die geschwungenen Klammern.
Copy/Paste ist halt doch besser…
Alles funktioniert wie es soll.

danke dir!!!

lg
Chris

supi, das freut mich…