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. Zeitschalter Ein / Aus Zeitvorgabe via VIS

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Zeitschalter Ein / Aus Zeitvorgabe via VIS

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
14 Beiträge 2 Kommentatoren 1.5k Aufrufe 2 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.
  • A Aiouh

    @paul53 Wow, danke, da werde ich mich mal reindenken :)

    A Offline
    A Offline
    Aiouh
    schrieb am zuletzt editiert von Aiouh
    #4

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

    paul53P 1 Antwort Letzte Antwort
    0
    • A 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...

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

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

      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

      A 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @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 Offline
        A Offline
        Aiouh
        schrieb am zuletzt editiert von Aiouh
        #6

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

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

        paul53P 1 Antwort Letzte Antwort
        0
        • A 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 :grin: , 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 :blush:

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

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

          @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

          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

          A 1 Antwort Letzte Antwort
          1
          • paul53P 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 Offline
            A Offline
            Aiouh
            schrieb am zuletzt editiert von
            #8

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

            A 1 Antwort Letzte Antwort
            0
            • A Aiouh

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

              A Offline
              A Offline
              Aiouh
              schrieb am zuletzt editiert von
              #9

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

              paul53P 1 Antwort Letzte Antwort
              0
              • A Aiouh

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

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

                @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

                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

                A 2 Antworten Letzte Antwort
                1
                • paul53P 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 Offline
                  A Offline
                  Aiouh
                  schrieb am zuletzt editiert von
                  #11

                  @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 Antwort Letzte Antwort
                  0
                  • paul53P 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 Offline
                    A Offline
                    Aiouh
                    schrieb am zuletzt editiert von
                    #12

                    @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 :blush:
                    27970158-01d8-4f3d-a0b4-436baba7b414-image.png

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • A Aiouh

                      @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 :blush:
                      27970158-01d8-4f3d-a0b4-436baba7b414-image.png

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

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

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

                      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

                      A 1 Antwort Letzte Antwort
                      1
                      • paul53P paul53

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

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

                        A Offline
                        A Offline
                        Aiouh
                        schrieb am zuletzt editiert von
                        #14

                        @paul53 Danke !

                        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

                        605

                        Online

                        32.6k

                        Benutzer

                        82.0k

                        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