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.
    • SBorg
      SBorg Forum Testing Most Active @aleks-83 last edited by

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

      T A 2 Replies Last reply Reply Quote 1
      • 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

                              748
                              Online

                              32.1k
                              Users

                              80.6k
                              Topics

                              1.3m
                              Posts

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