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: ParseInt

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    326

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Gelöst: ParseInt

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

    Hallo
    ich möchte gerne aus einem String "17:02" die Std und die Minuten als Integer in einen Datenpunkt schreiben
    Ich habe das mal so versucht, geht das eleganter:

    var VarDusk=getState("javascript.0.Astro.Zeiten.08 - dusk").val; 
    var R_stunde = parseInt(VarDusk, 10);
    var min = VarDusk.substr(3, 2);
    var R_minute = parseInt(min, 10);
    
    paul53P 1 Antwort Letzte Antwort
    0
    • M michihorn

      Hallo
      ich möchte gerne aus einem String "17:02" die Std und die Minuten als Integer in einen Datenpunkt schreiben
      Ich habe das mal so versucht, geht das eleganter:

      var VarDusk=getState("javascript.0.Astro.Zeiten.08 - dusk").val; 
      var R_stunde = parseInt(VarDusk, 10);
      var min = VarDusk.substr(3, 2);
      var R_minute = parseInt(min, 10);
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @michihorn sagte in ParseInt:

      "17:02" die Std und die Minuten als Integer

      Da die Stunden evtl. mit oder ohne führende "0" auftreten können, bevorzuge ich die Array-Version.

      var VarDusk = getState("javascript.0.Astro.Zeiten.08 - dusk").val.split(':'); 
      var R_stunde = parseInt(VarDusk[0], 10);
      var R_minute = parseInt(VarDusk[1], 10);
      

      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
      • M Offline
        M Offline
        michihorn
        schrieb am zuletzt editiert von
        #3

        Danke,
        jetzt aktuell ist Dusk bei 17:05. R_minute gibt mir aber eine 7 aus. Warum?
        Anbei das komplette Script, sicher stark optimierungsbedürftig ;-)

        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Astro_std",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:17});
        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Astro_min",{read: true,write: true,desc: "Zeiteingabe Minute ein,",type: "number",min:'0', max:'24',def:0});
        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_std",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:1});
        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_min",{read: true,write: true,desc: "Zeiteingabe Minute ein,",type: "number",min:'0', max:'24',def:0});
        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_std",{read: true,write: true,desc: "Neu Runter Stunden,",type: "number",min:'0', max:'24',def:1});
        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_min",{read: true,write: true,desc: "Neu Runter Minuten,",type: "number",min:'0', max:'24',def:0});
        createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Verzögerung");
        
        
        schedule("* * * * *", function () {
        var VarDusk=getState("javascript.0.Astro.Zeiten.08 - dusk").val; 
        var R_stunde = parseInt(VarDusk[0], 10);
        //var min = VarDusk.substr(3, 2);
        var R_minute = parseInt(VarDusk[1], 10);
        log(R_minute);
        var Warte_std =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_std').val
        var Warte_min =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_min').val
        
        var add_std = Math.floor(R_stunde + Warte_std);
        var add_min = Math.floor(R_minute + Warte_min);
        
        var msec=60000 * ((60*Warte_std) + Warte_min);
        setState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Verzögerung", msec);
        
        setState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_std", add_std);
        setState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_min", add_min);
        var neue_std =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_std').val
        var neue_min =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_min').val
        
        var R_time = 60 * neue_std + neue_min;
            let now = new Date();
            now = 60 * now.getHours() + now.getMinutes();
            let diff = (R_time - now);
            if(diff < 0) diff = 0;
            let h = Math.floor(diff / 60);
            let m = diff - h * 60;
            let restzeit = (h + " Stunden, " + m + " Minuten");
            log("Restzeit: " +restzeit);
            setState("javascript.0.Rolladen.Zeitsteuerung.VIER.Ganzzu", restzeit, true);
        });
        
        paul53P 1 Antwort Letzte Antwort
        0
        • M michihorn

          Danke,
          jetzt aktuell ist Dusk bei 17:05. R_minute gibt mir aber eine 7 aus. Warum?
          Anbei das komplette Script, sicher stark optimierungsbedürftig ;-)

          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Astro_std",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:17});
          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Astro_min",{read: true,write: true,desc: "Zeiteingabe Minute ein,",type: "number",min:'0', max:'24',def:0});
          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_std",{read: true,write: true,desc: "Zeiteingabe Stunden ein,",type: "number",min:'0', max:'24',def:1});
          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_min",{read: true,write: true,desc: "Zeiteingabe Minute ein,",type: "number",min:'0', max:'24',def:0});
          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_std",{read: true,write: true,desc: "Neu Runter Stunden,",type: "number",min:'0', max:'24',def:1});
          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_min",{read: true,write: true,desc: "Neu Runter Minuten,",type: "number",min:'0', max:'24',def:0});
          createState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Verzögerung");
          
          
          schedule("* * * * *", function () {
          var VarDusk=getState("javascript.0.Astro.Zeiten.08 - dusk").val; 
          var R_stunde = parseInt(VarDusk[0], 10);
          //var min = VarDusk.substr(3, 2);
          var R_minute = parseInt(VarDusk[1], 10);
          log(R_minute);
          var Warte_std =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_std').val
          var Warte_min =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Warte_min').val
          
          var add_std = Math.floor(R_stunde + Warte_std);
          var add_min = Math.floor(R_minute + Warte_min);
          
          var msec=60000 * ((60*Warte_std) + Warte_min);
          setState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Verzögerung", msec);
          
          setState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_std", add_std);
          setState("javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_min", add_min);
          var neue_std =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_std').val
          var neue_min =getState('javascript.0.Rolladen.Zeitsteuerung.ASTRO.Neu_min').val
          
          var R_time = 60 * neue_std + neue_min;
              let now = new Date();
              now = 60 * now.getHours() + now.getMinutes();
              let diff = (R_time - now);
              if(diff < 0) diff = 0;
              let h = Math.floor(diff / 60);
              let m = diff - h * 60;
              let restzeit = (h + " Stunden, " + m + " Minuten");
              log("Restzeit: " +restzeit);
              setState("javascript.0.Rolladen.Zeitsteuerung.VIER.Ganzzu", restzeit, true);
          });
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @michihorn
          In Zeile 11 fehlt .split(':') am Ende.

          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
          • M Offline
            M Offline
            michihorn
            schrieb am zuletzt editiert von
            #5

            sorry, wie genau muss das Ausehen?

            paul53P 1 Antwort Letzte Antwort
            0
            • M michihorn

              sorry, wie genau muss das Ausehen?

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

              @michihorn sagte in ParseInt:

              wie genau muss das Ausehen?

              So wie hier.

              var VarDusk = getState("javascript.0.Astro.Zeiten.08 - dusk").val.split(':'); 
              

              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
              • M Offline
                M Offline
                michihorn
                schrieb am zuletzt editiert von
                #7

                @paul53 sagte in ParseInt:

                var VarDusk = getState("javascript.0.Astro.Zeiten.08 - dusk").val.split(':');

                oh supi, danke

                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

                512

                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