Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. LastContact (.lc) von allen States eines Objektes triggern

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    LastContact (.lc) von allen States eines Objektes triggern

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Klausimausi last edited by

      Um einen realen Wert des letzten Kontaktes zu einem Objekt zu erfassen möchte ich die .lc aller States des Objektes prüfen.
      Bisher habe ich für jedes Objekt ein Script mit Trigger auf alle Datenpunkte wenn die Änderungen bestätigt sind.
      Gibt es da vielleicht auch eine Möglichkeit einen Trigger auszulösen wenn sich irgendein State eines Objektes ändert und den .ts oder .lc dann in eine Variable schreibt? " 0_userdata.0.Dummy.Temperatursensor. * " geht ja so nicht.

      MfG

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

        @klausimausi sagte: " 0_userdata.0.Dummy.Temperatursensor. * " geht ja so nicht.

        Doch, im $Selektor.
        Im Trigger kann man auch RegExp verwenden:

        on(/0_userdata\.0\.Dummy\.Temperatursensor\..+/, function(dp) {
            const lc = dp.state.lc;
        });
        
        K 1 Reply Last reply Reply Quote 0
        • K
          Klausimausi @paul53 last edited by

          @paul53

          Ja, damit komme ich weiter. Vielen Dank!

          K 1 Reply Last reply Reply Quote 0
          • K
            Klausimausi @Klausimausi last edited by

            ....ich möchte die Werte nun in einem Datenpunkt unter dem jeweiligen Objekt speichern. Im Expertenmodus anlegen ist kein Problem z.B. unter zigbee.0. Nun prüft mein Script ob dieser DP vorhanden ist und schreibt den .lc dort rein. Nun würde ich gerne, dass bei nichtvorhandensein des DP dieser dort angelegt wird. Solange ich noch im Expertenmodus bin geht's. Das automatische hinzufügen nach dem Ausloggen legt dann diese Datenpunkte aber unter Javascript.0.zigbee.0 an weil die admin Rechte fehlen um in zigbee.0. zu speichern. Wie kann ich das Script zum Erzeugen des DP automatisch als Admin ausführen?

            MfG

            paul53 mcm1957 2 Replies Last reply Reply Quote 0
            • Jey Cee
              Jey Cee Developer last edited by

              Ich kann es einfach nicht so stehen lassen: lc steht für lastChange.

              Wir raten davon ab im Objektbaum eines Adapters eigene Objekte an zu legen, das kann zu unerwarteten Problemen führen. Deshalb gibt es 0_userdata.0 das ist dafür vorgesehen eigene Objekte an zu legen.

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

                @klausimausi sagte: Script zum Erzeugen des DP automatisch als Admin ausführen?

                createState() kann generell nur Datenpunkte unter "javascript.N" oder unter "0_userdata.0" erzeugen.

                1 Reply Last reply Reply Quote 0
                • mcm1957
                  mcm1957 @Klausimausi last edited by

                  @klausimausi said in LastContact (.lc) von allen States eines Objektes triggern:

                  ....ich möchte die Werte nun in einem Datenpunkt unter dem jeweiligen Objekt speichern. Im Expertenmodus anlegen ist kein Problem z.B. unter zigbee.0. Nun prüft mein Script ob dieser DP vorhanden ist und schreibt den .lc dort rein. Nun würde ich gerne, dass bei nichtvorhandensein des DP dieser dort angelegt wird. Solange ich noch im Expertenmodus bin geht's. Das automatische hinzufügen nach dem Ausloggen legt dann diese Datenpunkte aber unter Javascript.0.zigbee.0 an weil die admin Rechte fehlen um in zigbee.0. zu speichern. Wie kann ich das Script zum Erzeugen des DP automatisch als Admin ausführen?

                  MfG

                  NEIN NEIN NEIN

                  States im Objectbaum eines Adapters zu speichern ist eine ganz ganz schlechte Idee. Lass das gleich wieder sein. States die DU anlegen willst müssen unter 0_userdata_0 angelegt werden. Im Objectbaum eines Adapter hat (von ganz ganz wenigen Ausnahmen abgesehen) ausschließlich der Adapter selbst etwas zu erstellen.

                  Und wie Jey Cee schon richtig angemerkt hat bedeitet lc last changed. Das hat nichts mit einem Kontakt (wie immer du Kontakt definierst) zu tun.

                  K 1 Reply Last reply Reply Quote 0
                  • K
                    Klausimausi @mcm1957 last edited by

                    OK . VERSTANDEN 😁

                    @paul53

                    an dich noch mal eine Frage zu

                    on(/0_userdata\.0\.Dummy\.Temperatursensor\..+/, function(dp) {
                      const lc = dp.state.lc;
                    });
                    

                    ...wie kann ich denn hier z.B bei mir die Datenpunkte ".zone" und ".area" ausschließen.
                    Die werden einmal generiert und ändern sich nie wieder.

                    ..oder wenn ein Anderer eine Idee hat !
                    MfG

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

                      @klausimausi sagte: die Datenpunkte ".zone" und ".area" ausschließen.

                      on(/0_userdata\.0\.Dummy\.Temperatursensor\..+/, function(dp) {
                          if(!(dp.id.endsWith('.zone') || dp.id.endsWith('.area'))) {
                              const lc = dp.state.lc;
                          }
                      });
                      

                      @klausimausi sagte in LastContact (.lc) von allen States eines Objektes triggern:

                      Die werden einmal generiert und ändern sich nie wieder.

                      Dann triggern sie auch nur einmal, denn der gezeigte Trigger reagiert nur auf Wertänderung.

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      791
                      Online

                      32.4k
                      Users

                      81.2k
                      Topics

                      1.3m
                      Posts

                      4
                      9
                      147
                      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