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. Blockly
  5. Skript quasi per Skript aktivieren / deaktivieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Skript quasi per Skript aktivieren / deaktivieren

Geplant Angeheftet Gesperrt Verschoben Blockly
8 Beiträge 4 Kommentatoren 1.5k Aufrufe 4 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.
  • Kaiser Franz JosefK Offline
    Kaiser Franz JosefK Offline
    Kaiser Franz Josef
    schrieb am zuletzt editiert von
    #1

    morgen
    mal eine generelle Frage

    wenn ich in einen Raum gehe und der Bewegungsmelder registriert das dan geht das Licht für 5 Minuten an und dann wieder aus

    wenn ich ich jetzt beim Betreten des Raumes einen Schalter drücke soll das Licht angehen aber das quasi automatische Skript deaktiviert werden und das Licht "ewig" brennen

    beim erneuten Schalter drücken soll das Licht aus gehen und das Skript wieder aktiviert werden

    hoffe ich hab mich da verständlich ausgedrückt :cold_sweat:

    geht das

    Lg

    SBorgS 1 Antwort Letzte Antwort
    0
    • C Offline
      C Offline
      CruziX
      schrieb am zuletzt editiert von CruziX
      #2

      Beim Schalter drücken eine Variable setzen z.B. vDeaktiviereAuto = true
      und jegliche Timer/Intervalle welche das Licht wieder ausstellen löschen.
      Bei der Logik die bei Bewegung aktiviert wird, also im Trigger der Bewegung einfach den Rest nur ausführen wenn vDeaktiviereAuto == false.

      Beim zweiten betätigen des Schalters einfach die Variable wieder auf false setzen.

      Hierbei kommt es natürlich auf verschiedene Dinge an.
      Ist der Lichtschalter smart? Ist eine smarte Birne verbaut oder schaltet z.B. nur ein Shelly die Lampe? Reagiert der Bewegungsmelder schon bevor man überhaupt an den Schalter kommen kann? Das muss alles beachtet werden, irgendwer hatte hier auch schonmal so ein Thema

      1 Antwort Letzte Antwort
      0
      • Kaiser Franz JosefK Kaiser Franz Josef

        morgen
        mal eine generelle Frage

        wenn ich in einen Raum gehe und der Bewegungsmelder registriert das dan geht das Licht für 5 Minuten an und dann wieder aus

        wenn ich ich jetzt beim Betreten des Raumes einen Schalter drücke soll das Licht angehen aber das quasi automatische Skript deaktiviert werden und das Licht "ewig" brennen

        beim erneuten Schalter drücken soll das Licht aus gehen und das Skript wieder aktiviert werden

        hoffe ich hab mich da verständlich ausgedrückt :cold_sweat:

        geht das

        Lg

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3

        @Kaiser-Franz-Josef sagte in Skript quasi per Skript aktivieren / deaktivieren:

        einen Schalter drücke soll das Licht angehen aber das quasi automatische Skript deaktiviert

        Das geht recht einfach. Deine JS/Blocklys liegen alle in den Objekten (je nach Instanz und Ordnerstruktur) z.B. unter

        javascript.0.scriptEnabled.common.xxxxxxx.xxxxx
        

        Steht der DP auf true ist dein Skript enabled/startet/ist gestartet, setzt du ihn auf false wird das Skript disabled/angehalten.

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        C 1 Antwort Letzte Antwort
        1
        • SBorgS SBorg

          @Kaiser-Franz-Josef sagte in Skript quasi per Skript aktivieren / deaktivieren:

          einen Schalter drücke soll das Licht angehen aber das quasi automatische Skript deaktiviert

          Das geht recht einfach. Deine JS/Blocklys liegen alle in den Objekten (je nach Instanz und Ordnerstruktur) z.B. unter

          javascript.0.scriptEnabled.common.xxxxxxx.xxxxx
          

          Steht der DP auf true ist dein Skript enabled/startet/ist gestartet, setzt du ihn auf false wird das Skript disabled/angehalten.

          C Offline
          C Offline
          CruziX
          schrieb am zuletzt editiert von
          #4

          @SBorg Ich kann technisch nicht wirklich erklären wieso, aber diverse Entwickler die Ahnung haben raten davon ab und eher zu einer Variable die so etw steuert.

          ? SBorgS 2 Antworten Letzte Antwort
          0
          • C CruziX

            @SBorg Ich kann technisch nicht wirklich erklären wieso, aber diverse Entwickler die Ahnung haben raten davon ab und eher zu einer Variable die so etw steuert.

            ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #5

            @CruziX das ist ganz einfach, warum man scripte nie stoppen sollte, sondern Variablen benutzen:

            a) Wenn ein Script angehalten ist, und es nicht mehr startet, dann funktioniert gar nichts mehr.
            b) In der Übersicht deiner Scripte weisst du ja dann nie, ob ein Script absichtlich von dir selbst oder von einem anderen Script abgeschaltet wurde
            c) Programmiertechnisch ist es echt sowas von simpel, mit Variablen zu arbeiten, gerade bei iobroker geht das doch einfach und auch Scriptübergreifend.

            Genau das Beispiel hier hatten wir schon oft genug, und es ist total simpel, hier ein Beispiel aus dem Forum, weiss nicht mehr, von wem das war:
            c6bf5a42-d44f-49af-8106-8f4480961dda-grafik.png

            C 1 Antwort Letzte Antwort
            1
            • C CruziX

              @SBorg Ich kann technisch nicht wirklich erklären wieso, aber diverse Entwickler die Ahnung haben raten davon ab und eher zu einer Variable die so etw steuert.

              SBorgS Offline
              SBorgS Offline
              SBorg
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              @CruziX Das hängt davon ab wie dein Blockly aufgebaut ist. Viele setzten bspw. einfach nur einen Timeout. Der läuft aber beim beenden des Blocklys munter weiter. Startet man dann das Blockly neu kommt es uU. zu einem nicht sofort offensichtlichem Fehler. Deswegen sollte man vor dem setzen des Timeouts diesen sicherheitshalber immer löschen. So steht der auch wirklich auf Null (oder was auch immer) und nicht auf einem undefiniertem Restwert ;)

              LG SBorg ( SBorg auf GitHub)
              Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

              C 1 Antwort Letzte Antwort
              0
              • SBorgS SBorg

                @CruziX Das hängt davon ab wie dein Blockly aufgebaut ist. Viele setzten bspw. einfach nur einen Timeout. Der läuft aber beim beenden des Blocklys munter weiter. Startet man dann das Blockly neu kommt es uU. zu einem nicht sofort offensichtlichem Fehler. Deswegen sollte man vor dem setzen des Timeouts diesen sicherheitshalber immer löschen. So steht der auch wirklich auf Null (oder was auch immer) und nicht auf einem undefiniertem Restwert ;)

                C Offline
                C Offline
                CruziX
                schrieb am zuletzt editiert von
                #7

                @SBorg sagte in Skript quasi per Skript aktivieren / deaktivieren:

                @CruziX Das hängt davon ab wie dein Blockly aufgebaut ist. Viele setzten bspw. einfach nur einen Timeout. Der läuft aber beim beenden des Blocklys munter weiter. Startet man dann das Blockly neu kommt es uU. zu einem nicht sofort offensichtlichem Fehler. Deswegen sollte man vor dem setzen des Timeouts diesen sicherheitshalber immer löschen. So steht der auch wirklich auf Null (oder was auch immer) und nicht auf einem undefiniertem Restwert ;)

                Ja klar, da stimme ich zu. Das gehört meistens mit zu der Verwendung von Timeouts/Intervallen, wenn diese erstellt werden -> sicherstellen, dass kein weiterer läuft

                1 Antwort Letzte Antwort
                0
                • ? Ein ehemaliger Benutzer

                  @CruziX das ist ganz einfach, warum man scripte nie stoppen sollte, sondern Variablen benutzen:

                  a) Wenn ein Script angehalten ist, und es nicht mehr startet, dann funktioniert gar nichts mehr.
                  b) In der Übersicht deiner Scripte weisst du ja dann nie, ob ein Script absichtlich von dir selbst oder von einem anderen Script abgeschaltet wurde
                  c) Programmiertechnisch ist es echt sowas von simpel, mit Variablen zu arbeiten, gerade bei iobroker geht das doch einfach und auch Scriptübergreifend.

                  Genau das Beispiel hier hatten wir schon oft genug, und es ist total simpel, hier ein Beispiel aus dem Forum, weiss nicht mehr, von wem das war:
                  c6bf5a42-d44f-49af-8106-8f4480961dda-grafik.png

                  C Offline
                  C Offline
                  CruziX
                  schrieb am zuletzt editiert von
                  #8

                  @ilovegym Würde ich eh immer so machen. War mir jetzt nur nicht sicher ob es wirklich technische Gründe hat.

                  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

                  522

                  Online

                  32.7k

                  Benutzer

                  82.4k

                  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