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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Weltzeituhr in VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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

                          735
                          Online

                          31.7k
                          Users

                          79.6k
                          Topics

                          1.3m
                          Posts

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