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

      @oliverio

      Hi,
      ich habe den update gemacht auf Version 1.2.0
      danach iobroker upload Vis und vis neu gestartet.

      Die Widgets unter myTime sehen nicht so aus wie Arteks post es zeigt, sondern entsprechen den alten Feldern.
      Ich bin nicht sicher was da noch fehlt

      Ausserdem habe ich einen countdown in der config der Instanz angelegt und dann bei den objekten folgendes versucht
      Cmd = Start - jetzt hätte ich erwartet, dass der time anfängt zu zählen. bleibt aber alles still.

      ein paar Bilder:

      myTime_001.JPG
      myTime_002.JPG
      myTime_003.JPG

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

        @looxer01

        im edit mode wird nicht live aktualisiert nur im runtime mode
        die datenpunkte ändern sich ebenfalls nicht während des ablaufs, da beim start
        die datenpunkte start und end berechnet und gesetzt werden. das wäre auch sehr ressourcenaufwändig, da ja jede sekunde dann uU diverse Datenpunkte aktualisiert werden müssen. Der Adapter prüft während des Ablaufs nur, ob ein Countdown Timer beendet ist und setzt dann endsprechend auf end
        die widgets nehmen diese informationen und berechnen dann die live ansicht
        Ich sehe gerade du hast "Start" eingegeben. Der korrekte Befehl ist "start"
        Da muss ich wohl mal noch die Befehle auf Kleinbuchstaben anpassen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            400
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter mytime test widget
                                            46
                                            454
                                            78408
                                            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