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 @ChrisXY last edited by

      @ChrisXY Du könntest temporär aber auch oben genanntes Widget nehmen, die Zeit nach deinen Vorstellungen formatieren, es "auf" das DWD-Widget schieben (dort wo normalerweise die Zeitangabe steht) und ihm einen höheren "z-index" verpassen. Dann überdeckt es die "falsche" Zeitangabe.

      C 1 Reply Last reply Reply Quote 0
      • C
        ChrisXY @SBorg last edited by

        @SBorg ja könnte man machen. Wollte eh mal ein popup Widget machen mit dem kleinen DWD Widget und das dort bei Klick dann ein Layer kommt. Aber das wäre wieder ein Punkt auf einer langen Todo 😄

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

                                    538
                                    Online

                                    32.1k
                                    Users

                                    80.6k
                                    Topics

                                    1.3m
                                    Posts

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