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. [gelöst]-Alle Objekte eines Ordners...

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst]-Alle Objekte eines Ordners...

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblockly
27 Beiträge 3 Kommentatoren 3.4k Aufrufe 3 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.
  • P Peterfrosta

    @liv-in-sky said in Alle Objekte eines Ordners...:

    $('time-switch.0.onoff.0.*').each(function(id, i) {

    nice!
    zwar weniger als gehofft habe aber mehr als ich erwarten durfte ;)
    in der "each" kann ich dann auf das jeweilige objekt mit id oder id[i] zugreifen?

    Ich tippe auf Erstes aber was ist i dann? Nur der Zähler (Anzahl der Objekte)?

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #4

    @Peterfrosta genau

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • P Peterfrosta

      @liv-in-sky said in Alle Objekte eines Ordners...:

      $('time-switch.0.onoff.0.*').each(function(id, i) {

      nice!
      zwar weniger als gehofft habe aber mehr als ich erwarten durfte ;)
      in der "each" kann ich dann auf das jeweilige objekt mit id oder id[i] zugreifen?

      Ich tippe auf Erstes aber was ist i dann? Nur der Zähler (Anzahl der Objekte)?

      liv-in-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von liv-in-sky
      #5

      @Peterfrosta

      noch ein beispiel

      var Temperatur = $('state[id=*](functions="temperatur")');
      var status;
      var dname;
      Temperatur.each(function (id, i)
        {
           status = getState(id).val;
           dname = getObject(id).common.name;
       
          sendTo("telegram", "send", { text: name+": "+status+" °C" });
        });
      

      hier wird halt n<ach telegram gesendet und die schleife geht über alle datenpunkte, die der function (aufzählung) temperatur angehört (ist halt nicht ordner abhängig in diesem fall)

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      P 1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        Peterfrosta
        schrieb am zuletzt editiert von
        #6

        Sauber danke!
        Das nimmt die Antworten weiterer Fragen vorweg :-)

        Mein Plan bezieht sich sogar auch auf Telegram (Erinnerung an Wartungsintervalle).

        Das Beispiel Zutrittskontrolle, hatte ich nur als einfacher darstellbar erachtet ;)

        Besten Dank noch mal für die Expressantwort!
        Ich versuch mein Glück.

        liv-in-skyL 1 Antwort Letzte Antwort
        0
        • P Peterfrosta

          @liv-in-sky said in Alle Objekte eines Ordners...:

          $('time-switch.0.onoff.0.*').each(function(id, i) {

          nice!
          zwar weniger als gehofft habe aber mehr als ich erwarten durfte ;)
          in der "each" kann ich dann auf das jeweilige objekt mit id oder id[i] zugreifen?

          Ich tippe auf Erstes aber was ist i dann? Nur der Zähler (Anzahl der Objekte)?

          liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von liv-in-sky
          #7

          @Peterfrosta
          wenn du mehr wissen möchtest - poste ein bild deiner datenpunkte - und was du erreichen willst

          dann kann man besser darüber diskutieren

          du kannst auch mit blockly arbeiten - aber ich nehme für solche schleifen lieber js - im blockly selbst gibt es ja einen baustein, indem du dann eine solche schleife verarbeiten kannst und davor und dananch die blöcke benutzt

          Image 5.png

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          P 1 Antwort Letzte Antwort
          0
          • liv-in-skyL liv-in-sky

            @Peterfrosta

            noch ein beispiel

            var Temperatur = $('state[id=*](functions="temperatur")');
            var status;
            var dname;
            Temperatur.each(function (id, i)
              {
                 status = getState(id).val;
                 dname = getObject(id).common.name;
             
                sendTo("telegram", "send", { text: name+": "+status+" °C" });
              });
            

            hier wird halt n<ach telegram gesendet und die schleife geht über alle datenpunkte, die der function (aufzählung) temperatur angehört (ist halt nicht ordner abhängig in diesem fall)

            P Offline
            P Offline
            Peterfrosta
            schrieb am zuletzt editiert von
            #8

            @liv-in-sky said in Alle Objekte eines Ordners...:

            var Temperatur = $('state[id=*](functions="temperatur")');

            die Zeile hatte ich übersprungen und checke ich doch nicht ganz.

            Das:

            Temperatur.each(function (id, i)

            wird ja schematisch sowas wie das:

            $('time-switch.0.onoff.0.*').each(function(id, i) {

            ergeben.

            Wenn ich jetzt so einen Screenshot von der Ordnerstruktur wie in deinem ersten Post zu sehen bekommen könnte, würde die Logik vermutlich selbst durchsteigen ;)

            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • P Peterfrosta

              Sauber danke!
              Das nimmt die Antworten weiterer Fragen vorweg :-)

              Mein Plan bezieht sich sogar auch auf Telegram (Erinnerung an Wartungsintervalle).

              Das Beispiel Zutrittskontrolle, hatte ich nur als einfacher darstellbar erachtet ;)

              Besten Dank noch mal für die Expressantwort!
              Ich versuch mein Glück.

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #9

              @Peterfrosta ist mir noch eingefallen - hier ist sowas mit blockly

              Image 6.png

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              P 1 Antwort Letzte Antwort
              0
              • liv-in-skyL liv-in-sky

                @Peterfrosta
                wenn du mehr wissen möchtest - poste ein bild deiner datenpunkte - und was du erreichen willst

                dann kann man besser darüber diskutieren

                du kannst auch mit blockly arbeiten - aber ich nehme für solche schleifen lieber js - im blockly selbst gibt es ja einen baustein, indem du dann eine solche schleife verarbeiten kannst und davor und dananch die blöcke benutzt

                Image 5.png

                P Offline
                P Offline
                Peterfrosta
                schrieb am zuletzt editiert von
                #10

                @liv-in-sky danke für das Angebot!
                ich muss zusehen, das ich nachhause komme. Dort werde ich dann noch mal Tüffteln und gerne auf das Angebot zurueck kommen.
                Poste dann noch mal, so oder so.

                1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @Peterfrosta ist mir noch eingefallen - hier ist sowas mit blockly

                  Image 6.png

                  P Offline
                  P Offline
                  Peterfrosta
                  schrieb am zuletzt editiert von
                  #11

                  @liv-in-sky SMART!

                  1 Antwort Letzte Antwort
                  0
                  • P Offline
                    P Offline
                    Peterfrosta
                    schrieb am zuletzt editiert von
                    #12

                    wobei mir die Funktion vom Baustein Javascript nicht ersichtlich ist.
                    (Ja klar, der führt nen Javascript bzw Befehl aus?!

                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • P Peterfrosta

                      @liv-in-sky said in Alle Objekte eines Ordners...:

                      var Temperatur = $('state[id=*](functions="temperatur")');

                      die Zeile hatte ich übersprungen und checke ich doch nicht ganz.

                      Das:

                      Temperatur.each(function (id, i)

                      wird ja schematisch sowas wie das:

                      $('time-switch.0.onoff.0.*').each(function(id, i) {

                      ergeben.

                      Wenn ich jetzt so einen Screenshot von der Ordnerstruktur wie in deinem ersten Post zu sehen bekommen könnte, würde die Logik vermutlich selbst durchsteigen ;)

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #13

                      @Peterfrosta

                      bei

                      $('state[id=*](functions="temperatur")');
                      

                      gibt es keine ordner struktur - das läuft über aufzählung bzw functions - damit braucht man nicht alle datenpunkte in einem ordner, sondern irgenwo in deiner struktur

                      Image 7.png
                      Image 8.png

                      ansonsten stimmt was du vermutest - da wurde einfach eine variable daraus gemacht und diese variable ist vor dem each()

                      das function blockly hat drei punkte - rechts - wenn du darauf gehst , kannst du javascript direkt eingeben ( ist auch .z.b. sehr nutzlich, wenn man strings bearbeitet (mit regex oder replace, ..) ist- js viel einfacher, als ein blockly zusammen zu schustern

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • P Peterfrosta

                        wobei mir die Funktion vom Baustein Javascript nicht ersichtlich ist.
                        (Ja klar, der führt nen Javascript bzw Befehl aus?!

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        schrieb am zuletzt editiert von
                        #14

                        @Peterfrosta sagte in Alle Objekte eines Ordners...:

                        wobei mir die Funktion vom Baustein Javascript nicht ersichtlich ist.
                        (Ja klar, der führt nen Javascript bzw Befehl aus?!

                        ist direkt am rechner sehr leicht zu verstehen

                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                        P 1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL liv-in-sky

                          @Peterfrosta sagte in Alle Objekte eines Ordners...:

                          wobei mir die Funktion vom Baustein Javascript nicht ersichtlich ist.
                          (Ja klar, der führt nen Javascript bzw Befehl aus?!

                          ist direkt am rechner sehr leicht zu verstehen

                          P Offline
                          P Offline
                          Peterfrosta
                          schrieb am zuletzt editiert von
                          #15

                          @liv-in-sky said in Alle Objekte eines Ordners...:

                          ist direkt am rechner sehr leicht zu verstehen

                          Sagst du, ich saß ja vorhin auch schon am Rechner ;)

                          @liv-in-sky said in Alle Objekte eines Ordners...:

                          gibt es keine ordner struktur - das läuft über aufzählung bzw functions - damit braucht man nicht alle datenpunkte in einem ordner, sondern irgenwo in deiner struktur..

                          also abgesehen davon, dass "Aufzählung" bei mir nicht sichtbar war, hätte ich auch erstmal nicht gewusst wozu das sein soll. Dass kann ich auch für anderes in Betracht ziehen. aber vorallem könnt man damit ja auch prima di Ansicht im ObjektReiter Filtern... gut zu wissen.

                          So weit so gut. Alle Objekte lesen und Ausgeben scheint kein Problem.

                          var wartung_14tage = $('state[id=*](functions="wartung_14tage")');
                          var wartung_30tage = $('state[id=*](functions="wartung_30tage")');
                          
                          var status;
                          var dname;
                          
                          
                          console.log('***********  each 14 Tage**************');
                          wartung_14tage.each(function (id, i)
                          {
                              status = getState(id).val;
                              dname = getObject(id).common.name;
                              //sendTo("telegram", "send", { text: name+": "+status+" °C" });
                              console.log('***********${i}**************');
                              console.log(dname);
                              console.log(status);
                          } );
                          
                          
                          console.log('***********  each 30 Tage**************');
                          wartung_30tage.each(function (id, i)
                          {
                              status = getState(id).val;
                              dname = getObject(id).common.name;
                              //sendTo("telegram", "send", { text: name+": "+status+" °C" });
                              console.log('***********${i}**************');
                              console.log(dname);
                              console.log(status);
                          } );
                          

                          tehen

                          liv-in-skyL 1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            Peterfrosta
                            schrieb am zuletzt editiert von
                            #16

                            jedoch ist das Projekt damit ja noch nicht abgechlossen.

                            Ich möchte gerne abhängig vom letzten Änderungsdatum(Zeit) des entsprechende Objekts handeln...

                            Wie würde ich das auslesen?

                            dname = getObject(id).common.name;

                            da habe ich ja das "common.name" auch in den "raw" einstellungen gefunden. aber leider keinen eintrag für den Zeitstempel.... der wird wohl woanders liegen?!

                            Sonst hätte ichja sowas vermutet:

                            dtimestamp = getObject(id).common.datetime_update;

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • P Peterfrosta

                              @liv-in-sky said in Alle Objekte eines Ordners...:

                              ist direkt am rechner sehr leicht zu verstehen

                              Sagst du, ich saß ja vorhin auch schon am Rechner ;)

                              @liv-in-sky said in Alle Objekte eines Ordners...:

                              gibt es keine ordner struktur - das läuft über aufzählung bzw functions - damit braucht man nicht alle datenpunkte in einem ordner, sondern irgenwo in deiner struktur..

                              also abgesehen davon, dass "Aufzählung" bei mir nicht sichtbar war, hätte ich auch erstmal nicht gewusst wozu das sein soll. Dass kann ich auch für anderes in Betracht ziehen. aber vorallem könnt man damit ja auch prima di Ansicht im ObjektReiter Filtern... gut zu wissen.

                              So weit so gut. Alle Objekte lesen und Ausgeben scheint kein Problem.

                              var wartung_14tage = $('state[id=*](functions="wartung_14tage")');
                              var wartung_30tage = $('state[id=*](functions="wartung_30tage")');
                              
                              var status;
                              var dname;
                              
                              
                              console.log('***********  each 14 Tage**************');
                              wartung_14tage.each(function (id, i)
                              {
                                  status = getState(id).val;
                                  dname = getObject(id).common.name;
                                  //sendTo("telegram", "send", { text: name+": "+status+" °C" });
                                  console.log('***********${i}**************');
                                  console.log(dname);
                                  console.log(status);
                              } );
                              
                              
                              console.log('***********  each 30 Tage**************');
                              wartung_30tage.each(function (id, i)
                              {
                                  status = getState(id).val;
                                  dname = getObject(id).common.name;
                                  //sendTo("telegram", "send", { text: name+": "+status+" °C" });
                                  console.log('***********${i}**************');
                                  console.log(dname);
                                  console.log(status);
                              } );
                              

                              tehen

                              liv-in-skyL Offline
                              liv-in-skyL Offline
                              liv-in-sky
                              schrieb am zuletzt editiert von
                              #17

                              @Peterfrosta

                              der rest wird auch noch :-)

                              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                              1 Antwort Letzte Antwort
                              0
                              • P Peterfrosta

                                jedoch ist das Projekt damit ja noch nicht abgechlossen.

                                Ich möchte gerne abhängig vom letzten Änderungsdatum(Zeit) des entsprechende Objekts handeln...

                                Wie würde ich das auslesen?

                                dname = getObject(id).common.name;

                                da habe ich ja das "common.name" auch in den "raw" einstellungen gefunden. aber leider keinen eintrag für den Zeitstempel.... der wird wohl woanders liegen?!

                                Sonst hätte ichja sowas vermutet:

                                dtimestamp = getObject(id).common.datetime_update;

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

                                @Peterfrosta sagte in [gelöst]-Alle Objekte eines Ordners...:

                                abhängig vom letzten Änderungsdatum(Zeit) des entsprechende Objekts

                                lastChange = getState(id).lc;
                                

                                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

                                P 1 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  Peterfrosta
                                  schrieb am zuletzt editiert von Peterfrosta
                                  #19

                                  danke, das hatte ich zum glück schon gefunden... aber:

                                  wenn ichjetzt wissen möchte wie alt der status schon ist, würde ich ja denken, dass ich folgenden prüfen müsste:

                                   console.log((Date.now()-getState(id).lc)/1000);
                                  

                                  Date.now()

                                  der Output ist dann aber :
                                  11121.896

                                  was würde ich ohne dich nur machen ;)

                                  hm...

                                  edit:

                                  und ich hatte den state natürlich wenige Sekunden zuvor geändern. so dass ich eine Zahl in der Größenordnung 1-10 erwartet hätte

                                  P liv-in-skyL 2 Antworten Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @Peterfrosta sagte in [gelöst]-Alle Objekte eines Ordners...:

                                    abhängig vom letzten Änderungsdatum(Zeit) des entsprechende Objekts

                                    lastChange = getState(id).lc;
                                    
                                    P Offline
                                    P Offline
                                    Peterfrosta
                                    schrieb am zuletzt editiert von
                                    #20

                                    @paul53 Ach da ist ja wer Neues. Danke dir!

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Peterfrosta

                                      danke, das hatte ich zum glück schon gefunden... aber:

                                      wenn ichjetzt wissen möchte wie alt der status schon ist, würde ich ja denken, dass ich folgenden prüfen müsste:

                                       console.log((Date.now()-getState(id).lc)/1000);
                                      

                                      Date.now()

                                      der Output ist dann aber :
                                      11121.896

                                      was würde ich ohne dich nur machen ;)

                                      hm...

                                      edit:

                                      und ich hatte den state natürlich wenige Sekunden zuvor geändern. so dass ich eine Zahl in der Größenordnung 1-10 erwartet hätte

                                      P Offline
                                      P Offline
                                      Peterfrosta
                                      schrieb am zuletzt editiert von
                                      #21

                                      @Peterfrosta said in [gelöst]-Alle Objekte eines Ordners...:

                                      der Output ist dann aber :
                                      11121.896

                                      Vergisst es. hatte das falsche Objekt bearbeitet. Entschuldigt bitte.

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        Peterfrosta
                                        schrieb am zuletzt editiert von
                                        #22

                                        gibt es nirgens eine Sammlung (Wiki) für die Sachen auf die man mit getState() oder getObject() zugreifen kann?

                                        getObject().common.name
                                        getState(id).val
                                        getState(id).lc

                                        kenne ich ja nun nur von euch hier.

                                        paul53P 1 Antwort Letzte Antwort
                                        0
                                        • P Peterfrosta

                                          gibt es nirgens eine Sammlung (Wiki) für die Sachen auf die man mit getState() oder getObject() zugreifen kann?

                                          getObject().common.name
                                          getState(id).val
                                          getState(id).lc

                                          kenne ich ja nun nur von euch hier.

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

                                          @Peterfrosta sagte:

                                          Sammlung (Wiki) für die Sachen auf die man mit getState()

                                          Doku

                                          @Peterfrosta sagte in [gelöst]-Alle Objekte eines Ordners...:

                                          getObject() zugreifen kann?

                                          Doku

                                          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

                                          P 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

                                          256

                                          Online

                                          32.7k

                                          Benutzer

                                          82.4k

                                          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