Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Hilfe bei - Vis Zeitsteuerung ( JS o. Blocky )

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    995

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.1k

Hilfe bei - Vis Zeitsteuerung ( JS o. Blocky )

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
2 Beiträge 2 Kommentatoren 1.2k Aufrufe
  • Ä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.
  • L Offline
    L Offline
    looneyspeedy
    schrieb am zuletzt editiert von
    #1

    Frage wie kann ich es bewerkstelligen das ich ein Menü habe wo ich über das VIS Timer setze von wann bis wann Schlater ein/aus ist Automatisch.

    Und es einfach zu erklären ich würde gerne eine Art TV Aufnahme Zeitsteuerung haben. Habe auch einen Enigma Receiver VU+ falls man das vielleicht Koppeln kann. Sprich er soll einfach 5 min vor der Aufnahme Schalter ein und 10 min nach der Aufnahme nach dem Shutdown Aus.

    Ist sowas mit Vis ( Blocky ) möglich.

    Habe im Forum nach so etwas gesucht aber leider nichts gefunden.

    Falls es nur manuell geht muss es später so einfach sein das auch meine Frau damit umgehen kann ;). *Sieh hast die Technik jetzt schon.

    Ich danke im voraus für Ideen / Antworten / oder verlinken was ich nicht gefunden habe. Danke

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #2

      Schau mal hier ( topic ist wirklich nicht eingängig, hat sich aber glsube ich zu dem entwickelt, was du suchst):

      http://forum.iobroker.net/viewtopic.php … 4&start=20

      Da gibts eine Zeitschaltung von pix und eine von mir.

      Hier eins der Skripte

      ! ````
      // ##########
      // Skript für Ace-K zum Schalten einer Steckdose zwischen zu zwei definierten Zeitpunkten. Steuerbar über Vis
      // Dank an paul53 für das Schedule Skript
      // v 0.2, stable, tempestas, 28.11.2017
      ! var force = true; // erzwingt bei Neustart des Skript Anlegen der States mti den nachfolgend definierten Werten
      ! // States anlegen
      ! createState('Zeitschaltung.Steckdose1.Aktiv', false);
      ! createState('Zeitschaltung.Steckdose1.Start.Stunde',12, force, {
      name: 'Startstunde ',
      type: 'number',
      min: '0',
      max: '23',
      });
      ! createState('Zeitschaltung.Steckdose1.Start.Minute',0, force, {
      name: 'Startminute ',
      type: 'number',
      min: '0',
      max: '59',
      });
      ! createState('Zeitschaltung.Steckdose1.Start.MinuteString',"00", force, { // String für Anzeige in VIS; wird via function an numerischen Wert angeglichen
      name: 'Startminute ',
      type: 'string',
      ! });
      ! createState('Zeitschaltung.Steckdose1.Start.Zeit',"12:00", force, { // String der Startzeit
      name: 'Startzeit ',
      type: 'string',
      ! });
      ! createState('Zeitschaltung.Steckdose1.Ende.Stunde',13, force, {
      name: 'Endstunde ',
      type: 'number',
      min: '0',
      max: '23',
      });
      ! createState('Zeitschaltung.Steckdose1.Ende.Minute',0, force, {
      name: 'Endminute ',
      type: 'number',
      min: '00',
      max: '59',
      });
      ! createState('Zeitschaltung.Steckdose1.Ende.MinuteString','00', force, { // String für Anzeige in VIS; wird via function an numerischen Wert angeglichen
      name: 'Endminute ',
      type: 'string',
      min: '00',
      max: '59',
      });
      ! createState('Zeitschaltung.Steckdose1.Ende.Zeit',"13:00", force, { // String der Endzeit
      name: 'Endzeit ',
      type: 'string',
      ! });
      ! // ##############################################################################################################
      // ### Functions zur Anpassung der Minuten Strings an die numerischen Werte sowie Anpassung Gesamtzeit Strings ##
      // ##############################################################################################################
      ! var idAktiv = 'javascript.1.Zeitschaltung.Steckdose1.Aktiv';
      ! var idMinStart = 'javascript.1.Zeitschaltung.Steckdose1.Start.Minute' ;
      var idStdStart = 'javascript.1.Zeitschaltung.Steckdose1.Start.Stunde' ;
      var idMinStartString = 'javascript.1.Zeitschaltung.Steckdose1.Start.MinuteString';
      var idStartzeit = 'javascript.1.Zeitschaltung.Steckdose1.Start.Zeit';
      ! var idMinEnd = 'javascript.1.Zeitschaltung.Steckdose1.Ende.Minute';
      var idStdEnd = 'javascript.1.Zeitschaltung.Steckdose1.Ende.Stunde';
      var idMinEndString = 'javascript.1.Zeitschaltung.Steckdose1.Ende.MinuteString';
      var idEndzeit = 'javascript.1.Zeitschaltung.Steckdose1.Ende.Zeit';
      ! // Bei Änderung Minuten Startzeit
      on(idMinStart, function() {
      var minuten = getState(idMinStart).val;
      var minutenString = "";
      if(minuten < 10) {
      minutenString = '0' +minuten;
      }
      else minutenString = minuten.toString();
      ! setState(idMinStartString, minutenString); // Anpassen der Minuten

      var stunde = getState(idStdStart).val;                                      // Auslesen Stunde
      setState(idStartzeit, stunde + ':' + minutenString);                        // Einsetzen Stunde und Minute in Startzeit-String
      

      ! });
      ! // Bei Änderung Minuten Endzeit
      on(idMinEnd, function() {
      var minuten = getState(idMinEnd).val;
      var minutenString = "";
      if(minuten < 10) {
      minutenString = '0' +minuten;
      }
      else minutenString = minuten.toString();

      setState(idMinEndString, minutenString);
      

      ! var stunde = getState(idStdEnd).val; // Auslesen Stunde
      setState(idEndzeit, stunde + ':' + minutenString); // Einsetzen Stunde und Minute in Endzeit-String
      !
      });
      ! // Bei Änderung Stunde Startzeit
      on(idStdStart, function() {

      var minutenString = getState(idMinStartString).val;
      var stunde = getState(idStdStart).val;                                     
      setState(idStartzeit, stunde + ':' + minutenString);            
      

      ! });
      ! // Bei Änderung Stunde Endzeit
      on(idStdEnd, function() {

      var minutenString = getState(idMinEndString).val;
      var stunde = getState(idStdEnd).val;                                      // Auslesen Stunde
      setState(idEndzeit, stunde + ':' + minutenString);                        // Einsetzen Stunde und Minute in Endzeit-String
      

      ! });
      ! // ##################################################################################################
      // VARIABLEN UND IDS DEFINIEREN
      // ##################################################################################################
      ! // STARTZEIT TRIGGER (SCHEDULE)
      ! var einschalten = getState(idStartzeit).val.split(':'); // erstmaliges einlesen der Startzeit, aufteilen in Stunden und Minuten
      ! var timerEinschalten = schedule(einschalten[1] + ' ' + einschalten[0] + ' * * 0-6', fEinschalten); // initiales Festlegen des Start-Zeitpunkts
      ! on(idStartzeit, function(dp) { // Triggern bei Änderung des Startzeit-Strings
      einschalten= dp.state.val.split(':');
      clearSchedule(timerEinschalten); // altes Schedule löschen
      timerEinschalten = schedule(einschalten[1] + ' ' + einschalten[0] + ' * * 0-6', fEinschalten);
      });
      ! // ENDZEIT TRIGGER ( SCHEDULE)
      ! var ausschalten= getState(idEndzeit).val.split(':'); // erstmaliges einlesen der Endzeit, aufteilen in Stunden und Minuten
      ! var timerAusschalten= schedule(ausschalten[1] + ' ' + ausschalten[0] + ' * * 0-6', fAusschalten); // initiales Festlegen des Endzeitpunkts
      ! on(idEndzeit, function(dp) { // Triggern bei Änderung des Endzeit-Strings
      ausschalten= dp.state.val.split(':');
      clearSchedule(timerAusschalten); // altes Schedule löschen
      timerAusschalten = schedule(ausschalten[1] + ' ' + ausschalten[0] + ' * * 0-6', fAusschalten);
      log(ausschalten[1] + " " + ausschalten[0]);
      ! });
      ! // Functions
      ! function fAusschalten(){
      // setState("hm-rpc.1.00021569960FFB.3.STATE"/Kamera_Wohnzimmer_Steckdose:3.STATE/, false); // nur, wenn die Automatik eingeschaltet ist wird die Steckdose geschaltet
      log("Steckdose wurde ausgeschaltet");

      }

      function fEinschalten(){
      // setState( "hm-rpc.1.00021569960FFB.3.STATE"/Kamera_Wohnzimmer_Steckdose:3.STATE/, true); // nur, wenn die Automatik eingeschaltet ist wird die Steckdose geschaltet
      log("Steckdose wurde eingeschaltet");

      }

      ! ````

      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

      1 Antwort Letzte Antwort
      0

      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

      Registrieren Anmelden
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      411

      Online

      33.0k

      Benutzer

      83.6k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2026
      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