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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Weltzeituhr in VIS

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

      Ich bevorzuge für JSON den Systeminfo-Adapter https://github.com/frankjoke/ioBroker.systeminfo

      Da geht der Zugriff auf die Elemente sehr elegant.

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

        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!

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

                                  798
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

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