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. Visualisierung
  4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.9k

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
919 Beiträge 47 Kommentatoren 280.9k Aufrufe 75 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.
  • G GiuseppeS

    @sigi234
    Hast Recht, ergänze ich noch. Nur Skript hat sich geändert.

    Edit:
    Werde es zukünftig bei jedem Update dazu schreiben

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    schrieb am zuletzt editiert von
    #550

    @GiuseppeS

    Danke funktioniert , aber du mußt noch etwas ändern !

    Ich habe es ja so :

    var logPraefix = '[Timer] ##{"severity":"", "from":"", "message":"'; // Wenn stdLog = true, kann hiermit die Ausgabe des ausgeführten Timers manipuliert werden
    var logPraefixend = '"}##'; // Logparser Ende
    

    So ist dein Update dazu

    var logPraefix = "Timer: ";
    var logSuffix = "";
    

    Es kommt eine Fehlermeldung , da du bei dir " drin hast , deshab habe ich bei mir auf ' geändert.
    Weil das manipulieren ( Logparser ) enthält schon ein ".

    Also dann so:

    var logPraefix = 'Timer: ';
    var logSuffix = '  ';
    

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    G 1 Antwort Letzte Antwort
    0
    • GlasfaserG Glasfaser

      @GiuseppeS

      Danke funktioniert , aber du mußt noch etwas ändern !

      Ich habe es ja so :

      var logPraefix = '[Timer] ##{"severity":"", "from":"", "message":"'; // Wenn stdLog = true, kann hiermit die Ausgabe des ausgeführten Timers manipuliert werden
      var logPraefixend = '"}##'; // Logparser Ende
      

      So ist dein Update dazu

      var logPraefix = "Timer: ";
      var logSuffix = "";
      

      Es kommt eine Fehlermeldung , da du bei dir " drin hast , deshab habe ich bei mir auf ' geändert.
      Weil das manipulieren ( Logparser ) enthält schon ein ".

      Also dann so:

      var logPraefix = 'Timer: ';
      var logSuffix = '  ';
      
      G Offline
      G Offline
      GiuseppeS
      schrieb am zuletzt editiert von GiuseppeS
      #551

      @Glasfaser
      Das Skript muss ja allgemeine Gültigkeit haben. Du kannst oben deinen Inhalt verwenden. Es bleibt ja von zukünftigen Updates ausgeschlossen. Ich habe aktuell keine vernünftige Anwendung für die kryptische Zeichenfolge :v:

      Wenn innerhalb eines Strings das Anführungszeichen genutzt werden soll geht es übrigens mit "
      Zum Beispiel so

      var logSuffix = "test)}\" "
      

      Edit:
      Kann im nächsten Update statt " auch ' verwenden. Aber Update kommt dann zusammen mit anderen Punkten, wenn Ideen mitgeteilt werden.

      GlasfaserG 1 Antwort Letzte Antwort
      1
      • G GiuseppeS

        @Glasfaser
        Das Skript muss ja allgemeine Gültigkeit haben. Du kannst oben deinen Inhalt verwenden. Es bleibt ja von zukünftigen Updates ausgeschlossen. Ich habe aktuell keine vernünftige Anwendung für die kryptische Zeichenfolge :v:

        Wenn innerhalb eines Strings das Anführungszeichen genutzt werden soll geht es übrigens mit "
        Zum Beispiel so

        var logSuffix = "test)}\" "
        

        Edit:
        Kann im nächsten Update statt " auch ' verwenden. Aber Update kommt dann zusammen mit anderen Punkten, wenn Ideen mitgeteilt werden.

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        schrieb am zuletzt editiert von
        #552

        @GiuseppeS

        Ja .... kein Thema .
        .. bin ja erstmal eine Ausnahme mit dem Logparser :grin:

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          ak1
          schrieb am zuletzt editiert von
          #553

          @GiuseppeS Habe ich es richtig verstanden, dass Du demnächst die Views auf Uhulas MDCSS V2 umstellst?

          G 1 Antwort Letzte Antwort
          0
          • A ak1

            @GiuseppeS Habe ich es richtig verstanden, dass Du demnächst die Views auf Uhulas MDCSS V2 umstellst?

            G Offline
            G Offline
            GiuseppeS
            schrieb am zuletzt editiert von
            #554

            @ak1
            Ich will in den kommenden Wochen meine eigene VIS auf MDCSS 2 umstellen. Würde dann den Timer auch auf MDCSS 2 umstellen. Als Download würde ich die letzte Version des Timer mit MDCSS 1 belassen und zusätzlich v2 hochladen. Voraussetzung ist, dass ich mit MDCSS 2 gut klar komme und tatsächlich komplett umsteige.
            Allerdings: selbst wenn sich meine CSS Version vom Anwender unterscheidet, jeder kann selbst die Widgets schnell überarbeiten. Und an den Widgets gibt es seltener Updates als vom Skript. Zumindest werden, wenn überhaupt, immer nur wenige Widgets überarbeitet/hinzugefügt/gelöscht.

            1 Antwort Letzte Antwort
            0
            • A Offline
              A Offline
              ak1
              schrieb am zuletzt editiert von
              #555

              @GiuseppeS Ja, das macht Sinn. Besten Dank!

              1 Antwort Letzte Antwort
              0
              • M Online
                M Online
                micklafisch
                schrieb am zuletzt editiert von
                #556

                Hallo zusammen,
                ich bin gerade dabei neben den schaltbaren Steckdosen auch für eine schnellere Bearbeitung der Zeiten meine Rollläden mit dem Skript abzubilden. Bisher hat die Steuerung der Rollläden meine CCU mit den entsprechenden Programmen übernommen (Hardware: Somfy RTS Rollläden mit einem nanoCUL433 Stick an der CCU).

                Ich muss damit die Kommandos für mehrere Rollläden auch sauber verarbeitet werden eine bzw. besser zwei Sekunden zwischen den einzelnen Befehlen lassen. Sonst verschluckt der CUL das zu schnell gesendete Kommando einfach und der nächste Rollladen mach gar nichts.

                Jetzt gibt zwar das Script eine Möglichkeit für ein Zufall her, allerdings nur für Minuten. Jetzt würden 4 Rollläden in einem Raum um mehrere Minuten verzögert zufahren - entsprechend niedrig ist zuhause der WAF.

                In der CCU hatte ich in den einzelnen Programmen pro Rollladen einfacheine Verzögerung in Sekunden eingetragen.

                Gibt es hier schon Lösungsansätze von anderen Usern? Wie macht ihr das bzw. steuert überhaupt einer auch über einen CUL433 Stick seine Rollläden?

                G 1 Antwort Letzte Antwort
                0
                • M micklafisch

                  Hallo zusammen,
                  ich bin gerade dabei neben den schaltbaren Steckdosen auch für eine schnellere Bearbeitung der Zeiten meine Rollläden mit dem Skript abzubilden. Bisher hat die Steuerung der Rollläden meine CCU mit den entsprechenden Programmen übernommen (Hardware: Somfy RTS Rollläden mit einem nanoCUL433 Stick an der CCU).

                  Ich muss damit die Kommandos für mehrere Rollläden auch sauber verarbeitet werden eine bzw. besser zwei Sekunden zwischen den einzelnen Befehlen lassen. Sonst verschluckt der CUL das zu schnell gesendete Kommando einfach und der nächste Rollladen mach gar nichts.

                  Jetzt gibt zwar das Script eine Möglichkeit für ein Zufall her, allerdings nur für Minuten. Jetzt würden 4 Rollläden in einem Raum um mehrere Minuten verzögert zufahren - entsprechend niedrig ist zuhause der WAF.

                  In der CCU hatte ich in den einzelnen Programmen pro Rollladen einfacheine Verzögerung in Sekunden eingetragen.

                  Gibt es hier schon Lösungsansätze von anderen Usern? Wie macht ihr das bzw. steuert überhaupt einer auch über einen CUL433 Stick seine Rollläden?

                  G Offline
                  G Offline
                  GiuseppeS
                  schrieb am zuletzt editiert von
                  #557

                  @micklafisch
                  Die Erweiterung um Sekunden würde einige Änderungen und somit umfangreiche Tests mit sich bringen. Unabhängig davon wäre es mal wieder ein Feld mehr im Editor. Ich befürchte, dass schon jetzt manch ein User abgeschreckt wird.

                  Idee für Workaround, falls du auch Istwerte der Rollläden siehst am Beispiel von drei Rollläden:

                  Rollladen 1 fährt runter um gewünschte Uhrzeit, dusk + Zufallsminuten.
                  Rollladen 2 fährt runter um dusk - 59 Minuten (Uhrzeit sollte definitiv vor Rollladen 1 sein), Bedingung: Rollladen 1 muss unten sein, Timer merken aktiv.
                  Rollladen 3 fährt runter um dusk - 59 Minuten (Uhrzeit sollte definitiv vor Rollladen 1 sein), Bedingung: Rollladen 2 muss unten sein, Timer merken aktiv.

                  Somit würden die Rollläden alle nacheinander runterfahren und auch in Abhängigkeit voneinander. Wichtig wäre, dass hier die Istwerte der Rollläden in die Aufzählung der Bedingungen mit aufgenommen werden.

                  Andernfalls müsste ich mir was einfallen lassen...

                  M 1 Antwort Letzte Antwort
                  0
                  • G GiuseppeS

                    @micklafisch
                    Die Erweiterung um Sekunden würde einige Änderungen und somit umfangreiche Tests mit sich bringen. Unabhängig davon wäre es mal wieder ein Feld mehr im Editor. Ich befürchte, dass schon jetzt manch ein User abgeschreckt wird.

                    Idee für Workaround, falls du auch Istwerte der Rollläden siehst am Beispiel von drei Rollläden:

                    Rollladen 1 fährt runter um gewünschte Uhrzeit, dusk + Zufallsminuten.
                    Rollladen 2 fährt runter um dusk - 59 Minuten (Uhrzeit sollte definitiv vor Rollladen 1 sein), Bedingung: Rollladen 1 muss unten sein, Timer merken aktiv.
                    Rollladen 3 fährt runter um dusk - 59 Minuten (Uhrzeit sollte definitiv vor Rollladen 1 sein), Bedingung: Rollladen 2 muss unten sein, Timer merken aktiv.

                    Somit würden die Rollläden alle nacheinander runterfahren und auch in Abhängigkeit voneinander. Wichtig wäre, dass hier die Istwerte der Rollläden in die Aufzählung der Bedingungen mit aufgenommen werden.

                    Andernfalls müsste ich mir was einfallen lassen...

                    M Online
                    M Online
                    micklafisch
                    schrieb am zuletzt editiert von
                    #558

                    @GiuseppeS
                    ja das habe ich schon befürchtet, dass es die View weiter "sprengt".

                    Einen Istwert sehe ich nicht, die Rollläden haben keine Rückantwort. Ich könnte mich noch auf den Datenpunkt der CCU stützen, aber wenn jemand mit der Fernbedienung manuell den Rollladen verfahren hat, merkt das die CCU nicht.

                    Daher meine Frage wie das andere gelöst haben bzw. ob ich vielleicht der einzige in der Kombination bin.

                    Eine Idee wäre von mir, das im Skript über eine Variable eine Sekundenzahl definiert wird und eine Variable ob diese beachtet wird (ggf. als Luxusversion in der View änderbar, muss aber nicht). Dann müsste im Skript nur hinterlegt sein, dass vor jedem Kommando bzw. vor jeder Zeitsteuerung diese Sekundenzahl gewartet wird. Eine Art Kommando-Warteschlange nur etwas brachialer.

                    Vielleicht bin ich aber wirklich mit der Problemstellung auch der einzige, dann lass ich mir etwas einfallen bzw. das ganze weiterhin auf der CCU laufen.

                    G K 2 Antworten Letzte Antwort
                    0
                    • M micklafisch

                      @GiuseppeS
                      ja das habe ich schon befürchtet, dass es die View weiter "sprengt".

                      Einen Istwert sehe ich nicht, die Rollläden haben keine Rückantwort. Ich könnte mich noch auf den Datenpunkt der CCU stützen, aber wenn jemand mit der Fernbedienung manuell den Rollladen verfahren hat, merkt das die CCU nicht.

                      Daher meine Frage wie das andere gelöst haben bzw. ob ich vielleicht der einzige in der Kombination bin.

                      Eine Idee wäre von mir, das im Skript über eine Variable eine Sekundenzahl definiert wird und eine Variable ob diese beachtet wird (ggf. als Luxusversion in der View änderbar, muss aber nicht). Dann müsste im Skript nur hinterlegt sein, dass vor jedem Kommando bzw. vor jeder Zeitsteuerung diese Sekundenzahl gewartet wird. Eine Art Kommando-Warteschlange nur etwas brachialer.

                      Vielleicht bin ich aber wirklich mit der Problemstellung auch der einzige, dann lass ich mir etwas einfallen bzw. das ganze weiterhin auf der CCU laufen.

                      G Offline
                      G Offline
                      GiuseppeS
                      schrieb am zuletzt editiert von
                      #559

                      @micklafisch
                      Ich weiß zufällig, dass @K_o_bold auch über 433Mhz steuert und das selbe Problem bemängelt hatte. Jetzt hat er es wohl über die zufälligen Minuten laufen (falls ich noch aktuell informiert bin). Istwerte bekommt er virtuell über berechnete Zeiten nach Steuerung.

                      Ich kann prüfen, ob ich eine Art timeout integrieren könnte, dass Befehle die zur selben Minute ausgeführt werden müssten, zumindest um 1 oder 2 Sekunden versetzt abgesetzt werden.
                      Was mit wenig Aufwand möglich ist: eine fixe Verzögerung in Sekunden gemäß Geräte-Position in Tabelle. Zum Beispiel würde Gerät 1 immer um Uhrzeit ab:xy:01 gesteuert werden (Beispiel: 19:34:01). Gerät 2 würde zu Sekunde 02 gesteuert werden usw.
                      Das wäre ziemlich schnell integriert. Aber "elegant" finde ich die Lösung nicht, nur funktional. Wenn man nicht mehr als 59 Geräte in der Tabelle hat, dürfte es keine Probleme geben. Den Versatz würde ich evtl als Variable oben im Skript hinzufügen.
                      Werde schauen wie und wann ich es umsetzen kann, tendenziell wird es Richtung Wochenende der Fall sein...

                      M 1 Antwort Letzte Antwort
                      0
                      • G GiuseppeS

                        @micklafisch
                        Ich weiß zufällig, dass @K_o_bold auch über 433Mhz steuert und das selbe Problem bemängelt hatte. Jetzt hat er es wohl über die zufälligen Minuten laufen (falls ich noch aktuell informiert bin). Istwerte bekommt er virtuell über berechnete Zeiten nach Steuerung.

                        Ich kann prüfen, ob ich eine Art timeout integrieren könnte, dass Befehle die zur selben Minute ausgeführt werden müssten, zumindest um 1 oder 2 Sekunden versetzt abgesetzt werden.
                        Was mit wenig Aufwand möglich ist: eine fixe Verzögerung in Sekunden gemäß Geräte-Position in Tabelle. Zum Beispiel würde Gerät 1 immer um Uhrzeit ab:xy:01 gesteuert werden (Beispiel: 19:34:01). Gerät 2 würde zu Sekunde 02 gesteuert werden usw.
                        Das wäre ziemlich schnell integriert. Aber "elegant" finde ich die Lösung nicht, nur funktional. Wenn man nicht mehr als 59 Geräte in der Tabelle hat, dürfte es keine Probleme geben. Den Versatz würde ich evtl als Variable oben im Skript hinzufügen.
                        Werde schauen wie und wann ich es umsetzen kann, tendenziell wird es Richtung Wochenende der Fall sein...

                        M Online
                        M Online
                        micklafisch
                        schrieb am zuletzt editiert von
                        #560

                        @GiuseppeS
                        gemäß Walther Rathenau Eleganz ist gemeisterte Verschwendung :blush:

                        Spass beiseite, ich verstehe den Antritt es möglichst "sauber" und "intelligent" zu lösen. Allerdings könnte ich mir der Idee Geräte-Tabellenposition + Zeitfaktor X super leben.

                        Zeitliche Umsetzung eilt selbstverständlich nicht. Ich kann warten und lasse vorerst meine CCU weiterhin die tägliche Arbeit verrichten.

                        Bereits jetzt ein herzliches Dankeschön für deine Mühen.

                        1 Antwort Letzte Antwort
                        0
                        • M micklafisch

                          @GiuseppeS
                          ja das habe ich schon befürchtet, dass es die View weiter "sprengt".

                          Einen Istwert sehe ich nicht, die Rollläden haben keine Rückantwort. Ich könnte mich noch auf den Datenpunkt der CCU stützen, aber wenn jemand mit der Fernbedienung manuell den Rollladen verfahren hat, merkt das die CCU nicht.

                          Daher meine Frage wie das andere gelöst haben bzw. ob ich vielleicht der einzige in der Kombination bin.

                          Eine Idee wäre von mir, das im Skript über eine Variable eine Sekundenzahl definiert wird und eine Variable ob diese beachtet wird (ggf. als Luxusversion in der View änderbar, muss aber nicht). Dann müsste im Skript nur hinterlegt sein, dass vor jedem Kommando bzw. vor jeder Zeitsteuerung diese Sekundenzahl gewartet wird. Eine Art Kommando-Warteschlange nur etwas brachialer.

                          Vielleicht bin ich aber wirklich mit der Problemstellung auch der einzige, dann lass ich mir etwas einfallen bzw. das ganze weiterhin auf der CCU laufen.

                          K Offline
                          K Offline
                          K_o_bold
                          schrieb am zuletzt editiert von
                          #561

                          @micklafisch ,

                          wie @GiuseppeS erwähnte habe ich eine ähnliche Konstellation. 433 mhz und keine Rückmeldung über die Zustände, also der Istwert ist erstmal unbekannt.
                          Um den Istwert zu bekommen musst du wissen wie lange der Verfahrweg von 0 bis 100 % dauert.
                          Dann kannst du den Istwert in einem Skript berechnen und in einem Datenpunkt ablegen.
                          Damit das ganze dann auch mit Fernbedienung klappt, habe ich die manuellen 433 mhz Fernbedienungen durch Zigbee Taster ersetzt.
                          Wenn du Fragen dazu hast, kannst du dich gerne melden, bzw. kann ich dir auch mal das Skript schicken.
                          Das Rollladenskript habe ich übrigens auch mit großer Hilfe von giuseppe umgesetzt.
                          Vielen Dank nochmal an dieser Stelle ;-)

                          Über die minütliche Zeitsteuerung von Giuseppes Skript bin ich auch gestolpert und habe mich mittlerweile daran gewöhnt dass die Rollläden im Minutentakt fahren.
                          Ich finde es sogar besser, denn ich habe 9 Rollläden und wenn sie alle gleichzeitig laufen, ist es dann doch etwas unangenehm laut.

                          M 1 Antwort Letzte Antwort
                          0
                          • K K_o_bold

                            @micklafisch ,

                            wie @GiuseppeS erwähnte habe ich eine ähnliche Konstellation. 433 mhz und keine Rückmeldung über die Zustände, also der Istwert ist erstmal unbekannt.
                            Um den Istwert zu bekommen musst du wissen wie lange der Verfahrweg von 0 bis 100 % dauert.
                            Dann kannst du den Istwert in einem Skript berechnen und in einem Datenpunkt ablegen.
                            Damit das ganze dann auch mit Fernbedienung klappt, habe ich die manuellen 433 mhz Fernbedienungen durch Zigbee Taster ersetzt.
                            Wenn du Fragen dazu hast, kannst du dich gerne melden, bzw. kann ich dir auch mal das Skript schicken.
                            Das Rollladenskript habe ich übrigens auch mit großer Hilfe von giuseppe umgesetzt.
                            Vielen Dank nochmal an dieser Stelle ;-)

                            Über die minütliche Zeitsteuerung von Giuseppes Skript bin ich auch gestolpert und habe mich mittlerweile daran gewöhnt dass die Rollläden im Minutentakt fahren.
                            Ich finde es sogar besser, denn ich habe 9 Rollläden und wenn sie alle gleichzeitig laufen, ist es dann doch etwas unangenehm laut.

                            M Online
                            M Online
                            micklafisch
                            schrieb am zuletzt editiert von
                            #562

                            @K_o_bold
                            danke für deine Informationen. Läuft die gemessene Zeitmethode nicht irgendwann aus dem Ruder oder wie kalibrierst du die Rollläden?

                            Die minütlichen Abstände hatte ich versuchsweise 1 Woche bei mir am laufen, aber aufgrund mangelnden Zuspruchs der Hausherrin wieder verworfen.

                            Wenn @GiuseppeS wie von ihm vorgeschlagen die Verzögerung reinbastelt ist es perfekt für mich.

                            G 1 Antwort Letzte Antwort
                            0
                            • M micklafisch

                              @K_o_bold
                              danke für deine Informationen. Läuft die gemessene Zeitmethode nicht irgendwann aus dem Ruder oder wie kalibrierst du die Rollläden?

                              Die minütlichen Abstände hatte ich versuchsweise 1 Woche bei mir am laufen, aber aufgrund mangelnden Zuspruchs der Hausherrin wieder verworfen.

                              Wenn @GiuseppeS wie von ihm vorgeschlagen die Verzögerung reinbastelt ist es perfekt für mich.

                              G Offline
                              G Offline
                              GiuseppeS
                              schrieb am zuletzt editiert von
                              #563

                              @micklafisch
                              Bzgl der Verzögerung hatte ich es gestern schon getestet. Muss noch eine Kleinigkeit anpassen (Log auch um x Sekunden verzögern, sonst verwirrend).
                              Außerdem muss ich noch testen, ob die Verzögerung funktioniert, wenn Timer im Hintergrund mit nachträglich erfüllten Bedingungen auch verzögert gesetzt werden. Heute Abend oder morgen Abend wird es fertig sein.

                              Zur Zeitmessung von K_o_bold:
                              Er hat eine Zeit X gemessen, die der Rollladen von 0 auf 100 benötigt. Anhand dessen kann die aktuelle Position interpoliert werden, wenn der Rollladen mittendrin per Befehl (zigbee Taster) gestoppt wird.
                              Wenn der Rollladen gestartet wird und nicht über ein Befehl mittendrin gestoppt wird und die zuvor gemessene Zeit X (oder Rest von X, falls von mittendrin gestartet) überschritten wird, muss der Rollladen an einer Endposition sein und die berechnete/angezeigte Position wird auf 0 bzw 100 gesetzt. Vorhandene Rechenfehler der Position, werden hiermit eliminiert. Nur wenn öfter z.B. von Position 30 und 70 und wieder zurück gefahren wird würden die Differenzen der angezeigten und der realen Position voneinander abweichen. Einfluss hat z.B.: Zeitdifferenz zwischen Sendebefehl an Rollladen und tatsächliches Verfahren des Rollladen.

                              M 1 Antwort Letzte Antwort
                              0
                              • G Offline
                                G Offline
                                GiuseppeS
                                schrieb am zuletzt editiert von GiuseppeS
                                #564

                                Habe eine neue Version hochgeladen; hier ist eine neue Variable integriert, über die eine zeitversetzte Steuerung möglich ist.

                                Wie zuletzt immer gehandhabt: Wer diese Funktion nicht benötigt, braucht oben im Variablen-Bereich keine Variablen zu ergänzen.

                                Beim Testen der neuen Funktion mit dem Versatz ist mir ein Bug aufgefallen:
                                Wenn mehrere Timer gemerkt werden, werden im Nachgang nicht alle Timer sofort ausgelöst, wenn die Bedingungen nachträglich erfüllt werden. Ich bin noch nicht dahintergekommen welche Umstände dazu führen, aber ich konnte es reproduzieren als ich 4 Timer zur selben Uhrzeit mit nicht-erfüllten Bedingungen in den Hintegrund "geschoben" habe.

                                Bug ist nicht durch die neue Funktion entstanden, muss wohl schon länger so sein, daher habe ich jetzt trotzdem die neue Version hochgeladen :man-shrugging:


                                Changelog 17.06.2020 (Skript)

                                • Steuerung der Geräte mit Versatz möglich. Neue (optionale) Variable "sendWithOffset"
                                M 1 Antwort Letzte Antwort
                                0
                                • G GiuseppeS

                                  @micklafisch
                                  Bzgl der Verzögerung hatte ich es gestern schon getestet. Muss noch eine Kleinigkeit anpassen (Log auch um x Sekunden verzögern, sonst verwirrend).
                                  Außerdem muss ich noch testen, ob die Verzögerung funktioniert, wenn Timer im Hintergrund mit nachträglich erfüllten Bedingungen auch verzögert gesetzt werden. Heute Abend oder morgen Abend wird es fertig sein.

                                  Zur Zeitmessung von K_o_bold:
                                  Er hat eine Zeit X gemessen, die der Rollladen von 0 auf 100 benötigt. Anhand dessen kann die aktuelle Position interpoliert werden, wenn der Rollladen mittendrin per Befehl (zigbee Taster) gestoppt wird.
                                  Wenn der Rollladen gestartet wird und nicht über ein Befehl mittendrin gestoppt wird und die zuvor gemessene Zeit X (oder Rest von X, falls von mittendrin gestartet) überschritten wird, muss der Rollladen an einer Endposition sein und die berechnete/angezeigte Position wird auf 0 bzw 100 gesetzt. Vorhandene Rechenfehler der Position, werden hiermit eliminiert. Nur wenn öfter z.B. von Position 30 und 70 und wieder zurück gefahren wird würden die Differenzen der angezeigten und der realen Position voneinander abweichen. Einfluss hat z.B.: Zeitdifferenz zwischen Sendebefehl an Rollladen und tatsächliches Verfahren des Rollladen.

                                  M Online
                                  M Online
                                  micklafisch
                                  schrieb am zuletzt editiert von
                                  #565

                                  @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                  @micklafisch
                                  Wenn der Rollladen gestartet wird und nicht über ein Befehl mittendrin gestoppt wird und die zuvor gemessene Zeit X (oder Rest von X, falls von mittendrin gestartet) überschritten wird, muss der Rollladen an einer Endposition sein und die berechnete/angezeigte Position wird auf 0 bzw 100 gesetzt. Vorhandene Rechenfehler der Position, werden hiermit eliminiert.

                                  Das hört sich in der Tat interessant an. Bisher hatte ich mit den 0 - 50 und 100% Stellungen gelebt, wobei die 50% Stellung bei Somy die fest eingespeicherte "my" Position ist. Alles was dann manuell mitten drin gestoppt wurde wurde in der VIS falsch dargestellt.

                                  Die neue Version mit der Verzögerung werde ich vermutlich am Wochenende testen und dann bereichten wie es läuft.

                                  1 Antwort Letzte Antwort
                                  0
                                  • G GiuseppeS

                                    Habe eine neue Version hochgeladen; hier ist eine neue Variable integriert, über die eine zeitversetzte Steuerung möglich ist.

                                    Wie zuletzt immer gehandhabt: Wer diese Funktion nicht benötigt, braucht oben im Variablen-Bereich keine Variablen zu ergänzen.

                                    Beim Testen der neuen Funktion mit dem Versatz ist mir ein Bug aufgefallen:
                                    Wenn mehrere Timer gemerkt werden, werden im Nachgang nicht alle Timer sofort ausgelöst, wenn die Bedingungen nachträglich erfüllt werden. Ich bin noch nicht dahintergekommen welche Umstände dazu führen, aber ich konnte es reproduzieren als ich 4 Timer zur selben Uhrzeit mit nicht-erfüllten Bedingungen in den Hintegrund "geschoben" habe.

                                    Bug ist nicht durch die neue Funktion entstanden, muss wohl schon länger so sein, daher habe ich jetzt trotzdem die neue Version hochgeladen :man-shrugging:


                                    Changelog 17.06.2020 (Skript)

                                    • Steuerung der Geräte mit Versatz möglich. Neue (optionale) Variable "sendWithOffset"
                                    M Online
                                    M Online
                                    micklafisch
                                    schrieb am zuletzt editiert von
                                    #566

                                    @GiuseppeS
                                    ich habe glaube ich noch einen Fehler gefunden:

                                    Ich habe bei den Rollläden die Sortierung der Gruppe über "DropDownDevice" geändert und das Skript danach neu gestartet. Jetzt werden die Rollläden korrekt sortiert angezeigt, wenn ich aber ein einzelnen Rollladen auswähle, dann sind die angezeigten Parameter nicht die des aktuellen Rollladens sondern für den der zuvor in der Liste der DropDownDevice stand.

                                    Ein Video sagt mehr als tausend Worte:

                                    Anzeigefehler ausgewählter Rollladen.gif

                                    Da ich mich erst jetzt wieder tiefer mit dem Skript beschäftige und auch jetzt erst dadurch die Sortierung der Rollläden angepasst habe, kann ich nicht sagen seit wann der Fehler ist.

                                    GlasfaserG G 2 Antworten Letzte Antwort
                                    0
                                    • M micklafisch

                                      @GiuseppeS
                                      ich habe glaube ich noch einen Fehler gefunden:

                                      Ich habe bei den Rollläden die Sortierung der Gruppe über "DropDownDevice" geändert und das Skript danach neu gestartet. Jetzt werden die Rollläden korrekt sortiert angezeigt, wenn ich aber ein einzelnen Rollladen auswähle, dann sind die angezeigten Parameter nicht die des aktuellen Rollladens sondern für den der zuvor in der Liste der DropDownDevice stand.

                                      Ein Video sagt mehr als tausend Worte:

                                      Anzeigefehler ausgewählter Rollladen.gif

                                      Da ich mich erst jetzt wieder tiefer mit dem Skript beschäftige und auch jetzt erst dadurch die Sortierung der Rollläden angepasst habe, kann ich nicht sagen seit wann der Fehler ist.

                                      GlasfaserG Offline
                                      GlasfaserG Offline
                                      Glasfaser
                                      schrieb am zuletzt editiert von
                                      #567

                                      @micklafisch sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                                      und das Skript danach neu gestartet.

                                      starte mal dein komplettes System mal neu ... und was ist dann !?

                                      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                      1 Antwort Letzte Antwort
                                      0
                                      • M micklafisch

                                        @GiuseppeS
                                        ich habe glaube ich noch einen Fehler gefunden:

                                        Ich habe bei den Rollläden die Sortierung der Gruppe über "DropDownDevice" geändert und das Skript danach neu gestartet. Jetzt werden die Rollläden korrekt sortiert angezeigt, wenn ich aber ein einzelnen Rollladen auswähle, dann sind die angezeigten Parameter nicht die des aktuellen Rollladens sondern für den der zuvor in der Liste der DropDownDevice stand.

                                        Ein Video sagt mehr als tausend Worte:

                                        Anzeigefehler ausgewählter Rollladen.gif

                                        Da ich mich erst jetzt wieder tiefer mit dem Skript beschäftige und auch jetzt erst dadurch die Sortierung der Rollläden angepasst habe, kann ich nicht sagen seit wann der Fehler ist.

                                        G Offline
                                        G Offline
                                        GiuseppeS
                                        schrieb am zuletzt editiert von
                                        #568

                                        @micklafisch
                                        Den Fehler kann ich bei mir nicht reproduzieren. Filtert wie gewünscht...

                                        Wie Glasfaser meinte, System mal komplett neu starten. Hatten schon die seltsamsten Probleme.
                                        Ich werde übrigens auch nochmal schauen, ob mein Bug mit System Neustart noch existiert. Daran hatte ich nämlich auch nicht gedacht.

                                        Wenn das mit dem Filtern bei dir weiterhin fehlerhaft ist, muss ich mal prüfen ob es mit deinen ":" in den Namen zusammenhängen kann. Sonderzeichen sind selten eine gute Idee ;-)

                                        M 1 Antwort Letzte Antwort
                                        0
                                        • G GiuseppeS

                                          @micklafisch
                                          Den Fehler kann ich bei mir nicht reproduzieren. Filtert wie gewünscht...

                                          Wie Glasfaser meinte, System mal komplett neu starten. Hatten schon die seltsamsten Probleme.
                                          Ich werde übrigens auch nochmal schauen, ob mein Bug mit System Neustart noch existiert. Daran hatte ich nämlich auch nicht gedacht.

                                          Wenn das mit dem Filtern bei dir weiterhin fehlerhaft ist, muss ich mal prüfen ob es mit deinen ":" in den Namen zusammenhängen kann. Sonderzeichen sind selten eine gute Idee ;-)

                                          M Online
                                          M Online
                                          micklafisch
                                          schrieb am zuletzt editiert von
                                          #569

                                          @GiuseppeS @Glasfaser
                                          ein Neustart meines ioBroker Containers hat nichts gebracht, der Fehler ist weiterhin. Jetzt habe ich in einem zweiten Skript welches parallel läuft (andere Geräte/Aufzählungen) und auch die Filterung bisher funktionierte einmal die Sortierung in dem entsprechenden DropDownDevice geändert und siehe da ich hab den Fehler auch da. Der Doppelpunkt kommt von der CCU (CUx Device), da ich damals beim Einrichten dem Rat gefolgt bin jedem Geräte-Kanal auch die Kanalnummer im Namen mitzugeben um die Übersicht zu behalten.

                                          Ich hab den Namen der Kanäle einmal händisch angepasst und den Doppelpunkt in ioBroker entfernt, das wird aber wieder überschrieben wenn die CCU die Daten synchronisiert.

                                          Komischerweise funktionierte die Filterung im zweiten Enum bisher problemlos, bis ich die Sortierung geändert habe. Als würde das manuelle anpassen der Sortierung etwas an der Schreibweise der Daten ändern :confused:

                                          G 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

                                          825

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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