Fehler gefunden und läuft wie gewünscht. Bei einer Funktion war noch die Variable "state" vorhanden, welche wohl das ganze Script durcheinander gebracht hat. Namen geändert und fertig wie @arteck vermutet hat.
Sorry und Vielen dank schon mal!
Fehler gefunden und läuft wie gewünscht. Bei einer Funktion war noch die Variable "state" vorhanden, welche wohl das ganze Script durcheinander gebracht hat. Namen geändert und fertig wie @arteck vermutet hat.
Sorry und Vielen dank schon mal!
@arteck said in Variablen Beständigkeit:
@downbroker sagte in Variablen Beständigkeit:
state
ist das nicht ein reserviertes Wort ??
nenn es mal anders..
In dem script lautet die Variable stategas z.B., ich hatte das jetzt nur vereinfacht.
Aber danke für den Tipp.
@paul53 said in Variablen Beständigkeit:
@downbroker sagte: Die If Bedingung ist nie wahr, da state = undefined ist.
Das kann ich nicht nachvollziehen.
var state = 0; function test() { if (state == 0) { state = 1; log('' + state); } } test();
funktioniert wie erwartet.
Das funktioniert natürlich bei mir auch, allerdings wird die Funktion erst aufgerufen, sobald mein ebus einen Statuswechsel meldet(z.B.: Gasbrenner läuft) mit:
on({id: 'ebus.0.GAS.messages.pumpe.fields.status.value', change: 'ne'}, function (obj) {
test();
});
zu diesem Zeitpunkt ist allerdings keine Variable mehr vorhanden, da die Variablen wohl nach dem ersten durchlauf gelöscht werden.
Vielen Dank
LG
Hallo,
ich habe hier irgendwie einen Denkfehler und bräuchte mal Hilfe.
Folgender Code:
var state = 0;
function test() {
if (state == 0 && getState(...).val > 0){
state = 1;
tue irgendetwas...
}
}
on({id: '...', change: 'ne'}, function (obj) {
test();
});
Die If Bedingung ist nie wahr, da state = undefined ist. Wenn ich das ganze über ein Objekt anstatt der Variable ausführe, funktioniert der Code.
Frage:
Wie muss man die Variable definieren, dass diese solange existiert, bis das Script beendet wird etc., oder funktioniert das nur über Objekte?
Vielen dank
Lg