Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Licht vergessen funktioniert nicht mehr korrekt

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Licht vergessen funktioniert nicht mehr korrekt

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @fuchs1978 last edited by TT-Tom

      @fuchs1978
      Bin zwar nicht der Profi, aber ich würde die Variable „timer“ nicht zweimal verwenden. Den Timer würde ich z.B. „Wartezeit“ nennen. Zeile 22 und 33

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @fuchs1978 last edited by paul53

        @fuchs1978 sagte: Erkennt ihr einen Fehler im Skript

        Es muss auf Änderung getriggert werden, da sonst mehrere Timer gestartet werden können, die sich nicht mehr löschen lassen. Außerdem verwendet man nur einen Trigger pro Datenpunkt (Ressourcen).

        on (melder, function (dp) { // Trigger auf Wertänderung
            if (dp.state.val) {
                // Aktionen bei Bewegung
            } else {
                // Aktionen ohne Bewegung
            }
        });
        

        @tt-tom sagte in Licht vergessen funktioniert nicht mehr korrekt:

        Variable „timer“ nicht zweimal verwenden.

        Sie wird nur einmal verwendet: In einem Teil gesetzt und in einem anderen Teil gelöscht. Da Timer-Variablen spezielle Objekte sind, setzt man Timer-Variablen auf null anstatt auf false.

        T F 2 Replies Last reply Reply Quote 0
        • T
          TT-Tom @paul53 last edited by

          @paul53

          @tt-tom sagte in Licht vergessen funktioniert nicht mehr korrekt:

          Variable „timer“ nicht zweimal verwenden.

          Sie wird nur einmal verwendet: In einem Teil gesetzt und in einem anderen Teil gelöscht. Da Timer-Variablen spezielle Objekte sind, setzt man Timer-Variablen auf null anstatt auf false.

          Dann habe ich da noch eine Verständnisfrage: Zeile 21-23
          Das If bezieht sich doch auf die Variable timer, die in 23 auf false gesetzt wird. Um das Objekt timer in 22 zu löschen.

          Sollte nicht Objekt und Variable unterschiedliche Namen haben?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @TT-Tom last edited by

            @tt-tom sagte: Variable timer, die in 23 auf false gesetzt wird. Um das Objekt timer in 22 zu löschen.

            clearTimeout(timer) stoppt den Timer mit der Referenz timer, setzt aber nicht die Variable zurück. Damit man mit if(timer) die Variable abfragen kann, wird sie nach dem Stoppen auf false (besser null) gesetzt.

            T 1 Reply Last reply Reply Quote 0
            • T
              TT-Tom @paul53 last edited by

              @paul53

              Okay so weit verstanden. Müssen also beide den gleichen Namen timer haben, oder?

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @TT-Tom last edited by

                @tt-tom sagte: Müssen also beide den gleichen Namen timer haben, oder?

                Ja, es gibt nur ein setTimeout(), das die Variable timer setzt.

                T 1 Reply Last reply Reply Quote 0
                • T
                  TT-Tom @paul53 last edited by

                  @paul53

                  Danke, wieder etwas dazu gelernt. Schönes Wochenende

                  1 Reply Last reply Reply Quote 0
                  • F
                    fuchs1978 @paul53 last edited by

                    @paul53 said in Licht vergessen funktioniert nicht mehr korrekt:

                    @fuchs1978 sagte: Erkennt ihr einen Fehler im Skript

                    Es muss auf Änderung getriggert werden, da sonst mehrere Timer gestartet werden können, die sich nicht mehr löschen lassen. Außerdem verwendet man nur einen Trigger pro Datenpunkt (Ressourcen).

                    on (melder, function (dp) { // Trigger auf Wertänderung
                        if (dp.state.val) {
                            // Aktionen bei Bewegung
                        } else {
                            // Aktionen ohne Bewegung
                        }
                    });
                    

                    Mache ich das nicht? Ich habe ja die Trigger mit Val unterschieden. Wir würdest du den Rest aufbauen. Komisch nur, das es erst seit kurzem nicht mehr korrekt funktioniert. Ich meine Seite node 16

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @fuchs1978 last edited by

                      @fuchs1978 sagte: Mache ich das nicht? Ich habe ja die Trigger mit Val unterschieden.

                      Nein. Wenn ein zweiter Trigger mit val: false kommt ohne vorherige Wertänderung?

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        fuchs1978 @paul53 last edited by

                        @paul53 said in Licht vergessen funktioniert nicht mehr korrekt:

                        @fuchs1978 sagte: Mache ich das nicht? Ich habe ja die Trigger mit Val unterschieden.

                        Nein. Wenn ein zweiter Trigger mit val: false kommt ohne vorherige Wertänderung?

                        Also dort noch eine Abfrage rein If Timer und damit nicht auf zwei reagieren

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        399
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        3
                        11
                        446
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo