Hallo, habe versucht gestern abend das Zeitschaltuhrplugin für meine Rolladen zu verwenden.
Später möchte ich es ggf. erweitern um auf der Südseite die Rolladen auf ca 50% fahren zu können, wenn die Sonne einen gewissen Wert erreicht hat (da weiss ich noch nicht wie)
Heute morgen passierte NIX
Davon abgesehen scheint es dem Wiregate egal zu sein, ob da Scriptausführungszeit 20 oder 60 Sekunden steht, denn er führt es trotzdem alle 60 aus...
Später möchte ich es ggf. erweitern um auf der Südseite die Rolladen auf ca 50% fahren zu können, wenn die Sonne einen gewissen Wert erreicht hat (da weiss ich noch nicht wie)
Heute morgen passierte NIX
Davon abgesehen scheint es dem Wiregate egal zu sein, ob da Scriptausführungszeit 20 oder 60 Sekunden steht, denn er führt es trotzdem alle 60 aus...
Code:
# Plugin zum Zeit abhängigem schaten von GA's (Schaltuhr) # Version 0.1 03.07.2011 # Copyright: swiss (https://knx-user-forum.de/members/swiss.html) # License: GPL (v2) # Aufbau möglichst so, dass man unterhalb der Einstellungen nichts verändern muss! #################### ###Einstellungen:### #################### my @Schaltzeiten; push @Schaltzeiten, { name => "Wohnzimmer groß", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 08, Minuten => 00, Befehl => 0, ga => '5/0/4' }; push @Schaltzeiten, { name => "Wohnzimmer groß", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 19, Minuten => 00, Befehl => 1, ga => '5/0/4' }; push @Schaltzeiten, { name => "Wohnzimmer links", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 08, Minuten => 00, Befehl => 0, ga => '5/0/8' }; push @Schaltzeiten, { name => "Wohnzimmer links", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 19, Minuten => 00, Befehl => 1, ga => '5/0/8' }; push @Schaltzeiten, { name => "Wohnzimmer mitte", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 08, Minuten => 00, Befehl => 0, ga => '5/0/12' }; push @Schaltzeiten, { name => "Wohnzimmer mitte", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 19, Minuten => 00, Befehl => 1, ga => '5/0/12' }; push @Schaltzeiten, { name => "Wohnzimmer rechts", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 08, Minuten => 00, Befehl => 0, ga => '5/0/16' }; push @Schaltzeiten, { name => "Wohnzimmer rechts", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 19, Minuten => 00, Befehl => 1, ga => '5/0/16' }; push @Schaltzeiten, { name => "Küche", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 08, Minuten => 00, Befehl => 0, ga => '5/0/20' }; push @Schaltzeiten, { name => "Küche", montag => 1, dienstag => 1, mittwoch => 1, donnerstag => 1, freitag => 1, samstag => 1, sonntag => 1, Stunden => 19, Minuten => 00, Befehl => 1, ga => '5/0/20' }; ###################### ##ENDE Einstellungen## ###################### use POSIX; # Eigenen Aufruf-Zyklus auf 20sek. setzen $plugin_info{$plugname.'_cycle'} = 20; #Hier wird ein Array angelegt, um die Wochentagsnummer von localtime zu übersetzen my @Wochentag = ('sonntag', 'montag', 'dienstag', 'mittwoch', 'donnerstag', 'freitag', 'samstag'); my $sec; my $min; my $hour; my $mday; my $mon; my $year; my $wday; my $yday; my $isdst; foreach my $element (@Schaltzeiten) { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year += 1900; if ($element->{$Wochentag[$wday]} == 1 && $element->{Stunden} == $hour && $element->{Minuten} == $min) { knx_write($element->{ga},$element->{Befehl},1); } next; }
Kommentar