Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]Verständnisfrage setState('Kitchen.Light.Lamp', false, false, function () {

    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

    [gelöst]Verständnisfrage setState('Kitchen.Light.Lamp', false, false, function () {

    This topic has been deleted. Only users with topic management privileges can see it.
    • smartboart
      smartboart last edited by

      Hallo , habe dazu nichts gefunden…

      Deshalb hier meine Frage...

      Habe mittlerweile diverse scripte am Laufen und auch selbst geschrieben und verprobt.

      Natürlich habe ich auch Scriptbeispiele hier aufgegriffen und auf meine Bedüürfnisse angepasst, was auch schon Prima klappt...

      Aber was sich mir nicht ganz erschließt sind folgende Beispiele...

      Warum wird ein state zuerst mit false und dann wieder mit true gesetzt oder 2 mal false false...

      Kann mir das einer in einem Dreizeiler erklären?

      1. setStateDelayed('Kitchen.Light.Lamp', false, 5000, false, function () {

      2. setState(javascript.0.xxxxx', false, true);

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

        @smartboart:

        Warum wird ein state zuerst mit false und dann wieder mit true gesetzt oder 2 mal false false… `
        Das erste ist der Wert, das zweite die Bestätigung (siehe https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#setstate).

        1 Reply Last reply Reply Quote 0
        • smartboart
          smartboart last edited by

          Danke für den Hinweis, diesen Part habe ich überlesen…Das Beispiel hatte ich ja aus der Doku...

          Wenn die folgenden Zeilen identisch sind, warum macht man das dann? Was habe ich für einen Vorteil, wenn ich das so mache?

          Note: The following commands are identical

          setState('myState', 1, false);

          setState('myState', {val: 1, ack: false});

          setState('myState', 1);

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

            @smartboart:

            Wenn die folgenden Zeilen identisch sind, warum macht man das dann? `
            Ich mache es immer so:

            setState('adapter.0.myState', 1);  // Ack false, wird gesendet
            setState('myState', 1, true); // Ack true, wird nicht gesendet
            
            1 Reply Last reply Reply Quote 0
            • smartboart
              smartboart last edited by

              Danke für deine Geduld, aber wenn ich mich ehrlich mache habe icv den sinn immer noch nicht kapiert.

              Hast du ein beispiel mit einer erklärung wo das ack gebraucht wird und sinn macht?

              Gesendet von meinem SM-G800F mit Tapatalk

              1 Reply Last reply Reply Quote 0
              • Jey Cee
                Jey Cee Developer last edited by

                Das ack Flag wird true gesetzt wenn ein Status gesetzt wurde und der Wert bestätigt wurde. Wenn ack = false vom Skript gesetzt wird, wird erwartet das der Empfänger des Wertes diesen bestätigt.

                Was paul53 also sagen wollte ist das Variante 1

                setState('adapter.0.myState', 1);  // Ack false, wird gesendet
                

                einen Wert setzt der dann an einen Empfänger gesendet wird.

                Und Variante 2

                setState('myState', 1, true); // Ack true, wird nicht gesendet
                

                nicht gesendet wird weil du/dein Skript ja den Wert schon bestätigt habt.

                Das ganze hat was damit zu tun das ein Adapter auf einen State reagiert wenn er gesetzt wird, wird aber ack = true gesetzt weis der Adapter das nichts mehr zu tun ist.

                1 Reply Last reply Reply Quote 0
                • smartboart
                  smartboart last edited by

                  Ok, danke für die Ausführung…Das heisst, wenn ich ein Objekt/ State eines anderen Adapter beschreibe, kann man das Ack weglassen.

                  Wird innerhalb des Adapter ein Objekt ( z.B. innerhalb des Javascript Adapter ) beschrieben wird, sollte ein Ack true eingetragen werden?

                  Was passiert wenn das nicht berücksichtigt wird? Unnötiger Traffic ausserhalb der Javascript Instanz?

                  Weil funktionieren tut es ja trotzdem...

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

                    @smartboart:

                    Das heisst, wenn ich ein Objekt/ State eines anderen Adapter beschreibe, kann man das Ack weglassen. `
                    Man <u>muss</u> das Ack weglassen oder false zuweisen, wenn der Adapter senden soll (was die Regel ist).
                    @smartboart:

                    Wird innerhalb des Adapter ein Objekt ( z.B. innerhalb des Javascript Adapter ) beschrieben wird, sollte ein Ack true eingetragen werden? `
                    Ja. Allgemeiner: Wenn ein virtueller Datenpunkt (z.B. für Vis) beschrieben wird, sollte (muss nicht) Ack true eingetragen werden.
                    @smartboart:

                    Was passiert wenn das nicht berücksichtigt wird? Unnötiger Traffic ausserhalb der Javascript Instanz? `
                    Nein, es passiert nichts, außer dass im Reiter "Objekte" die Werte dauerhaft in rot angezeigt werden.

                    1 Reply Last reply Reply Quote 0
                    • smartboart
                      smartboart last edited by

                      Ok, jetzt hab ich es…Dann ist ja alles paletti und kann bleiben wie es ist......

                      Vielen Dank euch Beiden für eure Ausführungen...

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      526
                      Online

                      31.7k
                      Users

                      79.9k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      519
                      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