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. AutoOFF nach bestimmter Zeit

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    522

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

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

AutoOFF nach bestimmter Zeit

Geplant Angeheftet Gesperrt Verschoben Blockly
10 Beiträge 4 Kommentatoren 1.6k Aufrufe 1 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.
  • B Offline
    B Offline
    Brunoz
    schrieb am zuletzt editiert von
    #1

    Guten Morgen Zusammen,

    in meiner Wohnung habe ich mir in allen Schalter Shellys 1 eingebaut und bin mit sehr glücklich mit der AutoOff-Funktion.
    Über meiner Visu kann ich jeden Schalter per Minuteneingabe automatisch ausschalten lassen.

    Bild.jpg

    Jetzt musste ich aber aus technischen Gründen bei einer Kreuzschaltung einen Meross Schalter einbauen, der sich auch sehr einfach in Iobroker integrieren lässt - aber leider ohne AutoOff Datenpunkt.

    Jetzt war meine Idee, diese AutoOff Funktion über Blockly selbst zu realisieren.
    Tja und jetzt bin ich hier ;)

    Leider hatte ich mir das einfacher vorgestellt.

    Die AutoOff Blockly Skripte die ich im Netz gefunden hatte, wollen bei mir nicht funktionieren.

    Gibt es eine Möglichkeit in Blockly per Datenpunkt (Beispiel: 10 Minuten) - eine Lampe sobald diese eingeschaltet wurde - nach einer selbst bestimmt Zeit (Minuten) ausschalten zu lassen.

    Für eure Hilfe schonmal vorab vielen Dank.

    Gruß

    AsgothianA 1 Antwort Letzte Antwort
    0
    • B Brunoz

      Guten Morgen Zusammen,

      in meiner Wohnung habe ich mir in allen Schalter Shellys 1 eingebaut und bin mit sehr glücklich mit der AutoOff-Funktion.
      Über meiner Visu kann ich jeden Schalter per Minuteneingabe automatisch ausschalten lassen.

      Bild.jpg

      Jetzt musste ich aber aus technischen Gründen bei einer Kreuzschaltung einen Meross Schalter einbauen, der sich auch sehr einfach in Iobroker integrieren lässt - aber leider ohne AutoOff Datenpunkt.

      Jetzt war meine Idee, diese AutoOff Funktion über Blockly selbst zu realisieren.
      Tja und jetzt bin ich hier ;)

      Leider hatte ich mir das einfacher vorgestellt.

      Die AutoOff Blockly Skripte die ich im Netz gefunden hatte, wollen bei mir nicht funktionieren.

      Gibt es eine Möglichkeit in Blockly per Datenpunkt (Beispiel: 10 Minuten) - eine Lampe sobald diese eingeschaltet wurde - nach einer selbst bestimmt Zeit (Minuten) ausschalten zu lassen.

      Für eure Hilfe schonmal vorab vielen Dank.

      Gruß

      AsgothianA Offline
      AsgothianA Offline
      Asgothian
      Developer
      schrieb am zuletzt editiert von
      #2

      @Brunoz sagte in AutoOFF nach bestimmter Zeit:

      Leider hatte ich mir das einfacher vorgestellt.
      Die AutoOff Blockly Skripte die ich im Netz gefunden hatte, wollen bei mir nicht funktionieren.

      Beispiel ?

      Gibt es eine Möglichkeit in Blockly per Datenpunkt (Beispiel: 10 Minuten) - eine Lampe sobald diese eingeschaltet wurde - nach einer selbst bestimmt Zeit (Minuten) ausschalten zu lassen.

      gibt es

      Für eure Hilfe schonmal vorab vielen Dank.

      Jetzt mal Details, zumindest für ein Beispiel, sonst wird das nichts mit der Hilfe:

      • Welche Datenpunkte hast du (bei dem Beispiel) ?
      • Welches Verhalten soll genau entstehen ?

      Zum Thema "variable" timeouts in Blockly - das ist leider schlecht dokumentiert, aber:

      Screenshot 2020-11-05 at 07.56.38.png

      Man kann sowohl beim Timeout Block als auch beim Intervall Block an Stelle der Zahl auch den Namen einer Variable eintragen. Es wird dann der Wert dieser Variablen genutzt. Das gibt natürlich Probleme wenn die Variable keine Zahl beinhaltet.

      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

      B 1 Antwort Letzte Antwort
      0
      • AsgothianA Asgothian

        @Brunoz sagte in AutoOFF nach bestimmter Zeit:

        Leider hatte ich mir das einfacher vorgestellt.
        Die AutoOff Blockly Skripte die ich im Netz gefunden hatte, wollen bei mir nicht funktionieren.

        Beispiel ?

        Gibt es eine Möglichkeit in Blockly per Datenpunkt (Beispiel: 10 Minuten) - eine Lampe sobald diese eingeschaltet wurde - nach einer selbst bestimmt Zeit (Minuten) ausschalten zu lassen.

        gibt es

        Für eure Hilfe schonmal vorab vielen Dank.

        Jetzt mal Details, zumindest für ein Beispiel, sonst wird das nichts mit der Hilfe:

        • Welche Datenpunkte hast du (bei dem Beispiel) ?
        • Welches Verhalten soll genau entstehen ?

        Zum Thema "variable" timeouts in Blockly - das ist leider schlecht dokumentiert, aber:

        Screenshot 2020-11-05 at 07.56.38.png

        Man kann sowohl beim Timeout Block als auch beim Intervall Block an Stelle der Zahl auch den Namen einer Variable eintragen. Es wird dann der Wert dieser Variablen genutzt. Das gibt natürlich Probleme wenn die Variable keine Zahl beinhaltet.

        B Offline
        B Offline
        Brunoz
        schrieb am zuletzt editiert von
        #3

        @Asgothian
        Vielen Dank!
        Hab es gerade versucht.

        Aber leider scheint er die Variable zu setzen aber der Timeout mit Variable funktioniert nicht.

        Der Code innerhalb der Timeout Funktion wird sofort ausgeführt.

        Wie in meinem Beispiel - sollte die Lampe erst nach 21 Minuten ausgeschaltet werden.

        AsgothianA 1 Antwort Letzte Antwort
        0
        • B Brunoz

          @Asgothian
          Vielen Dank!
          Hab es gerade versucht.

          Aber leider scheint er die Variable zu setzen aber der Timeout mit Variable funktioniert nicht.

          Der Code innerhalb der Timeout Funktion wird sofort ausgeführt.

          Wie in meinem Beispiel - sollte die Lampe erst nach 21 Minuten ausgeschaltet werden.

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von
          #4

          @Brunoz

          welche Version des JS Adapters nutzt du ?

          poste bitte den JS code deines Skriptes (bekommst du angezeigt wenn du da drauf clickst

          Screenshot 2020-11-05 at 08.59.17.png

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          B 1 Antwort Letzte Antwort
          0
          • AsgothianA Asgothian

            @Brunoz

            welche Version des JS Adapters nutzt du ?

            poste bitte den JS code deines Skriptes (bekommst du angezeigt wenn du da drauf clickst

            Screenshot 2020-11-05 at 08.59.17.png

            B Offline
            B Offline
            Brunoz
            schrieb am zuletzt editiert von
            #5

            @Asgothian
            Ich verwende die JS Script Engine 4.10.1

            var Autooff, timeout;
            
            
            on({id: 'meross.0.2001108949566790807948e1e916cd6c.0', change: "ne"}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              if (getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val > 0) {
                setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, true);
              } else {
                setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, false);
              }
            });
            
            on({id: '0_userdata.0.Technik.Beleuchtung.Flur.AutoOff', val: true}, async function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              console.log((obj.state ? obj.state.val : ""));
              Autooff = parseFloat(getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val);
              timeout = setTimeout(async function () {
                console.log(Autooff);
              }, Autooff);
            });
            
            AsgothianA 1 Antwort Letzte Antwort
            0
            • B Brunoz

              @Asgothian
              Ich verwende die JS Script Engine 4.10.1

              var Autooff, timeout;
              
              
              on({id: 'meross.0.2001108949566790807948e1e916cd6c.0', change: "ne"}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val > 0) {
                  setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, true);
                } else {
                  setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, false);
                }
              });
              
              on({id: '0_userdata.0.Technik.Beleuchtung.Flur.AutoOff', val: true}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                console.log((obj.state ? obj.state.val : ""));
                Autooff = parseFloat(getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val);
                timeout = setTimeout(async function () {
                  console.log(Autooff);
                }, Autooff);
              });
              
              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #6

              @Brunoz
              Seltsam. Nach dem JS das du gepostet hast muss es eigentlich gehen.

              Kannst Du mal bitte eine Debug-Ausgabe der Variable "Autooff" vor dem Timeout einfügen, nicht das da 0 steht ?

              Auch: es kann sein das du dem Timeout einen "integer", also eine Zahl ohne Nachkommastellen mitgeben musst.

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              B paul53P 2 Antworten Letzte Antwort
              0
              • AsgothianA Asgothian

                @Brunoz
                Seltsam. Nach dem JS das du gepostet hast muss es eigentlich gehen.

                Kannst Du mal bitte eine Debug-Ausgabe der Variable "Autooff" vor dem Timeout einfügen, nicht das da 0 steht ?

                Auch: es kann sein das du dem Timeout einen "integer", also eine Zahl ohne Nachkommastellen mitgeben musst.

                A.

                B Offline
                B Offline
                Brunoz
                schrieb am zuletzt editiert von
                #7

                @Asgothian

                Bild3.jpg

                var Autooff, timeout;
                
                
                on({id: 'meross.0.2001108949566790807948e1e916cd6c.0', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val > 0) {
                    setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, true);
                  } else {
                    setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, false);
                  }
                });
                
                on({id: '0_userdata.0.Technik.Beleuchtung.Flur.AutoOff', val: true}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  console.log((obj.state ? obj.state.val : ""));
                  Autooff = parseFloat(getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val);
                  console.log(Autooff);
                  timeout = setTimeout(async function () {
                    console.log('LAMPE AUS!!!');
                  }, Autooff);
                });
                
                N 1 Antwort Letzte Antwort
                0
                • B Brunoz

                  @Asgothian

                  Bild3.jpg

                  var Autooff, timeout;
                  
                  
                  on({id: 'meross.0.2001108949566790807948e1e916cd6c.0', change: "ne"}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if (getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val > 0) {
                      setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, true);
                    } else {
                      setState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOff"/*Beleuchtung.Flur.AutoOff*/, false);
                    }
                  });
                  
                  on({id: '0_userdata.0.Technik.Beleuchtung.Flur.AutoOff', val: true}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    console.log((obj.state ? obj.state.val : ""));
                    Autooff = parseFloat(getState("0_userdata.0.Technik.Beleuchtung.Flur.AutoOFF_Minuten").val);
                    console.log(Autooff);
                    timeout = setTimeout(async function () {
                      console.log('LAMPE AUS!!!');
                    }, Autooff);
                  });
                  
                  N Offline
                  N Offline
                  Nordischerjung
                  schrieb am zuletzt editiert von
                  #8

                  @Brunoz

                  Moin,

                  du hast Millisekunden in deinem Timer

                  Gruß Nordischerjung

                  sonnige Grüße von der Ostsee

                  B 1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

                    @Brunoz
                    Seltsam. Nach dem JS das du gepostet hast muss es eigentlich gehen.

                    Kannst Du mal bitte eine Debug-Ausgabe der Variable "Autooff" vor dem Timeout einfügen, nicht das da 0 steht ?

                    Auch: es kann sein das du dem Timeout einen "integer", also eine Zahl ohne Nachkommastellen mitgeben musst.

                    A.

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

                    @Asgothian sagte:

                    Timeout einen "integer", also eine Zahl ohne Nachkommastellen mitgeben musst.

                    Ja, mit dem Faktor 60000 (min --> ms).

                    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

                    1 Antwort Letzte Antwort
                    0
                    • N Nordischerjung

                      @Brunoz

                      Moin,

                      du hast Millisekunden in deinem Timer

                      B Offline
                      B Offline
                      Brunoz
                      schrieb am zuletzt editiert von
                      #10

                      Vielen herzlichen Dank! :blush:

                      Da war tatsächlich der Wurm drin!

                      Jetzt funktioniert es.

                      :+1: :+1: :+1:

                      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

                      463

                      Online

                      32.7k

                      Benutzer

                      82.5k

                      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