Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Anfängerproblem: Skript zur automatischen Abschaltung nach definierter Zeit

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    20
    1
    773

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Anfängerproblem: Skript zur automatischen Abschaltung nach definierter Zeit

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 4 Posters 842 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • E Offline
    E Offline
    erh_stgt
    wrote on last edited by
    #1

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


    Blutigster Anfänger übelster Sorte….

    1 Reply Last reply
    0
    • S Offline
      S Offline
      Solear
      wrote on last edited by
      #2

      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);    
      

      iobroker als LXC unter Proxmox

      1 Reply Last reply
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #3

        @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);
        });
        
        

        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 Reply Last reply
        0
        • P Offline
          P Offline
          pix
          wrote on last edited by
          #4

          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

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          837

          Online

          32.5k

          Users

          81.6k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe