Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. last change timestamp javascript (für node-red)

    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

    last change timestamp javascript (für node-red)

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

      gibt es eine Möglichkeit in javascript (für node.red) den Zeitpunkt der letzten Änderung eines Datenpunktes abzufragen.
      Das System "weiss" das genau weil in der Objektliste wird die Zeit angezeigt.

      Marc Berg 1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @franzda last edited by Marc Berg

        @franzda

        Ich lasse mir mit dem "ioBroker get" Node das ganze Objekt geben und werte dann per JSONata ($number($lookup(payload, "ts")) das Attribut "ts" aus. Das beantwortet zwar die Frage nicht 100%, ist aber EINE Lösung.

        Per Javascript dann wahrscheinlich

        var obj = JSON.parse(<payload>)
        var timestamp=obj.ts

        oder so ähnlich.

        M.

        F 2 Replies Last reply Reply Quote 0
        • F
          franzda @Marc Berg last edited by

          @marc-berg said in last change timestamp javascript (für node-red):

          @franzda

          Ich lasse mir mit dem "ioBroker get" Node das ganze Objekt geben und werte dann per JSONata ($number($lookup(payload, "ts")) das Attribut "ts" aus. Das beantwortet zwar die Frage nicht 100%, ist aber EINE Lösung.

          M.

          Ich dachte es ist unnötig "handisch" den Zeitpunkt festzuhalten wenn das System den Wert im Bauch hat oder? Ich setze die Werte im einem script. Könnte also den Zeitpunkt dort speichern; das braucht Rechenzeit und Speicher für eine Info die vom System schon gespeichert wird

          1 Reply Last reply Reply Quote 0
          • F
            franzda @Marc Berg last edited by

            @marc-berg Findest Du den Ansatz sinnvoll, Oder Sollte man die Zeit "zu Fuß händisch" festhalten.

            Marc Berg 1 Reply Last reply Reply Quote 0
            • Marc Berg
              Marc Berg Most Active @franzda last edited by Marc Berg

              @franzda

              Ich verstehe die Frage nicht wirklich. Das Attribut "ts" ist doch genau die Zeit (in Unixzeit), die auch in der Oberfläche als Zeitstempel angezeigt wird. Da muss ich nix händisch speichern.

              6cd78b0e-66bb-4736-a065-fa8a6944c503-grafik.png

              F 1 Reply Last reply Reply Quote 0
              • F
                franzda @Marc Berg last edited by

                @marc-berg Hallo Marc: Die Frage ist wie kann ich auf "ts" zugreifen. (bin zwar kein Anfänger aber habe meine Kenntnisse mit nicht den "zeitgemäßen" Systeme gemacht. Habe mit javascript einige ganz tolle Funktionen realisiert. Bin echt begeistert. Aber mein Wissen hat eben "Grenzen"

                habe so gemacht schein aber nicht richtig zu sein
                sensor {};
                .....
                sensor.val = msg.payload[i].val;
                change = JSON.parse(msg.payload[i].val);
                timechange = change.ts;

                Marc Berg 1 Reply Last reply Reply Quote 0
                • Marc Berg
                  Marc Berg Most Active @franzda last edited by Marc Berg

                  @franzda

                  var ts = {payload:msg.payload.ts};

                  oder

                  var ts = {payload:msg.timestamp};

                  Bin aber kein großer Programmierer, versuche möglichst alles mit den Nodes und max. mit JSONata zu lösen.

                  In diesem Beispiel prüfe ich täglich, ob ggf. einer von zwei Sensoren länger als 50h keine Daten geliefert hat (ich werte also "ts" aus) und lasse mich in diesem Fall benachrichtigen.

                  3c5f36ff-c913-4598-aa46-245cf2c99d39-grafik.png

                  F 1 Reply Last reply Reply Quote 0
                  • F
                    franzda @Marc Berg last edited by

                    @marc-berg Hi Marc
                    Thank you for quick response. it works

                    this is my code thank you for helping: (two different formats for testing)

                       // ---  
                      sensor.neulcT = (new Date(msg.payload[i].lc)).toLocaleTimeString();
                      sensor.neulc =  (new Date(msg.payload[i].lc)).toLocaleString();
                    1 Reply Last reply Reply Quote 1
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    815
                    Online

                    31.8k
                    Users

                    80.0k
                    Topics

                    1.3m
                    Posts

                    2
                    8
                    742
                    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