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.
    • OliverIO
      OliverIO last edited by

      Neue Version 1.2.0

      • Die Widgets sollten nun auch mit vis2 kompatibel sein. bitte testen und berichten.
        Allerdings erst mit einer vis-2 Version >=2.10.7. Diese Version muss im Expertenmodus in der iobroker Adapter Ansicht über das + (andere Version installieren) hinter dem Adapter installiert werden.
        Warum die 2.10er Versionen noch nicht in Beta sind weiß ich leider nicht. dazu gab es bisher noch keine Kommunikation. daher ist das als Experimentiell zu sehen.
      L 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            602
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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