Ankündigung

Einklappen
Keine Ankündigung bisher.

Ungereimtheiten mit "!Gruppenadresse" bzw. "Gruppenadresse==AUS" beim Systemstart.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Ungereimtheiten mit "!Gruppenadresse" bzw. "Gruppenadresse==AUS" beim Systemstart.

    Hallo zusammen,

    mit sind nach seltsamen Logikproblemen Ungereimtheiten im Code aufgefallen bei der Verwendung von "!" als negierte Version einer "binären" Gruppenadresse, also z.B.: "!Gruppenadresse"

    Der folgende vereinfachte Code z.B. sollte die Variable testtest bei Systemstart auf "EIN" setzen wenn beide GAs aus/0 sind. Die beiden GAs werden mit initga() mit gültigem Ergebnis abgefragt. Beide sind "AUS".
    Trotzdem wird testtest nie auf "EIN" gesetzt:

    testtest = AUS
    if !"Zennio Energiezähler - Batterie schwach - STATUS-0/6/0" and !"Zennio Energiezähler - Batterie leer - STATUS-0/6/1" then{
    testtest = EIN;
    }endif



    Ändere ich den Code ab und ergänze noch !systemstart() als zusätzliche Bedingung, dann funktioniert das ganze! testest2 wird auf EIN gesetzt.

    testtest2 = AUS
    if !"Zennio Energiezähler - Batterie schwach - STATUS-0/6/0" and !"Zennio Energiezähler - Batterie leer - STATUS-0/6/1" and !systemstart() then{
    testtest2 = EIN;
    }endif




    Jetzt wird es interessant: Ändere ich die !GA auf GA==AUS ab, funktioniert es auch, auch ohne !systemstart()

    testtest3 = AUS
    if "Zennio Energiezähler - Batterie schwach - STATUS-0/6/0"==AUS and "Zennio Energiezähler - Batterie leer - STATUS-0/6/1"==AUS then{
    testtest3 = EIN;
    }endif



    Ist die Verwendung von "!GA" und "GA==AUS" als nicht redundant, zumindest beim Systemstart, beim ersten Codedurchlauf? Wie sieht es dann mit der Verwendung von nur "GA" als Ersatz für "GA==EIN" aus (ich hab's nicht getestet...)?

    Danke!

    #2
    Das ! ist was andres als == . Müssen wir analysieren. Die Initialisierung ist ein Sonderfall und ich meine mich dunkel zu erinnern, dass wir für die Vergleichsfunktion etwas in der Firmware hinterlegt haben. Wahrscheinlich ist die invertierung dabei unter den Tisch gefallen
    offizielles Supportforum für den Enertex® EibPC: https://knx-user-forum.de/eibpc/
    Enertex Produkte kaufen

    Kommentar

    Lädt...
    X