Variable für Feiertage

auch hier einen riesigen Dank an die Programmierer und allen schöne Feiertage

Ich sage auch Dankeschön und es funktioniert super. Euch allen Frohe Osterfeiertage

Ich frage mal als Anfänger - reicht das wenn der Feiertagsskript nur im System hinterlegt ist oder muss der bei jeder Programmierung mit eingebunden werden ?

das Skript brauchst du nur einmal

Super, Danke und frohe Ostern noch

Du musst nur die beiden von dem Script gesetzten Variablen nach deinen Bedürfnissen einbinden.

Ja so ein To Do für Leute die ganz neu mit dem Thema sind, wäre schon was ? mal sehen, wie ich das machen muss - Danke Dir ?

Fang mit Blockszenen an und wandele die dann in LUA um.
So kommt man gut rein.

Oder:
https://manuals.fibaro.com/knowledge-base-browse/?kb_cat=use-cases

Guten Morgen,

mir ist Aufgefallen, dass nach dem Script auch heute noch Feiertag ist. Irgendwie haut die Berechnung für Ostern nicht hin. Könnte da nochmal einer der Programmierer überschauen. Bei den Feiertagsberechnungen fehlt mir einfach das Verständnis !

Grüße Guido und Danke

@Guido, sorry aber da muss ein anderer Fehler sein, bei mir läuft fast alles so wie es soll.

@All
Habe mir die ganze Sache noch mal angeschaut und die Berechnung der Feiertage basierend auf Ostern war von meinem Vorgängern einfach zu kompliziert und leider auch falsch. Habe daher heute einige Änderungen vorgenommen. Und zur Vereinfachung kann nun über eine separate Variable, die Feiertage eines ganzen Jahres ausgegeben werden. Nach der aktuellen Prüfung sollten alle Feiertage basierend auf Ostern für die kommenden 3 Jahre passen. Mehr hatte ich kein Bock zu testen :slight_smile:


--[[
%% autostart
%% properties
%% globals
--]]

-- ************************************************************************
-- FEIERTAGE-SCRIPT
-- ************************************************************************

-- Das Skript berechnet die Feiertage in Deutschland im aktuellen Jahr und prüft,
-- ob heute oder morgen ein Feiertag ist und hinterlegt das Ergebnis in den
-- Systemvariablen "Feiertag_heute" und "Feiertag_morgen".

-- (c) Simon Betschmann (01-2015)
-- Version: 1.0
-- - Basierend auf einer Idee von Peter Beck (01-2011)
-- Version: 1.1
-- - Erweiterung für Deutschland und Bundeländer von Udo Haß
-- Version: 1.2
-- - Routine zur Berechnung der Osterfeiertage und Schaltjahr vollständig ersetzt.
-- - Quelle der Berechnung der Osterfeiertage teilweise von http://wiki.contextgarden.net/Calendar_script
-- - Feiertage, welche auf Ostern basieren im Aray korrigiert
-- - Änderungen von Udo Haß 
-- Version: 1.3 (Manuel Hoefs)
-- - Berechnung für Fronleichnam hinzugefügt (abhängig von Pfingsten)
-- - Berechnung für Buß- und Bettag hinzugefügt (immer der vorletzte Mittwoch vor dem 1. Advent)
-- - Erweiterung für Wochenenden
-- - Variable für tägliches Ausführen ergänzt
-- Version: 1.4 (Manuel Hoefs)
-- - Anpassung der Osterberechnung (temp fix)
-- Version: 1.5 (Manuel Hoefs April 2018)
-- - kompletter Neuberechnung der Feiertage abhängig von Ostern
-- - Konfigurationserweiterung um Feiertage des kompletten Jahres auszugeben

-- Es werden folgende Systemvariablen benötigt:
-- Feiertag_heute
-- Feiertag_morgen

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- EINSTELLUNGEN
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- Bitte nur in dieser Sektion Einstellungen vornehmen
debuging = true -- TOGGLE DEBUGING (true|false)
Land = "DE"  -- LAND angeben (DE, CH)
Bundesland = "NW" -- Bundesland eingeben (BW,BY,BE,BB,HB,HH,HE,MV,NI,NW,RP,SL,SN,ST,SH,TH) -- Kürzel http://www.schnelle-online.info/Feiertage-Deutschland.html
katholische_Gemeinde = false -- (true|false) spezielle Feiertage für katholische Gemeinden (München, Ingolstadt, Rosenheim)
Kanton = "" -- Kanton angeben für kantonale Feiertage (ZH, AG,...) -- leer lassen, um Funktion auszuschalten
scenerun = "00:30" -- SZENE JEDEN TAG AUSFÜHREN UM
wochenende = true -- (true|false) Wochenenden werden ebenfalls als Feiertag/Frei erkannt
showholidays = false -- Liste alle Feiertage im Jahr (true|false)

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DEBUG
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Grundfunktion: Debug("red", "Nachrichtentext")
Debug = function(color, message)
	if (debuging) then
		fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
	end
end

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- FEIERTAGE BERECHNEN
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fibaro:debug("start instanz " .. os.date("%c"));

function FeiertageFunc()
-- Notwendige Variablen
	local Datum = os.date("%d.%m.") -- heutiges Datum (ohne Jahr)
	local Jahr = os.date("%Y") -- Das aktuelle Jahr ermitteln
	local WeekDate = os.date("*t").wday -- Den aktuellen Wochentag ermitteln

-- Berechne Ostersonntag, basiert auf Meeus/Jones/Butcher
	local a = math.fmod(Jahr,19)
	local b = math.floor(Jahr / 100)
	local c = math.fmod(Jahr,100)
	local d = math.floor(b / 4)
	local e = math.fmod(b,4)
	local f = math.floor((b + 8) / 25) 
	local g = math.floor((b - f + 1) / 3)
	local h = math.fmod((19 * a + b - d - g + 15),30)
	local i = math.floor(c / 4)
	local k = math.fmod(c,4)
	local L = math.fmod((32 + 2 * e + 2 * i - h - k),7)
	local m = math.floor((a + 11 * h + 22 * L) / 451)
	local oMonat = math.floor((h + L - 7 * m + 114) / 31)
	local oTag = math.fmod((h + L - 7 * m + 114),31) + 1

-- Das Ergebnis in Variable oDatum hinterlegen
	--oDatum -- Das komplette Datum vom Ostersonntag
	if (oTag < 10) then
		oDatum = "0" .. oTag .. ".0" .. oMonat .. "." .. Jahr
	else
		oDatum = oTag .. ".0" .. oMonat .. "." .. Jahr
	end
	Debug("gray", "Osterdatum: ".. oDatum)
	Debug("gray", "Datum: ".. Datum)

-- Berechne Buß- und Bettag
	--bubTag	
	local wTag = os.time({year=Jahr, month=12, day=25})
	local wTable = os.date("*t", wTag)
	if (wTable.wday == 1) then
    	bubTag = 16
    else
    	bubTag = 23 - wTable.wday + 1
   	end

-- Ermitteln, wieviele Tage der Februar im aktuellen Jahr hat
	local zahl4 = Jahr % 4
	local zahl100 = Jahr % 100
	local zahl400 = Jahr % 400
 
	--mTage -- Variable für die interne Berechnung
	if ((zahl4 == 0) and (zahl100 ~= 0)) or (zahl400 == 0) then -- Ein Schaltjahr -> Feb. = 29 Tage
		mTage = {31,29,31,30,31,30,31,31,30,31,30,31} -- Anzahl der Tage im Monat Jan.-Dez.
		Debug("gray", Jahr.. " ist ein Schaltjahr.")
	else
		mTage = {31,28,31,30,31,30,31,31,30,31,30,31} -- Anzahl der Tage im Monat Jan.-Dez.
		Debug("gray", Jahr.. " ist kein Schaltjahr.")
	end

-- Feiertage mit dem heutigen & morgigen Datum vergleichen und Ergebnis
-- in den Variablen "Feiertag_heute" bzw. "Feiertag_morgen" speichern
	local zaehler = 1
	local feiertagliste = ""
	while zaehler < 3 do
		local Feiertag = 0

		if (wochenende) then
			if (WeekDate == 1 or WeekDate == 7) then
				Feiertag = 1
				Debug("gray", "Wochentag " .. WeekDate .. " ist ein Wochenendtag.")
			else
				Debug("gray", "Wochentag " .. WeekDate .. " ist KEIN Wochenendtag.")
			end
		end

		if (Land == "DE") then -- Bundeseinheitliche Feiertage in Deutschland
			if (Datum == "01.01.") then Feiertag = 1 end -- Neujahr
			if (Datum == "01.05.") then Feiertag = 1 end -- Tag der Arbeit
			if (Datum == "03.10.") then Feiertag = 1 end -- Tag der Deutschen Einheit
			if (Datum == "31.10.") and (Jahr == "2017") then Feiertag = 1 end -- Reformationstag (nur 2017 Bundeseinheitlich!)
			if (Datum == "25.12.") then Feiertag = 1 end -- 1. Weihnachtstag
			if (Datum == "26.12.") then Feiertag = 1 end -- 2. Weihnachtstag
			if (showholidays == true) and (zaehler == 1) then
				fibaro:debug("Liste der Feiertage für "..Jahr)
				fibaro:debug("01.01. Neujahr")
				fibaro:debug("01.05. Tag der Arbeit")
				fibaro:debug("03.10. Tag der Deutschen Einheit")
				fibaro:debug("25.12. 1. Weihnachtstag")
				fibaro:debug("26.12. 2. Weihnachtstag")
			end

			if Bundesland =="BW" then  -- spezifische Feiertage für Baden-Würtenberg
				if (Datum == "06.01.") then Feiertag = 1 end -- Heilige Drei Könige
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("06.01. Heilige Drei Könige")
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,49,60}
			end

			if Bundesland =="BY" then  -- spezifische Feiertage für Bayern
				if (Datum == "06.01.") then Feiertag = 1 end -- Heilige Drei Könige
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("06.01. Heilige Drei Könige")
					fibaro:debug("01.11. Allerheiligen")
				end
				if (katholische_Gemeinde) then
					if (Datum == "15.08.") then Feiertag = 1 end -- Mariä Himmelfahrt
					if (showholidays == true) and (zaehler == 1) then
						fibaro:debug("15.08. Mariä Himmelfahrt")
					end
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,49,60}
			end

			if Bundesland =="BE" then  -- spezifische Feiertage für Berlin
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="BB" then  -- spezifische Feiertage für Brandenburg
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostersonntag, Ostermontag, Christi Himmelfahrt, Pfingstsonntag, Pfingstmontag
				feiertage = {-2,0,1,39,48,49}
			end

			if Bundesland =="HB" then  -- spezifische Feiertage für Bremen
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="HH" then  -- spezifische Feiertage für Hamburg
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="HE" then  -- spezifische Feiertage für Hessen
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,49,60}
			end

			if Bundesland =="MV" then  -- spezifische Feiertage für Mecklenburg-Vorpommern
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="NI" then  -- spezifische Feiertage für Niedersachsen
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end
            
			if Bundesland =="NW" then  -- spezifische Feiertage für NRW
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,49,60}			
			end

			if Bundesland =="RP" then  -- spezifische Feiertage für Rheinland-Pfalz
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,49,60}
			end

			if Bundesland =="SL" then  -- spezifische Feiertage für Saarland
				if (Datum == "15.08.") then Feiertag = 1 end -- Mariä Himmelfahrt
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("15.08. Mariä Himmelfahrt")
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,49,60}
			end

			if Bundesland =="SN" then  -- spezifische Feiertage für Sachsen
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (Datum == bubTag .. ".11.") then Feiertag = 1 end -- Buß- und Bettag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
					fibaro:debug(bubTag ..".11. Buß- und Bettag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="ST" then  -- spezifische Feiertage für Sachsen-Anhalt
				if (Datum == "06.01.") then Feiertag = 1 end -- Heilige Drei Könige
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("06.01. Heilige Drei Könige")
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="SH" then  -- spezifische Feiertage für Schleswig-Holstein
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="TH" then  -- spezifische Feiertage für Thüringen
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end
		end

		if (Land == "CH") then -- FESTE FEIERTAGE IN DER GANZEN SCHWEIZ
			if (Datum == "01.01.") then Feiertag = 1 end -- Neujahr
			if (Datum == "01.08.") then Feiertag = 1 end -- Nationalfeiertag
			if (Datum == "25.12.") then Feiertag = 1 end -- Weihnachten
			if (Datum == "26.12.") then Feiertag = 1 end -- Stephanstag
			if (showholidays == true) and (zaehler == 1) then
				fibaro:debug("01.01. Neujahr")
				fibaro:debug("01.08. Nationalfeiertag")
				fibaro:debug("25.12. Weihnachten")
				fibaro:debug("26.12. Stephanstag")
			end

			if (Kanton == "ZH") then -- FEIERTAGE IM KANTON ZÜRICH
				if (Datum == "01.05.") then Feiertag = 1 end -- Tag der Arbeit
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("01.05. Tag der Arbeit")
				end
			end

			if (Kanton == "AG") then -- FEIERTAGE IM KANTON AARGAU
				if (Datum == "02.01.") then Feiertag = 1 end -- Berchtoldstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("02.01. Berchtoldstag")
				end
			end

		-- VARIABLE FEIERTAG IN DER GANZEN SCHWEIZ
			-- Aray mit Differenztagen zum oTag:
			-- Ostermontag, Karfreitag, Auffahrt, Pfingstmontag
			feiertage = {-2,1,39,49}
		end
		
-- VARIABLE FEIERTAGE BASIEREND AUF OSTERN: DATEN BERECHNEN
		--calcTag -- Variable für die interne Berechnung
		--calcMonat -- Variable für die interne Berechnung
		--zahl -- Variable für die interne Berechnung
		--fDatum -- Feiertagsdatum
		--fDiff -- Anzahl der Tage vom Ostersonntag entfernt
		--Schleife -- Für die Berechnungen in der while-Schleife notwendig    

		oTage = mTage[tonumber(oMonat)] -- Anzahl Tage im Ostermonat
		Debug("grey", "Anzahl Tage im Ostermonat: "..oTage)
    
		for x in next, feiertage do
			Debug("red", "Feiertag: "..feiertage[x])

			fDiff = oTag + feiertage[x]-- Differenztage zum Referenztag hinzurechnen
			Debug("grey", "oTag: "..oTag..", fDiff: "..fDiff..", index: "..x)
			if (fDiff < 1) then
				calcTag = mTage[tonumber(oMonat-1)]+fDiff
				calcMonat = oMonat-1
			elseif (fDiff <= oTage) then
				calcTag = fDiff
				calcMonat = oMonat
			else
				local Schleife = true
				local count = 0
				while (Schleife) do
					local zahl = fDiff - mTage[tonumber(oMonat+count)]
					if (zahl > mTage[tonumber(oMonat+count+1)]) then
						count = count + 1
						fDiff = zahl
						Debug("grey", "Ausserhalb des Referenzmonats > Schleife durchlaufen.")
					else
						calcTag = zahl
						calcMonat = oMonat+count+1
						Schleife = false
						Debug("grey", "Innerhalb des Referenzmonats > Schleife nicht durchlaufen.")
					end
				end
			end

-- Datum des Feiertags berechnen
			Debug("grey", "Datum des Feiertags berechnen...")
			if (calcTag < 10) then
				fDatum = "0" .. calcTag .. ".0"..calcMonat.. "."
			else
				fDatum = calcTag .. ".0"..calcMonat.. "."
			end
			Debug("white", "Feiertag: "..fDatum)
			if (showholidays == true) and (zaehler == 1) then
				local feiertag = ""
				if (feiertage[x] == -2) then
					feiertag = "Karfeitag"
				elseif (feiertage[x] == 0) then
					feiertag = "Ostersonntag"
				elseif (feiertage[x] == 1) then
					feiertag = "Ostermontag"
				elseif (feiertage[x] == 39) then
					feiertag = "Christi Himmelfahrt"
				elseif (feiertage[x] == 48) then
					feiertag = "Pfingstsonntag"
				elseif (feiertage[x] == 49) then
					feiertag = "Pfingstmontag"
				elseif (feiertage[x] == 60) then
					feiertag = "Fronleichnam"
				end
				
				fibaro:debug(fDatum .." ".. feiertag)
			end

-- Prüfen, ob Datum heute/morgen mit Feiertag übereinstimmt
			if (Datum == fDatum) then
				Feiertag = 1
				fibaro:debug("Feiertag ("..fDatum..") gefunden.")
			end
		end

-- VARIABLEN SETZTEN
		if zaehler == 1 then
-- 1. Durchgang: Datum heute mit den Feiertagen prüfen
			Debug("grey", "1. Durchgang: Datum heute="..Datum..", Feiertag="..Feiertag)
			fibaro:setGlobal("Feiertag_heute", Feiertag)
			zaehler = 2
			Datum = os.date("%d.%m.", os.time()+24*60*60) -- Datum auf morgen setzen
			WeekDate = WeekDate + 1
		else
-- 2. Durchgang: Datum morgen mit den Feiertagen prüfen
			if (wochenende) then
				if (WeekDate > 6) then
					Feiertag = 1
				end
			end
			Debug("grey", "2. Durchgang: Datum morgen="..Datum..", Feiertag="..Feiertag)
			fibaro:setGlobal("Feiertag_morgen", Feiertag)
			zaehler = 3
		end
	end

-- ERGEBNIS AUSGEBEN
	if fibaro:getGlobal("Feiertag_heute") == '0' then
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Heute ist kein Feiertag / Wochenende.")
		else
			fibaro:debug(os.date("%c") .. " - Heute ist kein Feiertag.")
		end
	else
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Heute ist ein Feiertag / Wochenende. Variable gesetzt!")
		else
			fibaro:debug(os.date("%c") .. " - Heute ist ein Feiertag. Variable gesetzt!")
		end
	end
	if fibaro:getGlobal("Feiertag_morgen") == '0' then
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Morgen ist kein Feiertag / Wochenende.")
		else
			fibaro:debug(os.date("%c") .. " - Morgen ist kein Feiertag.")
		end
	else
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Morgen ist ein Feiertag / Wochenende. Variable gesetzt!")
		else
			fibaro:debug(os.date("%c") .. " - Morgen ist ein Feiertag. Variable gesetzt!")
		end
	end
end

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SZENE JEDEN TAG AUSFÜHREN
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
	local currentDate = os.date("*t");
	local startSource = fibaro:getSourceTrigger();
	if ((((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == scenerun) )) then
		FeiertageFunc()
	end
	setTimeout(tempFunc, 60*1000)
end

if (sourceTrigger["type"] == "autostart") then
	tempFunc()
else
	local currentDate = os.date("*t");
	local startSource = fibaro:getSourceTrigger();
	if (startSource["type"] == "other") then
		FeiertageFunc()
	end
end

Guten Morgen,

Danke, hab das neue Script jetzt am laufen. Hoffe doch das es jetzt perfekt läuft.:wink:

Schöne Tag und Grüße

Guido

Danke für Dein Engagement, Zottel!

Ich Oute mich mal als Kann Nix ? Hatte das Script eingebunden und Variable erstellt - der Kaffee, welcher heute früh nicht gebrüht werden sollte, da Feiertag hat heute Nacht um 0.30 Uhr heißen Kaffee gemacht, der heute morgen nicht der Brüder war ?

Wo kann ich denn den Fehler suchen - bei Mir habe ich den gefunden, aber was kann ich falsch gemacht haben ?? Hilfe ?

Will mir denn mal keiner auf die Sprünge helfen ?

Hi,

Also mir viel es schwer, Deinen Text zu deuten.
Da steht „bei Mir habe ich den gefunden“ - also doch nicht den Fehler gelöst?
Überarbeite doch noch mal Beschreibungn…

Viele Grüße Hoggle

Ich habe mir eben alle Feiertage ausgeben lassen (danke für die Funktion!) und der morgige Pfingstmontag wird für den 20.05. terminiert. Da scheint noch eine Kleinigkeit nicht zu passen…

Hi,
anbei die Korrektur für Ostermontag


--[[
%% autostart
%% properties
%% globals
--]]

-- ************************************************************************
-- FEIERTAGE-SCRIPT
-- ************************************************************************

-- Das Skript berechnet die Feiertage in Deutschland im aktuellen Jahr und prüft,
-- ob heute oder morgen ein Feiertag ist und hinterlegt das Ergebnis in den
-- Systemvariablen "Feiertag_heute" und "Feiertag_morgen".

-- (c) Simon Betschmann (01-2015)
-- Version: 1.0
-- - Basierend auf einer Idee von Peter Beck (01-2011)
-- Version: 1.1
-- - Erweiterung für Deutschland und Bundeländer von Udo Haß
-- Version: 1.2
-- - Routine zur Berechnung der Osterfeiertage und Schaltjahr vollständig ersetzt.
-- - Quelle der Berechnung der Osterfeiertage teilweise von http://wiki.contextgarden.net/Calendar_script
-- - Feiertage, welche auf Ostern basieren im Aray korrigiert
-- - Änderungen von Udo Haß 
-- Version: 1.3 (Manuel Hoefs)
-- - Berechnung für Fronleichnam hinzugefügt (abhängig von Pfingsten)
-- - Berechnung für Buß- und Bettag hinzugefügt (immer der vorletzte Mittwoch vor dem 1. Advent)
-- - Erweiterung für Wochenenden
-- - Variable für tägliches Ausführen ergänzt
-- Version: 1.4 (Manuel Hoefs)
-- - Anpassung der Osterberechnung (temp fix)
-- Version: 1.5 (Manuel Hoefs April 2018)
-- - kompletter Neuberechnung der Feiertage abhängig von Ostern
-- - Konfigurationserweiterung um Feiertage des kompletten Jahres auszugeben
-- Version: 1.6 (Thomas Ehehalt Mai 2018)
-- - Hot fix für die Berechnung von Pfingstmontag

-- Es werden folgende Systemvariablen benötigt:
-- Feiertag_heute
-- Feiertag_morgen

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- EINSTELLUNGEN
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

-- Bitte nur in dieser Sektion Einstellungen vornehmen
debuging = true -- TOGGLE DEBUGING (true|false)
Land = "DE"  -- LAND angeben (DE, CH)
Bundesland = "BY" -- Bundesland eingeben (BW,BY,BE,BB,HB,HH,HE,MV,NI,NW,RP,SL,SN,ST,SH,TH) -- Kürzel http://www.schnelle-online.info/Feiertage-Deutschland.html
katholische_Gemeinde = true -- (true|false) spezielle Feiertage für katholische Gemeinden (München, Ingolstadt, Rosenheim)
Kanton = "" -- Kanton angeben für kantonale Feiertage (ZH, AG,...) -- leer lassen, um Funktion auszuschalten
scenerun = "00:30" -- SZENE JEDEN TAG AUSFÜHREN UM
wochenende = true -- (true|false) Wochenenden werden ebenfalls als Feiertag/Frei erkannt
showholidays = true -- Liste alle Feiertage im Jahr (true|false)

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DEBUG
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Grundfunktion: Debug("red", "Nachrichtentext")
Debug = function(color, message)
	if (debuging) then
		fibaro:debug(string.format('<%s style="color:%s;">%s', "span", color, message, "span"))
	end
end

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- FEIERTAGE BERECHNEN
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
fibaro:debug("start instanz " .. os.date("%c"));

function FeiertageFunc()
-- Notwendige Variablen
	local Datum = os.date("%d.%m.") -- heutiges Datum (ohne Jahr)
	local Jahr = os.date("%Y") -- Das aktuelle Jahr ermitteln
	local WeekDate = os.date("*t").wday -- Den aktuellen Wochentag ermitteln

-- Berechne Ostersonntag, basiert auf Meeus/Jones/Butcher
	local a = math.fmod(Jahr,19)
	local b = math.floor(Jahr / 100)
	local c = math.fmod(Jahr,100)
	local d = math.floor(b / 4)
	local e = math.fmod(b,4)
	local f = math.floor((b + 8) / 25) 
	local g = math.floor((b - f + 1) / 3)
	local h = math.fmod((19 * a + b - d - g + 15),30)
	local i = math.floor(c / 4)
	local k = math.fmod(c,4)
	local L = math.fmod((32 + 2 * e + 2 * i - h - k),7)
	local m = math.floor((a + 11 * h + 22 * L) / 451)
	local oMonat = math.floor((h + L - 7 * m + 114) / 31)
	local oTag = math.fmod((h + L - 7 * m + 114),31) + 1

-- Das Ergebnis in Variable oDatum hinterlegen
	--oDatum -- Das komplette Datum vom Ostersonntag
	if (oTag < 10) then
		oDatum = "0" .. oTag .. ".0" .. oMonat .. "." .. Jahr
	else
		oDatum = oTag .. ".0" .. oMonat .. "." .. Jahr
	end
	Debug("gray", "Osterdatum: ".. oDatum)
	Debug("gray", "Datum: ".. Datum)

-- Berechne Buß- und Bettag
	--bubTag	
	local wTag = os.time({year=Jahr, month=12, day=25})
	local wTable = os.date("*t", wTag)
	if (wTable.wday == 1) then
    	bubTag = 16
    else
    	bubTag = 23 - wTable.wday + 1
   	end

-- Ermitteln, wieviele Tage der Februar im aktuellen Jahr hat
	local zahl4 = Jahr % 4
	local zahl100 = Jahr % 100
	local zahl400 = Jahr % 400
 
	--mTage -- Variable für die interne Berechnung
	if ((zahl4 == 0) and (zahl100 ~= 0)) or (zahl400 == 0) then -- Ein Schaltjahr -> Feb. = 29 Tage
		mTage = {31,29,31,30,31,30,31,31,30,31,30,31} -- Anzahl der Tage im Monat Jan.-Dez.
		Debug("gray", Jahr.. " ist ein Schaltjahr.")
	else
		mTage = {31,28,31,30,31,30,31,31,30,31,30,31} -- Anzahl der Tage im Monat Jan.-Dez.
		Debug("gray", Jahr.. " ist kein Schaltjahr.")
	end

-- Feiertage mit dem heutigen & morgigen Datum vergleichen und Ergebnis
-- in den Variablen "Feiertag_heute" bzw. "Feiertag_morgen" speichern
	local zaehler = 1
	local feiertagliste = ""
	while zaehler < 3 do
		local Feiertag = 0

		if (wochenende) then
			if (WeekDate == 1 or WeekDate == 7) then
				Feiertag = 1
				Debug("gray", "Wochentag " .. WeekDate .. " ist ein Wochenendtag.")
			else
				Debug("gray", "Wochentag " .. WeekDate .. " ist KEIN Wochenendtag.")
			end
		end

		if (Land == "DE") then -- Bundeseinheitliche Feiertage in Deutschland
			if (Datum == "01.01.") then Feiertag = 1 end -- Neujahr
			if (Datum == "01.05.") then Feiertag = 1 end -- Tag der Arbeit
			if (Datum == "03.10.") then Feiertag = 1 end -- Tag der Deutschen Einheit
			if (Datum == "31.10.") and (Jahr == "2017") then Feiertag = 1 end -- Reformationstag (nur 2017 Bundeseinheitlich!)
			if (Datum == "25.12.") then Feiertag = 1 end -- 1. Weihnachtstag
			if (Datum == "26.12.") then Feiertag = 1 end -- 2. Weihnachtstag
			if (showholidays == true) and (zaehler == 1) then
				fibaro:debug("Liste der Feiertage für "..Jahr)
				fibaro:debug("01.01. Neujahr")
				fibaro:debug("01.05. Tag der Arbeit")
				fibaro:debug("03.10. Tag der Deutschen Einheit")
				fibaro:debug("25.12. 1. Weihnachtstag")
				fibaro:debug("26.12. 2. Weihnachtstag")
			end

			if Bundesland =="BW" then  -- spezifische Feiertage für Baden-Würtenberg
				if (Datum == "06.01.") then Feiertag = 1 end -- Heilige Drei Könige
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("06.01. Heilige Drei Könige")
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,50,60}
			end

			if Bundesland =="BY" then  -- spezifische Feiertage für Bayern
				if (Datum == "06.01.") then Feiertag = 1 end -- Heilige Drei Könige
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("06.01. Heilige Drei Könige")
					fibaro:debug("01.11. Allerheiligen")
				end
				if (katholische_Gemeinde) then
					if (Datum == "15.08.") then Feiertag = 1 end -- Mariä Himmelfahrt
					if (showholidays == true) and (zaehler == 1) then
						fibaro:debug("15.08. Mariä Himmelfahrt")
					end
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,50,60}
			end

			if Bundesland =="BE" then  -- spezifische Feiertage für Berlin
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end

			if Bundesland =="BB" then  -- spezifische Feiertage für Brandenburg
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostersonntag, Ostermontag, Christi Himmelfahrt, Pfingstsonntag, Pfingstmontag
				feiertage = {-2,0,1,39,49,50}
			end

			if Bundesland =="HB" then  -- spezifische Feiertage für Bremen
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,49}
			end

			if Bundesland =="HH" then  -- spezifische Feiertage für Hamburg
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end

			if Bundesland =="HE" then  -- spezifische Feiertage für Hessen
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,50,60}
			end

			if Bundesland =="MV" then  -- spezifische Feiertage für Mecklenburg-Vorpommern
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end

			if Bundesland =="NI" then  -- spezifische Feiertage für Niedersachsen
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end
            
			if Bundesland =="NW" then  -- spezifische Feiertage für NRW
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,50,60}			
			end

			if Bundesland =="RP" then  -- spezifische Feiertage für Rheinland-Pfalz
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,50,60}
			end

			if Bundesland =="SL" then  -- spezifische Feiertage für Saarland
				if (Datum == "15.08.") then Feiertag = 1 end -- Mariä Himmelfahrt
				if (Datum == "01.11.") then Feiertag = 1 end -- Allerheiligen
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("15.08. Mariä Himmelfahrt")
					fibaro:debug("01.11. Allerheiligen")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag, Fronleichnam
				feiertage = {-2,1,39,50,60}
			end

			if Bundesland =="SN" then  -- spezifische Feiertage für Sachsen
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (Datum == bubTag .. ".11.") then Feiertag = 1 end -- Buß- und Bettag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
					fibaro:debug(bubTag ..".11. Buß- und Bettag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end

			if Bundesland =="ST" then  -- spezifische Feiertage für Sachsen-Anhalt
				if (Datum == "06.01.") then Feiertag = 1 end -- Heilige Drei Könige
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("06.01. Heilige Drei Könige")
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end

			if Bundesland =="SH" then  -- spezifische Feiertage für Schleswig-Holstein
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end

			if Bundesland =="TH" then  -- spezifische Feiertage für Thüringen
				if (Datum == "31.10.") then Feiertag = 1 end -- Reformationstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("31.10. Reformationstag")
				end
				-- Aray mit Differenztagen zum Ostersonntag:
				-- Karfreitag, Ostermontag, Christi Himmelfahrt, Pfingstmontag
				feiertage = {-2,1,39,50}
			end
		end

		if (Land == "CH") then -- FESTE FEIERTAGE IN DER GANZEN SCHWEIZ
			if (Datum == "01.01.") then Feiertag = 1 end -- Neujahr
			if (Datum == "01.08.") then Feiertag = 1 end -- Nationalfeiertag
			if (Datum == "25.12.") then Feiertag = 1 end -- Weihnachten
			if (Datum == "26.12.") then Feiertag = 1 end -- Stephanstag
			if (showholidays == true) and (zaehler == 1) then
				fibaro:debug("01.01. Neujahr")
				fibaro:debug("01.08. Nationalfeiertag")
				fibaro:debug("25.12. Weihnachten")
				fibaro:debug("26.12. Stephanstag")
			end

			if (Kanton == "ZH") then -- FEIERTAGE IM KANTON ZÜRICH
				if (Datum == "01.05.") then Feiertag = 1 end -- Tag der Arbeit
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("01.05. Tag der Arbeit")
				end
			end

			if (Kanton == "AG") then -- FEIERTAGE IM KANTON AARGAU
				if (Datum == "02.01.") then Feiertag = 1 end -- Berchtoldstag
				if (showholidays == true) and (zaehler == 1) then
					fibaro:debug("02.01. Berchtoldstag")
				end
			end

		-- VARIABLE FEIERTAG IN DER GANZEN SCHWEIZ
			-- Aray mit Differenztagen zum oTag:
			-- Ostermontag, Karfreitag, Auffahrt, Pfingstmontag
			feiertage = {-2,1,39,50}
		end
		
-- VARIABLE FEIERTAGE BASIEREND AUF OSTERN: DATEN BERECHNEN
		--calcTag -- Variable für die interne Berechnung
		--calcMonat -- Variable für die interne Berechnung
		--zahl -- Variable für die interne Berechnung
		--fDatum -- Feiertagsdatum
		--fDiff -- Anzahl der Tage vom Ostersonntag entfernt
		--Schleife -- Für die Berechnungen in der while-Schleife notwendig    

		oTage = mTage[tonumber(oMonat)] -- Anzahl Tage im Ostermonat
		Debug("grey", "Anzahl Tage im Ostermonat: "..oTage)
    
		for x in next, feiertage do
			Debug("red", "Feiertag: "..feiertage[x])

			fDiff = oTag + feiertage[x]-- Differenztage zum Referenztag hinzurechnen
			Debug("grey", "oTag: "..oTag..", fDiff: "..fDiff..", index: "..x)
			if (fDiff < 1) then
				calcTag = mTage[tonumber(oMonat-1)]+fDiff
				calcMonat = oMonat-1
			elseif (fDiff <= oTage) then
				calcTag = fDiff
				calcMonat = oMonat
			else
				local Schleife = true
				local count = 0
				while (Schleife) do
					local zahl = fDiff - mTage[tonumber(oMonat+count)]
					if (zahl > mTage[tonumber(oMonat+count+1)]) then
						count = count + 1
						fDiff = zahl
						Debug("grey", "Ausserhalb des Referenzmonats > Schleife durchlaufen.")
					else
						calcTag = zahl
						calcMonat = oMonat+count+1
						Schleife = false
						Debug("grey", "Innerhalb des Referenzmonats > Schleife nicht durchlaufen.")
					end
				end
			end

-- Datum des Feiertags berechnen
			Debug("grey", "Datum des Feiertags berechnen...")
			if (calcTag < 10) then
				fDatum = "0" .. calcTag .. ".0"..calcMonat.. "."
			else
				fDatum = calcTag .. ".0"..calcMonat.. "."
			end
			Debug("white", "Feiertag: "..fDatum)
			if (showholidays == true) and (zaehler == 1) then
				local feiertag = ""
				if (feiertage[x] == -2) then
					feiertag = "Karfeitag"
				elseif (feiertage[x] == 0) then
					feiertag = "Ostersonntag"
				elseif (feiertage[x] == 1) then
					feiertag = "Ostermontag"
				elseif (feiertage[x] == 39) then
					feiertag = "Christi Himmelfahrt"
				elseif (feiertage[x] == 49) then
					feiertag = "Pfingstsonntag"
				elseif (feiertage[x] == 50) then
					feiertag = "Pfingstmontag"
				elseif (feiertage[x] == 60) then
					feiertag = "Fronleichnam"
				end
				
				fibaro:debug(fDatum .." ".. feiertag)
			end

-- Prüfen, ob Datum heute/morgen mit Feiertag übereinstimmt
			if (Datum == fDatum) then
				Feiertag = 1
				fibaro:debug("Feiertag ("..fDatum..") gefunden.")
			end
		end

-- VARIABLEN SETZTEN
		if zaehler == 1 then
-- 1. Durchgang: Datum heute mit den Feiertagen prüfen
			Debug("grey", "1. Durchgang: Datum heute="..Datum..", Feiertag="..Feiertag)
			fibaro:setGlobal("Feiertag_heute", Feiertag)
			zaehler = 2
			Datum = os.date("%d.%m.", os.time()+24*60*60) -- Datum auf morgen setzen
			WeekDate = WeekDate + 1
		else
-- 2. Durchgang: Datum morgen mit den Feiertagen prüfen
			if (wochenende) then
				if (WeekDate > 6) then
					Feiertag = 1
				end
			end
			Debug("grey", "2. Durchgang: Datum morgen="..Datum..", Feiertag="..Feiertag)
			fibaro:setGlobal("Feiertag_morgen", Feiertag)
			zaehler = 3
		end
	end

-- ERGEBNIS AUSGEBEN
	if fibaro:getGlobal("Feiertag_heute") == '0' then
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Heute ist kein Feiertag / Wochenende.")
		else
			fibaro:debug(os.date("%c") .. " - Heute ist kein Feiertag.")
		end
	else
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Heute ist ein Feiertag / Wochenende. Variable gesetzt!")
		else
			fibaro:debug(os.date("%c") .. " - Heute ist ein Feiertag. Variable gesetzt!")
		end
	end
	if fibaro:getGlobal("Feiertag_morgen") == '0' then
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Morgen ist kein Feiertag / Wochenende.")
		else
			fibaro:debug(os.date("%c") .. " - Morgen ist kein Feiertag.")
		end
	else
		if (wochenende) then
			fibaro:debug(os.date("%c") .. " - Morgen ist ein Feiertag / Wochenende. Variable gesetzt!")
		else
			fibaro:debug(os.date("%c") .. " - Morgen ist ein Feiertag. Variable gesetzt!")
		end
	end
end

-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SZENE JEDEN TAG AUSFÜHREN
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
	local currentDate = os.date("*t");
	local startSource = fibaro:getSourceTrigger();
	if ((((currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == scenerun) )) then
		FeiertageFunc()
	end
	setTimeout(tempFunc, 60*1000)
end

if (sourceTrigger["type"] == "autostart") then
	tempFunc()
else
	local currentDate = os.date("*t");
	local startSource = fibaro:getSourceTrigger();
	if (startSource["type"] == "other") then
		FeiertageFunc()
	end
end

Dankeschön!

Hallo Hoggle,

bei mir habe ich den gefunden, als krieg es nicht hin - sorry für die dumme Schreibweise !!

Den Script habe ich eingefügt und Variablen erstellt.

Nun habe ich mal das Beispiel Kaffee hier eingefügt.

Die Maschine geht mitten in der Nacht an und morgens auch noch mal, nehme ich die Variable raus - läuft es normal zu den Zeiten.

Würde aber gerne das die Maschine weiß, keine Arbeitszeit und bleibt aus.

Variable habe ich mal auf 0 und mal auf 1 gesetzt, macht immer das gleiche

Ich hoffe so ist es verständlicher

Bildschirmfoto-2018-05-21-um-08.49.35.png

Bildschirmfoto-2018-05-21-um-08.50.52.png

Heute - Pfingstmontag soll auch kein Feiertag sein, oder habe ich den Skript falsch verstanden ?

Bildschirmfoto-2018-05-21-um-08.55.46.png