Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - Frostschutz bei Fensteröffnung

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

    [wiregate] - √ - Frostschutz bei Fensteröffnung

    Ich möchte gerne beim Öffnen eines Fensters an einem Multisensor, dass der dazugehörige Heizungsaktorkanal auf Frostschutz umschaltet, bzw. wieder zurück. Da beim Multisensor göffnete Kontakte als 0 gesendet werden und mein Heizungsaktor eine 1 auf sein Frostschutz-KO erwartet, muss ich den Kontaktwert negiert an die Frostschutz-GA senden.

    Dazu habe ich nachstehendes Plugin erstellt
    Code:
    # Plug-In Heizung Frostschutz bei Fensteröffnung
    my $fenster_ga = "3/2/20";
    my $frostschutz_ga = "2/2/26";
    $plugin_subscribe{$fenster_ga}{$plugname} = 1;
    
    if ($msg{'dst'} eq $fenster_ga && $msg{'apci'} eq "A_GroupValue_Write") {
      knx_write($frostschutz_ga, [COLOR=Red][B]-$msg{'value'}[/B][/COLOR], 1.001);
    }
    return;
    Sende ich auf der GA 3/2/20 jedoch den Wert "0", so wird dieser leider nicht negiert an die 2/2/26 gesendet, sondern auch als "0". Wo liegt das Problem?

    Gelöst! Man sollte wohl besser eine Bit-Negation durchführen.
    Code:
    [COLOR=Red][B]~$msg{'value'}[/B][/COLOR]
    Gruß
    Karsten

    #2
    weil
    Code:
    [B]-[/B]$var
    mit -1 multipliziert und nicht logisch negiert.
    Da -0 = 0 ist, wird eine 0 gesendet.

    Du müsstest:
    Code:
    knx_write($frostschutz_ga, [B]![/B]$msg{'value'}, '1.001');
    verwenden.

    Beim DPT kannst du entweder einfach 1 oder du müsstest es als String schreiben, da Perl es sonst 1.001 als Float (Nachkommazahl) ansieht.
    KNX: MDT, Gira TS3, Berker, Theben, PEAR, Preussen BWM, B.E.G., BMS Quadra, WireGate, Timberwolf 2500 | Baublog

    Kommentar

    Lädt...
    X