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. ioBroker Allgemein
  4. DWD Adapter VIS Zeitformatierung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    833

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

DWD Adapter VIS Zeitformatierung

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
visdwd
21 Beiträge 6 Kommentatoren 2.7k Aufrufe 5 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.
  • SBorgS SBorg

    @aleks-83 Ich vermute mal als Blockly? Dann musst du einen "Konvertierung --> nach Datum/Zeit" - Baustein davor setzen.

    T Offline
    T Offline
    Termina
    schrieb am zuletzt editiert von
    #10

    @SBorg sagte in DWD Adapter VIS Zeitformatierung:

    @aleks-83 Ich vermute mal als Blockly? Dann musst du einen "Konvertierung --> nach Datum/Zeit" - Baustein davor setzen.

    Hab dasselbe "Problem". Habe folgendes Javascript und bekomme die Umformatierung nicht hin:

    function SendDWDWarning()
    {
      var Begin = getState("dwd.0.warning.begin").val;
      var End = getState("dwd.0.warning.end").val;
      var text = getState("dwd.0.warning.text").val;
      var Headline = getState("dwd.0.warning.headline").val;
      var Description = getState("dwd.0.warning.description").val;
     
      var DWD_telegramm = "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ": " + Description ;
      sendTo ("telegram.0", DWD_telegramm);
    }
     
    on("dwd.0.warning.severity", function (obj)
    {
      if (obj.newState.val !==0)
      {
        setTimeout(SendDWDWarning, 30 * 1000);
      }
     
      if (obj.newState.val === 0)
      {
        sendTo ("telegram.0", "Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben.") ;
      }
     
      log ( "Wetterwarnungen " + text + " gültig vom " + Begin + " bis " + End + ': ' + Description);
    });
    

    Wenn ich nun folgendes ändere:

    var Begin = formatDate(new Date(getState(„dwd.0.warning.begin“).val), „TT.MM.JJJJ hh:mm:ss“)
    var End = formatDate(new Date(getState(„dwd.0.warning.end“).val), „TT.MM.JJJJ hh:mm:ss“)
    

    dann erscheint eine Fehlermeldung im log:

    javascript.0 (2135) script.js.common.Telegram_Wetterwarnung compile failed: at script.js.common.Telegram_Wetterwarnung:3
    

    Jemand eine Idee?

    SBorgS 1 Antwort Letzte Antwort
    0
    • T Termina

      @SBorg sagte in DWD Adapter VIS Zeitformatierung:

      @aleks-83 Ich vermute mal als Blockly? Dann musst du einen "Konvertierung --> nach Datum/Zeit" - Baustein davor setzen.

      Hab dasselbe "Problem". Habe folgendes Javascript und bekomme die Umformatierung nicht hin:

      function SendDWDWarning()
      {
        var Begin = getState("dwd.0.warning.begin").val;
        var End = getState("dwd.0.warning.end").val;
        var text = getState("dwd.0.warning.text").val;
        var Headline = getState("dwd.0.warning.headline").val;
        var Description = getState("dwd.0.warning.description").val;
       
        var DWD_telegramm = "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ": " + Description ;
        sendTo ("telegram.0", DWD_telegramm);
      }
       
      on("dwd.0.warning.severity", function (obj)
      {
        if (obj.newState.val !==0)
        {
          setTimeout(SendDWDWarning, 30 * 1000);
        }
       
        if (obj.newState.val === 0)
        {
          sendTo ("telegram.0", "Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben.") ;
        }
       
        log ( "Wetterwarnungen " + text + " gültig vom " + Begin + " bis " + End + ': ' + Description);
      });
      

      Wenn ich nun folgendes ändere:

      var Begin = formatDate(new Date(getState(„dwd.0.warning.begin“).val), „TT.MM.JJJJ hh:mm:ss“)
      var End = formatDate(new Date(getState(„dwd.0.warning.end“).val), „TT.MM.JJJJ hh:mm:ss“)
      

      dann erscheint eine Fehlermeldung im log:

      javascript.0 (2135) script.js.common.Telegram_Wetterwarnung compile failed: at script.js.common.Telegram_Wetterwarnung:3
      

      Jemand eine Idee?

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #11

      @Termina So einfach geht es dann doch nicht ;)

      Hier eine neue Funktion:

      function convertTimestamp(timestamp) { // Unix in Milliseconds!
        var d = new Date(timestamp),
      		yyyy = d.getFullYear(),
      		mm = ('0' + (d.getMonth() + 1)).slice(-2),	// Months are zero based. Add leading 0.
      		dd = ('0' + d.getDate()).slice(-2),			// Add leading 0
      		hh = ('0' + d.getHours()).slice(-2),        // Add leading 0
      		min = ('0' + d.getMinutes()).slice(-2),		// Add leading 0
      		sec = ('0' + d.getSeconds()).slice(-2),     // Add leading 0
      		day = d.getDay(),                           // Wochentag
      		days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
      		time;
      	
      	time = days[d.getDay()] + ', ' + dd + '.' + mm + '.' + yyyy + ', ' + hh + ':' + min + ':' + sec;
      		
      	return time;
      }
      

      In #13 baust du dir dann das Aussehen zusammen. Hier wäre es dann bspw. Samstag, 04.04.2020, 13:00:00

      Der Aufruf wäre dann zB. var Begin = convertTimestamp(getState("dwd.0.warning.begin").val);

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      T 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @Termina So einfach geht es dann doch nicht ;)

        Hier eine neue Funktion:

        function convertTimestamp(timestamp) { // Unix in Milliseconds!
          var d = new Date(timestamp),
        		yyyy = d.getFullYear(),
        		mm = ('0' + (d.getMonth() + 1)).slice(-2),	// Months are zero based. Add leading 0.
        		dd = ('0' + d.getDate()).slice(-2),			// Add leading 0
        		hh = ('0' + d.getHours()).slice(-2),        // Add leading 0
        		min = ('0' + d.getMinutes()).slice(-2),		// Add leading 0
        		sec = ('0' + d.getSeconds()).slice(-2),     // Add leading 0
        		day = d.getDay(),                           // Wochentag
        		days = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
        		time;
        	
        	time = days[d.getDay()] + ', ' + dd + '.' + mm + '.' + yyyy + ', ' + hh + ':' + min + ':' + sec;
        		
        	return time;
        }
        

        In #13 baust du dir dann das Aussehen zusammen. Hier wäre es dann bspw. Samstag, 04.04.2020, 13:00:00

        Der Aufruf wäre dann zB. var Begin = convertTimestamp(getState("dwd.0.warning.begin").val);

        T Offline
        T Offline
        Termina
        schrieb am zuletzt editiert von
        #12

        @SBorg
        Vielen Dank dafür, ich habe nun Deine Funktion vor die "SendDWDWarning" Funktion gesetzt. Ist das verkehrt? Ich bekomme nämlich nun folgende Fehlermeldung im log:

        error	javascript.0 (2230) script.js.common.Telegram_Wetterwarnung compile failed: at script.js.common.Telegram_Wetterwarnung:22
        

        PS: Ich habe gar keine Ahnung von Jacvascript... sry!

        SBorgS 1 Antwort Letzte Antwort
        0
        • T Termina

          @SBorg
          Vielen Dank dafür, ich habe nun Deine Funktion vor die "SendDWDWarning" Funktion gesetzt. Ist das verkehrt? Ich bekomme nämlich nun folgende Fehlermeldung im log:

          error	javascript.0 (2230) script.js.common.Telegram_Wetterwarnung compile failed: at script.js.common.Telegram_Wetterwarnung:22
          

          PS: Ich habe gar keine Ahnung von Jacvascript... sry!

          SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #13

          @Termina sagte in DWD Adapter VIS Zeitformatierung:

          PS: Ich habe gar keine Ahnung von Jacvascript... sry!

          Kein Problem, fragen, fragen... dafür ist das Forum doch auch da :)
          Die kpl. Funktion fügst du 1:1 in dein JS ein. Dann ersetzt du Zeile #3+4

            var Begin = getState("dwd.0.warning.begin").val;
            var End = getState("dwd.0.warning.end").val;
          

          durch

          var Begin = convertTimestamp(getState("dwd.0.warning.begin").val);
          var End = convertTimestamp(getState("dwd.0.warning.end").val);
          

          Wenn es dann funktioniert und dir das Format (Wochentag, Datum...) nicht gefällt, kannst du in der Funktion dann das Aussehen noch beeinflussen:

          time = days[d.getDay()] + ', ' + dd + '.' + mm + '.' + yyyy + ', ' + hh + ':' + min + ':' + sec;
          

          LG SBorg ( SBorg auf GitHub)
          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

          T 1 Antwort Letzte Antwort
          2
          • SBorgS SBorg

            @Termina sagte in DWD Adapter VIS Zeitformatierung:

            PS: Ich habe gar keine Ahnung von Jacvascript... sry!

            Kein Problem, fragen, fragen... dafür ist das Forum doch auch da :)
            Die kpl. Funktion fügst du 1:1 in dein JS ein. Dann ersetzt du Zeile #3+4

              var Begin = getState("dwd.0.warning.begin").val;
              var End = getState("dwd.0.warning.end").val;
            

            durch

            var Begin = convertTimestamp(getState("dwd.0.warning.begin").val);
            var End = convertTimestamp(getState("dwd.0.warning.end").val);
            

            Wenn es dann funktioniert und dir das Format (Wochentag, Datum...) nicht gefällt, kannst du in der Funktion dann das Aussehen noch beeinflussen:

            time = days[d.getDay()] + ', ' + dd + '.' + mm + '.' + yyyy + ', ' + hh + ':' + min + ':' + sec;
            
            T Offline
            T Offline
            Termina
            schrieb am zuletzt editiert von
            #14

            @SBorg
            Sorry für die späte Rückmeldung - aber hat funktioniert - DANKE! :)

            1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              @ChrisXY Steht im DWD-Adapter Thread: nimm als Widget Timestamp Value

              E Offline
              E Offline
              exmerci
              schrieb am zuletzt editiert von
              #15

              @SBorg sagte in DWD Adapter VIS Zeitformatierung:

              Steht im DWD-Adapter Thread: nimm als Widget Timestamp Value

              Das habe ich versucht. Nur leider wird das Widget zwar in der Vorschau auf dem PC angezeigt, nicht aber auf dem Tablet.

              1 Antwort Letzte Antwort
              0
              • wendy2702W Offline
                wendy2702W Offline
                wendy2702
                schrieb am zuletzt editiert von
                #16

                Schaut mal hier:

                https://forum.iobroker.net/post/422786

                Bitte keine Fragen per PN, die gehören ins Forum!

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                1 Antwort Letzte Antwort
                0
                • E Offline
                  E Offline
                  exmerci
                  schrieb am zuletzt editiert von
                  #17

                  Danke, aber ich finde in dem Beitrag nichts wo es darum geht das ein Widget nicht angezeigt wird, oder übersehe ich da was?

                  1 Antwort Letzte Antwort
                  0
                  • wendy2702W Offline
                    wendy2702W Offline
                    wendy2702
                    schrieb am zuletzt editiert von
                    #18

                    Sorry, ich war bei der Anzeige der Zeit im richtigen Format .

                    Das Widget wird in der App nicht angezeigt da die App das Widget nicht kennt und ein Update erforderlich ist. Das Problem Gibt es für einige Widgets .

                    Bitte keine Fragen per PN, die gehören ins Forum!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @aleks-83 Ich vermute mal als Blockly? Dann musst du einen "Konvertierung --> nach Datum/Zeit" - Baustein davor setzen.

                      A Offline
                      A Offline
                      aleks-83
                      schrieb am zuletzt editiert von
                      #19

                      @SBorg sagte in DWD Adapter VIS Zeitformatierung:

                      @aleks-83 Ich vermute mal als Blockly? Dann musst du einen "Konvertierung --> nach Datum/Zeit" - Baustein davor setzen.

                      Das hat kurzzeitig funktioniert.
                      Jetzt wird aber trotz des Bausteins "nach Datum/Zeit" immer noch der Linux-Zeitstempel geschrieben.
                      JavaScript 4.6.17
                      DWD 2.4.9

                      = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                      = Node.js v20.19.6 = NPM 10.8.2 = JS Controller 7.0.7 =

                      Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                      Glasfaser 400

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • A aleks-83

                        @SBorg sagte in DWD Adapter VIS Zeitformatierung:

                        @aleks-83 Ich vermute mal als Blockly? Dann musst du einen "Konvertierung --> nach Datum/Zeit" - Baustein davor setzen.

                        Das hat kurzzeitig funktioniert.
                        Jetzt wird aber trotz des Bausteins "nach Datum/Zeit" immer noch der Linux-Zeitstempel geschrieben.
                        JavaScript 4.6.17
                        DWD 2.4.9

                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von SBorg
                        #20

                        @aleks-83 Da hat sich wohl wieder was geändert :(
                        Etwas aufwändiger (JS-Funktion), dafür "überlebt" es aber auch weitere Änderungen:
                        Bild 1.png
                        Blockly-Export

                        Im Grunde musst du dann nur den "nach Datum/Zeit" durch den neuen "Timestamp mit millis" ersetzen.
                        In der Funktion (zu öffnen mit den ... am Ende) kannst du in Zeile #12 die Ausgabe formatieren.

                        ...und nicht wundern, der "Brandson..." zum testen enthält bei mir tatsächlich einen Unix-Timestamp ;)

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        1 Antwort Letzte Antwort
                        1
                        • A Offline
                          A Offline
                          aleks-83
                          schrieb am zuletzt editiert von aleks-83
                          #21

                          @SBorg
                          Funktioniert perfekt!
                          Danke dir

                          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                          = Node.js v20.19.6 = NPM 10.8.2 = JS Controller 7.0.7 =

                          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                          Glasfaser 400

                          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
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          479

                          Online

                          32.6k

                          Benutzer

                          82.1k

                          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