Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - Nachdimmen Plugin funktioniert nicht
Einklappen
Dieses Thema ist geschlossen.
X
X
-
Sollte kien Problem seinIch versuchs mal im SVN zu ändern.
Hast du TortoiseSVN?
Einen Kommentar schreiben:
-
Die einfachen Anführungszeichen sind keine Anführungszeichern sondern ‘ statt '. Also beim Programmieren hat jemand ALT statt SHIFT gedrückt.Code:my $crthour = `date \"+%H\"`
Ich versuchs mal im SVN zu ändern.
Einen Kommentar schreiben:
-
Danke für die Hinweise. Habe den Tippfehler leider nicht gefunden. Mit dem geposteten Plugin von JuMi funktioniert es nun wie gewünscht.
Danke euch beiden !
Gruß Plusch
Einen Kommentar schreiben:
-
Da gibt es einen Tippfehler oder so ich wollte das schon mal im svn korrigieren.
Der Code funktioniert auf jeden Fall:
Ich hab auch ewig gebraucht um den Fehler zu finden, habs aber vergessen wo das war. Irgendwelche Anführungszeichen oder sowas hab ich noch im Kopf.Code:# Nachts Licht nur gedimmt einschalten. # Plugin hört auf GA des Ein-Befehles und schickt Dimmwert hinterher. # V0.5 2011-03-06 ### Definitionen ### Hier werden die Werte/Gruppenadressen definiert my $lichtein_ga = "1/2/20"; # Gruppenadresse Licht Ein/Aus my $lichtdim_ga = "1/2/23"; # Gruppenadresse Licht Dimmwert my $dimvalue = 15; # Dimmwert my $starthour = 23; # Stunde, ab der gedimmt werden soll my $endhour = 7; # Stunde, ab der nicht mehr gedimmt werden soll ### Ende Definitionen my ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings); ($second, $minute, $hour, $dayOfMonth, $month, $yearOffset, $dayOfWeek, $dayOfYear, $daylightSavings) = localtime(); # Eigenen Aufruf-Zyklus auf 1x täglich setzen, hört ja auf GA $plugin_info{$plugname.'_cycle'} = 86400; # Plugin an Gruppenadresse "anmelden" $plugin_subscribe{$lichtein_ga}{$plugname} = 1; # Nur bei einer gesendeten 1 reagieren # Nur bei einer gesendeten 1 reagieren if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $lichtein_ga && $msg{'value'} == '1' ) { if ($hour >= $starthour || $hour <$endhour) { knx_write($lichtdim_ga,$dimvalue,5); # Dimmwert senden return "Gedimmt $hour Uhr"; } } # Kein Log return 0;
Einen Kommentar schreiben:
-
Hi,
wenn du die Variable $crthour ausgibst, kommt da
date \"+%H\"
Und das verwertet Perl scheinbar als >=19, somit geht er immer in den If-Zweig.
Probier mal, die Stunden folgendermaßen zu ermitteln, sollte eigentlich gehen:
Code:my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time); $crthour = $Stunden +1;
Einen Kommentar schreiben:
-
- √ - Nachdimmen Plugin funktioniert nicht
Hallo,
ich möchte in meinem Bad nachts das Licht, mit Hilfe des unten stehenden Plugins, gedimmt einschalten lassen. Allerdings ist es nun so das das Licht immer gedimmt eingeschaltet wird, egal zu welcher Uhrzeit, bzw. welche Schaltzeiten ich eingegeben habe.
Ich denke mal das irgendwo nur ein Tippfehler oder ähnliches ist, allerdings kann ich den absolut nicht finden .....
Vielleicht kann ja mal jemand drüber schauen.
Danke schon mal.
Gruß
Plusch
Code:### Definitionen ### Hier werden die Werte/Gruppenadressen definiert my $lichtein_ga = "3/2/31"; # Gruppenadresse Licht Ein/Aus my $lichtdim_ga = "3/2/7"; # Gruppenadresse Licht Dimmwert my $dimvalue = 3; # Dimmwert my $starthour = 19; # Stunde, ab der gedimmt werden soll my $endhour = 6; # Stunde, ab der nicht mehr gedimmt werden soll ### Ende Definitionen # Eigenen Aufruf-Zyklus auf 1x täglich setzen, hört ja auf GA $plugin_info{$plugname.'_cycle'} = 86400; # Plugin an Gruppenadresse "anmelden" $plugin_subscribe{$lichtein_ga}{$plugname} = 1; # Nur bei einer gesendeten 1 reagieren if ($msg{'apci'} eq "A_GroupValue_Write" && $msg{'dst'} eq $lichtein_ga && defined $msg{'value'} && $msg{'value'} == "1" ) { # Aktuelle Stunde my $crthour = 'date \"+%H\"'; # Wenn innerhalb des Zeitraumes if ($crthour >= $starthour || $crthour <=$endhour) { knx_write($lichtdim_ga,$dimvalue,5); # Dimmwert senden #return "Gedimmt"; } } # Kein Log return 0;


Einen Kommentar schreiben: