Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Frage zur physikalischen Adresse des WG

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

    #16
    Ok!
    Ich habe mich nun entschlossen, die Karenzzeit in die Logikengine einzufuehren: für eine bestimmte Zeit blockiert die Engine die Ausführung der Logik.

    @Makki: hier noch ein einfacher wiregated.pl-Patch betr Uhrzeit/Datum. ACHTUNG: wurde nochmal geändert!

    Code:
    --- wiregated.pl.orig   2012-05-11 23:45:21.000000000 +0200
    +++ wiregated.pl        2012-05-12 00:03:37.000000000 +0200
    @@ -206,16 +206,17 @@
     
     sub decode_dpt10 { #3byte time
         my @val = split(" ",shift);
    -    my @wd = qw(Null Mo Di Mi Do Fr Sa So);
    +    my @wd = qw(0 Mo Di Mi Do Fr Sa So);
         $val[0] = hex($val[0]);
         $val[1] = hex($val[1]);
         $val[2] = hex($val[2]);
    -    unless ($val[2]) { return; }
    +    unless (defined $val[2]) { return; }
         my $day = ($val[0] & 0xE0) >> 5;
    +    $day=$day?($wd[$day].' '):'';
         my $hour    = $val[0] & 0x1F;
         my $minute  = $val[1];
         my $second  = $val[2];
    -    return sprintf("%s %02i:%02i:%02i",$wd[$day],$hour,$minute,$second);
    +    return sprintf("%s%02i:%02i:%02i",$day,$hour,$minute,$second);
     }
     
     sub decode_dpt11 { #3byte date
    @@ -224,7 +225,7 @@
         $val[0] = hex($val[0]);
         $val[1] = hex($val[1]);
         $val[2] = hex($val[2]);
    -    unless ($val[2]) { return; }
    +    unless (defined $val[2]) { return; }
         my $mday    = $val[0] & 0x1F;
         my $mon     = $val[1] & 0x0F;
         my $year    = $val[2] & 0x7F;
    @@ -411,7 +412,7 @@
       $dpt = $eibgaconf{$dst}{'DPTSubId'} unless $dpt; # read dpt from eibgaconf if existing
       given ($dpt) {
               when (/^10/) {
    -            my %wd=(Mo=>1, Di=>2, Mi=>3, Do=>4, Fr=>5, Sa=>6, So=>7);
    +            my %wd=(Mo=>1, Di=>2, Mi=>3, Do=>4, Fr=>5, Sa=>6, So=>7, Mon=>1, Tue=>2, Wed=>3, Thu=>4, Fri=>5, Sat=>6, Sun=>7);
                 my $wdpat=join('|',keys %wd);
                 my ($w,$h,$m,$s);
                 return unless ($w,$h,$m,$s)=($value=~/^($wdpat)?\s*([0-2][0-9])\:([0-5][0-9])\:?([0-5][0-9])?\s*/si);
    VG, Fry

    Kommentar

    Lädt...
    X