Simple Zeitschaltung mit Unterscheidung von WE und Werktagen => noch auszubauen

Begonnen von Sammy51, 15 April 2018, 22:18:36

Vorheriges Thema - Nächstes Thema

Sammy51

Hallo zusammen,

falls es Jemandem hilft - oder Ihr Ideen zur Verbesserung/Erweiterung habt  - hier meine erste Zeitschaltung die per Button in FHEM-Web leicht aktiviert/deaktiviert werden kann.
Anpassung bislang nur über die Code-Schnipsel. Eigene Ideen zur Erweiterung siehe unten:

define FileLog_GT.Power.Quellstein1 FileLog ./log/GT.Power.Quellstein1-%Y.log GT.Power.Quellstein1
attr FileLog_GT.Power.Quellstein1 logtype text
attr FileLog_GT.Power.Quellstein1 room LOGS

###### Dummy erstellen um Automatisierungsroutine für GT.Power.Quellstein1 AN und AUS Schalten zu können ######
define GT.Power.Quellstein1_Automation dummy
attr GT.Power.Quellstein1_Automation alias QuellsteinU Automode
attr GT.Power.Quellstein1_Automation devStateIcon on:general_an_fuer_zeit@green off:general_aus_fuer_zeit@red
attr GT.Power.Quellstein1_Automation icon general_an_fuer_zeit
attr GT.Power.Quellstein1_Automation room Garten
attr GT.Power.Quellstein1_Automation setList on off
attr GT.Power.Quellstein1_Automation webCmd on:off
##### Ende Dummy ######

###### QuellsteinUnten Anschalten unterschieden für WT und WE #######
define QuellsteinUntenAutoAnWT at *16:15:00 { if((Value("GT.Power.Quellstein1_Automation") eq "on") && (Value ("GT.Power.Quellstein1") eq "off") && $we == 0) { fhem("set GT.Power.Quellstein1 on;; set Sonos_EZ Speak 20 de Der Quell stein wurde eingeschaltet!") }}
define QuellsteinUntenAutoAnWE at *10:00:00 { if((Value("GT.Power.Quellstein1_Automation") eq "on") && (Value ("GT.Power.Quellstein1") eq "off") && $we == 1) { fhem("set GT.Power.Quellstein1 on;; set Sonos_EZ Speak 20 de Der Quell stein wurde eingeschaltet!") }}
###### QuellsteinUnten Ausschalten immer - 1800 vor Sonnenuntergang aber nicht vor .. und nicht nach ...#######
define QuellsteinUntenAutoAus at *{sunset(-1800,"17:30","21:30")} { if((Value("GT.Power.Quellstein1_Automation") eq "on") && (Value ("GT.Power.Quellstein1") eq "on") ) { fhem("set GT.Power.Quellstein1 off;; set Sonos_EZ Speak 20 de Der Quell stein wurde AUSgeschaltet!") }}


Anmerkung: die zusätzliche Sonos Ausgabe ist erstmal Spielerei - ähnlich wären beliebige sonstige Aktionen zeitgleich durchführbar.

Bisherige Ideen zur Verbesserung:
* Da es sich um eine per 4-fach HM-Aktor geschaltete Außensteckdose handelt - die im Sommer für einen Quellestein und im Winter für Weihnachtsbeleuchtung gentutzt wird:
==> Erweiterung des Dummy um 4 Zustände für die Jahreszeiten mit separaten Icons pro "STate" (=> glaube das bekomme ich hin)
==> Erweiterung der Bedingungen so dass je Jahreszeit andere Zeitpläne verwendet werden (z.B. Sommer ... aus 1h nach Dämmerung, Winter an .. 1h nach Dämmerung
==> Feiertage könnten wie WE behandelt werden
==> Urlaub daheim mit entsprechendem Google Kalender Eintrag ggf. auch => Schnickschnack aber wenn man weiß wie vielleicht noch sinnvoller anders einzusetzen
==> alternativ/ergänzend ggf. künfig Einbindung eines Bewegungsmelders für den Pumpenbetrieb (bislang nicht vorhanden)

Beste Grüße,
Sammy

PS: Bin Vielleicht blind ... finde unten links auch nach ausklappen "Erweiterte Optionen ..." keinen Button um das Thema nach "Anfänger" (Forum) zu verschieben (wie von Beta-User vorgeschlagen)
----------------------------------------------------------------
PI3b FHEM@Buster | Homematic via HMLAN | Phillips HUE/Zigbee | EnoCean via USB300 | Z-Wave via USB | Sonos | AlexaConnector

In Schublade (Anwendungstipps?): Raspy 1 | HM-Raspi-Modul | USB-Serial Adapter

MadMax-FHEM

Hallo Sammy,

viel Spaß dabei!

Kann es zwar (aktuell) nicht brauchen aber einen kleinen Anstoß bzgl. deiner geplanten Erweiterung (Urlaub und Feiertage) hab ich:

https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Beta-User

Du kannst die vielen at ggf. auch zu einem weekdayTimer zusammenfassen. Der erlaubt auch die Auswertung diverser Bedingungen als Perl-Code im Ausführungsteil, das läßt sich im Prinzip beliebig erweitern:

define Timer_Umwaelzpumpe WeekdayTimer MYSENSOR_96 !$we|05:50|on $we|06:55|on 12:30|on {fhem ("set $NAME status1 $EVENT") if (ReadingsVal('MYSENSOR_96','temperature21',0) < 35 and ReadingsVal('Status_Urlaub','state',"off") ne "on")}

Was das Urlaubsthema etc. angeht: holiday2we ist bekannt? Man kann auch mehrere .holiday-Dateien verwenden. Ist da der Urlaub z.B. in einer Urlaub.holiday drin, wird er als $we==true behandelt.

Übrigens ist "Codeschnipsel" nur für fertigen Code gedacht; hier sind nach meinem Geschmack noch zu viele Fragen drin ;) . Besser in den Anfängerbereich verschieben.

Und manches (doppelte;;?) solltest du einfach ausprobieren - vielleicht mit einem "Ziel", bei dem wenig schief gehen kann ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Sammy51

Danke - klingt gut ... Verschieben versuche ich mal :-)

EDIT: Kann es ein, dass nur Admins verschieben können? Finde dazu jedenfalls keine Option (auch nicht beim editieren des ersten Eintrags.
----------------------------------------------------------------
PI3b FHEM@Buster | Homematic via HMLAN | Phillips HUE/Zigbee | EnoCean via USB300 | Z-Wave via USB | Sonos | AlexaConnector

In Schublade (Anwendungstipps?): Raspy 1 | HM-Raspi-Modul | USB-Serial Adapter

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files