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. JavaScript
  5. Javaskript Datenpunkt mit Zeit für schedule() umformen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    42

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Javaskript Datenpunkt mit Zeit für schedule() umformen

Geplant Angeheftet Gesperrt Verschoben JavaScript
18 Beiträge 5 Kommentatoren 1.3k Aufrufe 5 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.
  • G Offline
    G Offline
    GuybrushThreepwood 0
    schrieb am zuletzt editiert von
    #1

    Hallo,

    Bisher habe ich die Zeiten für die Ausführung diverser Funktionen in den Code eingetragen und möchte diese nun anpassbar machen. Dazu habe ich einen Datenpunkt angelegt den ich mit Hilfe der vis (Stunden:Minuten) beschreibe. Der Wert des Datenpunkts beträgt 17:30

    Bisher habe ich das ganze wie unten zu sehen gelöst. Wie bekomme ich es hin den Datenpunkt in Stunden und Minuten zu zerlegen bzw. hat hier jemand noch ein anderen Lösungsansatz.

    schedule({hour: 17, minute: 30}, function () {
    
        setState('0_userdata.0.beckerRolladen.erdgeschoss.wohnzimmer.Westseite01_BefehlRunter'    , true);    
    
    });
    
    OliverIOO 1 Antwort Letzte Antwort
    0
    • G GuybrushThreepwood 0

      Hallo,

      Bisher habe ich die Zeiten für die Ausführung diverser Funktionen in den Code eingetragen und möchte diese nun anpassbar machen. Dazu habe ich einen Datenpunkt angelegt den ich mit Hilfe der vis (Stunden:Minuten) beschreibe. Der Wert des Datenpunkts beträgt 17:30

      Bisher habe ich das ganze wie unten zu sehen gelöst. Wie bekomme ich es hin den Datenpunkt in Stunden und Minuten zu zerlegen bzw. hat hier jemand noch ein anderen Lösungsansatz.

      schedule({hour: 17, minute: 30}, function () {
      
          setState('0_userdata.0.beckerRolladen.erdgeschoss.wohnzimmer.Westseite01_BefehlRunter'    , true);    
      
      });
      
      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von
      #2

      @guybrushthreepwood-0

      so ungefähr

      var time = await getStateAsync("datenpunktname").split(":");
      console.log("stunden " + time[0]);
      console.log("Minuten " + time[1]);
      

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      G 1 Antwort Letzte Antwort
      0
      • OliverIOO OliverIO

        @guybrushthreepwood-0

        so ungefähr

        var time = await getStateAsync("datenpunktname").split(":");
        console.log("stunden " + time[0]);
        console.log("Minuten " + time[1]);
        
        G Offline
        G Offline
        GuybrushThreepwood 0
        schrieb am zuletzt editiert von
        #3

        @oliverio Danke für die schnelle Antwort aber ich bekomme es noch nicht hin.

        Bekomme folgenden Fehler und await und split sind im Editor unterstrichen.
        javascript.0 (1535) script.js.common.gardenaVentilbox.ansteuerungVentilbox: TypeError: getStateAsync(...).split is not a function

        async function convertTime() 
        {
            var time = await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit').split(":");
            console.log("stunden " + time[0]);
            console.log("Minuten " + time[1]);
        };
        
        F 1 Antwort Letzte Antwort
        0
        • G GuybrushThreepwood 0

          @oliverio Danke für die schnelle Antwort aber ich bekomme es noch nicht hin.

          Bekomme folgenden Fehler und await und split sind im Editor unterstrichen.
          javascript.0 (1535) script.js.common.gardenaVentilbox.ansteuerungVentilbox: TypeError: getStateAsync(...).split is not a function

          async function convertTime() 
          {
              var time = await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit').split(":");
              console.log("stunden " + time[0]);
              console.log("Minuten " + time[1]);
          };
          
          F Offline
          F Offline
          fastfoot
          schrieb am zuletzt editiert von
          #4

          @guybrushthreepwood-0 sagte in Javaskript Datenpunkt mit Zeit für schedule() umformen:

          const time = (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");

          iobroker läuft unter Docker auf QNAP TS-451+
          SkriptRecovery: https://forum.iobroker.net/post/930558

          OliverIOO G 2 Antworten Letzte Antwort
          0
          • F fastfoot

            @guybrushthreepwood-0 sagte in Javaskript Datenpunkt mit Zeit für schedule() umformen:

            const time = (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #5

            @fastfoot
            ach ja das .val vergessen

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            F 1 Antwort Letzte Antwort
            0
            • F fastfoot

              @guybrushthreepwood-0 sagte in Javaskript Datenpunkt mit Zeit für schedule() umformen:

              const time = (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");

              G Offline
              G Offline
              GuybrushThreepwood 0
              schrieb am zuletzt editiert von GuybrushThreepwood 0
              #6

              @fastfoot vielen Dank, das war die Lösung. Es funktioniert, auch wenn ich keine Ahnung....

              OliverIOO 1 Antwort Letzte Antwort
              0
              • G GuybrushThreepwood 0

                @fastfoot vielen Dank, das war die Lösung. Es funktioniert, auch wenn ich keine Ahnung....

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #7

                @guybrushthreepwood-0
                aber ist doch fast lesbar.

                getStateAync holt das Datenpunktobjekt von iobroker ab.
                Im Objekt sind noch andere werte wie bspw Zeitstempel, etc.
                im .val ist der eigentliche Dateninhalt gespeichert.
                also 17:30
                Dieser Wert wird in die javascript-Funktion split gesteckt
                https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/split
                diese funktion sucht in einem text nach einem Trennzeichen und macht daraus ein Array (also eine Liste, die durchnummeriert ist. Ein Array fängt immer mit 0 an
                Daher wandert die 17 in time[0] und 30 in time[1]
                Wen du spielen willst kannst ja mal schauen was passiert wenn du in den Datenpunk 17:30:15 einträgst, evtl kommst drauf, wie man den dritten Teil abruft

                javascript läuft asynchron. d.h. solange irgend ein teil wartet bis irgend etwas erledigt ist, kann das programm weiterlaufen. da du nicht weißt wie lange iobroker benötigt die daten zurück zu liefern, wird darauf mit await gewartet.
                es gibt noch eine ältere funktion (getStates) die ist ebenfalls asynchron, aber mit einer anderen logik, da müsste der code etwas anders aussehen. aber await ist moderner und der code ist lesbarer.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                G 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @fastfoot
                  ach ja das .val vergessen

                  F Offline
                  F Offline
                  fastfoot
                  schrieb am zuletzt editiert von
                  #8

                  @oliverio nicht nur, auch die Klammern sind wichtig :grinning: eine meiner ersten Begegnungen mit await, deshalb springt mir sowas sofort ins Auge

                  iobroker läuft unter Docker auf QNAP TS-451+
                  SkriptRecovery: https://forum.iobroker.net/post/930558

                  1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @guybrushthreepwood-0
                    aber ist doch fast lesbar.

                    getStateAync holt das Datenpunktobjekt von iobroker ab.
                    Im Objekt sind noch andere werte wie bspw Zeitstempel, etc.
                    im .val ist der eigentliche Dateninhalt gespeichert.
                    also 17:30
                    Dieser Wert wird in die javascript-Funktion split gesteckt
                    https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/split
                    diese funktion sucht in einem text nach einem Trennzeichen und macht daraus ein Array (also eine Liste, die durchnummeriert ist. Ein Array fängt immer mit 0 an
                    Daher wandert die 17 in time[0] und 30 in time[1]
                    Wen du spielen willst kannst ja mal schauen was passiert wenn du in den Datenpunk 17:30:15 einträgst, evtl kommst drauf, wie man den dritten Teil abruft

                    javascript läuft asynchron. d.h. solange irgend ein teil wartet bis irgend etwas erledigt ist, kann das programm weiterlaufen. da du nicht weißt wie lange iobroker benötigt die daten zurück zu liefern, wird darauf mit await gewartet.
                    es gibt noch eine ältere funktion (getStates) die ist ebenfalls asynchron, aber mit einer anderen logik, da müsste der code etwas anders aussehen. aber await ist moderner und der code ist lesbarer.

                    G Offline
                    G Offline
                    GuybrushThreepwood 0
                    schrieb am zuletzt editiert von GuybrushThreepwood 0
                    #9

                    @oliverio Danke für die Erläuterung, ich habe nach deinem ersten Post die Hilfe die im javascript-Adapter verlinkt ist nach split durchsucht und nichts gefunden. Der Teil zum Thema await war mir bislang nicht bekannt.

                    Um das ganze Thema noch zum Abschluss zu bringen, könnt ihr mir noch sagen wie ich die Konstanten für hour und minute noch ersetzen kann? Ich habe die Konstanten einfach durch zwei interne Variablen ersetzt, was irgendwie nicht klappt.

                    var h = 0 
                    var m = 0
                    
                    async function convertTime() 
                    {
                        var time = (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                    
                        h   = time[0];
                        m = time[1];
                    
                        //console.log("Stunden: " + h);
                        //console.log("Minuten: " + m);
                    };
                    
                    schedule({hour: h, minute: m}, function () {
                        log("funktioniert");    
                    });
                    
                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • G GuybrushThreepwood 0

                      @oliverio Danke für die Erläuterung, ich habe nach deinem ersten Post die Hilfe die im javascript-Adapter verlinkt ist nach split durchsucht und nichts gefunden. Der Teil zum Thema await war mir bislang nicht bekannt.

                      Um das ganze Thema noch zum Abschluss zu bringen, könnt ihr mir noch sagen wie ich die Konstanten für hour und minute noch ersetzen kann? Ich habe die Konstanten einfach durch zwei interne Variablen ersetzt, was irgendwie nicht klappt.

                      var h = 0 
                      var m = 0
                      
                      async function convertTime() 
                      {
                          var time = (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                      
                          h   = time[0];
                          m = time[1];
                      
                          //console.log("Stunden: " + h);
                          //console.log("Minuten: " + m);
                      };
                      
                      schedule({hour: h, minute: m}, function () {
                          log("funktioniert");    
                      });
                      
                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von OliverIO
                      #10

                      @guybrushthreepwood-0

                      du wirst schedule erneut aufrufen müssen um den zeitrythmus zu ändern.
                      den alten schedule musst du abmelden

                      das könnte ungefähr so aussehen (ungetestet,blind geschrieben, da können noch fehler drin sein

                      let mySchedule=null;
                      on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                          let  time  = convertTime();
                          if (mySchedule) clearSchedule(mySchedule);
                      
                          mySchedule = schedule({hour: time[0], minute:time[1]}, function () {
                              log("funktioniert");    
                          });
                      
                      });
                      
                      async function convertTime() 
                      {
                          return (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                      };
                      

                      immer wenn sich die zeit im datenpunkt ändert wird der code nach on aufgerufen
                      die zeit konvertiert
                      geprüft ob es schon ein altes schedule gibt, wenn ja abgemeldet
                      dann neues schedule gestartet und gemerkt
                      dann bis zur nächsten änderung gewartet

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Antwort Letzte Antwort
                      0
                      • BananaJoeB Offline
                        BananaJoeB Offline
                        BananaJoe
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        Der Fall nach dem Neustart muss auch beachtet werden - also

                        let mySchedule=null;
                        mySchedule = schedule({hour: time[0], minute:time[1]}, function () {
                                log("Start nach Skriptstart");    
                            });
                        
                        on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                        

                        einmal nach dem

                        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                        OliverIOO 1 Antwort Letzte Antwort
                        0
                        • BananaJoeB BananaJoe

                          Der Fall nach dem Neustart muss auch beachtet werden - also

                          let mySchedule=null;
                          mySchedule = schedule({hour: time[0], minute:time[1]}, function () {
                                  log("Start nach Skriptstart");    
                              });
                          
                          on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                          

                          einmal nach dem

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          schrieb am zuletzt editiert von OliverIO
                          #12

                          damit wir nix doppelt schreiben dann so
                          bei dem async vor function newSchedule bin ich mir unsicher.

                          let mySchedule = newSchedule();
                          on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                              if (mySchedule) clearSchedule(mySchedule);
                              mySchedule=newSchedule();
                           });
                          
                          function newSchedule() {
                              let  time  = convertTime();
                              return schedule({hour: time[0], minute:time[1]}, function () {
                                  log("funktioniert");    
                              });
                          } 
                          async function convertTime() 
                          {
                              return (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                          };
                          
                          

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          G 1 Antwort Letzte Antwort
                          0
                          • G Offline
                            G Offline
                            GuybrushThreepwood 0
                            schrieb am zuletzt editiert von
                            #13

                            @oliverio

                            Ich habe den Code übernommen und eine neue Logzeile eingefügt und das Skript wird ohne Fehlermeldung gespeichert. Die Änderung meiner Zeiteingabe wird erkannt und laut log funktioniert das Skript bis zur Zeile 9, hier erscheint die Fehlermeldung "javascript.0 (1535) script.js.common.gardenaVentilbox.ansteuerungVentilbox: schedule(cron=[object Object]): cannot create schedule"

                            on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) 
                                {
                                    log("neue Zeiteingabe erkannt"); 
                                    let  time  = convertTime();
                            
                                    log("Zeitfunktion abmelden")       
                                    if (mySchedule) clearSchedule(mySchedule);
                             
                                    mySchedule = schedule({hour: time[0], minute: time[1]}, function () 
                                    {
                                    log("neue Zeitfunktion anlegen");    
                                    });
                             
                                });
                            
                            1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              damit wir nix doppelt schreiben dann so
                              bei dem async vor function newSchedule bin ich mir unsicher.

                              let mySchedule = newSchedule();
                              on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                                  if (mySchedule) clearSchedule(mySchedule);
                                  mySchedule=newSchedule();
                               });
                              
                              function newSchedule() {
                                  let  time  = convertTime();
                                  return schedule({hour: time[0], minute:time[1]}, function () {
                                      log("funktioniert");    
                                  });
                              } 
                              async function convertTime() 
                              {
                                  return (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                              };
                              
                              
                              G Offline
                              G Offline
                              GuybrushThreepwood 0
                              schrieb am zuletzt editiert von
                              #14

                              @oliverio

                              let mySchedule = newSchedule();
                              on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                                  if (mySchedule) clearSchedule(mySchedule);
                                  mySchedule=newSchedule();
                               });
                               
                              function newSchedule() {
                                  let  time  = convertTime();
                                  return schedule({hour: time[0], minute:time[1]}, function () {
                                      log("funktioniert");    
                                  });
                              } 
                              async function convertTime() 
                              {
                                  return (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                              };
                              

                              23:07:24.887 error javascript.0 (1535) script.js.common.gardenaVentilbox.ansteuerungVentilbox: ReferenceError: Cannot access 'mySchedule' before initialization

                              Für mich wird's langsam kompliziert....danke für die Nerven =)

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • G GuybrushThreepwood 0

                                @oliverio

                                let mySchedule = newSchedule();
                                on('0_userdata.0.gardenaVentilbox.automatik.Startzeit', function (obj) {
                                    if (mySchedule) clearSchedule(mySchedule);
                                    mySchedule=newSchedule();
                                 });
                                 
                                function newSchedule() {
                                    let  time  = convertTime();
                                    return schedule({hour: time[0], minute:time[1]}, function () {
                                        log("funktioniert");    
                                    });
                                } 
                                async function convertTime() 
                                {
                                    return (await getStateAsync('0_userdata.0.gardenaVentilbox.automatik.Startzeit')).val.split(":");
                                };
                                

                                23:07:24.887 error javascript.0 (1535) script.js.common.gardenaVentilbox.ansteuerungVentilbox: ReferenceError: Cannot access 'mySchedule' before initialization

                                Für mich wird's langsam kompliziert....danke für die Nerven =)

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

                                @guybrushthreepwood-0 sagte: Für mich wird's langsam kompliziert

                                Ich würde es so machen:

                                const idStartzeit = '0_userdata.0.gardenaVentilbox.automatik.Startzeit';
                                let mySchedule = null;
                                
                                function startSchedule(time) {
                                    time = time.split(':');
                                    mySchedule = schedule({hour: time[0], minute:time[1]}, function () {
                                        log("funktioniert");    
                                    });
                                }
                                
                                startSchedule(getState(idStartzeit).val); // Skriptstart
                                
                                on(idStartzeit, function(dp) {
                                    if (mySchedule) clearSchedule(mySchedule);
                                    startSchedule(dp.state.val);
                                });
                                

                                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

                                G 2 Antworten Letzte Antwort
                                0
                                • paul53P paul53

                                  @guybrushthreepwood-0 sagte: Für mich wird's langsam kompliziert

                                  Ich würde es so machen:

                                  const idStartzeit = '0_userdata.0.gardenaVentilbox.automatik.Startzeit';
                                  let mySchedule = null;
                                  
                                  function startSchedule(time) {
                                      time = time.split(':');
                                      mySchedule = schedule({hour: time[0], minute:time[1]}, function () {
                                          log("funktioniert");    
                                      });
                                  }
                                  
                                  startSchedule(getState(idStartzeit).val); // Skriptstart
                                  
                                  on(idStartzeit, function(dp) {
                                      if (mySchedule) clearSchedule(mySchedule);
                                      startSchedule(dp.state.val);
                                  });
                                  
                                  G Offline
                                  G Offline
                                  GuybrushThreepwood 0
                                  schrieb am zuletzt editiert von
                                  #16

                                  @paul53 Hat auf anhieb funktioniert...danke !

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @guybrushthreepwood-0 sagte: Für mich wird's langsam kompliziert

                                    Ich würde es so machen:

                                    const idStartzeit = '0_userdata.0.gardenaVentilbox.automatik.Startzeit';
                                    let mySchedule = null;
                                    
                                    function startSchedule(time) {
                                        time = time.split(':');
                                        mySchedule = schedule({hour: time[0], minute:time[1]}, function () {
                                            log("funktioniert");    
                                        });
                                    }
                                    
                                    startSchedule(getState(idStartzeit).val); // Skriptstart
                                    
                                    on(idStartzeit, function(dp) {
                                        if (mySchedule) clearSchedule(mySchedule);
                                        startSchedule(dp.state.val);
                                    });
                                    
                                    G Offline
                                    G Offline
                                    GuybrushThreepwood 0
                                    schrieb am zuletzt editiert von
                                    #17

                                    @paul53 Hallo nochmal, ich habe noch eine Frage zum Skript. Ich kann noch nicht nachvollziehen was in Zeile 13 mit dem "dp" gemeint ist. Hier wird einfach der Wert aus idStartzeit übergeben? Anschließend die bestehende schedule gelöscht und eine neue mit dem Aufruf der Funktion startSchedule angelegt.

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • G GuybrushThreepwood 0

                                      @paul53 Hallo nochmal, ich habe noch eine Frage zum Skript. Ich kann noch nicht nachvollziehen was in Zeile 13 mit dem "dp" gemeint ist. Hier wird einfach der Wert aus idStartzeit übergeben? Anschließend die bestehende schedule gelöscht und eine neue mit dem Aufruf der Funktion startSchedule angelegt.

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

                                      @guybrushthreepwood-0 sagte: mit dem "dp" gemeint ist. Hier wird einfach der Wert aus idStartzeit übergeben?

                                      dp enthält das komplette Datenpunkt-Objekt von "0_userdata.0.gardenaVentilbox.automatik.Startzeit". dp.state.val enthält den Wert, also die Startzeit.

                                      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
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      505

                                      Online

                                      32.5k

                                      Benutzer

                                      81.7k

                                      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