Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Restlaufzeitanzeige - Umsetzungsidee gesucht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Restlaufzeitanzeige - Umsetzungsidee gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      WolfgangFB last edited by

      @codierknecht
      Die Lampen werden separat geschaltet. Die im Flur geht. z.B. nach 5 Minuten aus, im Wohnzimmer erst nach 3 Stunden (damit man auch in Ruhe ein Buch lesen kann ohne im Dunkeln zu sitzen).

      paul53 bahnuhr 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @WolfgangFB last edited by

        @wolfgangfb sagte: im Wohnzimmer erst nach 3 Stunden

        Weshalb muss die Restzeitanzeige dann sekundengenau sein?

        1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @WolfgangFB last edited by bahnuhr

          @wolfgangfb

          Suche benutzt ?
          z.B. nach countdown

          Gibt hier zahlreiche Scripte.

          z.B.
          https://forum.iobroker.net/topic/60403/countdown-von-10-min-auf-0-runter/9?page=1

          W 1 Reply Last reply Reply Quote 0
          • W
            WolfgangFB last edited by

            @paul53 sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

            @wolfgangfb sagte: im Wohnzimmer erst nach 3 Stunden

            Weshalb muss die Restzeitanzeige dann sekundengenau sein?

            Weil die Logik für alle Lampen gleich ist und die Zeit beliebig eingestellt werden kann.
            Und selbst wenn ich die Restlaufzeit nur die letzte Minute sekundengenau anzeigen lassen würde könnte es sein, dass mehr als 16 Lampen in dieser Minute unter 60 Sekuden sind und das Skript dann wegen >1000 Schreibvorgängen beendet werden würde.

            1 Reply Last reply Reply Quote 0
            • W
              WolfgangFB @bahnuhr last edited by

              @bahnuhr sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

              @wolfgangfb

              Suche benutzt ?

              Ja

              z.B. nach countdown

              Gibt hier zahlreiche Scripte.

              z.B.
              https://forum.iobroker.net/topic/60403/countdown-von-10-min-auf-0-runter/9?page=1

              Ich suche kein Countdown Skript, ich weiß wie ein Countdown Skript geht. Die Skripte, die dort zu finden sind, schreiben auch alle jede Sekunde in einen Datenpunkt und ich suche eine Lösung, wie man das optimieren kann wenn man eben mehr als einen Countdown hat.

              bahnuhr Codierknecht 2 Replies Last reply Reply Quote 0
              • bahnuhr
                bahnuhr Forum Testing Most Active @WolfgangFB last edited by

                @wolfgangfb sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                wenn man eben mehr als einen Countdown hat.

                Ich dachte du suchst, wie man einen Countdown in VIS anzeigt.

                Aber das schein ich dann ja falsch verstanden zu haben.

                Ansonsten hast du die Lösung von mir oben genannt bekommen.

                1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @WolfgangFB last edited by

                  @wolfgangfb sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                  ich suche eine Lösung, wie man das optimieren kann wenn man eben mehr als einen Countdown hat

                  Statt 16 DP könnte man einen nehmen und die Timer als Array oder JSON verwalten.
                  Das eigentliche Problem behebt das allerdings nicht.

                  Das ist aber eher ein hypothetisches Problem. Oder hast Du tatsächlich 16 Timer gleichzeitig laufen?

                  Zur Not könnte man im Adapter auch das Limit auf 1.000 einfach erhöhen. Holzhammermethode 😁

                  W 1 Reply Last reply Reply Quote 0
                  • W
                    WolfgangFB @Codierknecht last edited by

                    @codierknecht sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                    @wolfgangfb sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                    ich suche eine Lösung, wie man das optimieren kann wenn man eben mehr als einen Countdown hat

                    Statt 16 DP könnte man einen nehmen und die Timer als Array oder JSON verwalten.
                    Das eigentliche Problem behebt das allerdings nicht.

                    Doch, an die Lösung mit Array oder Json habe ich auch schon gedacht, ich weiß dann nur nicht wie ich in VIS aus einem Json oder einem Array genau einen Wert anzeige, wenn Du mir dazu einen Lösungsansatz nennen könntest wäre mir geholfen.

                    Das ist aber eher ein hypothetisches Problem. Oder hast Du tatsächlich 16 Timer gleichzeitig laufen?

                    Ich habe mehr als 16 Lampen 🙂 Ich habe natürlich nich für jede Lampe ein eigenes Skript.
                    Ich habe genau ein Skript, dass einmal jede Sekunde ausgeführt wird. Das geht über eine Schleife alle Lampen durch,

                    const LichtStateDP = $('alias.0.Raum.*.Licht.*.state');     
                    ...
                    schedule("*/1 * * * * *", function () {
                    var AktuelleZeit = (new Date().getTime()); 
                    for(var i=0; i<LichtStateDP.length; i++){
                        var LichtState = getState(LichtStateDP[i]).val; // ist das Licht eingeschaltet
                        if (LichtState == true){
                     // Zeeiten überprüfen, Licht ausschalten etc.
                     
                    
                    

                    wenn die Lampe eingeschaltet ist schaut es nach, wie lange die ohne zugeordnete Bewegung an sein darf, berechnet die Zeit wie lange die Lampe schon an ist, ist die Zeit kleiner als die erlaubte Zeit wird in den Restlaufzeit Datenpunkt die verbleibende Zeit geschrieben (die dann in VIS für die entsprechende Lampe angezeigt wird), dieser Schreibvorgang ist der kritische Punkt! Ist die Zeit größer als die erlaubte Zeit, wird die Lampe ausgeschaaltet.

                    licht.jpg

                    Zur Not könnte man im Adapter auch das Limit auf 1.000 einfach erhöhen. Holzhammermethode 😁

                    Das will ich ja gerade vermeiden.

                    Ist eigentlich nur das Schreiben von Datenpunkten so schlimm oder sollte man auch das Lesen reduzieren (in meinem Fall auf die Lichtereignisse zusätzlich triggern und die Zustände in einem Array halten)?

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

                      @wolfgangfb

                      da könnte ich diesen adapter von mir empfehlen
                      https://github.com/oweitman/ioBroker.mytime

                      darin gibt es den countdown timer mit entsprechenden anzeige widgets.

                      das sekündliche abfragen macht eigentlich kein sinn, wenn dann würde ich nur was machen wenn tatsächlich auch was passiert (licht ein: timer starten, licht aus: timer stoppen/resetten, timer abgelaufen: licht aus)

                      W 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @WolfgangFB last edited by

                        @wolfgangfb sagte: sollte man auch das Lesen reduzieren (in meinem Fall auf die Lichtereignisse zusätzlich triggern und die Zustände in einem Array halten)?

                        Es reduziert auch die Systemlast, obwohl Lesen (aus dem JS-Instanz-Puffer) weit weniger komplex ist als Schreiben.

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

                          @oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                          @wolfgangfb

                          da könnte ich diesen adapter von mir empfehlen
                          https://github.com/oweitman/ioBroker.mytime

                          darin gibt es den countdown timer mit entsprechenden anzeige widgets.

                          Die Installation klappt bei mir nicht. Ich uss den ja aus github installieren.
                          Es kommt:

                          $ iobroker url https://github.com/oweitman/iobroker.mytime --host raspberrypi --debug
                          
                          install oweitman/iobroker.mytime#d3d71b42d0320f577230e10452f2855ad0a8cd48
                          
                          NPM version: 8.15.0Installing oweitman/iobroker.mytime#d3d71b42d0320f577230e10452f2855ad0a8cd48... (System call)
                          

                          und dann passiert (seit 10 Minuten) nichts.
                          Aber mal rein vom Verständnis. Wenn ich das richtig verstehe setzt der ja auch jede Menge Datenpuinkte. Ist das aus einem Adapter weniger schlimm als aus einem Javascript?

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

                            @wolfgangfb
                            Nein du solltest ihn von Stable
                            Installieren
                            Aktuell bin ich in Vorbereitung einer neuen Version die mit der aktuellen Admin besser arbeitet. Auf Guthaben ist der aktuelle nicht langfädige Entwicklungsstand

                            Je nach Browser kann es aktuell etwas schwierig sein ein neuen Countdown Timer einzurichten

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

                              @oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                              Auf Guthaben ist der aktuelle nicht langfädige Entwicklungsstand

                              Hat hier die Textersetzung zugeschlagen? Ich versteh' nur Bahnhof 😁

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

                                @codierknecht
                                Ja
                                Guthaben = Github
                                Und
                                Lauffähig

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

                                  @oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                                  Nein du solltest ihn von Stable Installieren

                                  Servus! Ich bin auf Stable
                                  7c9577ba-08d2-4d85-b011-0488556881e3-image.png
                                  dein Adapter wird mir aber leider nicht angeboten?
                                  8117a03a-a9cc-4286-b1b7-d027897126a5-image.png

                                  Im Repro Latest wird mir die v 0.7.12 angeboten
                                  d21a8950-3c80-455d-a5b3-ccf1573514ad-image.png

                                  Soll ich besser warten bis

                                  Aktuell bin ich in Vorbereitung einer neuen Version die mit der aktuellen Admin besser arbeitet.

                                  Danke für deine Arbeit!
                                  LG, mxa

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

                                    @metaxa

                                    hm,
                                    der adapter muss automatisch deinstalliert worden sein.
                                    selbst auf meiner entwicklungsmaschine ist er nicht mehr
                                    leider fin ich auf github da kein commit in den repositories
                                    wo das entfernt worden ist

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

                                      @oliverio Danke für deine Rückmeldung. Ich warte mal ab, bis sich da oder dort was tut. Du für dein dankenswertes Hobby Zeit hast.
                                      LG

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      394
                                      Online

                                      31.9k
                                      Users

                                      80.1k
                                      Topics

                                      1.3m
                                      Posts

                                      6
                                      19
                                      597
                                      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