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

                          507
                          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