Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Weltzeituhr in VIS

    NEWS

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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Weltzeituhr in VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pix last edited by

      Hallo,

      wie oft parst du die Zeit?

      Ist es nicht einfacher, die Uhrzeit in JavaScript in ein Object zu schreiben und für die fremden Städte einen Shift zu basteln.

      Gruß

      Pix

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        @pix:

        Ist es nicht einfacher, die Uhrzeit in JavaScript in ein Object zu schreiben und für die fremden Städte einen Shift zu basteln.

        Gruß

        Pix `

        Hatte ich mir auch überlegt nur da kan man Durcheinander kommen mit Sommer/Winterzeit.

        (Manche Länder setzen diese nicht)

        Oder man hohlt sich 1 Mal am Tag die echten Daten und Rest script

        –-----------------------

        Send from mobile device

        Das schöne ios hat Auto Korrektur zum k****

        Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

        1 Reply Last reply Reply Quote 0
        • P
          pix last edited by

          Oder mit einem Modul:

          https://www.npmjs.com/package/timezone

          1 Reply Last reply Reply Quote 0
          • M
            mikiline last edited by

            @0018:

            puuuhh ist ja schon schwere Kost dieser Adapter, wenn man sich das erste mal mit sowas beschäftigt.

            Hab es bei uhrzeit.org leider nicht hinbekommen. Habe dann auf diese Seite gewechselt

            http://www.zeitzonen.de/land_australien … ydney.html

            Hier ist es mir dann nach ein paar Stunden gelungen die Uhrzeit raus zu parsen.

            Danke! `

            Die Lösung würde die Helferlein sicher auch interessieren 😉

            Danke!

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

              Super, wie es scheint führen hier ja mehre Wege nach Rom 🙂

              Welche Variante wäre denn am wenigsten belastend für die Ressourcen meines Pi´s?

              1. Alle 60s parsen von einer Webseite, wie bereits erwähnt

              2. Alle 60s über npm timezone

              3. Alle 60s Berechnung über JS

              oder ist das Thema Ressourcen hier nicht weiter zu beachten weil es sich nicht bemerkbar macht?

              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Hallo,

                denke, diese Berechnungen sind Kleinkram. Das belastet nicht.

                Das Parsen kann zum Problem werden. Wenn sich die Seite nicht aufrufen lässt oder deren Inhalt sich ändert (anderer Code, Design, Unterseite, …)

                Ich denke, das nodemodul ist der sicherste Weg.

                Bin unterwegs und kann nicht nachsehen. Aber gibt es denn die Systemzeit nicht schon als Objekt in Iobroker? Man doch einfach darauf reagieren und Stunden zuzählen oder abziehen. Sekunden und Minuten bleiben ja gleich. Die Sommerzeit kann man notfalls manuell umstellen, aber auch das lässt sich in Skript abfangen.

                Pix

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

                  Ich habe jetzt mal das nodemodul timezone installiert.

                  Kann mir jemand hierzu erklären wie ich das im Script verwenden muss, damit ich zB von Sydney die Zeit direkt rausbekomme?

                  Ich verstehe die Erklärungen auf der Seite nicht ganz.

                  1 Reply Last reply Reply Quote 0
                  • M
                    mikiline last edited by

                    Hier gibts ne Liste der Timezones

                    https://en.wikipedia.org/wiki/List_of_t … time_zones

                    Namen ersetzen schätze ich, dann sollte es gehen

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

                      Du meinst sicherlich das hier?

                      var tz = require('timezone/loaded'),
                          equal = require('assert').equal,
                          utc;
                      
                      // Get POSIX time in UTC.
                      utc = tz('2012-01-01');
                      
                      // Convert UTC time to local time in a localize language.
                      equal(tz(utc, '%c', 'fr_FR', 'America/Montreal'),
                            'sam. 31 déc. 2011 19:00:00 EST');
                      

                      Mir ist trotzdem nicht klar wie das Script aussehen muss damit ich am Ende die Uhrzeit rausbekomme.

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

                        So ich habe ein wenig am Script gebastelt und habe nun eine halbwegs funktionierende Lösung:

                        var heute = new Date();
                        
                        var shift = 8;  //Zeitverschiebung zum Zielort
                        
                        var pfad = "javascript.0.Weltzeit.Sydney.";
                        var syd = pfad + "Sydney"; // Berechnete Uhrzeit
                        var calc_std = pfad + "stunde"; // Hilfswert Stunde
                        var calc_min = pfad + "minute"; // Hilfswert Minute
                        
                        var debug = true;
                        
                        createState(syd, {name: "Uhrzeit Sydney", type: "mixed", def: "00:00"});
                        createState(calc_std, {name: "Uhrzeit Sydney Stunde", type: "number", def: "00"});
                        createState(calc_min, {name: "Uhrzeit Sydney Minute", type: "number", def: "00"});
                        
                        function timeshift(){  // Berechnung der Zeitverschiebung Stunde
                            var std = formatDate(new Date(), "hh");
                            var min = formatDate(new Date(), "mm");
                            setStateDelayed(calc_std, parseFloat(std) + shift,1000);
                        	setState(calc_min, parseFloat(min));
                        	if (debug) log ("std = " + std);
                            if (debug) log ("min = " + min);
                        
                        }
                        
                        on({id: calc_std, change: "any"},function () {
                            var std_val = getState(calc_std).val;
                            var min_val = getState(calc_min).val;
                            if (debug) log ("std_val = " + std_val);
                            if (debug) log ("min_val = " + min_val);
                            if (std_val < 23){
                                setState(syd, (std_val + ":" + min_val));
                                if (debug) log ("kleiner als 23");
                                if (debug) log ("neue Zeit = " + std_val + ":" + min_val);
                            }
                        
                            else if (std_val > 23){
                                setState(syd, (std_val-24) + ":" + min_val);
                                if (debug) log ("größer als 23");
                                if (debug) log ("neue Zeit = " + ((std_val-24) + ":" + min_val));
                            }
                        });
                        
                        // bei Programmstart
                        timeshift();
                        
                        // jede Minute Berechnung starten
                        schedule("* * * * *", function () {
                            timeshift();
                        });
                        

                        Jedoch benötigte ich nun ein wenig Hilfe, bei den noch offenen Punkten, damit es perfekt ist:

                        1. Bei einstelligen Uhrzeiten wie z.B: 04:07 Uhr, bekomme ich leider nur den Wert 4:7 geliefert.

                        • Gibt es eine Möglichkeit die Zahlen so zu formatieren das bei einstelligen Werten eine 0 voran gesetzt wird?

                        2. Um bei Sommer/Winterzeitumstellungen weiterhin die richtige Uhrzeit zu haben, würde ich gerne einmal am Tag, wie bereits vorgeschlagen, mit npm Timezone einen Wert schreiben, auf welchen dann meine Berechnung läuft.

                        • Kann mir jemand erklären wie ich "timezone" zu verwenden habe?
                        1 Reply Last reply Reply Quote 0
                        • 0
                          0018 last edited by

                          @0018:

                          Jedoch benötigte ich nun ein wenig Hilfe, bei den noch offenen Punkten, damit es perfekt ist:

                          1. Bei einstelligen Uhrzeiten wie z.B: 04:07 Uhr, bekomme ich leider nur den Wert 4:7 geliefert.

                          • Gibt es eine Möglichkeit die Zahlen so zu formatieren das bei einstelligen Werten eine 0 voran gesetzt wird?

                          2. Um bei Sommer/Winterzeitumstellungen weiterhin die richtige Uhrzeit zu haben, würde ich gerne einmal am Tag, wie bereits vorgeschlagen, mit npm Timezone einen Wert schreiben, auf welchen dann meine Berechnung läuft.

                          • Kann mir jemand erklären wie ich "timezone" zu verwenden habe? `

                          Kann mir jemand weiterhelfen wie ich bei den einstelligen Zahlen eine 0 davor bekomme?

                          1 Reply Last reply Reply Quote 0
                          • L
                            Linedancer last edited by

                            Hallo Gemeinde,

                            So kann die Wektzeituhr aussehen:
                            1564_2018-05-11.png

                            dahinter verbirgt sich ein HTML Widget in dem Code von

                            https://www.zeitverschiebung.net/de/clock-widget

                            läuft.

                            Dort lassen sich Uhr Widgets für viele Städte erzeugen.

                            Analog wäre mir zwar lieber, aber so geht's auch.

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

                              @Linedancer:

                              Dort lassen sich Uhr Widgets für viele Städte erzeugen.

                              Analog wäre mir zwar lieber, aber so geht's auch. `

                              Sehr cool, danke. Hätte auch lieber ein eigenes Design aber für meine Zwecke reicht das auch erstmal so aus.

                              Wäre aber trotzdem noch an einer Lösung meines Scriptsproblems interessiert, einfach um es gelöst zu haben :?:

                              Wenn also jemand eine Idee hat…..

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              692
                              Online

                              32.1k
                              Users

                              80.6k
                              Topics

                              1.3m
                              Posts

                              6
                              22
                              2035
                              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