Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (GELÖST) ID Selektoren bei True in Datenpunkt schreiben

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    (GELÖST) ID Selektoren bei True in Datenpunkt schreiben

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

      @djmarc75
      Vorschlag:

      Bild_2022-04-12_185005681.png

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

        @paul53
        Habs jetzt mal 1:1 nachgebaut mit dem Ergebniss dass bei jedem Klick einfach nur alle Datenpunkte in das Objekt geschrieben werden... ABER mit Komma dazwischen 👍
        Habe auch schon ein bissle mit dem "ids vom Selektor-Block" rumgespielt aber ohne Erfolg.

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

          @djmarc75 sagte: bei jedem Klick einfach nur alle Datenpunkte in das Objekt geschrieben werden.

          Alle Datenpunkte mit dem Wert true, die "enum.functions.pepper" zugeordnet sind?

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

            @paul53 said in ID Selektoren bei True in Datenpunkt schreiben:

            Alle Datenpunkte mit dem Wert true, die "enum.functions.pepper" zugeordnet sind?

            Alle, auch die auf FALSE sind.

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

              @djmarc75 sagte: Alle, auch die auf FALSE sind.

              Das verhindert

              falls Wert vom Objekt ID id
              

              Oder ist "false" ein String?

              Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

              DJMarc75 2 Replies Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @paul53 last edited by DJMarc75

                @paul53

                var Liste, Futterliste, i;
                
                
                Liste = Array.prototype.slice.apply($("*(functions=pepper)"));
                on({id: Liste, change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  Futterliste = [];
                  for (var i_index in Liste) {
                    i = Liste[i_index];
                    if (getState(i).val == true) {
                      Futterliste.push((obj.common ? obj.common.name : ""));
                    }
                  }
                  setState("0_userdata.0.Pepper.Aufgaben.Frischfutter.Futterliste"/*Futterliste*/, (Futterliste.join(',')), true);
                });
                
                paul53 1 Reply Last reply Reply Quote 0
                • DJMarc75
                  DJMarc75 @paul53 last edited by DJMarc75

                  @paul53

                  Es verhält sich im Moment so, dass, immer wenn ich einen Datenpunkt auf ändere, die Anzahl der auf True gesetzten stimmt, aber es wird, als Beispiel dann dreimal "Tomate" angezeigt, obwohl Gurke, Tomate und Karotte ausgewählt sind. Quasi immer der zuletzt geänderte wird dann angezeigt.

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

                    @djmarc75 sagte: dreimal "Tomate" angezeigt, obwohl Gurke, Tomate und Karotte ausgewählt sind.

                    Sorry, mein Fehler: Name enthält den Namen des Trigger-Datenpunktes, der sich in der Schleife nicht ändert. Du benötigst anstelle von Name eine JS-Funktion getName(id) mit Ergebnis mit folgendem Inhalt:

                    return getObject(id).common.name;
                    

                    Bild_2022-04-12_192711354.png

                    DJMarc75 1 Reply Last reply Reply Quote 1
                    • DJMarc75
                      DJMarc75 @paul53 last edited by

                      @paul53
                      Du bist spitze !!!
                      Vielen Dank und ich setzte den Post gleich mal auf gelöst !!!!

                      MERCI

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

                        @paul53
                        Muss nochmal was nachfragen...

                        Gibt es auch die Möglichkeit den ganzen Objektpfad auszulesen und diesen dann in einen Datenpunkt zu schreiben ?

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

                          @djmarc75 sagte: Gibt es auch die Möglichkeit den ganzen Objektpfad auszulesen und diesen dann in einen Datenpunkt zu schreiben ?

                          Mit Objektpfad meinst Du die ID? Die liegt ja bereits als Variable id vor.

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

                            @paul53 said in (GELÖST) ID Selektoren bei True in Datenpunkt schreiben:

                            Mit Objektpfad meinst Du die ID? Die liegt ja bereits als Variable id vor.

                            0_userdata.0.Spotify.Variablen_zur_Steuerung.Headset
                            

                            z.B. diesen kompletten Pfad wenn Wert true in einen Datenpunkt schreiben.

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

                              @djmarc75 sagte: z.B. diesen kompletten Pfad wenn Wert true in einen Datenpunkt schreiben.

                              Das ist der Inhalt der Variablen id. Also einfach die Funktion getName(id) weglassen und id in die Liste schreiben.

                              DJMarc75 1 Reply Last reply Reply Quote 1
                              • DJMarc75
                                DJMarc75 @paul53 last edited by

                                @paul53
                                Perfekt, wie immer.
                                Danke

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                556
                                Online

                                32.1k
                                Users

                                80.6k
                                Topics

                                1.3m
                                Posts

                                2
                                15
                                319
                                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