Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Konvertierung Datum mit formatDate()

    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

    Konvertierung Datum mit formatDate()

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom @haus-automatisierung last edited by

      @haus-automatisierung

      der Ursprung ist der ical-Adapter wo die Mülldaten in einem JSON ausgeben werden. Dieses Json wird dann ausgelesen und in 0_userdata Datenpunkte für die Weiterverarbeitung geschrieben (als String). Link zum Script

      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • haus-automatisierung
        haus-automatisierung Developer Most Active @TT-Tom last edited by

        @tt-tom Okay,

        1. bin ich natürlich schwer enttäuscht, dass dafür nicht mein TrashSchedule-Adapter genutz wird 🙂
        2. stehen doch im JSON des iCal-Adapters die Daten nicht als dd.mm.yyyy, sondern können normal geparst werden?!
        T 1 Reply Last reply Reply Quote 1
        • T
          TT-Tom @haus-automatisierung last edited by TT-Tom

          @haus-automatisierung

          Zu 1. privat nutze ich den natürlich, grade wegen der Vis Einbindung 😊

          Zu 2. die Weiterverarbeitung erfolgt in dem Script von @Armilar für das NSPanel. Bin mit ihm im Kontakt, wo wir Anpassungen durchführen.

          OliverIO haus-automatisierung 2 Replies Last reply Reply Quote 0
          • OliverIO
            OliverIO @TT-Tom last edited by

            @tt-tom

            so wie ich es sehe geht der ical adapter rein nur von einem deutschen datum aus.
            https://github.com/iobroker-community-adapters/ioBroker.ical/blob/ec0deb8ecb2912647cba747f63dd328b8bceac06/main.js#L1377C1-L1377C1

            andere lokalizationen sind nicht vorgesehen. dadurch kann der adapter eigentlich nur im deutschsprachigen raum verwendet werden.

            du könntest momentjs verwenden um das datum wieder zu parsen
            https://momentjs.com/docs/#/parsing/string-format/
            und dann in javascript weiterzuverwenden

            haus-automatisierung 1 Reply Last reply Reply Quote 1
            • haus-automatisierung
              haus-automatisierung Developer Most Active @OliverIO last edited by haus-automatisierung

              @oliverio sagte in Konvertierung Datum mit formatDate():

              dadurch kann der adapter eigentlich nur im deutschsprachigen raum verwendet werden.

              Mh? Geht es um die HTML-Darstellung? Im JSON kann man jedenfalls wunderbar mit allen Werten arbeiten (mache ich ja im TrashSchedule auch so). Beispiel-JSON aus ical.0.data.table

              Das kann man alles mit Date parsen:

              [
                  {
                      "date": "Heute  ",
                      "event": "Biotonne",
                      "_class": "ical_muell ical_today",
                      "_date": "2023-10-25T22:00:00.000Z",
                      "_end": "2023-10-26T22:00:00.000Z",
                      "_IDID": "317008@mymuell.de",
                      "_allDay": true,
                      "_private": false,
                      "_rule": " ",
                      "location": "",
                      "_calName": "muell",
                      "_calColor": "#000000",
                      "_object": {
                          "type": "VEVENT",
                          "params": [],
                          "start": "2023-10-25T22:00:00.000Z",
                          "datetype": "date",
                          "end": "2023-10-26T22:00:00.000Z",
                          "dtstamp": "2023-10-25T22:00:16.000Z",
                          "uid": "317008@mymuell.de",
                          "created": "2022-12-09T11:10:27.000Z",
                          "lastmodified": "2022-12-09T10:11:38.000Z",
                          "sequence": "0",
                          "status": "CONFIRMED",
                          "summary": "Biotonne",
                          "transparency": "OPAQUE",
                          "method": "PUBLISH"
                      }
                  }
              ]
              
              OliverIO 2 Replies Last reply Reply Quote 0
              • OliverIO
                OliverIO @haus-automatisierung last edited by

                @haus-automatisierung

                ne der iCal-Adapter schreibt in den Datenpunkt direkt das Datum im deutschen Format rein.
                Daher hat der TE nun Schwierigkeiten das Datum weiterzuverarbeiten, da er es jetzt erstmal wieder parsen muss.
                besser wäre es, wenn Adapter Datumswerte in der Speicherung als ISO oder als timestamp verwenden würde. Dann kann man damit weiterarbeiten.
                In eine lokale Darstellung umwandeln sollte man so etwas immer nur kurz vor der Darstellung in auf einem Bildschirm und dafür hat vis ja dann die entsprechenden widgets, bzw. eine eigene Datum-Formatierfunktion

                haus-automatisierung 1 Reply Last reply Reply Quote 0
                • haus-automatisierung
                  haus-automatisierung Developer Most Active @OliverIO last edited by haus-automatisierung

                  @oliverio sagte in Konvertierung Datum mit formatDate():

                  ne der iCal-Adapter schreibt in den Datenpunkt direkt das Datum im deutschen Format rein.

                  ja, in ical.0.data.html und ical.0.data.text, aber nicht in den ical.0.data.table - und der wird ja im Script verwendet. Siehe Auszug oben. Bitte nicht in die falsche Richtung schicken 🙂 Da braucht man nix mit momentjs im Deutschen Format parsen.

                  EDIT: Okay, und im date-Attribut des JSON, aber da kann auch "Heute" oder "Morgen" drin stehen - siehe Beispiel im vorigen Post. Wäre also eh Quatsch das zu parsen.

                  https://github.com/iobroker-community-adapters/ioBroker.ical/blob/ec0deb8ecb2912647cba747f63dd328b8bceac06/main.js#L549-L552

                  Einfach _date statt date nehmen und fertig.

                  1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @TT-Tom last edited by

                    @tt-tom sagte in Konvertierung Datum mit formatDate():

                    Bin mit ihm im Kontakt, wo wir Anpassungen durchführen.

                    Dann ist es einfach:

                    https://github.com/tt-tom17/MyScripts/blob/039d5689937b58ae87ddb0ba3b8f960d3521fc8e/Sonoff_NSPanel/Abfall_to NSPanel.ts#L81

                    Dort einfach eventStartdatum statt eventDatum nutzen. Dann kann man das auch wieder parsen.

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      TT-Tom @haus-automatisierung last edited by

                      @haus-automatisierung
                      @OliverIO

                      Danke für euren Input, damit habe ich erstmal eine Richtung wie wir weiter machen. Muss mich jetzt nur mit @Armilar abstimmen, wie die Daten übergeben werden sollen.

                      1 Reply Last reply Reply Quote 0
                      • OliverIO
                        OliverIO @haus-automatisierung last edited by

                        @haus-automatisierung sagte in Konvertierung Datum mit formatDate():

                        Das kann man alles mit Date parsen:

                        ja, das ist alles ISO.
                        Dann weiß ich nicht von was der TE spricht wenn er auf den iCal-Adapter verweist,
                        woher sein Datum dann wirklich kommt.

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • haus-automatisierung
                          haus-automatisierung Developer Most Active @OliverIO last edited by

                          @oliverio sagte in Konvertierung Datum mit formatDate():

                          woher sein Datum dann wirklich kommt.

                          Na aus der Date-Property, welche in meinem Beispiel oben zu "Heute" gewandelt wurde, weil meine iCal-Settings das so vorgeben. Da hattest Du ja schon angemerkt, dass da immer ein MM.DD.(YYYY) Format drin landet.

                          Daher ja der Vorschlag, stattdessen _date zu nutzen, weil das ein ISO-Date ist (und kein formatiertes Datum).

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          951
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          15
                          1154
                          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