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.0k

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

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

                      342

                      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