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. [Gelöst] Eine Teilfunktion meines Weckerscriptes mehrmals parallel aufrufen aber wie?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[Gelöst] Eine Teilfunktion meines Weckerscriptes mehrmals parallel aufrufen aber wie?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
17 Beiträge 4 Kommentatoren 1.9k 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.
  • D Offline
    D Offline
    DiLa
    schrieb am zuletzt editiert von
    #8

    Hi Steffen,

    das wäre super wenn du das machen würdest.

    Ich musste das Script momentan auch abstellen nach dem Update des JS-Adapters.

    Viele Grüße,

    Dirk

    1 Antwort Letzte Antwort
    0
    • PeoplesP Offline
      PeoplesP Offline
      Peoples
      schrieb am zuletzt editiert von
      #9

      @DiLa:

      Hi Steffen,

      das wäre super wenn du das machen würdest.

      Ich musste das Script momentan auch abstellen nach dem Update des JS-Adapters.

      Viele Grüße,

      Dirk `

      Hi Dirk,

      hier das Script:

      ! ````
      // *****************************************************************************
      //
      // Wecker
      //
      //
      // Funktionen: 1. Dimmt das jeweilige Zimmerlicht langsam auf 100% bei Weckzeit
      //
      //
      // v1.0 - 14.12.2017
      // v1.0.1 - 14.12.2017 Datenpunkt zum abbrechen des Dimmvorgangs eingefügt
      // Datenpunkt für das Max-Dimm-Level eingefügt
      // v1.0.2 - 18.02.2018 Subscription von enum.functions.weckerdatenpunkte für
      // Js-Adapter ab Version 3.4.0 geändert
      //
      // *****************************************************************************
      ! // -----------------------------------------------------------------------------
      // allgemeine Variablen
      // -----------------------------------------------------------------------------
      var logging = false; // Logging on/off
      var instanz = 'javascript.0.'; // Javascript Instanz
      var pfad0 = 'Wecker.'; // Pfad innerhalb der Instanz - Status allgemien
      ! var laufzeit = 600;//380 // Max Laufzeit in Sekunden (ca. Angabe da die Erhöhungsschritte gerundet werden.) Nicht höher als 600 Sekunden
      var intervall = 20; // Durchlaufintervall - Nicht kleiner als 20 Sekunden
      ! var GeraeteListe = []; // Array der Geräte für die ein Wecker angelegt wird
      GeraeteListe[0] = ['Kinderzimmer_1','hm-rpc.0.xxxx.1.LEVEL']; // Gerät 1 -> 1.Raum, 2.Datenpunkt
      GeraeteListe[1] = ['Kinderzimmer_2',"hm-rpc.0.xxxxx.1.LEVEL"]; // Gerät 2 -> 1.Raum, 2.Datenpunkt
      ! var Wochentage = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag']; // Wochentage für die Weckeistellungen angelegt werden (Mit Sonntag beginnen wegen Schedule)
      var WKZeit_Schedule = [];
      ! var timer =[];
      // -----------------------------------------------------------------------------
      // Objekte
      // -----------------------------------------------------------------------------
      ! createState(instanz + pfad0 +'Weckereinstellungen_sichtbar', {def: 'false',type: 'boolean',name: 'Wecker Einstellungen '}); //Datenpunkt für Vis - Einstellungen sichtbar Ja/Nein
      createState(instanz + pfad0 +'Wecker_gestellt', {def: 'false',type: 'boolean',name: 'Wecker gestellt'}); //Datenpunkt für Vis - Wecker gestellt Ja/Nein
      createState(instanz + pfad0 +'Wecker_laeuft', {def: 'false',type: 'boolean',name: 'Automatische Licht Erhöhung'}); //Datenpunkt für Vis - Dimmvorgang läuft? Ja/Nein
      // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
      ! // #############################################################################
      // # #
      // # Funktion zum anlegen eines Weckers / einer Weckzeit #
      // # #
      // #############################################################################
      ! function WeckerStellen() {
      setState(instanz + pfad0 +'Wecker_gestellt', false);
      GeraeteListe.forEach(function(Geraet) {

          Wochentage.forEach(function(Wochentag){
              // -----------------------------------------------------------------------------
              // Objekte in Abhänigkeit der GeraeteListe
              // -----------------------------------------------------------------------------
              // Objekte für Wecker Ein/Aus
              createState(instanz + pfad0 + Geraet[0] +'.WeckerAktiv_'+Wochentag,  {def: 'false',type: 'boolean',name: 'Wecker Aktiv '+Wochentag});
      
              // Objekte für WeckZeiten
              createState(instanz + pfad0 + Geraet[0] +'.WeckZeit_'+Wochentag,  {def: '07:00',type: 'string',name: 'Weckzeit am '+Wochentag});
      
              // Objekte für WeckZeiten
              createState(instanz + pfad0 + Geraet[0] +'.Dimmer_Max_Level',  {def: '30',type: 'number',name: 'Maximales Raumlicht Level'});
      
              if(getState(instanz + pfad0 + Geraet[0] + '.WeckZeit_'+Wochentag).val){
                  var WKZeit = getState(instanz + pfad0 + Geraet[0] + '.WeckZeit_'+Wochentag).val.split(':');
                  //log(WKZeit[1] + ' ' + WKZeit[0] + ' * * 1');
                  if(logging) log(getState(instanz + pfad0 + Geraet[0]+ '.WeckerAktiv_'+Wochentag).val);
      
                  if(getState(instanz + pfad0 + Geraet[0]+ '.WeckerAktiv_'+Wochentag).val === true){
                      setState(instanz + pfad0 +'Wecker_gestellt', true);
                      clearSchedule(WKZeit_Schedule[Geraet[0]+'.'+Wochentag]);
                      WKZeit_Schedule[Geraet[0]+'.'+Wochentag] = schedule(WKZeit[1] + ' ' + WKZeit[0] + ' * * '+ Wochentage.indexOf(Wochentag), function (){WeckerEin(Geraet);});
                      if(logging) log('Wecker für '+Geraet[0]+' am '+Wochentag+' wurde auf '+WKZeit[0]+': '+WKZeit[1]+' Uhr gestellt');
                  }
                  else{                                                               
                       clearSchedule(WKZeit_Schedule[Geraet[0]+'.'+Wochentag]);
                      if(logging) log('Wecker für '+Geraet[0]+' am '+Wochentag+' wurde gelöscht');
                  }
              }
          });
      });
      

      }//Wecker stellen Ende

      ! //WeckerStellen();
      ! // #############################################################################
      // # #
      // # Funktion zum langsamen erhöhen des Raumlichtes #
      // # #
      // #############################################################################
      ! function level_erhoehen(GeraeteID){
      if(getState(GeraeteID[1]).val >= getState(instanz + pfad0 + GeraeteID[0] +'.Dimmer_Max_Level').val){
      clearTimeout(timer[GeraeteID[0]]);
      if(logging)log('Level Dimmer'+GeraeteID[0]+' auf '+getState(instanz + pfad0 + GeraeteID[0] +'.Dimmer_Max_Level').val+' automatische Erhöhung Ende');
      }
      else{
      timer[GeraeteID[0]] = setTimeout(function() {
      if(logging) log('Level:'+GeraeteID[0]+' wird um '+Math.round(getState(instanz + pfad0 + GeraeteID[0] +'.Dimmer_Max_Level').val / (laufzeit / intervall))+' erhöht auf '+(getState(GeraeteID[1]).val+Math.round(getState(instanz + pfad0 + GeraeteID[0] +'.Dimmer_Max_Level').val / (laufzeit / intervall))));
      setState(GeraeteID[1], (getState(GeraeteID[1]).val + Math.round(getState(instanz + pfad0 + GeraeteID[0] +'.Dimmer_Max_Level').val / (laufzeit / intervall))));
      level_erhoehen(GeraeteID);
      }, intervall * 1000);
      }
      }
      ! // #############################################################################
      // # #
      // # Funktion zum starten verschiedener Aktionen beim erreichen der Weckzeit #
      // # #
      // #############################################################################
      ! function WeckerEin(GeraeteID) {
      // Prüfen ob Raumlicht aus
      if(getState(GeraeteID[1]).val <= 10){
      setState(instanz + pfad0 + 'Wecker_laeuft', true);
      level_erhoehen(GeraeteID);

          }
      

      // Weitere mögliche Aktionen
      // hier
      }

      ! // #############################################################################
      // # #
      // # Beobachten aller Weckerdatenpunkte #
      // # #
      // #############################################################################
      ! $('state(functions=weckerdatenpunkte)').on(function(obj) {
      WeckerStellen();
      ! });
      ! // #############################################################################
      // # #
      // # Beobachten des Datenpunktes zum Abbrechen des Dimmvorgangs #
      // # #
      // #############################################################################
      ! on({id: instanz + pfad0 + 'Wecker_laeuft', change: "ne"}, function (dp) {
      if(dp.state.val === false){
      GeraeteListe.forEach(function(GeraeteID) {
      clearTimeout(timer[GeraeteID[0]]);
      if(logging)log('Automatisches hochfahren Raumlicht für '+GeraeteID[0]+' manuel gestoppt');
      });
      }
      });
      //WeckerEin(GeraeteListe[0]);
      //WeckerEin(GeraeteListe[1]);

      
      und hier der Export:
       ![2417_weckerview.txt](/assets/uploads/files/2417_weckerview.txt) 
      
      Zusätzlich musst du die Weckerdatenpunkte dann noch in den Aufzählungen anlegen denn dort "überwacht" sie das Script und setzt bei Änderung das Schedule neu.
       ![2417_screenshot_weckerdatenpunkte.png](/assets/uploads/files/2417_screenshot_weckerdatenpunkte.png) 
      Alternativ könntest du die einzelnen Datenpunkte aber auch über einen bzw. mehere On-Subscriptions "überwachen" finde ich persönlich jedoch nicht so schön.

      Ich beantworte keine Fragen zu Themen via PN

      1 Antwort Letzte Antwort
      0
      • W Offline
        W Offline
        web4wasch
        schrieb am zuletzt editiert von
        #10

        Hallo Steffen,

        schau mir dein Script mit Interesse an.

        Würde es gerne für meine Zwecke verwenden, möchte eigentlich zur Weckzeit meine Hue Lampen hoch dimmen lassen und den Radio einschalten.

        Du benutzt einen Teil für dein Backup-Script (automatisches Backup), habe ich Recht? Dort werden aber die Weckzeiten automatisch unter der Java Instanz angelegt? Bei diesem Hier nicht und ich bekomme diese auch nicht unter Aufzählungen gebacken.

        Könntest du mir evtl ein bisschen auf die Sprünge helfen???

        Danke erstmal, Gruß

        Marcus

        1 Antwort Letzte Antwort
        0
        • PeoplesP Offline
          PeoplesP Offline
          Peoples
          schrieb am zuletzt editiert von
          #11

          @web4wasch:

          Hallo Steffen,

          schau mir dein Script mit Interesse an.

          Würde es gerne für meine Zwecke verwenden, möchte eigentlich zur Weckzeit meine Hue Lampen hoch dimmen lassen und den Radio einschalten.

          Du benutzt einen Teil für dein Backup-Script (automatisches Backup), habe ich Recht? Dort werden aber die Weckzeiten automatisch unter der Java Instanz angelegt? Bei diesem Hier nicht und ich bekomme diese auch nicht unter Aufzählungen gebacken.

          Könntest du mir evtl ein bisschen auf die Sprünge helfen???

          Danke erstmal, Gruß

          Marcus `

          Klar helf ich dir gerne nur verstehe ich gerade noch nicht was ich genau für dich tun kann?

          Die Aufzählungen benutze ich, weil ich mir dadurch das subscriben mehrerer Datenpunkte spare wenn das die Frage war. Wenn nicht hilf du mir mal dass ich dir helfen kann :lol:

          Ich beantworte keine Fragen zu Themen via PN

          1 Antwort Letzte Antwort
          0
          • W Offline
            W Offline
            web4wasch
            schrieb am zuletzt editiert von
            #12

            Guten Morgen,

            danke für deine schnelle Antwort. Erstmal bräuchte ich Hilfe die Datenpunkte unter den Aufzählungen anzulegen! Wie mache ich das genau?

            Würde das Script auch für Hue Lampen funktionieren, wenn ich die Geräte ID dementsprechend ändere.

            Hier geht man ja den Umweg über die CCU. Ich würde halt im Script gleich die hue.o.xxxxx.level eintragen (wenn das möglich ist)

            …in diesem Abschnitt:

            // #############################################################################

            // # #

            // # Funktion zum starten verschiedener Aktionen beim erreichen der Weckzeit #

            // # #

            // #############################################################################

            function WeckerEin(GeraeteID) {

            // Prüfen ob Raumlicht aus

            if(getState(GeraeteID[1]).val <= 10){

            setState(instanz + pfad0 + 'Wecker_laeuft', true);

            level_erhoehen(GeraeteID);

            }

            // Weitere mögliche Aktionen

            // hier

            }

            prüfst du erst ob xxxx.level kleiner als 10 ist und springst dann in level_erhoehen

            Wenn ich außer den Lampen noch z.B. eine Szene triggern möchte, wie müsste ich die weitere Aktion noch einbinden?

            Sry, stehe bei JS ziemlich am Anfang …

            Danke für die Unterstützung. ;)

            1 Antwort Letzte Antwort
            0
            • PeoplesP Offline
              PeoplesP Offline
              Peoples
              schrieb am zuletzt editiert von
              #13

              @web4wasch:

              Guten Morgen,

              danke für deine schnelle Antwort. Erstmal bräuchte ich Hilfe die Datenpunkte unter den Aufzählungen anzulegen! Wie mache ich das genau? `

              Entweder du machst das manuell oder so:

              // Hier zwei Datenpunkte erstellen
              createState('javascript.0.testdatenpunkt1', {def: 'false',type: 'boolean',name: 'testdatenpunkt1'});
              createState('javascript.0.testdatenpunkt1', {def: 'false',type: 'boolean',name: 'testdatenpunkt2'});
              
              // Dann ein leeres Array erstellen
              var Enum_ids =[];                                       
              
              // Nun wird mittels push Befehl ein existierender Datenpunkt ins Array gepushed
              Enum_ids.push('javascript.0.testdatenpunkt1');
              Enum_ids.push('javascript.0.testdatenpunkt2');
              
              // So werden nun die Aufzählungen erstellt
              var Enum_obj = {};
                      Enum_obj.type = 'enum';
                      Enum_obj.common = {};
                      Enum_obj.common.name = 'MeineTestAufzaehlung';
                      Enum_obj.common.members = Enum_ids;
                      setObject('enum.functions.MeineTestAufzaehlung', Enum_obj);
              
              // Und so kannst du die Aufzählungen beobachten
              $('state(functions=MeineTestAufzaehlung)').on(function(obj) {
              
                  log("Es wurde eine Änderung festgestellt");
              
              });
              

              @web4wasch:

              Würde das Script auch für Hue Lampen funktionieren, wenn ich die Geräte ID dementsprechend ändere.

              Hier geht man ja den Umweg über die CCU. Ich würde halt im Script gleich die hue.o.xxxxx.level eintragen (wenn das möglich ist) `
              Klar!

              du findest ja deine Homematic Datenpunkte auch in den Objekten oder? Dort kannst du übergetState("javascript.0.DeinHMDatenpunkt")den wert abfragen und über````
              setState("javascript.0.DeinHMDatenpunkt", 10)

              ~~@web4wasch:~~ 
              
              > prüfst du erst ob xxxx.level kleiner als 10 ist und springst dann in level_erhoehen `  
              Ich habe einen Datenpunkt der das Max-Level der Lampe angiebt, und ich prüfe in vorgegebenen Abständen ob die Lampe diesen Wert erreicht/überschritten hat, wenn ja halte stoppe ich diese Prüfung und wenn nein lasse ich sie zyklisch weiterlaufen.
              
              ~~@web4wasch:~~ 
              
              > Wenn ich außer den Lampen noch z.B. eine Szene triggern möchte, wie müsste ich die weitere Aktion noch einbinden? `  
              Das könntest du einfach am Anfang anstoßen oder irgendwo in der Mitte. Bspw. wenn der Wert deiner Lampen größer als 10 ist soll die Szene gestartet werden oder so.
              
              Hoffe das hilft dir erstmal

              Ich beantworte keine Fragen zu Themen via PN

              1 Antwort Letzte Antwort
              0
              • W Offline
                W Offline
                web4wasch
                schrieb am zuletzt editiert von
                #14

                Guten Morgen,

                danke dir erstmal… beiß mich mal durch und versuche dank deiner Hilfe mal ein Wecker Script zu basteln. ;)

                Schönen Sonntag wünsche ich.

                Gruß,

                Marcus

                1 Antwort Letzte Antwort
                0
                • W Offline
                  W Offline
                  web4wasch
                  schrieb am zuletzt editiert von
                  #15

                  Hallo Steffen,

                  bekomme das ganze nicht gebacken - möchte eigentlich nur einen Weckzeit, die ich über VIS stellen kann und die mir über schedule dann einfach etwas auslöst–--> habe heute den ganzen Tag probiert - es löst einfach nicht aus! :?

                  hier mal mein script...

                  ! // *****************************************************************************
                  ! //
                  ! // Wecker
                  ! //
                  ! //
                  ! //
                  ! //
                  ! // *****************************************************************************
                  ! // –---------------------------------------------------------------------------
                  ! // allgemeine Variablen
                  ! // -----------------------------------------------------------------------------
                  ! var logging = true; // Logging on/off
                  ! var instanz = 'javascript.0.'; // Javascript Instanz
                  ! var pfad0 = 'Wecker.'; // Pfad innerhalb der Instanz - Status allgemien
                  ! var WKZeit_Schedule = []; // Array für die Weckzeit
                  ! var Enum_ids =[]; // Array für Functions
                  ! // -----------------------------------------------------------------------------
                  ! // Objekte für Vis
                  ! // -----------------------------------------------------------------------------
                  ! createState(instanz + pfad0 + 'Wecker_gestellt', {def: 'false',type: 'boolean',name: 'Wecker gestellt'}); //Datenpunkt für Vis - Wecker gestellt Ja/Nein
                  ! createState(instanz + pfad0 + 'Wecker_ausgeloest', {def: 'false',type: 'boolean',name: 'Wecker ausgeloest'}); //Datenpunkt für Vis - Wecker ausgelöst Ja/Nein
                  ! // #############################################################################
                  ! // # #
                  ! // # Funktion einer Weckzeit #
                  ! // # #
                  ! // #############################################################################
                  ! // -----------------------------------------------------------------------------
                  ! // Objekte anlegen
                  ! // -----------------------------------------------------------------------------
                  ! // Objekte für Wecker Ein/Aus
                  ! createState(instanz + pfad0 + 'Wecker_aktiv', {def: 'false',type: 'boolean',name: 'Wecker aktiv'});
                  ! // Objekte für WeckZeit
                  ! createState(instanz + pfad0 + 'WeckZeit', {def: '07:00',type: 'string',name: 'Weckzeit'});
                  ! // Nun wird mittels push Befehl ein existierender Datenpunkt ins Array gepushed
                  ! Enum_ids.push('javascript.0.Wecker_aktiv');
                  ! Enum_ids.push('javascript.0.WeckZeit');
                  ! // So werden nun die Aufzählungen erstellt
                  ! var Enum_obj = {};
                  ! Enum_obj.type = 'enum';
                  ! Enum_obj.common = {};
                  ! Enum_obj.common.name = 'weckerdatenpunkte';
                  ! Enum_obj.common.members = Enum_ids;
                  ! setObject('enum.functions.weckerdatenpunkte', Enum_obj);
                  ! function WeckerStellen() {
                  ! setState(instanz + pfad0 +'Wecker_gestellt', false);
                  ! if(getState(instanz + pfad0 + 'WeckZeit').val){
                  ! var WKZeit = getState(instanz + pfad0 + 'WeckZeit').val.split(':');
                  ! if(logging) log(getState(instanz + pfad0 + 'WeckerAktiv').val);
                  ! if(getState(instanz + pfad0 + 'WeckerAktiv').val === true){
                  ! setState(instanz + pfad0 +'Wecker_gestellt', true);
                  ! clearSchedule(WKZeit_Schedule);
                  ! WKZeit_Schedule = schedule(WKZeit[1] + ' ' + WKZeit[0] + ' * * * ', function (){WeckerEin();});
                  ! if(logging) log('Wecker wurde auf '+WKZeit[0]+':'+WKZeit[1]+' Uhr gestellt');
                  ! }
                  ! else{
                  ! clearSchedule(WKZeit_Schedule);
                  ! if(logging) log('Wecker wurde gelöscht');
                  ! }
                  ! }
                  ! }//Wecker stellen Ende
                  ! // #############################################################################
                  ! // # #
                  ! // # Funktion zum starten verschiedener Aktionen beim erreichen der Weckzeit #
                  ! // # #
                  ! // #############################################################################
                  ! function WeckerEin() {
                  ! setState("hue.0.WaMa_Hue.Deckenlicht.on", true);
                  ! setState(instanz + pfad0 + 'Wecker_ausgeloest', true);
                  ! // Weitere mögliche Aktionen
                  ! // hier
                  ! }
                  ! // #############################################################################
                  ! // # #
                  ! // # Wecker ausschalten #
                  ! // # #
                  ! // #############################################################################
                  ! on({id: instanz + pfad0 + 'Wecker_ausgeloest', change: "ne"}, function (dp) {
                  ! if(dp.state.val === false){
                  ! setState(instanz + pfad0 + 'Wecker_gestellt', false);
                  ! setState("hue.0.WaMa_Hue.Deckenlicht.on", false);
                  ! }
                  ! });
                  ! // #############################################################################
                  ! // # #
                  ! // # Beobachten aller Weckerdatenpunkte #
                  ! // # #
                  ! // #############################################################################
                  ! $('state(functions=weckerdatenpunkte)').on(function(obj) {
                  ! WeckerStellen();
                  ! if(logging) log('Es wurde eine Änderung festgestellt');
                  ! });

                  hätte es auch mal anders probiert, aber gleicher Effekt - die Schedule schaltet nicht ein

                  ! // *****************************************************************************
                  ! //
                  ! // Wecker
                  ! //
                  ! //
                  ! //
                  ! //
                  ! // *****************************************************************************
                  ! // –---------------------------------------------------------------------------
                  ! // allgemeine Variablen
                  ! // -----------------------------------------------------------------------------
                  ! var logging = true; // Logging on/off
                  ! var instanz = 'javascript.0.'; // Javascript Instanz
                  ! var pfad0 = 'Wecker.'; // Pfad innerhalb der Instanz - Status allgemien
                  ! var WKZeit_Schedule = []; // Array für die Weckzeit
                  ! // -----------------------------------------------------------------------------
                  ! // Objekte
                  ! // -----------------------------------------------------------------------------
                  ! createState(instanz + pfad0 + 'Wecker_aktiv', {def: 'false',type: 'boolean',name: 'Wecker aktiv'}); //Datenpunkt für Vis - Wecker aktiv Ja/Nein
                  ! createState(instanz + pfad0 + 'WeckZeit', {def: '07:00',type: 'string',name: 'Weckzeit'}); //Datenpunkt für Vis - Weckzeit
                  ! createState(instanz + pfad0 + 'Wecker_gestellt', {def: 'false',type: 'boolean',name: 'Wecker gestellt'}); //Datenpunkt für Vis - Wecker gestellt Ja/Nein
                  ! createState(instanz + pfad0 + 'Wecker_ausgeloest', {def: 'false',type: 'boolean',name: 'Wecker ausgeloest'}); //Datenpunkt für Vis - Wecker ausgelöst Ja/Nein
                  ! // #############################################################################
                  ! // # #
                  ! // # Wecker stellen #
                  ! // # #
                  ! // #############################################################################
                  ! on({id: instanz + pfad0 + 'Wecker_aktiv', change: "ne"}, function(dp) {
                  ! if(dp.state.val === true){
                  ! var WKZeit = getState(instanz + pfad0 + 'WeckZeit').val.split(':');
                  ! if(logging) log('Wecker wurde auf '+WKZeit[0]+':'+WKZeit[1]+' Uhr gestellt');
                  ! setState(instanz + pfad0 + 'Wecker_gestellt', true);
                  ! clearSchedule(WKZeit_Schedule);
                  ! WKZeit_Schedule = schedule(WKZeit[1] + ' ' + WKZeit[0] + ' * * * ', function () {
                  ! if(logging) log('Wecker hat ausgelöst');
                  ! setState(instanz + pfad0 + 'Wecker_ausgeloest', true);
                  ! setState("hue.0.WaMa_Hue.Deckenlicht.on", true);
                  ! });
                  ! }
                  ! });
                  ! // #############################################################################
                  ! // # #
                  ! // # Wecker ausschalten #
                  ! // # #
                  ! // #############################################################################
                  ! on({id: instanz + pfad0 + 'Wecker_aktiv', change: "ne"}, function (dp) {
                  ! if(dp.state.val === false){
                  ! setState(instanz + pfad0 + 'Wecker_gestellt', false);
                  ! setState(instanz + pfad0 + 'Wecker_ausgeloest', false);
                  ! }
                  ! });

                  Könntest du mir bitte auf die Sprünge helfen? ;)

                  Danke, Gruß

                  Marcus

                  1 Antwort Letzte Antwort
                  0
                  • PeoplesP Offline
                    PeoplesP Offline
                    Peoples
                    schrieb am zuletzt editiert von
                    #16

                    Habe es am Handy jetzt nur überflogen da ich nicht zu hause bin. Was ist deine eingestellte Weckzeit es geht nur im Format hh:mm ohne sekunden.

                    Wenn du Sekunden mit im Datenpunkt hast nimm die mal weg und mach bspw. noch 22:30 oder so ob es dann geht ansonsten gib Bescheid dann schau ich nochmal drauf wenn ich wieder daheim bin.

                    Ich beantworte keine Fragen zu Themen via PN

                    1 Antwort Letzte Antwort
                    0
                    • W Offline
                      W Offline
                      web4wasch
                      schrieb am zuletzt editiert von
                      #17

                      habe keine Sekunden im Cron, nur hh:mm.

                      Kein Thema, evtl schauen wir mal drüber, wenn du wieder Zuhause bist. Danke dir! ;)

                      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

                      504

                      Online

                      32.7k

                      Benutzer

                      82.3k

                      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