Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] Datum umformatieren

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Datum umformatieren

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

      Hallo Zusammen,

      ich habe leider keine Ahnung von JS daher muss ich einfach mal die Profis fragen

      Ich habe einen Datenpunkt der mir das Datum wie folgt anzeigt

      2020-03-23T05:20:44
      

      Wie kann ich das in der VIS so anzeigen lassen

      23.03.2020 - 20:44
      

      Ich bedanke mich im Voraus für Eure Hilfe

      Gruß
      Marcel

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Wszene last edited by paul53

        @Wszene sagte :

        Wie kann ich das in der VIS so anzeigen lassen
        23.03.2020 - 20:44

        Du möchtest die Minuten und Sekunden anzeigen lassen, nicht aber die Stunden ?

        EDIT: Mit hh:mm mittels Javascript-Adapter-Funktion:

        let date = "2020-03-23T05:20:44";
        date = formatDate(new Date(date), 'DD.MM.YYYY - hh:mm');
        
        1 Reply Last reply Reply Quote 0
        • Wszene
          Wszene last edited by

          Danke für die schnelle Antwort
          Wo und wie muss ich das JS eintragen
          Das ist ja auch in deinem Bespiel statisch ich muss ja aber einen Datenpunkt abfragen und diesen dann im neuen Format ausgeben
          Ich würde mir sogar den Umweg über einen neuen Datenpunkt machen wenn es sein müsste
          Aber ich habe wie oben schon geschrieben leider keine Ahnung von JS

          Gruß
          Marcel

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @Wszene last edited by paul53

            @Wszene sagte:

            Ich würde mir sogar den Umweg über einen neuen Datenpunkt machen wenn es sein müsste

            Das wirst Du nicht vermeiden können.

            // IDs anpassen !
            const idSrc = '...'; // Datenpunkt-ID Quellformat
            const idDst = 'Vis.meineZeit'; // Ziel-ID für Darstellung in Vis
             
            function format(src) {
                return formatDate(new Date(src), 'DD.MM.YYYY - hh:mm');
            }
            
            let date = getState(idSrc).val;
            if(existsState(idDst)) setState(idDst, format(date), true);
            else createState(idDst, format(date), {type: 'string'}); // erzeugt Datenpunkt unter javascript.0
            
            on(idSrc, function(dp) { // triggert bei Wertänderung
                setState(idDst, format(dp.state.val), true);
            });
            
            Wszene 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO last edited by OliverIO

              da hier bisher nur skripte angeboten wurden und der TE nach vis gefragt hat,
              hier eine vis Lösung ohne einen neuen Datenpunkt.
              Das ist ein HTML-widget mit Binding.
              du musst im Feld statischer Text nur noch deinen Datenpunkt eintragen
              (ersetzen von javascript.0.test)
              Die Beschreibung für Binding und date-funktion ist hier
              https://github.com/ioBroker/ioBroker.vis
              Die Formatierung der date-Funktion wird hier erklärt:
              https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#formatdate
              Allerdings darf im Binding um die Formatierungszeichen keine Anfürhungzeichen gesetzt werden.

              [{"tpl":"tplValueString","data":{"oid":"","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"test_html":"{javascript.0.test;date(DD.MM.YY - hh:m)}"},"style":{"left":"310px","top":"603px","width":"240px","height":"20px"},"widgetSet":"basic"}]
              
              1 Reply Last reply Reply Quote 0
              • Wszene
                Wszene @paul53 last edited by

                @paul53
                Ich danke dir das Funktioniert
                Wie sieht es mit der Aktualisierung des Dateinpunktes aus
                Wir der selbsterstellte Datenpunkt automatisch aktualisiert?

                @OliverIO
                Danke auch für deine Antwort
                Aber leider sehe ich da nicht ganz durch wie das funktioniert

                paul53 2 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @Wszene last edited by

                  @Wszene sagte:

                  Wir der selbsterstellte Datenpunkt automatisch aktualisiert?

                  Ja, jedesmal, wenn sich der Wert (Datum/Uhrzeit) des Quell-Datenpunktes ändert.

                  1 Reply Last reply Reply Quote 0
                  • Wszene
                    Wszene last edited by

                    Danke dir für deine Hilfe @paul53

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Wszene last edited by

                      @Wszene sagte:

                      das Funktioniert

                      Dann markiere bitte das Thema in der Überschrift des ersten Beitrags als [gelöst].

                      1 Reply Last reply Reply Quote 0
                      • Wszene
                        Wszene last edited by

                        OK erledigt

                        1 Reply Last reply Reply Quote 0
                        • Wszene
                          Wszene last edited by

                          @paul53

                          wie müsste denn das Script aussehen wenn ich den DP nicht selbst erstellen würde und kann ich den Namen den Ordner des Datenpunktes selbst festlegen?

                          Danke
                          Marcel

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Wszene last edited by paul53

                            @Wszene sagte :

                            kann ich den Namen den Ordner des Datenpunktes selbst festlegen?

                            Mit createState() kann ein Datenpunkt nur in dem Ordner der Javascript-Instanz erzeugt werden, also z.B. mit der ID "javascript.0.Vis.Zeit". Will man einen Datenpunkt in einem anderen Ordner (z.B. "0_userdata.0") erzeugen, ist es aufwändiger, siehe hier.

                            Wszene 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO last edited by

                              Ich verstehe nur nicht, warum hier ein aufwändiges Skript eingesetzt wird, obwohl das in vis out of the box
                              geht.
                              Die Links zur Dokumentation habe ich mitgesendet und sogar ein exportiertes widget, in dem man nach Import einfach nur den Namen des eigenen Datenpunktes eintragen muss.

                              1 Reply Last reply Reply Quote 0
                              • Wszene
                                Wszene @paul53 last edited by

                                @paul53
                                OK jetzt habe ich glaube dein Script verstanden

                                @OliverIO
                                Ich habe versucht das ganze zu verstehen aber men Eng ist genauso schlecht wie meine JS Kenntnisse
                                Und das pass glaube ich garnicht zusammen

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                874
                                Online

                                32.0k
                                Users

                                80.5k
                                Topics

                                1.3m
                                Posts

                                vis
                                3
                                14
                                2680
                                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