Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [gelöst] Formatieren Datum in VIS

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    137

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.4k

[gelöst] Formatieren Datum in VIS

Geplant Angeheftet Gesperrt Verschoben Visualisierung
12 Beiträge 6 Kommentatoren 5.0k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    schittl
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich weiß nicht ob ich den Wald vor lauter Bäumen nicht sehe :D , aber ich habe mal ne Frage.

    Ich habe ein Objekt "weatherunderground.0.forecast_day.1d.date" mit folgenden aktuellen Inhalt "07:00 PM CET am 08. Februar 2018".
    3116_wu_date.jpg

    Wie kann ich nun in VIS das Format des Datums anpassen, damit ich beispielsweise nur den Wochentag "Donnerstag" oder das deutsche Datum erhalte "08.02.18"?

    vg

    Falk

    HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

    SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      Ace-k
      schrieb am zuletzt editiert von
      #2

      ich wüsste das auch gerne.

      07:00 PM CET am 24. Februar 2018

      das wird bei mir angezeigt,

      Hätte aber gern

      Sam 24

      Gruß

      1 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        Ace-k
        schrieb am zuletzt editiert von
        #3

        @schittl, hast du schon eine Lösung gefunden?

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          schittl
          schrieb am zuletzt editiert von
          #4

          @Ace-k:

          @schittl, hast du schon eine Lösung gefunden? ` Leider nein, hoffe immer noch auf einen Spezi der dieses beantworten kann…

          HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

          SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

          1 Antwort Letzte Antwort
          0
          • arteckA Offline
            arteckA Offline
            arteck
            Developer Most Active
            schrieb am zuletzt editiert von
            #5

            aus dem Teil "07:00 PM CET am 08. Februar 2018" .. schätze garnicht.. bzw nicht einfach so

            musst du halt selber Hand anlegen und dir was zusammenbasteln.. per Javascript oder Blockly

            zigbee hab ich, zwave auch, nuc's genauso und HA auch

            1 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              pix
              schrieb am zuletzt editiert von
              #6

              @Ace-k:

              ich wüsste das auch gerne.

              07:00 PM CET am 24. Februar 2018

              das wird bei mir angezeigt,

              Hätte aber gern

              Sam 24

              Gruß `

              Hier ein Skript, hat doch etwas länger gedauert. Leider führt die ioBroker Funktion getDateObject nicht zum gewünschten Ergebnis, wenn der Monat auf deutsch kommt. Habe jetzt eine eigene Funktion gemacht.

              Alles schön dokumentiert.

              Ach, und wegen der Einfachheit geht das erstmal nur in 2018. Du wirst die Stelle im Code finden und kannst sie anpassen.

              ! /* Wunderground transfer Skript ! übersetzt die Datumsinformationen ! 02.03.2018 erstellt von pix ! */ ! const logging = true; const fC = false; const idQuelle = "weatherunderground.0.forecast_day.1d.date"/*forecast for*/; const idZiel = "javascript." + instance + ".wunderground.Tag.1"; ! createState(idZiel, " ", fC, { name: "Regen Wochentag, Tag", desc: "Extrahierte Datumsinformationen", type: "string" }); ! // konvertiert zB "März" -> "03" function convertMonat (monat) { var monat_zahl_str = ""; switch (monat) { case "Januar" : monat_zahl_str = "01"; break; case "Februar" : monat_zahl_str = "02"; break; case "März" : monat_zahl_str = "03"; break; case "April" : monat_zahl_str = "04"; break; case "Mai" : monat_zahl_str = "05"; break; case "Juni" : monat_zahl_str = "06"; break; case "Juli" : monat_zahl_str = "07"; break; case "August" : monat_zahl_str = "08"; break; case "September" : monat_zahl_str = "09"; break; case "Oktober" : monat_zahl_str = "10"; break; case "November" : monat_zahl_str = "11"; break; case "Dezember" : monat_zahl_str = "12"; break; } return (monat_zahl_str); ! } ! function writeDate (datum_string) { if (logging) log(datum_string); var datum_string_arr = datum_string.split(" PM CET am "); // Quellstring teilen bei angegebener Zeichenkette, Ergebnis in Array var uhrzeit_string = datum_string_arr[0]; var datumdeutsch_string = datum_string_arr[1]; if (logging) log(uhrzeit_string); if (logging) log(datumdeutsch_string); // 03\. März 2018 ! // " . März " rausfiltern var pattern = /\D+/g; //einer oder mehrere Nichtzahlen if (logging) log(pattern.source); var monat_teil_string = pattern.exec(datumdeutsch_string); if (logging) log(monat_teil_string.toString()); // Punkt und Leerzeichen abschneiden monat_teil_string = monat_teil_string.toString().replace(". ",""); if (logging) log("Teilstring: " + monat_teil_string); // Deutschen Monatsnamen in Zahlen (mit führender 0) wandeln var datum_monat_zahl_string = convertMonat(monat_teil_string.trim()); if (logging) log("Monat Zahl: " + datum_monat_zahl_string); ! // "Datum_Tag" var pattern2 = /\d+/; // die ersten Zahlen des Strings finden, Jahr egal var datum_tag_zahl_string = pattern2.exec(datumdeutsch_string).toString(); if (logging) log("Tag: " + datum_tag_zahl_string); log("Datum: " + datum_tag_zahl_string + "." + datum_monat_zahl_string + ".2018 " + uhrzeit_string); var datum_obj = getDateObject(datum_tag_zahl_string + "." + datum_monat_zahl_string +" " + uhrzeit_string); var datum = new Date (datum_obj); ! var wochentag_string = formatDate(datum, "WW"); var tag_string = formatDate(datum, "TT"); var ausgabe = wochentag_string + " " + tag_string; if (logging) log("Wunderground: " + ausgabe); setState(idZiel, ausgabe); } ! writeDate(getState(idQuelle).val); ! on(idQuelle, function (obj) { writeDate(obj); }); !

              Ich hoffe das klappt, denn ich kann ein paar Tage nicht helfen.

              Gruß

              Pix

              ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

              1 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                Ace-k
                schrieb am zuletzt editiert von
                #7

                Grüß dich.

                besten dank…. aber irgendwie stehe ich auf dem schlauch.

                was hat das mit Regen zu tun? :shock:

                Aber eigentlich sollte ja aus Weatherunderground-forecast_day-1d-day... das Datum geändert werden.

                nicht was mit regen....

                oder verstehe ich das falsch?

                bei mir ist nun diese Anzeige...
                2562_12.png

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von
                  #8

                  So bin wieder da.

                  Die Bezeichnung der Objekte ist natürlich deine Sache, schreib doch "Vorhersage" statt "Regen". Ich werde das auch nicht wieder ändern, musst du selbst machen.

                  Warum eigentlich dieser ganze Aufwand? Ich möchte gern wissen, wofür ich dir das gebastelt habe.

                  Pix

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Antwort Letzte Antwort
                  0
                  • A Offline
                    A Offline
                    Ace-k
                    schrieb am zuletzt editiert von
                    #9

                    Moin,

                    ich danke dir auch für da schreiben und den Aufwand…

                    es geht darum, das ich eine reine Vis erstelle für Wetter... und da soll auch eine Vorhersage vom Wetter hin, aber das sieht ja bescheiden aus wenn da

                    "07:00 PM CET am 08. Februar 2018"

                    steht.

                    deswegen Tag und Datum also zB "Do 29"

                    dafür der aufwand.

                    oder war das zu umständlich?

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      schittl
                      schrieb am zuletzt editiert von
                      #10

                      @pix:

                      Hier ein Skript, hat doch etwas länger gedauert. Leider führt die ioBroker Funktion getDateObject nicht zum gewünschten Ergebnis, wenn der Monat auf deutsch kommt. Habe jetzt eine eigene Funktion gemacht. `

                      Danke für das Skript. Funktioniert. Ich dachte mir nur es geht auch auf dem einfachen Weg mit einem Widget und Datumsformatanpassung. Naja, besser es so als gar nicht ;).

                      vg

                      Falk

                      HW: Lenovo M920q (Proxmox, ioBroker, RaspMatic & Z2M), QNAP (Docker, Influx), Arduino Mega 2560 R3 (I2C DS18B20 + LED)

                      SW: CT IoBroker, VM RaspMatic(v3.79.6.20241122)

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        Etwas weniger aufwändig, aber ohne Script geht es wohl nicht:

                        var time = '07:00 PM CET am 24\. Februar 2018';
                        
                        const monate = [' ','Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'];
                        time = time.split(' ');
                        var date = time[6] + '-' + monate.indexOf(time[5]) + '-' + time[4];
                        date = formatDate(new Date(date), 'W DD.MM.YY');
                        log(date);
                        
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • haselchenH Offline
                          haselchenH Offline
                          haselchen
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          Durch ausprobieren , falls es noch jemand braucht, per Blockly….

                          Hatte als Datum auch sowas krummes mit +1.00 dahinter.Obwohl Zeitzone etc. alles korrekt ist.

                          3723_unbenannt3.png

                          3723_unbenannt4.png

                          So sieht es unkonvertiert aus:

                          3723_unbenannt5.png

                          Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          825

                          Online

                          32.5k

                          Benutzer

                          81.7k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe