NEWS

js asynchron Problem


  • Starter

    Hallo,
    wie kann man dieses Problem am elegantesten lösen?

    Hier schalte ich das Gartenwasser ein, bzw. über VIS:

    // GW EIN
    setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser",'true')
    

    unmittelbar danach steht folgender Code:

    // Schaltet Gartenwasser Timer ein wenn GW aus war, schaltet Gartenwasser aus wenn GW ein war
    // GW TIMER
    var update;
    on({id: "mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", change: "ne"}, function (obj) {
            if ( obj.state.val == true){
                    clearTimeout(update);
                    update = setTimeout(function () {            // Ausschalt Timer
                        setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", 'false');     // Gartenwasser ausschalten
                    },30 * 60 * 1000);                           // Ausschaltzeit in ms 30 * 60 * 1000
            } else {
                    clearTimeout(update);
                    setState("mqtt.0.haus.keller.HumiFan.Setpoints.Gartenwasser", 'false');     // Gartenwasser ausschalten
            }
    });  
    
    

    Das Problem ist nun:
    Wenn ich mit "GW EIN" das Gartenwasser einschalte, dann wird es sofort danach
    mit "// GW TIMER" wieder ausgeschaltet, weil der setState noch nicht ausgeführt worden ist.

    Ich hoffe, es gibt eine kurze und übersichtliche Lösung dafür, alles was mir bisher dazu eingefallen ist
    sieht fürchterlich umständlich und unübersichtlich aus.



  • @hanss sagte:

    wird es sofort danach mit "// GW TIMER" wieder ausgeschaltet, weil der setState noch nicht ausgeführt worden ist.

    Nein, weil immer der else-Zweig ausgeführt wird, denn 'true' ist nicht gleich true.


  • Starter

    Hallo Paul,
    Du hast wie immer recht.
    Mein Problem ist 'true' oder true.
    Schau dir bitte den Beitrag an:
    https://forum.iobroker.net/topic/33480/js-mqtt-string-objekt-setstate-true-oder-true

    Ich meine, das ist mein eigentliches Problem.
    Vielen Dank


Log in to reply
 

Suggested Topics

1.8k
Online

29.8k
Users

36.9k
Topics

494.1k
Posts