Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Zeitschalter Ein / Aus Zeitvorgabe via VIS

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zeitschalter Ein / Aus Zeitvorgabe via VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Aiouh @paul53 last edited by

      @paul53 Wow, danke, da werde ich mich mal reindenken 🙂

      A 1 Reply Last reply Reply Quote 0
      • A
        Aiouh @Aiouh last edited by Aiouh

        @paul53
        Der Timer läuft los wenn ich den Datenpunkt zusatzheizer_aktiv auf true setze. Danke!

        Nun wollte ich eine weitere Bedingung hinzufügen:
        Der Timer soll nur dann anlaufen wenn mein EV Schütz zugleich aus ist. Der EV Schütz hat Priorität. Beides zugleich geht nicht.
        So wie ich es gemacht habe klappt es zwar dass der timer nicht anläuft, wenn der Schütz bereits aktiv ist und ich dann den zusatzheizer_aktiv auf true setze.
        Wenn der EV Schütz aber nach ein paar Minuten ausgeht, läuft mein Timer trotzdem nicht los.

        df144ce5-ef6a-4efe-a923-a91abee77eeb-grafik.png

        Nachtrag: Der Timer läuft ewig in der Schleife, auch wenn ich meinen zusatzheizer_aktiv auf false setze. Ich muss glaube ich doch mal die Grundlagen genauer lesen...

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

          @Aiouh sagte:

          Wenn der EV Schütz aber nach ein paar Minuten ausgeht, läuft mein Timer trotzdem nicht los.

          Der EV Schütz muss triggern, wenn dessen Ausschalten eine Reaktion bewirken soll.

          A 1 Reply Last reply Reply Quote 0
          • A
            Aiouh @paul53 last edited by Aiouh

            @paul53 Ich habe mir erst mal in der Testumgebung ein script gebastelt, da es am live system doch um einige kW Leistung geht die geschaltet werden sollen, oder eben auch mal besser nicht geschaltet werden dürfen...

            Meine Zusatzheizung soll nur dann, mit deinem Timer 😁 , geschaltet werden wenn:

            • Der Timer an sich aktiviert ist
            • Der Verbrauch im Beispiel nicht höher 2kw liegt
            • Der Schütz für mein EV (aktor_prio) nicht eingeschaltet ist.

            Im Test mit dummy datenpunkten scheint das so zu funktionieren, nun hätte ich doch gerne noch die Beurteilung des/der Experten 😊

            72b553ac-1df9-4c54-9dbd-5666e087f642-grafik.png

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

              @Aiouh sagte:

              nun hätte ich doch gerne noch die Beurteilung

              Bei mehreren Triggern kann man nicht Wert abfragen: Die Abfrage muss raus und "stop zyklische Ausführung Intervall" muss zusammen mit dem Ausschalten ganz unten passieren.

              Als 2. Trigger muss sicherlich "test_aktor_prio" verwendet werden.

              Das erste Einschalten fehlt.

              Die Debug-Ausgaben verwirren eher, da sie den vorherigen Wert ausgeben, denn "steuere" arbeitet asynchron (ist noch nicht fertig, wenn der Wert eingelesen wird).

              Blockly_temp.JPG

              A 1 Reply Last reply Reply Quote 1
              • A
                Aiouh @paul53 last edited by

                @paul53 Vielen Dank, wieder was gelernt, irgenwann begreif ich das (hoffentlich)

                A 1 Reply Last reply Reply Quote 0
                • A
                  Aiouh @Aiouh last edited by

                  @paul53 ...musste den Fred ausgraben weil ich wieder eine ähnliche Aufgabenstellung habe und wieder nicht weiterkomme.

                  Ich möchte ein Ventil "X" Minuten einschalten dann "Y" Minuten Pause und das Ganze "Z" mal wiederholen.
                  Für den ersten Teil wollte ich das obige Script nutzen.

                  Für die Wiederholungen hab ich ein Muster gebastelt, das an sich funktioniert.
                  Nur die Kombination der beiden, also das "x mal ausführen" krieg ich nicht hin.
                  Ich dachte ich kann "einfach" das obige script anstelle des "debug output n" einsetzen. Aber egal welche der "Execution Blöcke" ich einsetze, es werden Teile des obigen scripts gleich 5 mal hintereinander ausgeführt.

                  d065c2d8-3ef5-4487-82e3-ef0c962e9376-image.png

                  635c0c63-1561-4596-80c7-29587c92f182-image.png

                  12:42:28.209	info	javascript.0 (13807) Start javascript script.js.test.timertest
                  12:42:28.235	info	javascript.0 (13807) script.js.test.timertest: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                  12:42:35.251	info	javascript.0 (13807) script.js.test.timertest: timeout1
                  12:42:35.267	info	javascript.0 (13807) script.js.test.timertest: timeout1
                  12:42:35.270	info	javascript.0 (13807) script.js.test.timertest: timeout1
                  12:42:35.277	info	javascript.0 (13807) script.js.test.timertest: timeout1
                  12:42:35.283	info	javascript.0 (13807) script.js.test.timertest: timeout1
                  12:42:39.265	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:39.270	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:39.272	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:39.283	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:39.285	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:40.267	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:40.272	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:40.282	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:40.285	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:40.286	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:43.265	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:43.270	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:43.271	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:43.282	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:43.286	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:44.267	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:44.291	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:44.295	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:44.297	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:44.298	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:47.267	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:47.273	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:47.299	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:47.323	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:47.324	info	javascript.0 (13807) script.js.test.timertest: cycle time
                  12:42:48.270	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:48.298	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:48.304	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:48.324	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  12:42:48.325	info	javascript.0 (13807) script.js.test.timertest: timeout2
                  

                  Ich hoffe wieder auf Hilfe, denn begriffen hab ich das noch immer noch nicht ganz 🙄

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

                    @aiouh sagte: das "x mal ausführen" krieg ich nicht hin.

                    Man muss innerhalb des Zyklus eine Variable hoch oder runter zählen und bei Erreichen des Zielwertes den Zyklus beenden (Intervall stoppen).
                    Beispiel ohne Intervall mit Funktion:

                    Blockly_temp.JPG

                    A 2 Replies Last reply Reply Quote 1
                    • A
                      Aiouh @paul53 last edited by

                      @paul53 vielen Dank, ich war mittlerweile auf dem richtigen Weg, aber an das Stoppen des Intervall hatte ich nicht gedacht. Das hat mir jetzt viel Zeit gespart 😀

                      1 Reply Last reply Reply Quote 0
                      • A
                        Aiouh @paul53 last edited by

                        @paul53 Das script wird ja durch setzen des "automatik-ein" auf "1" gestartet und läuft durch. So war der Plan. Nun möchte ich "automatik-ein" nach Ablauf des scripts automatisch wieder auf "0" setzen.
                        Spricht was gegen die folgende Lösung ? Funktionieren tut sie zumindest 😊
                        27970158-01d8-4f3d-a0b4-436baba7b414-image.png

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

                          @aiouh sagte; Spricht was gegen die folgende Lösung ?

                          Ein "else" anstelle des Vergleichs mit 0 hätte genügt.

                          A 1 Reply Last reply Reply Quote 1
                          • A
                            Aiouh @paul53 last edited by

                            @paul53 Danke !

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            481
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            blockly
                            2
                            14
                            941
                            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