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!
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!
Kommentar