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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    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 Doch habe ich, aber dann wieder was gelöscht und dabei natürlich auch das voranstehende Zeichen.

      Na gut Haken dran.

      MERKE:

      1. Alle Funktionen im JSONATA beginnen mit einem $-Zeichen
      2. Wenn Du ein aktuelles Datumsobjekt brauchst - dann brauchst Du nur ein $moment Objekt erzeugen ohne dass Du es initialisieren musst.
      1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active last edited by

        So was hast Du gemacht, als Du das $moments Objekt für ein bestimmtes Datum erzeugt hast?

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

          @mickym Ich verstehe nicht was Du genau meinst.
          Vorhin hatte ich ja nur einen fertigen Code benutzt.

          moment("12-25-1995", "MM-DD-YYYY");
          
          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Damrak2022 last edited by mickym

            @damrak2022 Gut aber was stand dabei.

            Auch hier fehlt wieder das $ Zeichen vorne und da es kein JS Code ist und nur eine Zeile braucht man auch keinen Strichpunkt.

            Der richtige Code heißt also

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

            Das würdest ein Datumsobjekt erzeugen am 25.12.1995 um 0:00 Uhr.

            In Deinem Post hast Du es auf diesen Code, Dein gewünschtes Datum erzeugt:

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

            06e677c3-11ff-492b-8af6-b3b5a97d1870-image.png

            Was ja auch geklappt hat.

            Nun kommt aber aus Deiner iobroker IN Node das Datum in dieser Form raus:

            5fbecb19-3879-4ce1-a3c3-f10c04626356-image.png

            Wie müsste also der Code aussehen, damit ein String wie 2022-10-17 ebenfalls richtig interpretiert würde?

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

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

              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 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            994
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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