Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Visualisierung mit Node Red erstellen

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Visualisierung mit Node Red erstellen

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @Damrak2022 last edited by

      @damrak2022 sagte in Visualisierung mit Node Red erstellen:

      @mickym Ich lese das hier
      Der Parser ignoriert standardmäßig nicht-alphanumerische Zeichen, so dass beide der folgenden Elemente dasselbe zurückgeben.

      Du darfst solche Sätze doch nicht aus dem Zusammenhang reißen. Vollständig heißt doch der Beitrag:

      894de54e-004f-4cbe-9155-523fab838605-image.png

      Im 1. Parameter wird das Datum mitgegeben, mit dem Du das $moment Objekt erzeugen willst. Hinter dem Komma steht wie das Datum interpretiert werden soll.

      a7920ab6-144a-42fb-8529-863aff99eca3-image.png

      Also sagst Du erst mal

      $moment("12-25-1995", "MM-DD-YYYY")
      

      dass die ersten beiden Ziffern den Monat bedeuten, die zweiten beiden Ziffern den Tag und die letzten 4 Ziffern das Jahr und zwischen diesen Zahlen ein Bindestrich steht.

      Dieser Satz aber sagt:
      Der Parser ignoriert standardmäßig nicht-alphanumerische Zeichen, so dass beide der folgenden Elemente dasselbe zurückgeben.

      Das heißt auch wenn keine Bindestriche sondern andere nicht-alphanummerische Zeichen (also 0-9 bzw. A-Z), als Trenner verwendet werden, wird dies auch richtig interpretiert.

      Sprich auch wenn Schrägstriche, anstelle von Bindestrichen beim Datumsstring verwendet werden, wird das trotzdem richtig interpretiert.

      War das soweit verständlich? - Sonst bitte fragen.

      ========================================================================

      Allerdings müsse ich nicht wie ich das so umwandle das ich als Ausgabe 27.10.2022 erhalte. Gestern habe wird das in der Change Node in 3 Datenpunkte aufgeteilt und dann in der zweiten Zeile bei der Change Node hinzugefügt.

      Vergiss was wir gestern gemacht haben - wir kümmern uns um die moments Bibliothek die sich mit Datumsobjekten beschäftig. Gestern haben wir eine Zeichenkette mit einem bestimmten Zeichen in ein Array umgewandelt um die einzelnen Objekte einzeln adressieren zu können.

      HEUTE nehmen wir einen komplett neuen Ansatz. Das von gestern kannst Du Dir merken - hat aber erst mal nichts mit der moments Bibliothek zu tun, die wir heute mal als Lösung verwenden.

      ===========================================================

      So wie müsste als der Code lauten, damit das Datum, sowie es aus Deiner iobroker-IN Node kommt, richtig interpretiert wird?

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

        @mickym sagte in Visualisierung mit Node Red erstellen:

        War das soweit verständlich? - Sonst bitte fragen.

        Das war verständlich, aber ich habe noch nicht mal ansatzweise eine Ahnung wie ich das in DD.MM.YYYY ändere

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

          @damrak2022 Wie wäre es mit Geduld. Ich weiß schon wie das geht. Du brauchst Dir darüber erst mal keinen Kopf zu machen.

          Du hast erst mal als Aufgabe - dass mit Hilfe des Datumstrings, der aus der iobroker-IN Node ein korrektes $moments Objekt erzeugst.

          Also bitte die 2 Fragen beantworten (und ausser Fragen sonst nichts. 😉 )

          1. Wie sieht der String aus, der aus Deiner iobroker-IN Node rauskommt?
          2. Wie konstruierst Du daraus das richtige $moment Objekt mit dem richtigen Datum?
          Damrak2022 1 Reply Last reply Reply Quote 0
          • Damrak2022
            Damrak2022 @mickym last edited by Damrak2022

            @mickym Zu 1:
            Bildschirmfoto 2022-10-28 um 23.08.25.png Bildschirmfoto 2022-10-28 um 23.08.11.png

            zu 2: Sorry, weiß ich nicht

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

              @damrak2022 Ja - also es kommt als Datumstring

              2022-10-26
              

              So wie erstellst Du nun ein $moment Objekt zum 26. Oktober 2022 um 0:00 Uhr?

              Na wenn Du das verstanden hast, was ich vorher geschrieben habe, dann gibst Du doch als erstes den Datumsstring ein und nach dem Komma, zeigst Du der $moment Bibliothek, wie sie das Datum interpretieren muss.

              Ich hatt doch in meinem vorherigen Post geschrieben

              $moment("12-25-1995", "MM-DD-YYYY")
              

              dass die ersten beiden Ziffern den Monat bedeuten, die zweiten beiden Ziffern den Tag und die letzten 4 Ziffern das Jahr und zwischen diesen Zahlen ein Bindestrich steht.

              Und Du sagtest doch, dass Du das verstanden hattest?

              Du musst doch nun nur das Datum in der Form so einsetzen, wie es aus der iobroker-IN Node rauskommt und im 2. Teil erklären, welche Zahl was bedeutet - also wo steht Jahr, Monat und Tag.

              Im nächsten Post - poste ich dann die Lösung und dann reden wir darüber was unklar war. Aber möchtest Du es noch einmal versuchen?

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

                @mickym Bildschirmfoto 2022-10-28 um 23.19.28.png

                Moment

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

                  @damrak2022 Sehr gut. 👍 👍 👍

                  Und wie schaut der Code in der Change Node aus?

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

                    @mickym Bildschirmfoto 2022-10-28 um 23.22.23.png

                    Aber ich habe das Datum doch jetzt händisch eingetragen. Kann er das nicht aus dem String der ioBroker in Node übernehmen?

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

                      @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                      @mickym Bildschirmfoto 2022-10-28 um 23.22.23.png

                      Aber ich habe das Datum doch jetzt händisch eingetragen. Kann er das nicht aus dem String der ioBroker in Node übernehmen?

                      Na das ersetzen wir dann einfach durch die payload - die ja das Datum genau in dieser Form enthält. OK?

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

                        @mickym Bin mit allem einverstanden🙂

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

                          @damrak2022 Gut aber es ist doch schon mal ein Erfolgserlebnis, dass Du der $moment Bibliothek beigebracht hast, wie sie nun einen etwas verqueren Datumstring richtig interpretiert wird, oder?

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

                            @mickym Ja das schon. Mich irritiert halt nur das er den Wert nicht direkt aus der Iobroker in node übernommen hat. Aber Du sagst ja, das kommt jetzt.

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

                              Aber ich stelle gerade fest, Du hast doch nicht den String genommen, der aus der iobroker-In Node kommt.

                              Du hast

                              10-26-2022
                              

                              genommen.

                              Aus der ioboker-In Node kommt das Datum aber in der Form:
                              1e37bd6b-9573-4c60-9eff-3f5f5b687870-image.png

                              2022-10-26
                              

                              Also stimmt Dein Code leider immer noch nicht.

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

                                @mickym Geändert beim zweiten kommt logischerweise Invalid Date raus.
                                Beim ersten stimmt es dann , aber ich habe immer noch das englische Format

                                Bildschirmfoto 2022-10-28 um 23.35.40.png Bildschirmfoto 2022-10-28 um 23.34.56.png

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

                                  Kannst Du mal damit aufhören, wie die Ausgabe aussieht??????????????

                                  Die richtige Lösung kann nur das erste sein. Das 2. kann doch nur falsch interpretiert werden. Es steht doch kein MM vorne???

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

                                    @mickym Okay, sorry

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

                                      @damrak2022 sagte in Visualisierung mit Node Red erstellen:

                                      @mickym Okay, sorry

                                      So aber Du scheinst das nun verstanden haben - wie Du aus einem beliebigen Datumsformat das korrekte $moments Objekt konstruiert.

                                      Also die einzige richtige Lösung ist:

                                      $moment("2022-10-26", "YYYY-MM-DD")
                                      

                                      2022-10-26 ist das Format, das aus der iobroker IN Node rauskommt.

                                      $moment("2022-10-26", "MM-DD-YYYY") schreibst kommt invalidate Date - also ungültiges Datum, da vorne doch eine 4stellige Zahl steht die nicht als Monat interpretiert werden kann. Oder welches ist der 20. Monat im Jahr. Ich denke der wurde noch nicht erfunden.

                                      Soweit klar?

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

                                        @mickym Ja, das ist vollkommen klar. War auch nur ein Versuch, ob er das dann ändert.

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

                                          @damrak2022 Gut nachdem wir nun das richtige $moment Objekt erzeugt haben - kümmern wir uns jetzt um die Ausgabeformat des moments Objekts.

                                          Das steht hier: https://momentjs.com/docs/#/displaying/

                                          8c6e0646-40ff-415f-b639-2691d7eb5817-image.png

                                          Das heißt an das moments Objekt schließen wir eine format Ausgabe an. Wie könnte die Aussehen - im Prinzip hast Du es in diesem Post schon beschrieben.

                                          Wenn Du es geschaft hast, wieder den JSONATA Code Deiner Change Node und das Debug Fenster als Beweis posten. 😉

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

                                            @mickym So, hier bitte:
                                            Bildschirmfoto 2022-10-28 um 23.53.24.png Bildschirmfoto 2022-10-28 um 23.53.11.png

                                            Da kann ich das Leerzeichen zwischen DD. und MM. YYYY wahrscheinlich weglassen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            831
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            4845
                                            1970338
                                            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