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.
    • A
      aleks-83 last edited by aleks-83

      @SBorg sagte in DWD Adapter VIS Zeitformatierung:

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

      Der Tipp hat mir geholfen. Besten Dank.

      Wenn sich die Warnstufe auf über 3 ändert, schicke ich mir noch ne telegram message.
      Diese beinhaltet auch Start- und Endzeit. Wie kann ich diese denn dann umwandeln?

      SBorg 1 Reply Last reply Reply Quote 1
      • 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

                                742
                                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