Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Nachdimmen Plugin funktioniert nicht

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • swiss
    antwortet
    Ach soo... OK

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    bin dabei ... mit smartsvn (Mac-User)

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Ich versuchs mal im SVN zu ändern.
    Sollte kien Problem sein Hast du TortoiseSVN?

    Einen Kommentar schreiben:


  • JuMi2006
    antwortet
    Code:
    my $crthour = `date \"+%H\"`
    Die einfachen Anführungszeichen sind keine Anführungszeichern sondern statt '. Also beim Programmieren hat jemand ALT statt SHIFT gedrückt.

    Ich versuchs mal im SVN zu ändern.

    Einen Kommentar schreiben:


  • Plusch
    antwortet
    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:


  • JuMi2006
    antwortet
    Da gibt es einen Tippfehler oder so ich wollte das schon mal im svn korrigieren.

    Der Code funktioniert auf jeden Fall:

    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;
    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.

    Einen Kommentar schreiben:


  • christian523
    antwortet
    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:


  • Plusch
    hat ein Thema erstellt [wiregate] - √ - Nachdimmen Plugin funktioniert nicht.

    - √ - 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;
Lädt...
X