Moin zusammen!
Bei dieser Szene werden die Stati der einzelnen Sensoren abgefragt und die geöffneten „Fenter/Türen“ per Push an die Nutzer verschickt. Vielleicht hilft es ja dem Einen oder Anderen, der wie ich, Familienmitglieder hat, die nachts die Haustür offen lassen oder im Winter vergessen nach dem Duschen, die Badezimmerfenster wieder zu schliessen!
Viele Grüße
Christian
-- LUA Szene für Fibaro HC3
local fensterSensoren = {
-- Beispiel-Sensorliste; bitte durch tatsächliche Sensoren ersetzen
{id = 692, name = "Terrassentür", raum = "Wohnzimmer"},
{id = 695, name = "Terrassentür", raum = "Küche"},
{id = 781, name = "Küchenfenster", raum = "Küche"},
{id = 807, name = "Kleines Fenster", raum = "Esszimmer"},
{id = 1012, name = "Tür", raum = "Durchgangsraum"},
{id = 1045, name = "Schlafzimmerfenster 1", raum = "Schlafzimmer"},
{id = 1125, name = "Schlafzimmerfenster 2", raum = "Schlafzimmer"},
{id = 1064, name = "Esszimmerfenster", raum = "Esszimmer"},
{id = 1170, name = "Linkes Fenster", raum = "SoDaRaum"},
{id = 1216, name = "Rechtes Fenster", raum = "SoDaRaum"},
{id = 1174, name = "Tür zur Garage", raum = "Garage"},
{id = 1206, name = "Badezimmerfenster rechts", raum = "Badezimmer"},
{id = 1233, name = "Badezimmerfenster links", raum = "Badezimmer"},
{id = 1284, name = "Dachfenster", raum = "Kleiderschrank"},
{id = 1286, name = "Kellertür außen", raum = "Keller"},
{id = 2588, name = "Fenster", raum = "Gäste WC"},
{id = 2594, name = "Nikes Fenster", raum = "Nikes Zimmer"},
{id = 2598, name = "Tanis Fenster", raum = "Tanis Zimmer"},
{id = 2605, name = "Haustür", raum = "Flur"},
{id = 2860, name = "Wohnzimmerfenster 1", raum = "Wohnzimmer"},
{id = 2863, name = "Wohnzimmerfenster 2", raum = "Wohnzimmer"},
}
function pruefeFenster()
local geoeffneteFenster = {}
local geschlosseneFenster = {}
for _, sensor in ipairs(fensterSensoren) do
local status = fibaro.getValue(sensor.id, "value")
if status == true then -- Wenn das Fenster offen ist
table.insert(geoeffneteFenster, sensor.name .. " im " .. sensor.raum)
print("[GEÖFFNET] " .. sensor.name .. " im " .. sensor.raum)
elseif status == false then -- Wenn das Fenster geschlossen ist
table.insert(geschlosseneFenster, sensor.name .. " im " .. sensor.raum)
print("[GESCHLOSSEN] " .. sensor.name .. " im " .. sensor.raum)
else
print("[FEHLER] Unbekannter Status für Sensor " .. tostring(sensor.id) .. ": " .. tostring(status))
end
end
-- Benachrichtigung senden, wenn geöffnete Fenster vorhanden sind
if #geoeffneteFenster > 0 then
sendeNachricht("‼️Geöffnete FensterFenster🪟/Türen🚪‼️: Bitte schliessen⚠️" .. table.concat(geoeffneteFenster, ", ") .. ".")
else
sendeNachricht("Alle Fenster und Türen sind geschlossen.")
end
end
function sendeNachricht(nachricht)
hub.alert('push', {[1] = 2, [2] = 1994, [3] = 1995}, nachricht, false, '')
end
function main()
pruefeFenster()
end
main()`