Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Array erstellen aus Datenpunkten in javascript

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Array erstellen aus Datenpunkten in javascript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
12 Beiträge 2 Kommentatoren 1.9k Aufrufe 2 Watching
  • Ä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.
  • R Offline
    R Offline
    ramses
    schrieb am zuletzt editiert von
    #1

    Hallo, ich bin absoluter Programmier-Neuling und bräuchte mal eure Hilfe.
    Ich habe bewusst Blockly übersprungen, um es direkt richtig zu lernen. Leider komme ich dabei manchmal ins Stocken.

    Ich möchte folgendes machen:
    Ich habe drei Boolean Datenpunkte die einem Raumnamen zugeordnet sind.
    Ich möchte eine Logausgabe der Raumnamen wenn der Wert True ist.
    Die Ausgabe sollte wie folgt aussehen
    Folgende Räume sind aktiv (true): Raumname, Raumname, Raumname

    Ich vermute mal, die Funktion die ich Suche nennt sich Array, aber ich kriege es leider nicht umgesetzt.
    Für ein wenig Hilfestellung wäre ich dankbar.

    Beste Grüße

    paul53P 2 Antworten Letzte Antwort
    0
    • R ramses

      Hallo, ich bin absoluter Programmier-Neuling und bräuchte mal eure Hilfe.
      Ich habe bewusst Blockly übersprungen, um es direkt richtig zu lernen. Leider komme ich dabei manchmal ins Stocken.

      Ich möchte folgendes machen:
      Ich habe drei Boolean Datenpunkte die einem Raumnamen zugeordnet sind.
      Ich möchte eine Logausgabe der Raumnamen wenn der Wert True ist.
      Die Ausgabe sollte wie folgt aussehen
      Folgende Räume sind aktiv (true): Raumname, Raumname, Raumname

      Ich vermute mal, die Funktion die ich Suche nennt sich Array, aber ich kriege es leider nicht umgesetzt.
      Für ein wenig Hilfestellung wäre ich dankbar.

      Beste Grüße

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

      @ramses sagte:

      Ich habe drei Boolean Datenpunkte die einem Raumnamen zugeordnet sind.

      Wie sind sie dem Raumnamen zugeordnet ? Über ID, Name oder Aufzählungen ?

      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

      R 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @ramses sagte:

        Ich habe drei Boolean Datenpunkte die einem Raumnamen zugeordnet sind.

        Wie sind sie dem Raumnamen zugeordnet ? Über ID, Name oder Aufzählungen ?

        R Offline
        R Offline
        ramses
        schrieb am zuletzt editiert von ramses
        #3

        @paul53
        Ok, da habe ich wohl Blödsinn erzählt.
        Die Datenpunkte werden mit einer If-Schleife auf True oder False gesetzt anhand eines anderen Datenpunktes (CO2 Wert des jeweiligen Raums).
        Größer 1000 = true, drunter = false.
        Eine direkte Zuordnung gibt es so nicht.
        Hätte jetzt im Script vermutlich mit einer weiteren If-Schleife gearbeitet um bei true eine Variable zu füllen.
        Vermutlich wird es da bessere Varianten geben.

        1 Antwort Letzte Antwort
        0
        • R ramses

          Hallo, ich bin absoluter Programmier-Neuling und bräuchte mal eure Hilfe.
          Ich habe bewusst Blockly übersprungen, um es direkt richtig zu lernen. Leider komme ich dabei manchmal ins Stocken.

          Ich möchte folgendes machen:
          Ich habe drei Boolean Datenpunkte die einem Raumnamen zugeordnet sind.
          Ich möchte eine Logausgabe der Raumnamen wenn der Wert True ist.
          Die Ausgabe sollte wie folgt aussehen
          Folgende Räume sind aktiv (true): Raumname, Raumname, Raumname

          Ich vermute mal, die Funktion die ich Suche nennt sich Array, aber ich kriege es leider nicht umgesetzt.
          Für ein wenig Hilfestellung wäre ich dankbar.

          Beste Grüße

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

          @ramses sagte:

          Die Ausgabe sollte wie folgt aussehen
          Folgende Räume sind aktiv (true): Raumname, Raumname, Raumname

          Woher sollen die Raumnamen kommen ? Ein Screenshot der Datenpunkt-Objekte wäre hilfreich.

          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

          R 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @ramses sagte:

            Die Ausgabe sollte wie folgt aussehen
            Folgende Räume sind aktiv (true): Raumname, Raumname, Raumname

            Woher sollen die Raumnamen kommen ? Ein Screenshot der Datenpunkt-Objekte wäre hilfreich.

            R Offline
            R Offline
            ramses
            schrieb am zuletzt editiert von
            #5

            @paul53

            hö? Weiss jetzt nicht wie die Datenpunkte dir helfen sollen? Sind simple boolean Datenpunkte

            "Wenn Kinderzimmer CO2 höher 1000 setze Datenpunkt javascript.0.klima.KinderzimmerCO2signal auf true, wenn darunter auf false" Mehr ist noch nicht passiert.
            Ich hatte jetzt an sowas gedacht:
            "Wenn javascript.0.klima.KinderzimmerCO2signal = true, setze andere Variable auf String "Kinderzimmer". Wenn nicht lasse Variable leer.
            Sollte am Ende ja auch funktionieren, weil leere Variable macht auch keine Ausgabe.
            Aber ist vermutlich so die absolut schlechteste Lösung.

            paul53P 1 Antwort Letzte Antwort
            0
            • R ramses

              @paul53

              hö? Weiss jetzt nicht wie die Datenpunkte dir helfen sollen? Sind simple boolean Datenpunkte

              "Wenn Kinderzimmer CO2 höher 1000 setze Datenpunkt javascript.0.klima.KinderzimmerCO2signal auf true, wenn darunter auf false" Mehr ist noch nicht passiert.
              Ich hatte jetzt an sowas gedacht:
              "Wenn javascript.0.klima.KinderzimmerCO2signal = true, setze andere Variable auf String "Kinderzimmer". Wenn nicht lasse Variable leer.
              Sollte am Ende ja auch funktionieren, weil leere Variable macht auch keine Ausgabe.
              Aber ist vermutlich so die absolut schlechteste Lösung.

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

              @ramses sagte:

              "Wenn javascript.0.klima.KinderzimmerCO2signal = true,

              Dann steckt der Raumname in der Datenpunkt-ID (s. meine erste Frage). Besser wäre es, wenn die ID durch einen zusätzlichen Punkt strukturiert wäre: "javascript.0.klima.Kinderzimmer.CO2signal".

              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

              R 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @ramses sagte:

                "Wenn javascript.0.klima.KinderzimmerCO2signal = true,

                Dann steckt der Raumname in der Datenpunkt-ID (s. meine erste Frage). Besser wäre es, wenn die ID durch einen zusätzlichen Punkt strukturiert wäre: "javascript.0.klima.Kinderzimmer.CO2signal".

                R Offline
                R Offline
                ramses
                schrieb am zuletzt editiert von
                #7

                @paul53
                Ok, das zu ändern wäre das kleinste Problem. Und dann?

                paul53P 1 Antwort Letzte Antwort
                0
                • R ramses

                  @paul53
                  Ok, das zu ändern wäre das kleinste Problem. Und dann?

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

                  @ramses
                  Dann kann man Raumnamen separieren.

                  var teile = id.split('.'); // Array mit den Teilen zwischen den Punkten
                  var room = teile[3]; // Raumname
                  

                  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

                  R 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @ramses
                    Dann kann man Raumnamen separieren.

                    var teile = id.split('.'); // Array mit den Teilen zwischen den Punkten
                    var room = teile[3]; // Raumname
                    
                    R Offline
                    R Offline
                    ramses
                    schrieb am zuletzt editiert von ramses
                    #9

                    @paul53

                    hmm anhand der zwei zeilen verstehe ich dennoch nicht wie er daran kommt?! Verstehe zwar was es macht, aber woher kriegt er in diesen zwei Zeilen den richtigen Datenpunkt zum splitten?
                    Kannst du mir das vielleicht an einem praktischen Beispiel Zeigen ? z.B. mit meinem genannten Datenpunkt?

                    Und dann ist da noch das Ding, alles in einer Reihe ausgeben zu lassen...

                    edit: aaaaah lach .. da wo id steht, soll die id rein.. habs jetzt für nen command gehalten

                    Fehlt nur noch die gesammelte Ausgabe...

                    R paul53P 2 Antworten Letzte Antwort
                    0
                    • R ramses

                      @paul53

                      hmm anhand der zwei zeilen verstehe ich dennoch nicht wie er daran kommt?! Verstehe zwar was es macht, aber woher kriegt er in diesen zwei Zeilen den richtigen Datenpunkt zum splitten?
                      Kannst du mir das vielleicht an einem praktischen Beispiel Zeigen ? z.B. mit meinem genannten Datenpunkt?

                      Und dann ist da noch das Ding, alles in einer Reihe ausgeben zu lassen...

                      edit: aaaaah lach .. da wo id steht, soll die id rein.. habs jetzt für nen command gehalten

                      Fehlt nur noch die gesammelte Ausgabe...

                      R Offline
                      R Offline
                      ramses
                      schrieb am zuletzt editiert von
                      #10

                      @paul53
                      obwohl ich jetzt nicht wirklich verstehe warum ich nicht einfach "Kinderzimmer" in eine Variable schreibe und mir die splitterei erspare?!?!

                      1 Antwort Letzte Antwort
                      0
                      • R ramses

                        @paul53

                        hmm anhand der zwei zeilen verstehe ich dennoch nicht wie er daran kommt?! Verstehe zwar was es macht, aber woher kriegt er in diesen zwei Zeilen den richtigen Datenpunkt zum splitten?
                        Kannst du mir das vielleicht an einem praktischen Beispiel Zeigen ? z.B. mit meinem genannten Datenpunkt?

                        Und dann ist da noch das Ding, alles in einer Reihe ausgeben zu lassen...

                        edit: aaaaah lach .. da wo id steht, soll die id rein.. habs jetzt für nen command gehalten

                        Fehlt nur noch die gesammelte Ausgabe...

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

                        @ramses
                        Dafür dient der $Selector.

                        const idsCO2 = $('javascript.0.klima.*.CO2signal');
                        
                        var signale = [];
                        
                        function checkCO2() {
                           signale = [];
                           idsCO2.each(function(id, i) {
                              if(getState(id).val) signale.push(id.split('.')[3]); // Raumname in Array
                           });
                           // Array in Datenpunkt schreiben ?
                        }
                        
                        idsCO2.on(checkCO2); // triggert bei Änderung eines der Datenpunkte
                        

                        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

                        R 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @ramses
                          Dafür dient der $Selector.

                          const idsCO2 = $('javascript.0.klima.*.CO2signal');
                          
                          var signale = [];
                          
                          function checkCO2() {
                             signale = [];
                             idsCO2.each(function(id, i) {
                                if(getState(id).val) signale.push(id.split('.')[3]); // Raumname in Array
                             });
                             // Array in Datenpunkt schreiben ?
                          }
                          
                          idsCO2.on(checkCO2); // triggert bei Änderung eines der Datenpunkte
                          
                          R Offline
                          R Offline
                          ramses
                          schrieb am zuletzt editiert von ramses
                          #12

                          @paul53

                          Ja, ich muss noch viel lernen. Aber das ist ein schönes praktisches Beispiel womit ich zum Verständnis was rumprobieren kann .

                          Danke dir erst mal so weit.
                          Wenn noch Fragen sind, werde ich noch mal nachhaken.

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          804

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          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