Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter mytime

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    7
    1
    211

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.3k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    5.1k

Test Adapter mytime

Geplant Angeheftet Gesperrt Verschoben Tester
adaptermytimetestwidget
575 Beiträge 51 Kommentatoren 177.2k Aufrufe 61 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Ro75R Online
    Ro75R Online
    Ro75
    schrieb am zuletzt editiert von
    #554

    @oliverio Ich habe mur gerade mal den Adapter zu Testzwecken installiert. Im Eingangspost hast du geschrieben "Mein neuer Adapter soll sich um das Thema Zeit kümmern.". Das hat mir gefallen.

    Bisher sehe ich aber nur alles zum Thema Timer und Countdown, Jahrestage, usw. Die Widgets sind auch nur sicherlich dafür konzipiert.

    Ich vermisse in der VIS-1 (zu VIS-2), kann ich nichts sagen, die Möglochkeit einfach nur eine laufende Zeit zu visualisieren also zum Beispiel hh:mm oder hh:mm:ss. Bei mir läuft das alles, aber deine Widgets (zum Beispiel Flip) wäre nice gewesen. Leider kann das Widget mit meinem Datenpunkt nichts anfangen.

    Da sich ja bei dem Adapter alles um Zeit drehen soll nun meine Frage. Lässt sich da im Bereich der Widgets noch was machen?

    Ro75.

    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

    OliverIOO 1 Antwort Letzte Antwort
    0
    • Ro75R Ro75

      @oliverio Ich habe mur gerade mal den Adapter zu Testzwecken installiert. Im Eingangspost hast du geschrieben "Mein neuer Adapter soll sich um das Thema Zeit kümmern.". Das hat mir gefallen.

      Bisher sehe ich aber nur alles zum Thema Timer und Countdown, Jahrestage, usw. Die Widgets sind auch nur sicherlich dafür konzipiert.

      Ich vermisse in der VIS-1 (zu VIS-2), kann ich nichts sagen, die Möglochkeit einfach nur eine laufende Zeit zu visualisieren also zum Beispiel hh:mm oder hh:mm:ss. Bei mir läuft das alles, aber deine Widgets (zum Beispiel Flip) wäre nice gewesen. Leider kann das Widget mit meinem Datenpunkt nichts anfangen.

      Da sich ja bei dem Adapter alles um Zeit drehen soll nun meine Frage. Lässt sich da im Bereich der Widgets noch was machen?

      Ro75.

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #555

      @Ro75

      damals wollte ich nur ergänzend zum adapter
      https://github.com/ioBroker/ioBroker.vis-timeandweather
      sein.
      der macht primär zeit und datums visualisierung.
      da ist auch die flip clock mit dabei
      wenn was fehlt sag bescheid.

      bei den widgets ist noch die wordclock mit dabei
      https://github.com/oweitman/ioBroker.mytime#widget-wordclock

      aber ja, ansonsten meist nur countdown visualisierung und steuerung.
      ich glaube die nixieclock gibt es nicht als visualisierung für aktuelle zeit. das könnte ich mal noch mit aufnehmen.

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      Ro75R 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @Ro75

        damals wollte ich nur ergänzend zum adapter
        https://github.com/ioBroker/ioBroker.vis-timeandweather
        sein.
        der macht primär zeit und datums visualisierung.
        da ist auch die flip clock mit dabei
        wenn was fehlt sag bescheid.

        bei den widgets ist noch die wordclock mit dabei
        https://github.com/oweitman/ioBroker.mytime#widget-wordclock

        aber ja, ansonsten meist nur countdown visualisierung und steuerung.
        ich glaube die nixieclock gibt es nicht als visualisierung für aktuelle zeit. das könnte ich mal noch mit aufnehmen.

        Ro75R Online
        Ro75R Online
        Ro75
        schrieb am zuletzt editiert von Ro75
        #556

        @OliverIO sagte:

        der macht primär zeit und datums visualisierung.

        du hast da völlig recht, wenn es denn auch so funktionieren würde. Bei mir läuft mit dem Adapter in VIS gar nichts rund. Und einstellbar, breite, höhe, größe mit automatischer Anpassung ist nicht drin. Den Adapter habe ich schon vor Jahren für mich beerdigt.

        Von daher war nun aufgrund deines Satzes im Eingangspost für mich die Hoffnung, da fündig zu werden. Von daher wäre schön wenn Du da noch was nachlegen könntest. Dann wäre das tatsächlich ein Adapter rund um das Thema Zeit.

        Ro75.

        SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

        OliverIOO 1 Antwort Letzte Antwort
        0
        • Ro75R Ro75

          @OliverIO sagte:

          der macht primär zeit und datums visualisierung.

          du hast da völlig recht, wenn es denn auch so funktionieren würde. Bei mir läuft mit dem Adapter in VIS gar nichts rund. Und einstellbar, breite, höhe, größe mit automatischer Anpassung ist nicht drin. Den Adapter habe ich schon vor Jahren für mich beerdigt.

          Von daher war nun aufgrund deines Satzes im Eingangspost für mich die Hoffnung, da fündig zu werden. Von daher wäre schön wenn Du da noch was nachlegen könntest. Dann wäre das tatsächlich ein Adapter rund um das Thema Zeit.

          Ro75.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          schrieb am zuletzt editiert von
          #557

          @Ro75

          ich schaue mal. mit ki geht alles schneller und man muss nicht immer so in die tiefe des vis codes eintauchen

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          Ro75R 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @Ro75

            ich schaue mal. mit ki geht alles schneller und man muss nicht immer so in die tiefe des vis codes eintauchen

            Ro75R Online
            Ro75R Online
            Ro75
            schrieb am zuletzt editiert von
            #558

            @OliverIO sagte:

            ich schaue mal

            ich sage schonmal Danke. Nochmal der Hinweis: ich habe hier einen einfachen String hh:mm:ss oder hh:mm. Dieser wird sekündlich oder minütlich aktualisiert und liefert mir dann eben eine laufende Zeit, Beispiel 15:04:31 oder 15:04. Das kann vorwärts - also aktuelle Zeit oder rückwärts - Countdown - laufen.

            Ro75.

            SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

            OliverIOO 1 Antwort Letzte Antwort
            0
            • Ro75R Ro75

              @OliverIO sagte:

              ich schaue mal

              ich sage schonmal Danke. Nochmal der Hinweis: ich habe hier einen einfachen String hh:mm:ss oder hh:mm. Dieser wird sekündlich oder minütlich aktualisiert und liefert mir dann eben eine laufende Zeit, Beispiel 15:04:31 oder 15:04. Das kann vorwärts - also aktuelle Zeit oder rückwärts - Countdown - laufen.

              Ro75.

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #559

              @Ro75

              hm so würde ich das wahrscheinlich nicht machen.
              warum nicht wählbar die client zeit oder server zeit?
              das erzeugt doch traffic und aufgrund von netzwerk latenzen und client performance wird dann nie die richtige uhrzeit angezeigt bzw. es werden dann mal sekunden übersprungen weil nicht exakt sekündlich umgeschaltet wird, sondern das was da als zeitstring ankommt. das sieht nicht schön aus.

              in den countdown widgets wird alle 15 sekunden die client zeit mit der server zeit abgeglichen, so das ein gewisser drift ausgeglichen wird. so wird selbst dann, wenn nicht alle ihre clients an einem richtig konfiguriertem ntp dienst angeschlossen haben.

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              Ro75R 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @Ro75

                hm so würde ich das wahrscheinlich nicht machen.
                warum nicht wählbar die client zeit oder server zeit?
                das erzeugt doch traffic und aufgrund von netzwerk latenzen und client performance wird dann nie die richtige uhrzeit angezeigt bzw. es werden dann mal sekunden übersprungen weil nicht exakt sekündlich umgeschaltet wird, sondern das was da als zeitstring ankommt. das sieht nicht schön aus.

                in den countdown widgets wird alle 15 sekunden die client zeit mit der server zeit abgeglichen, so das ein gewisser drift ausgeglichen wird. so wird selbst dann, wenn nicht alle ihre clients an einem richtig konfiguriertem ntp dienst angeschlossen haben.

                Ro75R Online
                Ro75R Online
                Ro75
                schrieb am zuletzt editiert von
                #560

                @OliverIO letzlich ist mir das egal. Ich suche eben nur dafür Widgets und deine wären genau das. Ob du das wählbar machst oder fest ist mir eigentlich egal. Da ich aber für Alexa ein eigenes Countdownsystem habe, brauche ich eben etwas wo ich nur den Wert via Datenpunkt übergebe und die Anzeige passt.

                Ro75.

                SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                OliverIOO 1 Antwort Letzte Antwort
                0
                • Ro75R Ro75

                  @OliverIO letzlich ist mir das egal. Ich suche eben nur dafür Widgets und deine wären genau das. Ob du das wählbar machst oder fest ist mir eigentlich egal. Da ich aber für Alexa ein eigenes Countdownsystem habe, brauche ich eben etwas wo ich nur den Wert via Datenpunkt übergebe und die Anzeige passt.

                  Ro75.

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb zuletzt editiert von OliverIO
                  #561

                  Neue Version 2.4.1

                  • Es wurden neue widgets hinzugefügt zur Anzeige der aktuellen Uhrzeit im Stil der bisherigen countdown widgets
                    • MyTime Clock plain (einfach nur ein Text widget)
                      f35fd601-731f-4a24-ade9-a61e12bcff45-image.jpeg
                    • MyTime Clock Nixie (Uhrzeit im Nixie-Stil)
                      9bb321fb-cf41-4a39-8037-9d26a59ec0a0-image.jpeg
                    • MyTime Clock FlipClock(Uhrzeit im Flughafen-Anzeigetafel-Stil)
                      53f9ce3a-9aeb-4f31-bd08-60e6c284b17f-image.jpeg

                  Die widgets lassen sich vom Anzeigeumfang konfigurieren. Die Bilder oben zeigen den Maximalumfang.

                  Die widgets funktionieren in vis1 und vis2

                  Details zur Konfiguration in der readme
                  https://github.com/oweitman/ioBroker.mytime/blob/main/README.md

                  @Ro75
                  Das ist mal der erste Wurf
                  Anmerkungen/Erweiterungen gerne

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  1 Antwort Letzte Antwort
                  0
                  • Ro75R Online
                    Ro75R Online
                    Ro75
                    schrieb zuletzt editiert von Ro75
                    #562

                    @oliverio Erstmal super Arbeit! Server und Client ist OK und funktioniert. Allerdings wäre es super wenn es zusätzlich noch die Möglichkeit für einen Datenpunkt gäbe, sprich wo ich einen anzuzeigenden String übergebe. Und die Größenanpassung, bei Flip, geht im Moment nur via transform und scale(0.4)?

                    Ro75.

                    SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • Ro75R Ro75

                      @oliverio Erstmal super Arbeit! Server und Client ist OK und funktioniert. Allerdings wäre es super wenn es zusätzlich noch die Möglichkeit für einen Datenpunkt gäbe, sprich wo ich einen anzuzeigenden String übergebe. Und die Größenanpassung, bei Flip, geht im Moment nur via transform und scale(0.4)?

                      Ro75.

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb zuletzt editiert von
                      #563

                      @Ro75

                      Beschreibe den String mal genauer.
                      Der Aufbau könnte beliebig sein.
                      Intern arbeiten die Widgets immer nur mit timestamp,
                      Berechnen dann die Uhrzeit/Datum und ziehen dann bei Countdown eine Differenz, bevor es angezeigt wird.

                      Ja, Größenänderung geht bei flip nur mit transform. Das ist eine Beschränkung der zugrundeliegenden Bibliothek.

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      Ro75R 1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @Ro75

                        Beschreibe den String mal genauer.
                        Der Aufbau könnte beliebig sein.
                        Intern arbeiten die Widgets immer nur mit timestamp,
                        Berechnen dann die Uhrzeit/Datum und ziehen dann bei Countdown eine Differenz, bevor es angezeigt wird.

                        Ja, Größenänderung geht bei flip nur mit transform. Das ist eine Beschränkung der zugrundeliegenden Bibliothek.

                        Ro75R Online
                        Ro75R Online
                        Ro75
                        schrieb zuletzt editiert von
                        #564

                        @OliverIO sagte:

                        Beschreibe den String mal genauer.

                        00:00:03:38 (Tage:Stunden:Minuten:Sekunden) - meine ablaufende Zeit für einen Timer - die einfachste Version zur Darstellung - hier ist es nicht so einfach. Ich kann über die Alex den Timer verändern oder abbrechen - eine Berechnung ist da glaube ich nicht so cool

                        oder

                        11:05:46 (Stunden:Minuten:Sekunden) - Zeit - auch hier die einfachste Darstellung - mit Client/Server ist dieses Problem gelöst

                        Ro75.

                        SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                        OliverIOO 1 Antwort Letzte Antwort
                        0
                        • Ro75R Ro75

                          @OliverIO sagte:

                          Beschreibe den String mal genauer.

                          00:00:03:38 (Tage:Stunden:Minuten:Sekunden) - meine ablaufende Zeit für einen Timer - die einfachste Version zur Darstellung - hier ist es nicht so einfach. Ich kann über die Alex den Timer verändern oder abbrechen - eine Berechnung ist da glaube ich nicht so cool

                          oder

                          11:05:46 (Stunden:Minuten:Sekunden) - Zeit - auch hier die einfachste Darstellung - mit Client/Server ist dieses Problem gelöst

                          Ro75.

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb zuletzt editiert von OliverIO
                          #565

                          @Ro75

                          Und der datenpunkt String zählt dann hoch/runter?

                          Lese dir mal diesen Abschnitt durch.
                          Damit kannst du die Endzeit setzen
                          Insbesondere die Zeile zu #!ISO-Date
                          Oder einfach auch nur
                          =!value

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          Ro75R 1 Antwort Letzte Antwort
                          0
                          • Ro75R Online
                            Ro75R Online
                            Ro75
                            schrieb zuletzt editiert von
                            #566

                            korrekt.

                            Ro75.

                            SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                            1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @Ro75

                              Und der datenpunkt String zählt dann hoch/runter?

                              Lese dir mal diesen Abschnitt durch.
                              Damit kannst du die Endzeit setzen
                              Insbesondere die Zeile zu #!ISO-Date
                              Oder einfach auch nur
                              =!value

                              Ro75R Online
                              Ro75R Online
                              Ro75
                              schrieb zuletzt editiert von
                              #567

                              @OliverIO sagte:

                              Damit kannst du die Endzeit setzen

                              nur leider ist diese flexibel.

                              Ro75.

                              SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • Ro75R Ro75

                                @OliverIO sagte:

                                Damit kannst du die Endzeit setzen

                                nur leider ist diese flexibel.

                                Ro75.

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb zuletzt editiert von
                                #568

                                @Ro75

                                Dann den =!value Befehl
                                Eigentlich ist ja alles flexibel
                                Wenn sich die Ende Zeit ändert, dann ändert sich doch auch die Restlaufzeit

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                1 Antwort Letzte Antwort
                                0
                                • Ro75R Online
                                  Ro75R Online
                                  Ro75
                                  schrieb zuletzt editiert von
                                  #569

                                  Es tut mir leid, aber daraus werde ich gerade nicht schlau und die Readme ergibt sich mir nicht.

                                  Ro75.

                                  SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                                  OliverIOO 1 Antwort Letzte Antwort
                                  0
                                  • Ro75R Ro75

                                    Es tut mir leid, aber daraus werde ich gerade nicht schlau und die Readme ergibt sich mir nicht.

                                    Ro75.

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb zuletzt editiert von OliverIO
                                    #570

                                    @Ro75

                                    Du legst im Mytime Adapter ein Countdown Timer mit beliebigen Werten an.
                                    Der legt dir eine datenpunkt Struktur an.
                                    Du machst im JavaScript Adapter ein trigger auf deinen String datenpunkt der bspw 11:05:46 enthält.
                                    Immer wenn sich dein datenpunkt tatsächlich ändert schreibst du in den cmd datenpunkt in den Mytime datenpunkten den folgenden Wert rein:
                                    =!11:05:46

                                    Das Format von value ist hier beschrieben
                                    https://github.com/oweitman/ioBroker.mytime/blob/main/README.md#format-of-the-value-for-setting-the-countdown-timer

                                    Jede Stelle, also sec,min,etc. zählt für sich und wird mit der jeweiligen Wertigkeit addiert, daher geht auch 1:120, was dann 3 Minuten ergibt. Aber das ist für dich eher nicht relevant.

                                    Der unterschied mit und ohne ! Ist das die Änderung im timer sofort wirksam werden und nicht erst beim nächsten Start

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    1 Antwort Letzte Antwort
                                    0
                                    • Ro75R Online
                                      Ro75R Online
                                      Ro75
                                      schrieb zuletzt editiert von Ro75
                                      #571

                                      Probiere ich aus. Sage dir dann bescheid.

                                      Ro75.

                                      EDIT: Keine Ahnung. Ich bekomms nicht hin. Entweder zu komplex, ich verstehe es nicht oder bin zu blöd.

                                      SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • Ro75R Ro75

                                        Probiere ich aus. Sage dir dann bescheid.

                                        Ro75.

                                        EDIT: Keine Ahnung. Ich bekomms nicht hin. Entweder zu komplex, ich verstehe es nicht oder bin zu blöd.

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        schrieb zuletzt editiert von OliverIO
                                        #572

                                        @Ro75

                                        ok

                                        1. countdowntimer anlegen
                                          decdde8d-7113-4c87-a531-56475521b4d7-image.jpeg

                                        ich habe gerade festgestellt, das beim speichern bei mir die datenpunkte nicht angelegt werden. wenn das bei dir auch so ist, dann bitte noch setdp drücken.

                                        2a)
                                        für die simulation habe ich mir ein skript schreiben lassen, das sekündlich bei mir einen datenpunkt aktualisiert. das ist das was bei dir mit alexa oder so passiert.
                                        das brauchst du eigentlich nicht, aber ich lege es bei, das du es selbst ausprobieren kannst, wie es bei mir funktioniert.

                                        // ============================================================
                                        // Skript 1: Countdown sekündlich aktualisieren
                                        // Schreibt den Countdown nach:
                                        // 0_userdata.0.alexatimer
                                        // ============================================================
                                        
                                        const countdownState = '0_userdata.0.alexatimer';
                                        
                                        // Beispiel: 1 Stunde, 23 Minuten und 45 Sekunden
                                        const countdownDurationSeconds =
                                           (1 * 60 * 60) +
                                           (23 * 60) +
                                           45;
                                        
                                        let countdownInterval = null;
                                        let countdownEndTime = null;
                                        
                                        
                                        /**
                                        * Wandelt Sekunden in Stunden:Minuten:Sekunden um.
                                        *
                                        * Beispiel:
                                        * 5025 Sekunden -> 1:23:45
                                        */
                                        function formatCountdown(totalSeconds) {
                                           const remainingSeconds = Math.max(
                                               0,
                                               Math.floor(totalSeconds)
                                           );
                                        
                                           const hours = Math.floor(remainingSeconds / 3600);
                                        
                                           const minutes = Math.floor(
                                               (remainingSeconds % 3600) / 60
                                           );
                                        
                                           const seconds = remainingSeconds % 60;
                                        
                                           return (
                                               hours +
                                               ':' +
                                               String(minutes).padStart(2, '0') +
                                               ':' +
                                               String(seconds).padStart(2, '0')
                                           );
                                        }
                                        
                                        
                                        /**
                                        * Aktualisiert den Countdown-Datenpunkt.
                                        */
                                        function updateCountdown() {
                                           const remainingSeconds = Math.max(
                                               0,
                                               Math.ceil(
                                                   (countdownEndTime - Date.now()) / 1000
                                               )
                                           );
                                        
                                           const formattedCountdown =
                                               formatCountdown(remainingSeconds);
                                        
                                           setState(
                                               countdownState,
                                               formattedCountdown,
                                               true
                                           );
                                        
                                           if (remainingSeconds <= 0) {
                                               clearInterval(countdownInterval);
                                               countdownInterval = null;
                                        
                                               log('Countdown ist beendet.', 'info');
                                           }
                                        }
                                        
                                        
                                        /**
                                        * Startet den Countdown.
                                        */
                                        function startCountdown() {
                                           countdownEndTime =
                                               Date.now() + (countdownDurationSeconds * 1000);
                                        
                                           // Sofort ersten Wert schreiben
                                           updateCountdown();
                                        
                                           // Danach jede Sekunde aktualisieren
                                           countdownInterval = setInterval(
                                               updateCountdown,
                                               1000
                                           );
                                        }
                                        
                                        
                                        // Datenpunkt anlegen und Countdown starten
                                        createState(
                                           countdownState,
                                           '0:00:00',
                                           {
                                               name: 'Alexa Timer Countdown',
                                               type: 'string',
                                               role: 'text',
                                               read: true,
                                               write: true
                                           },
                                           () => {
                                               startCountdown();
                                           }
                                        );
                                        
                                        
                                        // Timer beim Stoppen des Skripts beenden
                                        onStop(
                                           () => {
                                               if (countdownInterval !== null) {
                                                   clearInterval(countdownInterval);
                                                   countdownInterval = null;
                                               }
                                           },
                                           1000
                                        );
                                        

                                        2b)
                                        Hier das skript das auf deinen alexadatenpunkt horcht. Hier
                                        0_userdata.0.alexatimer
                                        und dann den mytimer datenpunkt beschreibt. hier
                                        mytime.0.Countdowns.alexa.cmd
                                        beides am anfang zum konfigurieren.
                                        da ist jetzt viel kommentar und logging drin. das kann man noch entschlacken.

                                        // ============================================================
                                        // Skript 2: Countdown-Datenpunkt überwachen
                                        //
                                        // Liest Änderungen von:
                                        // 0_userdata.0.alexatimer
                                        //
                                        // Schreibt den bereinigten Wert mit Präfix "=!" nach:
                                        // mytime.0.Countdowns.alexa.cmd
                                        // ============================================================
                                        
                                        const countdownState = '0_userdata.0.alexatimer';
                                        const commandState = 'mytime.0.Countdowns.alexa.cmd';
                                        
                                        
                                        /**
                                        * Bereinigt den Datenpunktinhalt.
                                        *
                                        * Entfernt:
                                        * - Leerzeichen
                                        * - Tabs
                                        * - Zeilenumbrüche
                                        * - ein bereits vorhandenes Präfix "=!"
                                        */
                                        function cleanCountdownValue(value) {
                                           return String(value)
                                               .trim()
                                               .replace(/\s+/g, '')
                                               .replace(/^=!+/, '');
                                        }
                                        
                                        
                                        /**
                                        * Reagiert nur auf tatsächliche Wertänderungen.
                                        */
                                        on(
                                           {
                                               id: countdownState,
                                               change: 'ne'
                                           },
                                           (obj) => {
                                               if (
                                                   !obj ||
                                                   !obj.state ||
                                                   obj.state.val === null ||
                                                   obj.state.val === undefined
                                               ) {
                                                   return;
                                               }
                                        
                                               const cleanedValue =
                                                   cleanCountdownValue(obj.state.val);
                                        
                                               if (cleanedValue === '') {
                                                   log(
                                                       `Der Inhalt von ${countdownState} ist nach der Bereinigung leer.`,
                                                       'warn'
                                                   );
                                        
                                                   return;
                                               }
                                        
                                               const commandValue =
                                                   '=!' + cleanedValue;
                                        
                                               setState(
                                                   commandState,
                                                   commandValue,
                                                   false,
                                                   (error) => {
                                                       if (error) {
                                                           log(
                                                               `Fehler beim Schreiben nach ${commandState}: ${error}`,
                                                               'error'
                                                           );
                                        
                                                           return;
                                                       }
                                        
                                                       log(
                                                           `${commandState} wurde auf "${commandValue}" gesetzt.`,
                                                           'debug'
                                                       );
                                                   }
                                               );
                                           }
                                        );
                                        

                                        1. in vis habe ich das widget mytime countdown flipclock genommen
                                          und dort den datenpunkt des mytime alexa countdown eingestellt.
                                          welchen unterdatenpunkt du nimmst ist egal. das widget sucht sich seine datenpunkte dann selbst zusammen.
                                          a1342dff-0ec7-42d2-9b70-9c92cdf1f3f5-image.jpeg

                                        [{"tpl":"tplMyTimeCountdownFlip","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","countdown_showsec":"true","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"countdown_oid":"mytime.0.Countdowns.alexa.action","countdown_showmin":true,"countdown_showhrs":true},"style":{"left":"111px","top":"86px","width":"502px","height":"120px"},"widgetSet":"mytime"}]
                                        

                                        Ergebnis sieht dann so aus:

                                        5a267779-959f-4940-9d06-d4453debb3f1-20260721-1036-26.4326649.mp4

                                        Meine Adapter und Widgets
                                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                        Links im Profil

                                        1 Antwort Letzte Antwort
                                        1
                                        • Ro75R Online
                                          Ro75R Online
                                          Ro75
                                          schrieb zuletzt editiert von
                                          #573

                                          Danke für das Beispiel. Der entscheidende Punkte war setState mit false. Jetzt geht es. Danke.

                                          Ro75.

                                          SERVER = Beelink U59 16GB DDR4 RAM 512GB SSD, FB 7490, FritzDect 200+301+440, ConBee II, Zigbee Aqara Sensoren + NOUS A1Z, NOUS A1T, Philips Hue ** ioBroker, REDIS, influxdb2, Grafana, PiHole, Plex-Mediaserver, paperless-ngx (Docker), MariaDB + phpmyadmin *** VIS-Runtime = Intel NUC 8GB RAM 128GB SSD + 24" Touchscreen

                                          OliverIOO 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          402

                                          Online

                                          33.0k

                                          Benutzer

                                          83.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe