Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Skripten / Logik
  4. JavaScript
  5. Restlaufzeitanzeige - Umsetzungsidee gesucht

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Restlaufzeitanzeige - Umsetzungsidee gesucht

Geplant Angeheftet Gesperrt Verschoben JavaScript
19 Beiträge 6 Kommentatoren 690 Aufrufe 4 Watching
  • Ä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.
  • W WolfgangFB

    @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.

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #9

    @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 :grin:

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    W 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @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 :grin:

      W Offline
      W Offline
      WolfgangFB
      schrieb am zuletzt editiert von
      #10

      @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 :grin:

      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)?

      paul53P 1 Antwort Letzte Antwort
      0
      • W WolfgangFB

        Bei meiner Beleuchtung werden alle Lampen bei nicht vorhandener Bewegung im Raum nach einer festgelegten Zeit automatisch ausgeschaltet. In meiner VIS möchte ich die verbleibede Zeit bis zum automatischen Ausschalten am liebsten sekundengenau angezeigt bekommen.
        Bisher habe ich das in einem Skript gemacht das jede Sekunde die Restlaufzeit für eingeschaltete Lampen berechnet, diese in einen String "Stunden:Minuten:Sekunde" umwandelt und in einen Datepunkt der Lampe schreibt der dann in der Vis angezeigt wird.
        Seit Javascript 6.1.0 ist ja als Vorgabe eingestellt, dass ein Skript, dass mehr als 1000 Datenpunkte pro Minute schreibt, automatisch gestoppt wird. Bei mehr als 16 engeschalteten Lampen wird dieser Wert erreicht. Jetzt kann ich natürlich diesen Wert einfach hochsetzen, aber ich würde lieber eine elegante Lösung für eine sekundengenaue Restlaufanzeige umsetzen.
        Eine Idee wäre z.B. das ganze über Bindings in VIS zu machen. (Abfrage ob Lampe an, wenn ja, aktuelle Zeit minus Timestamp .lc der Lampe minus maximale Brenndauer), ob das unbedingt resourcenschonender ist weiß ich nicht.
        Hat jemand eine andere Idee?

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

        @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)

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

        W 1 Antwort Letzte Antwort
        0
        • W WolfgangFB

          @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 :grin:

          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)?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #12

          @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.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @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 Offline
            W Offline
            WolfgangFB
            schrieb am zuletzt editiert von
            #13

            @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?

            OliverIOO 1 Antwort Letzte Antwort
            0
            • W WolfgangFB

              @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?

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

              @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

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

              CodierknechtC metaxaM 2 Antworten Letzte Antwort
              0
              • OliverIOO 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

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #15

                @oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                Auf Guthaben ist der aktuelle nicht langfädige Entwicklungsstand

                Hat hier die Textersetzung zugeschlagen? Ich versteh' nur Bahnhof :grin:

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                OliverIOO 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @oliverio sagte in Restlaufzeitanzeige - Umsetzungsidee gesucht:

                  Auf Guthaben ist der aktuelle nicht langfädige Entwicklungsstand

                  Hat hier die Textersetzung zugeschlagen? Ich versteh' nur Bahnhof :grin:

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

                  @codierknecht
                  Ja
                  Guthaben = Github
                  Und
                  Lauffähig

                  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
                  • OliverIOO 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

                    metaxaM Offline
                    metaxaM Offline
                    metaxa
                    schrieb am zuletzt editiert von
                    #17

                    @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

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • metaxaM metaxa

                      @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

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

                      @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

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

                      metaxaM 1 Antwort Letzte Antwort
                      1
                      • OliverIOO OliverIO

                        @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

                        metaxaM Offline
                        metaxaM Offline
                        metaxa
                        schrieb am zuletzt editiert von
                        #19

                        @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 Antwort Letzte Antwort
                        0
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        542

                        Online

                        32.6k

                        Benutzer

                        82.3k

                        Themen

                        1.3m

                        Beiträge
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                        ioBroker Community 2014-2025
                        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