Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Anfängerproblem: Skript zur automatischen Abschaltung nach definierter Zeit

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Anfängerproblem: Skript zur automatischen Abschaltung nach definierter Zeit

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      erh_stgt last edited by

      Hallo iobroker-Gemeinde,

      als blutigster Anfänger hab ich mich nun soweit eingearbeitet, dass ich im .vis einen Schalter gesetzt habe um meine Warmwasserzirkulation einschalten zu können. Ich möchte nun, dass sich der Status des Schalters nach definierter Zeit ausschaltet. Nach langem Suchen hab ich mir nun ein Skript erstellt und dachte, ich hätte die Lösung. das tut aber leider doch nicht….

      Hier mein Skript, könnte mir bitte jemand sagen warum das nicht funktioniert (ich schätze es ist ein einfacher Anfängerfehler...).

      Die Idee: wenn der Status des Schalters auf true gestellt wird, soll er nach 3000ms wieder auf false umgestellt werden. und zwar immer nachdem der Schalter eingeschaltet wurde.

      on ({id: "hm-rpc.0.MEQ1899037.1.STATE", val: "true" }, function () {

      setTimeout(function () {

      setState("hm-rpc.0.MEQ1899037.1.STATE", false);

      }, 3000);

      });

      ich habe diesen Code exakt so wie er das steht in ein Skript-File geschrieben, in der Hoffnung, dass da nix mehr vorher oder nachher geschrieben stehen muss....

      1 Reply Last reply Reply Quote 0
      • S
        Solear last edited by

        Du könntest es gleich noch etwas besser machen,

        und zwar so, dass sich das Zeitintervall bei jedem Drücken um die eingestellte Zeit verlängert, ohne Unterbrechung.

        paul53 hat dazu mal ein Skript veröffentlicht:

        http://forum.iobroker.net/viewtopic.php … ung#p27067

        // Script zum Starten einer Pumpe
        
        // Datenpunkt-ID
        var idTaster = "DEIN TASTER";
        var idPumpe = "DEINE PUMPE";
        
        // Variablendeklaration 
        var timer;
        
        function taster() {
            if (timer) {
                clearTimeout(timer);   // löschen zum Retriggern
                timer = null;
            }  
             setState(idPumpe, true);  // Ein
             timer = setTimeout(function () {
                 setState(idPumpe, false);
             }, 60 * 60000);  // nach 60 Minuten aus
        }
        
        // Aufruf der Funktion bei Änderung von false auf true
        on({id: idTaster, val: true}, taster);    
        
        1 Reply Last reply Reply Quote 0
        • paul53
          paul53 last edited by

          @erh_stgt:

          on ({id: "hm-rpc.0.MEQ1899037.1.STATE", val: "true" }, function () { `
          Es wird kein String ("true") übergeben, sondern ein Wert vom Typ boolean.

          on({id: "hm-rpc.0.MEQ1899037.1.STATE", val: true}, function() {
          	setTimeout(function() {
          		setState("hm-rpc.0.MEQ1899037.1.STATE", false);
          	}, 3000);
          });
          
          
          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Die Steuerung per Skript ist natürlich die sichere Variante und definitiv vorzuziehen. Soll aber wirklich nur dann automatisch verzögert abgeschaltet werden, wenn per VIS der Einschaltbefehl gegeben wurde, eignet sich auch ein ctrl Bool Widget wie dieses: 261_bildschirmfoto_2016-07-18_um_13.57.40.jpg

            Der Screenshot erklärt sich selbst. Auto AUS ist hier die Lösung.

            Gruß

            Pix

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            1.0k
            Online

            31.7k
            Users

            79.7k
            Topics

            1.3m
            Posts

            4
            4
            776
            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