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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Weltzeituhr in VIS

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

                            567
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

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