Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter mytime

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter mytime

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      looxer01 @OliverIO last edited by looxer01

      @oliverio
      ich habe zur automatisierung ein Script im Einsatz.
      Dieses setzt die entsprechenden Komandos.
      Ich nahm an, dass ich nur die Namen der neuen Objektstuktur ändern muss.
      Scheint aber nicht so zu sein.

      //------------------------------------------------------------------------------ 
      // Einstellungsbereich 
      //------------------------------------------------------------------------------ 
      // Timer  Licht
      var HundLicht1 =  'hm-rpc.1.0008A0C992FE50.2.STATE'/*Licht Nordseite aussen STATE*/
      var HundLicht2 = 'hm-rpc.1.0025A0C9A3AD70.10.STATE'/*Licht aussen Wald STATE*/
      var HundLicht3 = 'hm-rpc.1.0025A0C9A3AD70.6.STATE'/*Licht aussen Gartenhuette Lichterkette STATE*/
      
      var IDBenjiLichtTimer =  'mytime.0.Countdowns.Benjilicht.timer' // ID Timer von mytime in millisekunden    
      var IDBenjiLichtEndTime = 'mytime.0.Countdowns.BenjiLicht.end'/*endTime in Millisec*/
      var IDBenjiLichtAction = 'mytime.0.Countdowns.BenjiLicht.action'/*action*/
      var IDBenjiLichtCmd = 'mytime.0.Countdowns.BenjiLicht.cmd'/*cmd*/
      var IDBenjiLichtSollZeit = 'javascript.0.Licht.BenjiLichtEinschaltzeitMan'/*Manuelles Ausschalten in xx Minuten*/
      
      var TestModus = false; // bei false wird das Liht nicht eingeschaltet aber ein log eintrag geschrieben
      //------------------------------------------------------------------------------ 
      // Einstellungsbereich 
      //------------------------------------------------------------------------------ 
      
      var AutoStop      = false; // zur Unterscheidung ob der Stop manuell aus VIS kommt oder hier im Programm gesetzt wurde
      CreateStates();
      
      //------------------------------------------------------------------------------ 
      // Beginn Subsricptions 
      //------------------------------------------------------------------------------ 
      
      // Wenn manuelle Laufzeit verändert wurde, dann update in adapter DP myTime
      on({id: IDBenjiLichtSollZeit, change: 'any'}, function(obj) {                                                         // Event: Licht ein gedrückt
         log("TimerSollZeit Benji aendern auf " + (getState(IDBenjiLichtSollZeit).val * 60*1000) + " Minuten");
         setState(IDBenjiLichtTimer, getState(IDBenjiLichtSollZeit).val * 60*1000);                      // minuten in Millisek umrechnen
      }) // endon
      
      
      // Wenn Timer stoppt dann soll der Status auf STOP gesetzt werden und der Licht wird gestoppt
      on({id: IDBenjiLichtAction, val: "end" }, function(obj) {                                                         // Event: Licht ein gedrückt
         if (!obj.state.ack) {return};
         log("Countdown nach Ablauf auf Stop gesetzt " + obj.id + " " + obj.state.val)
         setState(IDBenjiLichtCmd, "stop");
         AutoStop = true;
         if (!TestModus) {
             setState(HundLicht1,false);
             setState(HundLicht2,false);
             setState(HundLicht3,false);
         }else {
             log( "BenjiLicht Simulation aus")
         }
      }) // endon
      
      
      // Wenn Timer manuell gestoppt wurde dann wird der Licht wird gestoppt
      on({id: IDBenjiLichtAction, val: "stop" }, function(obj) {                                                         // Event: Licht ein gedrückt
         if (!obj.state.ack) {return};
         if (!AutoStop) {
             log("Timer BenjiLicht gestoppt manuell gesetzt " + obj.id + " " + obj.state.val)
             setState(IDBenjiLichtCmd, "stop");
             AutoStop = true;
             if (!TestModus) {
             setState(HundLicht1,false);
             setState(HundLicht2,false);
             setState(HundLicht3,false);
             }else {
                 log( "BenjiLichtsimulation aus")
             }
         }
      }) // endon
      
      
      // Wenn der Timer auf RUN wechsel dann soll das Licht eingeschaltet werden
      on({id: IDBenjiLichtAction, val: "run" }, function(obj) {                                                         // Event: Licht start gedrückt
      if (!obj.state.ack) {return};
         log("Benjilicht wird eingeschaltet " + obj.id + " " + obj.state.val)
         if (!TestModus) {
             setState(HundLicht1,true);
             setState(HundLicht2,true);
             setState(HundLicht3,true);
         }else {
             log( "BenjiLichtsimulation ein")
         }
         AutoStop = false;
      }) // endon
      
      
      
      
      //------------------------------------------------------------------------------ 
      // Beginn Create States 
      //------------------------------------------------------------------------------ 
      function  CreateStates () {
      createState(IDBenjiLichtSollZeit, 20 ,  {read: true, write: true, type: 'number', name: 'BenjiLicht Bei manuellem einschalten anzahl der Minuten Laufzeit'  , desc: 'Manuelle BenjiLichtzeit in Minuten'});
      
      } // endfunction
      

      OliverIO 1 Reply Last reply Reply Quote 0
      • OliverIO
        OliverIO @looxer01 last edited by

        @looxer01

        eigentlich ja.
        Der Hauptknoten ist jetzt Countdowns als devices
        und ein Timer nun als channel.
        Aber vom schreiben her dürfte es kein unterschied machen.
        Die Datenpunktnamen auf der untersten ebene haben sich nicht geändert.

        Oben im Screenshot hast du halt bei cmd Start reingeschrieben, also mit großem S
        und das hat er so nicht erkannt. wird aber in der nächsten Version verbessert worden sein.
        wenn du aber start mit kleinem s reinschreibst dann funktioniert das.

        Ansonsten bitte log
        wie gesagt du wirst in den datenpunkten nur beim start eines timers und beim beenden Veränderungen sehen. aber kein herunterzählen. warum hatte ich ja schon geschrieben.

        arteck L 2 Replies Last reply Reply Quote 0
        • arteck
          arteck Developer Most Active @OliverIO last edited by arteck

          @oliverio da ist aber noch ein wurm drin...
          der müsste hier auf 20 sek stehen

          d216e79b-1244-4d88-a05b-606090792cdd-grafik.png

          171ccb4e-51cc-41bc-b118-0670f2488887-grafik.png

          wenn ich den starte ..dann beginnt der bei 1525101b-d723-4574-b7c0-1282a3f51531-grafik.png

          bei 11 geht der dann auf 0

          das ist die einstellung
          96467f77-b25c-4f94-b64f-fdaa65832e25-grafik.png

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @arteck last edited by

            @arteck

            Überprüfe bitte die zeiteinstellungen von Server und Client.
            Die start und Ende Zeit wird vom Server gesetzt und auf dem Client dann berechnet.
            Wenn es da zu Differenzen kommt entstehen diese Effekte.
            Am besten einen ntp Dienst auf beiden konfigurieren.

            arteck 1 Reply Last reply Reply Quote 0
            • L
              looxer01 @OliverIO last edited by looxer01

              @oliverio
              Hi,
              vielen Dank fuer die Unterstützung.
              Ich hatte mehrere Probleme. Meine Widgets haben ein "Start" statt "start" gesendet.
              Wie du schriebst, war das in der alten Version möglich.

              Im Javascript hatte ich zudem das Problem, dass ich auf ein acknowledge gewartet habe, das jetzt aber nicht mehr gesendet wird.

              Beide Punkte habe ich angepasst und es funktioniert jetzt wieder.

              Allerdings habe ich noch ein Problem mit dem Widget. Es zeigt keinen Zeitverbrauch an.
              Gab es denn ein neues Widget dazu, dass das dieses hier ersetzt ?
              myTime_003.JPG
              Dabei beziehe ich mich auf das Widget: MyTime CountDown Circle

              EDIT: ist gefixt und funktioniert. Es stimmte etwas nicht mit der Zuordnung zum Datenpunkt "timer". Nach Auswahl des Datenpunktes im Widget funktioniert wieder alles wie vorher. Bin nicht sicher was es war aber sieht ja so aus, dass der Datenpunkt falsch war (mehrfach kontrolliert - strange)

              vG Looxer

              OliverIO 2 Replies Last reply Reply Quote 0
              • OliverIO
                OliverIO @looxer01 last edited by

                @looxer01

                ok, sehr gut.
                Danke fürs testen

                1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO @looxer01 last edited by

                  @looxer01 sagte in Test Adapter mytime:

                  "Start" statt "start"

                  In Version 1.2.1 kann man den Befehl eingeben wie man möchte,
                  er wird dann intern in Kleinbuchstaben umgewandelt.
                  Es kann sein, das das früher so schon drin war, aber der Adapter wurde sehr stark bearbeitet, so das es gut sein kann, das Kleinigkeiten "verschwunden worden sind"

                  1 Reply Last reply Reply Quote 1
                  • OliverIO
                    OliverIO last edited by

                    Neue Version v1.2.2

                    • leider ist ein Test Fragment noch übrig geblieben, welches hiermit wieder entfernt wird
                      https://forum.iobroker.net/topic/78123/vis-ladebildschirm-steht-oben-links-test?_=1731961686604
                    • Ansonsten gab es nur minimale Verbesserungen unter der Haube, welche kein eigene Release benötigen
                    OliverIO 1 Reply Last reply Reply Quote 1
                    • OliverIO
                      OliverIO @OliverIO last edited by

                      @oliverio sagte in Test Adapter mytime:

                      Neue Version v1.2.2

                      • leider ist ein Test Fragment noch übrig geblieben, welches hiermit wieder entfernt wird
                        https://forum.iobroker.net/topic/78123/vis-ladebildschirm-steht-oben-links-test?_=1731961686604
                      • Ansonsten gab es nur minimale Verbesserungen unter der Haube, welche kein eigene Release benötigen

                      die Version wird nun im stable angekommen

                      1 Reply Last reply Reply Quote 0
                      • S
                        stefan.cloer last edited by

                        @OliverIO wenn ich in der Instanz auf "Zeitreihen" wechsle bekomme ich folgende Anzeige:

                        10cb6620-5398-4fc0-aaa7-1c7f869fc2fb-image.png

                        Mache ich da was falsch oder klappen die Zeitreihen in der Adapter Überarbeitung noch nicht richtig?

                        OliverIO 1 Reply Last reply Reply Quote 0
                        • OliverIO
                          OliverIO @stefan.cloer last edited by

                          @stefan-cloer

                          Hm ok muss ich testen.
                          Kannst du mir no h die Version des iobrokers und Admin Adapters nennen?

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            stefan.cloer @OliverIO last edited by

                            @oliverio Admin-Adapter 7.1.5 und js-controller 7.0.6

                            OliverIO 1 Reply Last reply Reply Quote 0
                            • OliverIO
                              OliverIO @stefan.cloer last edited by OliverIO

                              @stefan-cloer

                              Danke, muss mal noch was prüfen.
                              Mach bitte zur Sicherheit mal noch iob upload all

                              Nachtrag:
                              ich habe es versucht auf einem testserver mit den gleichen versionen nachzuvollziehen. ich habe den adapter auch komplett deinstalliert und erneut installiert. klappt alles.
                              Evtl den Adapter ebenfalls komplett deinstallieren/installieren
                              oder iob restart

                              Nochmal Nachtrag:
                              Du hattest auch aus einem repo installiert?
                              Direkt von github geht nicht, da dort bestimmte compile Dateien nicht vorhanden sind. Die sind nur im Paket vorhanden.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                stefan.cloer @OliverIO last edited by

                                @OliverIO,

                                Nochmal Nachtrag:
                                Du hattest auch aus einem repo installiert?
                                Direkt von github geht nicht, da dort bestimmte compile Dateien nicht vorhanden sind. Die sind nur im Paket vorhanden.

                                hier lag der Fehler, hatte direkt von github installiert. Danke 💪

                                mcm1957 1 Reply Last reply Reply Quote 0
                                • arteck
                                  arteck Developer Most Active @OliverIO last edited by arteck

                                  @oliverio sagte in Test Adapter mytime:

                                  @arteck
                                  Wenn es da zu Differenzen kommt entstehen diese Effekte.
                                  Am besten einen ntp Dienst auf beiden konfigurieren.

                                  was.. wie ich denke der timer wird NUR am Server berechnet..

                                  also

                                  bei start timestamp merken und subtrahieren von gerade laufenden ... und ab ins widget damit
                                  was hat der client mit zu tun ??? (ist bei mir ein FireHD10)

                                  OliverIO 1 Reply Last reply Reply Quote 0
                                  • OliverIO
                                    OliverIO @arteck last edited by

                                    @arteck sagte in Test Adapter mytime:

                                    gerade laufenden

                                    genau es wird der aktuelle timestamp vom Ende timestamp abgezogen.
                                    Der Ende Timestamp wird auf dem server berechnet.
                                    der aktuelle timestamp wird für das widget auf dem client berechnet.
                                    auf dem server wird er ebenefalls berechnet um dann den timerstatus entsprechend schalten zu können.

                                    Alles andere würde eine kontinuierliche kommunikation zwischen client und server benötigen um die aktuelle zeit/timestamp an den client zu übertragen, was aus meiner sicht unnötig und ressourcenverschwendend sein würde. ausserdem ist nicht garantiert, das die datenänderungen pünktlich auf dem client eintreffen. das würde zu sprüngen in der sekundenanzeige führen.

                                    ubuntu und debian habe zeitsync bereits eingebaut und eigentlich aktiviert.

                                    arteck 1 Reply Last reply Reply Quote 0
                                    • arteck
                                      arteck Developer Most Active @OliverIO last edited by arteck

                                      @oliverio dann wird es aber nie passen in sek bereich... auf dem client (Tablet)

                                      das linux timesync hat ist mir klar.. ich verstehe trotzdem dein Konstrukt nicht

                                      du hast eine WS verbindung zur Visu.. wo ist das Problem ??? du bekommst nie 100% timesync zwischen Client (Tablet) und Server im sekunden Bereich..
                                      ergo
                                      die Berechnung nur auf dem Server und rüber damit zur VIS .. wie jedes andere Widget auch.. sekunden tick...

                                      wo ist dann das unnötige ???

                                      OliverIO 1 Reply Last reply Reply Quote 0
                                      • mcm1957
                                        mcm1957 @stefan.cloer last edited by mcm1957

                                        @stefan-cloer said in Test Adapter mytime:

                                        hier lag der Fehler, hatte direkt von github installiert. Danke 💪

                                        Das sollte optimaler Weise der Adapter nicht erlauben wenn es wegen irgendwelchen Implementierungsdetails nicht funktioniert. IoBroker erlaubt solche Adapter zu kennzeichnen damit es auf den Usersystemen keine / weniger 🙂 Probleme gibt.

                                        Hab mal ein Issue dazu erstellt.
                                        https://github.com/oweitman/ioBroker.mytime/issues/866

                                        Ist sicher nicht prior - kostet aber auch keum Aufwand.

                                        mcm1957 created this issue in oweitman/ioBroker.mytime

                                        closed Please add nogit flag as this adapter cannot be installed directly from github #866

                                        1 Reply Last reply Reply Quote 0
                                        • OliverIO
                                          OliverIO @arteck last edited by OliverIO

                                          @arteck sagte in Test Adapter mytime:

                                          dann wird es aber nie passen in sek bereich... auf dem client (Tablet)

                                          das verstehe ich nicht so ganz warum es nie passen wird?
                                          hier bei mir laufen diverse geräte und der server, auf dem iobroker läuft, alle mit synchronisierter zeit.
                                          die skripte schalten dann auch, wenn die sekunden im widget auf 0 gehen. (wie gesagt, schalten auf dem server, anzeige auf dem client)
                                          es mag sein, das es da ein paar millisekunden drift gibt, aber definitiv nicht im sekunden bereich. wenn dann ist das gerät nicht zeitsynchronisiert.
                                          idR ermittelt der ntp dienst automatisch die abweichungsrate des ocillators auf dem gerät und stellt dann selbst den polling interval ein. ntp berücksichtigt sogar die latenz vom ntp server, so das selbst das korrigiert wird.

                                          in den fällen wo hier im forum seit 2020 differenzen gemeldet worden sind, war es immer ein nicht/falsch konfigurierter oder deaktivierter ntp dienst.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            Shadowhunter23 @OliverIO last edited by

                                            @oliverio sagte in Test Adapter mytime:

                                            in den fällen wo hier im forum seit 2020 differenzen gemeldet worden sind, war es immer ein nicht/falsch konfigurierter oder deaktivierter ntp dienst.

                                            Ich hatte an den Amazon Fire Tablets auch schon 3-4 Sekunden Abweichung. Hab allerdings dort nicht rausgefunden wie man die Zeit synchronisiert.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            818
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter mytime test widget
                                            47
                                            497
                                            88184
                                            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