Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Timestamp Umwandeln in Node Red (gelöst)

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Timestamp Umwandeln in Node Red (gelöst)

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rewenode @frankyboy73 last edited by

      @frankyboy73 Kann zwar nicht mit Sicherheit sagen, ob das das Problem löst, weil ich damit nicht getestet habe, aber du solltest vlt. hier mal reinschauen:

      time-zone offset

      So fixes ändern +/- 1 Stunde fällt einem i.d.R. irgendwann auf die Füße;-)

      F 1 Reply Last reply Reply Quote 1
      • F
        frankyboy73 @rewenode last edited by

        @rewenode Hi, danke, mit dem getTimezoneOffset klappts jetzt, ohne das ich es fix umrechnen muss.

        1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @frankyboy73 last edited by mickym

          @frankyboy73 Ich nutze die Javascript Moment Bibliothek - da bist am flexibelsten.

          Hier mal die Nodes: https://flows.nodered.org/node/node-red-contrib-moment

          dann hast Du zur formatierung der Datum/Zeit folgende Möglichkeiten:

          https://momentjs.com/docs/#/displaying/format/

          Musst halt über den Adapter oder falls Du Palettenmanager nutzt über diesen installieren.

          R 1 Reply Last reply Reply Quote 0
          • R
            rewenode @mickym last edited by

            @mickym said in Timestamp Umwandeln in Node Red (gelöst):

            Musst halt über den Adapter oder falls Du Palettenmanager nutzt über diesen installieren.

            Nicht unbedingt nötig. Moment.js ist in allen JSONata-nodes (change, incjekt usw.) seit NR 1.1.0 enthalten.

            Siehe hier: moment.js in NR

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @rewenode last edited by mickym

              @rewenode said in Timestamp Umwandeln in Node Red (gelöst):

              @mickym said in Timestamp Umwandeln in Node Red (gelöst):

              Musst halt über den Adapter oder falls Du Palettenmanager nutzt über diesen installieren.

              Nicht unbedingt nötig. Moment.js ist in allen JSONata-nodes (change, incjekt usw.) seit NR 1.1.0 enthalten.

              Siehe hier: moment.js in NR

              Klasse !!! Das wusste ich auch noch nicht. Allerdings hat es mich nun ca. 2 Stunden gekostet - bis ich die Syntax rausbekommen habe, dass ich das gleiche wie mit der Node bekommen habe - aber letztlich habe ich es rausbekommen.

              Wichtig scheint hier auch die Reihenfolge zu sein.

              Ich hab das mal hier in dem Flow gegenübergestellt:
              Hier mal mit der Moment Node:

              screen.png

              Hier mit der ChangeNode und JSONata:

              screen.png

              Um also auch die deutschen Namen zu übernehmen muss das locale vorne dran gestellt werden, das ist leider in der Beschreibung nicht drin gewesen. 😉
              Also wie folgt:

              $moment(payload).locale("de").format('dddd, [der] D. MMMM YYYY [um] HH:mm')
              

              Statt hh wie in dem Screenshot kk oder HH für 24h Anzeige nehmen.

              HIer wieder der gesamte Workflow zum Nachvollziehen:

              [
                  {
                      "id": "df944da5.6a23e",
                      "type": "inject",
                      "z": "dce8fa20.2e93c8",
                      "name": "",
                      "props": [
                          {
                              "p": "payload"
                          },
                          {
                              "p": "topic",
                              "vt": "str"
                          }
                      ],
                      "repeat": "",
                      "crontab": "",
                      "once": false,
                      "onceDelay": 0.1,
                      "topic": "",
                      "payload": "",
                      "payloadType": "date",
                      "x": 940,
                      "y": 140,
                      "wires": [
                          [
                              "ccf0fb59.dd6798",
                              "39d58864.e30568",
                              "8b85c7e7.4986b8"
                          ]
                      ]
                  },
                  {
                      "id": "bfb1aa88.fe50c8",
                      "type": "debug",
                      "z": "dce8fa20.2e93c8",
                      "name": "",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "false",
                      "statusVal": "",
                      "statusType": "auto",
                      "x": 1390,
                      "y": 140,
                      "wires": []
                  },
                  {
                      "id": "ccf0fb59.dd6798",
                      "type": "moment",
                      "z": "dce8fa20.2e93c8",
                      "name": "",
                      "topic": "",
                      "input": "",
                      "inputType": "msg",
                      "inTz": "Europe/Berlin",
                      "adjAmount": 0,
                      "adjType": "days",
                      "adjDir": "add",
                      "format": "dddd, [der] D. MMMM YYYY [um] hh:mm",
                      "locale": "de-DE",
                      "output": "",
                      "outputType": "msg",
                      "outTz": "Europe/Berlin",
                      "x": 1170,
                      "y": 140,
                      "wires": [
                          [
                              "bfb1aa88.fe50c8"
                          ]
                      ]
                  },
                  {
                      "id": "9e57419a.12eb2",
                      "type": "debug",
                      "z": "dce8fa20.2e93c8",
                      "name": "Change Node",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "payload",
                      "targetType": "msg",
                      "statusVal": "",
                      "statusType": "auto",
                      "x": 1400,
                      "y": 180,
                      "wires": []
                  },
                  {
                      "id": "39d58864.e30568",
                      "type": "change",
                      "z": "dce8fa20.2e93c8",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "$moment(payload).locale(\"de\").format('dddd, [der] D. MMMM YYYY [um] hh:mm')",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 1170,
                      "y": 180,
                      "wires": [
                          [
                              "9e57419a.12eb2"
                          ]
                      ]
                  },
                  {
                      "id": "8b85c7e7.4986b8",
                      "type": "debug",
                      "z": "dce8fa20.2e93c8",
                      "name": "unix TimeStamp",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "payload",
                      "targetType": "msg",
                      "statusVal": "",
                      "statusType": "auto",
                      "x": 1160,
                      "y": 100,
                      "wires": []
                  }
              ]
              

              Nochmal ganz herzlichen Dank an Dich @rewenode . Man lernt nicht aus. 😉

              Die Zeitzonen habe ich auch gerade getestet das funktioniert auch - allerdings ist es auch wieder wichtig, dass die vor dem Format String steht:

              $moment(payload).locale("de").tz('Europe/Berlin').format('dddd, [der] D. MMMM YYYY [um] HH:mm')
              

              Hier habe ich im Übrigen noch ein Auflistung für mögliche Zeitzonen gefunden.

              F R 2 Replies Last reply Reply Quote 0
              • F
                frankyboy73 @mickym last edited by

                @mickym @rewenode
                Vielen Dank ihr beiden, dank euch konnte ich es jetzt genau so umsetzen wie ich wollte.
                Timestamp4.jpg

                F 1 Reply Last reply Reply Quote 0
                • F
                  frankyboy73 @frankyboy73 last edited by

                  So sieht die Meldung jetzt in Telegram aus . 😁
                  84157D0E-F564-4BC7-A019-301D73724291.jpeg

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @frankyboy73 last edited by mickym

                    @frankyboy73 said in Timestamp Umwandeln in Node Red (gelöst):

                    Na schaut doch gut aus - hast Du Change Node - mit JSONata verwendet?

                    F 1 Reply Last reply Reply Quote 0
                    • F
                      frankyboy73 @mickym last edited by frankyboy73

                      @mickym
                      Ja, ich habe die change Node verwendet.
                      Timestamp5.jpg
                      Hier der Eintrag.

                      $moment(payload.ts).locale("de").format('dddd, D.MM.YYYY [,] kk[ Uhr ]mm')
                      
                      1 Reply Last reply Reply Quote 1
                      • R
                        rewenode @mickym last edited by

                        @mickym said in Timestamp Umwandeln in Node Red (gelöst):

                        Allerdings hat es mich nun ca. 2 Stunden gekostet - bis ich die Syntax rausbekommen habe, dass ich das gleiche wie mit der Node bekommen habe - aber letztlich habe ich es rausbekommen.

                        Ja, ist leider nicht gerade einfach dokumentiert.
                        Hätte vlt. noch diesen Link angeben sollen https://momentjs.com/docs/
                        Da braucht's aber auch viel Zeit da durchzusteigen;-) Na wenigstens hast du jetzt die wichtigsten Infos zusammengetragen. Danke dafür!

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        1.0k
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        4
                        17
                        17998
                        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