Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst]-Alle Objekte eines Ordners...

    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]-Alle Objekte eines Ordners...

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky @Peterfrosta last edited by

      @Peterfrosta genau

      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Peterfrosta last edited by 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 1 Reply Last reply Reply Quote 0
        • P
          Peterfrosta last edited by

          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-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Peterfrosta last edited by 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 1 Reply Last reply Reply Quote 0
            • P
              Peterfrosta @liv-in-sky last edited by

              @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-sky 1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @Peterfrosta last edited by

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

                Image 6.png

                P 1 Reply Last reply Reply Quote 0
                • P
                  Peterfrosta @liv-in-sky last edited by

                  @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 Reply Last reply Reply Quote 0
                  • P
                    Peterfrosta @liv-in-sky last edited by

                    @liv-in-sky SMART!

                    1 Reply Last reply Reply Quote 0
                    • P
                      Peterfrosta last edited by

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

                      liv-in-sky 1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Peterfrosta last edited by

                        @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

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Peterfrosta last edited by

                          @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 1 Reply Last reply Reply Quote 0
                          • P
                            Peterfrosta @liv-in-sky last edited by

                            @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-sky 1 Reply Last reply Reply Quote 0
                            • P
                              Peterfrosta last edited by

                              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;

                              paul53 1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Peterfrosta last edited by

                                @Peterfrosta

                                der rest wird auch noch 🙂

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

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

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

                                  lastChange = getState(id).lc;
                                  
                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Peterfrosta last edited by 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 liv-in-sky 2 Replies Last reply Reply Quote 0
                                    • P
                                      Peterfrosta @paul53 last edited by

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

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        Peterfrosta @Peterfrosta last edited by

                                        @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 Reply Last reply Reply Quote 0
                                        • P
                                          Peterfrosta last edited by

                                          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.

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

                                            @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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            811
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly javascript
                                            3
                                            27
                                            2360
                                            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