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. JavaScript
  5. LastContact (.lc) von allen States eines Objektes triggern

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

LastContact (.lc) von allen States eines Objektes triggern

Geplant Angeheftet Gesperrt Verschoben JavaScript
9 Beiträge 4 Kommentatoren 208 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.
  • K Offline
    K Offline
    Klausimausi
    schrieb am zuletzt editiert von
    #1

    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

    paul53P 1 Antwort Letzte Antwort
    0
    • K Klausimausi

      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

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

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

      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

      K 1 Antwort Letzte Antwort
      0
      • paul53P 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 Offline
        K Offline
        Klausimausi
        schrieb am zuletzt editiert von
        #3

        @paul53

        Ja, damit komme ich weiter. Vielen Dank!

        K 1 Antwort Letzte Antwort
        0
        • K Klausimausi

          @paul53

          Ja, damit komme ich weiter. Vielen Dank!

          K Offline
          K Offline
          Klausimausi
          schrieb am zuletzt editiert von
          #4

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

          paul53P mcm1957M 2 Antworten Letzte Antwort
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            schrieb am zuletzt editiert von
            #5

            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.

            Persönlicher Support
            Spenden -> paypal.me/J3YC33

            1 Antwort Letzte Antwort
            0
            • K Klausimausi

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

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

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

              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

              1 Antwort Letzte Antwort
              0
              • K Klausimausi

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

                mcm1957M Online
                mcm1957M Online
                mcm1957
                schrieb am zuletzt editiert von
                #7

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

                Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                Support Repositoryverwaltung.

                Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                LESEN - gute Forenbeitrage

                K 1 Antwort Letzte Antwort
                0
                • mcm1957M mcm1957

                  @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 Offline
                  K Offline
                  Klausimausi
                  schrieb am zuletzt editiert von
                  #8

                  OK . VERSTANDEN :grin:

                  @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

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • K Klausimausi

                    OK . VERSTANDEN :grin:

                    @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

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

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

                    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

                    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

                    867

                    Online

                    32.4k

                    Benutzer

                    81.5k

                    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