Zeitsteuerung und Feiertage

icube
Beiträge: 31
Registriert: Do 5. Mai 2016, 22:52

Do 5. Mai 2016, 22:59

Hallo,

bei mir gibt es ein paar zeitgesteuerte Szenarien die am Wochenende zu anderen Zeiten als Werktags, leider finde ich aktuell keine Möglichkeit Feiertage einzuplanen.
Daher als Wunsch die Möglichkeit auch Feiertage wie z.B. den Sonntag zu behandeln, oder als Luxus eigene Zeitpläne für Feiertage. Am genialsten wäre es wenn ein Feirtagskalender eingepflegt werden kann, oder aber die Möglichkeit die Feiertage selber zu definieren.

Grüße.
Icube
Benutzeravatar
Black2Jack
Beiträge: 305
Registriert: Mo 7. Mär 2016, 13:34
Wohnort: Baierbach [Bayern]

Mo 11. Jul 2016, 12:27

Hallo,

nachdem ich ähnliche Szenen verwende, würde ich mich dem Wunsch auch anschließen.
Gruß Black2Jack

LM AIR (akt. SW)
- MAX-Cube (13 WTs,23 HTs,18 FKs)
- EMOS E6016-WS1
- Uniroll Typ 2 COMFORT mit Dämmerungssensor ABST-604
- div. Shelly 1/1PM/2.5/PlugS
- div. AWST 9000
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Mo 11. Jul 2016, 15:04

Für Leute mit FHEM könnte ich mal an einer Lösung basteln.
Problem wird sein, das jedes Budesland andere Feiertage hat.

Hab mir gedacht, lasse mir ein Online Kalender auslesen, wenn dann ein Feiertag drin ist, setzt FHEM im LM ein Marker.
Den Marker kann man dann wieder verwenden um eine Szene bedingt durch ein Feiertag auszulösen bzw. nicht aus zu lösen
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Mi 13. Jul 2016, 11:34

Habe jetzt mal was auf die schnelle gebastelt.
Werde es aber erst morgen testen können, da FHEM immer erst um 0:00 überprüft ob der nächste Tag ein Feiertag ist oder nicht.

Es gibt eine Datei die in FHEM definiert wird, dort werden alle Feiertage und auch Urlaube eingetragen.
Die Datei kann man in FHEM einfach editieren.

Habe bisher eine Datei für Hessen und eine für Bayern.

Wenn man Urlaub und Feiertage getrennt Schalten will, wäre das auch kein Problem. Dazu müsste man den Text "Feiertag" ersetzten durch zb. "Urlaub"
Dazu müsste man noch ein paar kleine Änderungen hinzufügen.

Sollte es morgen klappen mit dem Test Feiertag, Und Freitag auch wieder abschalten, werde ich es hier, wenn Interẹsse besteht, nochmal genauer beschreiben und ein HowTo erstellen.

Code: Alles auswählen

# Format für einzelne Tage: 1 MM-DD <Text>
# Neujahr
1 01-01 Feiertag
# Tag der Arbeit
1 05-01 Feiertag
# Test Feiertag
1 07-14 Feiertag
#Tag der Deutschen Einheit
1 10-03 Feiertag
# 1. Weihnachtstag
1 12-25 Feiertag
# 2. Weihnachtstag
1 12-26 Feiertag
# Osterbezogene Feiertage
# Format: 2 <relative Tage von Osternsonntag> <Text>
# Karfreitag
2 -2 Feiertag
# Ostermontag
2 1 Feiertag
# Christi Himmefahrt
2 39 Feiertag
# Pfingsten
2 50 Feiertag
# Fronleichnam
2 60 Feiertag
# Urlaube
# Format: 4 MM-DD MM-DD <Text>
# 4 12-30 12-31 Feiertag
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Mo 18. Jul 2016, 13:25

Scheint geklappt zu haben.

Hat heute wunderbar auf Feiertag geschaltet, also Marker "Feiertag" gesetzt (Habe ein Test Feiertag angelegt) Diesen könnte man jetzt in die Schaltungen mit intrigieren.
Benutzeravatar
Blackbird
Beiträge: 829
Registriert: Sa 20. Feb 2016, 17:51

Mo 18. Jul 2016, 14:04

Meine Frau betreibt nebenberuflich ein Nagelstudio (Fingernägel! ;) )
Deren Terminplan lade ich automatisiert von Terminland.de runter,
werte den mit einer Batch aus, bzw. extrahiere die Uhrzeiten von heutigen Terminen.

30 min vor dem Termin wird der Strom im Nagelstudio angeschaltet....
icube
Beiträge: 31
Registriert: Do 5. Mai 2016, 22:52

Fr 5. Aug 2016, 18:16

Die Idee mit dem FHEM ist sehr gut, nur leider steht mir nur der Light-Manager Air zur Verfügung, also hoffe ich weiter auf eine LM interne Lösung.

Schönes Wochenende.
Icube
Mingarer
Beiträge: 41
Registriert: So 23. Okt 2016, 12:07

Mo 26. Dez 2016, 11:27

Frage an Marioir.

Ich habe mir inzwischen auch FHEM auf meiner NAS installiert. Ein möglicher Anwendungsfall wäre die Feiertagslösung von Dir.

Kannst du mir deine Lösung vielleicht noch ein wenig ausführlicher erklären.

1. Wie kann man aus FHEM Befehle an den LM senden. Einfach per http request, oder muss der LM in FHEM speziell angebunden werden?

2. Geht das Setzen des Markers auch ohne manuelle Szene? Ich weiss, wie man per http Szenen auslöst, aber kann man den Marker auch direkt schalten?

3. Wie erfolgt denn die tägliche Prüfung der Datei ob der aktuelle Tag ein Feiertag ist?

Vielen Dank schon mal für die Hilfe!

Ciao, der Mingarer
Marioir
Beiträge: 1147
Registriert: Mi 24. Feb 2016, 15:36
Wohnort: Offenbach

Mo 26. Dez 2016, 16:58

Gude..
1. Wie kann man aus FHEM Befehle an den LM senden. Einfach per http request, oder muss der LM in FHEM speziell angebunden werden?
Nein du kannst die Befehle ganz einfach per HTTP Request an den LM schicken.
Dazu erstellt man ein Notyfy der den Dummy überwacht, sobald sich was ändert sendet das Notyfy den GET Befehl an den LM

Code: Alles auswählen

define n1_feiertage_none notify Feiertage:off { GetHttpFile("192.168.1.26", "/control?key=200") }
define n1_feiertage_true notify Feiertage:on { GetHttpFile("192.168.1.26", "/control?key=201") }
define n1_urlaub_none notify Urlaub:off { GetHttpFile("192.168.1.26", "/control?key=203") }
define n1_urlaub_true notify Urlaub:on { GetHttpFile("192.168.1.26", "/control?key=202") }
ich habe Urlaub und Feiertage getrennt gemacht.
2. Geht das Setzen des Markers auch ohne manuelle Szene? Ich weiss, wie man per http Szenen auslöst, aber kann man den Marker auch direkt schalten?


Nein sobald ich weiß, geht das nur mit einer Manuellen Szene, die du dann per HTTP Request aufrufst.
3. Wie erfolgt denn die tägliche Prüfung der Datei ob der aktuelle Tag ein Feiertag ist?
Als erstes erstellst du dir eine Datei, in meinen Fall "hessen.holiday" die Kopierst du in dein /FHEM Verzeichnis.
In den Fall sind alle Feiertage in Hessen aufgelistet.

Code: Alles auswählen

# Format für einzelne Tage: 1 MM-DD <Text>
#Neujahr
1 01-01 Feiertag
#Tag der Arbeit
1 05-01 Feiertag
#Tag der Deutschen Einheit
1 10-03 Feiertag
#1. Weihnachtstag
1 12-25 Feiertag
#1. Weihnachtstag
1 12-26 Feiertag
# Osterbezogene Feiertage
# Format: 2 <relative Tage von Osternsonntag> <Text>
# Karfreitag
2 -2 Feiertag
# Ostermontag
2 1 Feiertag
# Christi Himmefahrt
2 39 Feiertag
# Pfingsten
2 50 Feiertag
#Fronleichnam
2 60 Feiertag
# Urlaube
# Format: 4 MM-DD MM-DD <Text>
4 10-25 10-28 Urlaub
4 12-23 12-31 Urlaub

Als nächstes musst du FHEM noch mit der Datei bekannt machen. Die Datei wird 1 mal am Tag um 0:00 Uhr überprüft, ob der Tag ein Feiertag oder ein Urlaubstag ist.
Sollte der Tage in Feiertag sein, schaltet der Dummy entsprechend auf EIN, das Notyfy überwacht den Dummy und sendet den Befehl an den LM

Code: Alles auswählen

define hessen holiday
define Feiertage dummy
attr Feiertage event-on-change-reading .*
define n_feiertage_none notify hessen:none set Feiertage off
define n_feiertage_true notify hessen:Feiertag set Feiertage on
define n1_feiertage_none notify Feiertage:off { GetHttpFile("192.168.1.26", "/control?key=200") }
define n1_feiertage_true notify Feiertage:on { GetHttpFile("192.168.1.26", "/control?key=201") }
define Urlaub dummy
attr Urlaub event-on-change-reading .*
define n_urlaub_none notify hessen:none set Urlaub off
define n_urlaub_true notify hessen:Urlaub set Urlaub on
define n1_urlaub_none notify Urlaub:off { GetHttpFile("192.168.1.26", "/control?key=203") }
define n1_urlaub_true notify Urlaub:on { GetHttpFile("192.168.1.26", "/control?key=202") }
Mingarer
Beiträge: 41
Registriert: So 23. Okt 2016, 12:07

Mo 26. Dez 2016, 21:35

Besten Dank für die schnelle Antwort.

Werde mich morgen dran versuchen und hoffentlich erfolgreiche Rückmeldung geben können.

Viele Grüße, der Mingarer
Antworten