Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. DWD Adapter VIS Zeitformatierung

    NEWS

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    DWD Adapter VIS Zeitformatierung

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Termina @SBorg last edited by

      @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?

      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @Termina last edited by

        @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 1 Reply Last reply Reply Quote 0
        • T
          Termina @SBorg last edited by

          @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!

          SBorg 1 Reply Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active @Termina last edited by

            @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 1 Reply Last reply Reply Quote 2
            • T
              Termina @SBorg last edited by

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

              1 Reply Last reply Reply Quote 0
              • E
                exmerci @SBorg last edited by

                @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 Reply Last reply Reply Quote 0
                • wendy2702
                  wendy2702 last edited by

                  Schaut mal hier:

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

                  1 Reply Last reply Reply Quote 0
                  • E
                    exmerci last edited by

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

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

                      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 .

                      1 Reply Last reply Reply Quote 0
                      • A
                        aleks-83 @SBorg last edited by

                        @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

                        SBorg 1 Reply Last reply Reply Quote 0
                        • SBorg
                          SBorg Forum Testing Most Active @aleks-83 last edited by SBorg

                          @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 😉

                          1 Reply Last reply Reply Quote 1
                          • A
                            aleks-83 last edited by aleks-83

                            @SBorg
                            Funktioniert perfekt!
                            Danke dir

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate
                            FAQ Cloud / IOT
                            HowTo: Node.js-Update
                            HowTo: Backup/Restore
                            Downloads
                            BLOG

                            747
                            Online

                            32.0k
                            Users

                            80.5k
                            Topics

                            1.3m
                            Posts

                            dwd vis
                            6
                            21
                            2290
                            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