Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. (GELÖST) ID Selektoren bei True in Datenpunkt schreiben

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    472

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    391

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    978

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

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 2 Kommentatoren 371 Aufrufe 1 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • DJMarc75D Offline
    DJMarc75D Offline
    DJMarc75
    schrieb am zuletzt editiert von DJMarc75
    #1

    Hello,
    Ich steh auf der Leitung.
    Würde gerne bei einer meiner Aufzählungen gerne die "Namen" der Datenpunkte in einen Datenpunkt schreiben. Allerdings nur wenn diese TRUE sind (sind alles Logikwerte). Falls einer oder mehrere FALSE sind sollen diese "Namen" auch nicht im Datenpunkt erscheinen. Ich möchte das nicht als Liste sondern, wie gesagt, den Namen der jeweiligen Datenpunkte, evtl. Kommasepariert, in einen String schreiben. Anbei jetzt mal mein Blockly....

    Unbenannt.PNG

    SO kann das natürlich nicht funktionieren, also es wird mir in diesem Fall nur der letzte auf TRUE gesetzte Name des Datenpunktes in das Objekt geschrieben.
    Ziel ist es aus VIS per Checkboxen diese Werte in einen Datenpunkt zu schreiben um z.B. einen Value anzuzeigen oder/und per CRON als History in einem JSON zu visualisieren.

    Mir raucht grad schon der Kopf und wäre für HELP sehr dankbar.

    Merci

    Lehrling seit 1975 !!!
    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

    paul53P 1 Antwort Letzte Antwort
    0
    • DJMarc75D DJMarc75

      Hello,
      Ich steh auf der Leitung.
      Würde gerne bei einer meiner Aufzählungen gerne die "Namen" der Datenpunkte in einen Datenpunkt schreiben. Allerdings nur wenn diese TRUE sind (sind alles Logikwerte). Falls einer oder mehrere FALSE sind sollen diese "Namen" auch nicht im Datenpunkt erscheinen. Ich möchte das nicht als Liste sondern, wie gesagt, den Namen der jeweiligen Datenpunkte, evtl. Kommasepariert, in einen String schreiben. Anbei jetzt mal mein Blockly....

      Unbenannt.PNG

      SO kann das natürlich nicht funktionieren, also es wird mir in diesem Fall nur der letzte auf TRUE gesetzte Name des Datenpunktes in das Objekt geschrieben.
      Ziel ist es aus VIS per Checkboxen diese Werte in einen Datenpunkt zu schreiben um z.B. einen Value anzuzeigen oder/und per CRON als History in einem JSON zu visualisieren.

      Mir raucht grad schon der Kopf und wäre für HELP sehr dankbar.

      Merci

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #2

      @djmarc75
      Vorschlag:

      Bild_2022-04-12_185005681.png

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      DJMarc75D 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @djmarc75
        Vorschlag:

        Bild_2022-04-12_185005681.png

        DJMarc75D Offline
        DJMarc75D Offline
        DJMarc75
        schrieb am zuletzt editiert von
        #3

        @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.

        Lehrling seit 1975 !!!
        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

        paul53P 1 Antwort Letzte Antwort
        0
        • DJMarc75D DJMarc75

          @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.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @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?

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          DJMarc75D 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @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?

            DJMarc75D Offline
            DJMarc75D Offline
            DJMarc75
            schrieb am zuletzt editiert von DJMarc75
            #5

            @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.

            Lehrling seit 1975 !!!
            Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
            https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

            paul53P 1 Antwort Letzte Antwort
            0
            • DJMarc75D 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.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @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.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              DJMarc75D 2 Antworten Letzte Antwort
              0
              • paul53P 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.

                DJMarc75D Offline
                DJMarc75D Offline
                DJMarc75
                schrieb am zuletzt editiert von DJMarc75
                #7

                @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);
                });
                

                Lehrling seit 1975 !!!
                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                paul53P 1 Antwort Letzte Antwort
                0
                • paul53P 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.

                  DJMarc75D Offline
                  DJMarc75D Offline
                  DJMarc75
                  schrieb am zuletzt editiert von DJMarc75
                  #8

                  @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.

                  Lehrling seit 1975 !!!
                  Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                  https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                  1 Antwort Letzte Antwort
                  0
                  • DJMarc75D 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);
                    });
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @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

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    DJMarc75D 1 Antwort Letzte Antwort
                    1
                    • paul53P 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

                      DJMarc75D Offline
                      DJMarc75D Offline
                      DJMarc75
                      schrieb am zuletzt editiert von
                      #10

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

                      MERCI

                      Lehrling seit 1975 !!!
                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                      1 Antwort Letzte Antwort
                      0
                      • DJMarc75D Offline
                        DJMarc75D Offline
                        DJMarc75
                        schrieb am zuletzt editiert von
                        #11

                        @paul53
                        Muss nochmal was nachfragen...

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

                        Lehrling seit 1975 !!!
                        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • DJMarc75D DJMarc75

                          @paul53
                          Muss nochmal was nachfragen...

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

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #12

                          @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.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          DJMarc75D 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @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.

                            DJMarc75D Offline
                            DJMarc75D Offline
                            DJMarc75
                            schrieb am zuletzt editiert von
                            #13

                            @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.

                            Lehrling seit 1975 !!!
                            Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                            https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • DJMarc75D DJMarc75

                              @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.

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #14

                              @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.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              DJMarc75D 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @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.

                                DJMarc75D Offline
                                DJMarc75D Offline
                                DJMarc75
                                schrieb am zuletzt editiert von
                                #15

                                @paul53
                                Perfekt, wie immer.
                                Danke

                                Lehrling seit 1975 !!!
                                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                631

                                Online

                                32.8k

                                Benutzer

                                82.8k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe