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. Blockly
  5. [gelöst] wie Blockly Script "schöner" machen ?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] wie Blockly Script "schöner" machen ?

Geplant Angeheftet Gesperrt Verschoben Blockly
20 Beiträge 3 Kommentatoren 1.0k Aufrufe 2 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.
  • HALH Offline
    HALH Offline
    HAL
    schrieb am zuletzt editiert von
    #9

    Ja, genua , da steht jeweils die Stunden und Minuten zweistellig und wenn weniger als 10 Stunden oder 10 Minuten mit führender 0.

    Das dazugehörige Java Script:

    //************ Umrechnung der Druckzeiten von Sekunden nach HH:MM:SS********************* */
    createState('javascript.0.OctoPi.Printzeit', {
        name: 'Druckdauer',
        desc: 'Druckdauer',
        type: 'string'
    });
     
    createState('javascript.0.OctoPi.Restzeit', {
        name: 'Restzeit',
        desc: 'Restzeit',
        type: 'string'
    });
     
    createState('javascript.0.OctoPi.Reststunden', {
        name: 'Reststunden',
        desc: 'Reststunden',
        type: 'string'
    });
    
    createState('javascript.0.OctoPi.Restminuten', {
        name: 'Restminuten',
        desc: 'Restminuten',
        type: 'string'
    });
    
    const restdauer  = 'octoprint.0.printjob.progress.printtime_left'
    const druckdauer = 'octoprint.0.printjob.progress.printtime'
     
    // Triggern, wenn sich Restzeit verkleinert
    on({id: [restdauer], change: "lt"} , function (obj) {
        umrechnung();
    });
     
    //_________________________________________________________________________
     
    function umrechnung() {
        var time_left = getState("octoprint.0.printjob.progress.printtime_left").val;
        var job_time  = getState('octoprint.0.printjob.progress.printtime').val;
     
        // Hours
        var hours_restzeit  =  Math.floor( time_left / 3600 );
        var hours_printzeit =  Math.floor( job_time  / 3600 );
        if ( hours_restzeit  < 10 ){var std_restzeit = "0" + String(hours_restzeit);}
            else var std_restzeit = String(hours_restzeit)
        if ( hours_printzeit < 10 ){var std_printzeit= "0" + String(hours_printzeit); }
            else var std_printzeit = String(hours_printzeit)
     
    
    
        // Minutes
        var minutes_restzeit  = Math.floor( (time_left%3600) / 60 );
        var minutes_printzeit = Math.floor( (job_time%3600)  / 60 );
        if ( minutes_restzeit  < 10 ){var min_restzeit = "0" + String(minutes_restzeit);}
            else var min_restzeit = String(minutes_restzeit)
        if ( minutes_printzeit < 10 ){var min_printzeit= "0" + String(minutes_printzeit); }
             else var min_printzeit = String(minutes_printzeit)
     
              
    
        // Seconds
        var seconds_restzeit  = Math.floor( time_left%60 );
        var seconds_printzeit = Math.floor( job_time%60  );
        if ( seconds_restzeit  < 10 ){var sec_restzeit = "0" + String(seconds_restzeit);}
            else var sec_restzeit = String(seconds_restzeit)
        if ( seconds_printzeit < 10 ){var sec_printzeit= "0" + String(seconds_printzeit); }
            else var sec_printzeit = String(seconds_printzeit)
     
        // Zeit in HH:MM:SS format
        var restzeit  = std_restzeit  + ':' + min_restzeit  + ':' + sec_restzeit;
        var printzeit = std_printzeit + ':' + min_printzeit + ':' + sec_printzeit;
     
        console.log("Java Restzeit: " + restzeit);
        console.log("Java Printzeit: " + printzeit);
        console.log("Java Reststunden: " + std_restzeit);
        console.log("Java Restminuten: " + min_restzeit);
     
        setState("javascript.0.OctoPi.Restzeit", restzeit, true);
        setState('javascript.0.OctoPi.Printzeit', printzeit, true);
        setState('javascript.0.OctoPi.Reststunden', std_restzeit, true);
          setState('javascript.0.OctoPi.Restminuten', min_restzeit, true);
    }
     
    
    

    Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
    (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

    paul53P dslraserD 2 Antworten Letzte Antwort
    0
    • HALH HAL

      Ja, genua , da steht jeweils die Stunden und Minuten zweistellig und wenn weniger als 10 Stunden oder 10 Minuten mit führender 0.

      Das dazugehörige Java Script:

      //************ Umrechnung der Druckzeiten von Sekunden nach HH:MM:SS********************* */
      createState('javascript.0.OctoPi.Printzeit', {
          name: 'Druckdauer',
          desc: 'Druckdauer',
          type: 'string'
      });
       
      createState('javascript.0.OctoPi.Restzeit', {
          name: 'Restzeit',
          desc: 'Restzeit',
          type: 'string'
      });
       
      createState('javascript.0.OctoPi.Reststunden', {
          name: 'Reststunden',
          desc: 'Reststunden',
          type: 'string'
      });
      
      createState('javascript.0.OctoPi.Restminuten', {
          name: 'Restminuten',
          desc: 'Restminuten',
          type: 'string'
      });
      
      const restdauer  = 'octoprint.0.printjob.progress.printtime_left'
      const druckdauer = 'octoprint.0.printjob.progress.printtime'
       
      // Triggern, wenn sich Restzeit verkleinert
      on({id: [restdauer], change: "lt"} , function (obj) {
          umrechnung();
      });
       
      //_________________________________________________________________________
       
      function umrechnung() {
          var time_left = getState("octoprint.0.printjob.progress.printtime_left").val;
          var job_time  = getState('octoprint.0.printjob.progress.printtime').val;
       
          // Hours
          var hours_restzeit  =  Math.floor( time_left / 3600 );
          var hours_printzeit =  Math.floor( job_time  / 3600 );
          if ( hours_restzeit  < 10 ){var std_restzeit = "0" + String(hours_restzeit);}
              else var std_restzeit = String(hours_restzeit)
          if ( hours_printzeit < 10 ){var std_printzeit= "0" + String(hours_printzeit); }
              else var std_printzeit = String(hours_printzeit)
       
      
      
          // Minutes
          var minutes_restzeit  = Math.floor( (time_left%3600) / 60 );
          var minutes_printzeit = Math.floor( (job_time%3600)  / 60 );
          if ( minutes_restzeit  < 10 ){var min_restzeit = "0" + String(minutes_restzeit);}
              else var min_restzeit = String(minutes_restzeit)
          if ( minutes_printzeit < 10 ){var min_printzeit= "0" + String(minutes_printzeit); }
               else var min_printzeit = String(minutes_printzeit)
       
                
      
          // Seconds
          var seconds_restzeit  = Math.floor( time_left%60 );
          var seconds_printzeit = Math.floor( job_time%60  );
          if ( seconds_restzeit  < 10 ){var sec_restzeit = "0" + String(seconds_restzeit);}
              else var sec_restzeit = String(seconds_restzeit)
          if ( seconds_printzeit < 10 ){var sec_printzeit= "0" + String(seconds_printzeit); }
              else var sec_printzeit = String(seconds_printzeit)
       
          // Zeit in HH:MM:SS format
          var restzeit  = std_restzeit  + ':' + min_restzeit  + ':' + sec_restzeit;
          var printzeit = std_printzeit + ':' + min_printzeit + ':' + sec_printzeit;
       
          console.log("Java Restzeit: " + restzeit);
          console.log("Java Printzeit: " + printzeit);
          console.log("Java Reststunden: " + std_restzeit);
          console.log("Java Restminuten: " + min_restzeit);
       
          setState("javascript.0.OctoPi.Restzeit", restzeit, true);
          setState('javascript.0.OctoPi.Printzeit', printzeit, true);
          setState('javascript.0.OctoPi.Reststunden', std_restzeit, true);
            setState('javascript.0.OctoPi.Restminuten', min_restzeit, true);
      }
       
      
      
      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #10

      @HAL
      Wandlung "nach Zahl" entfernt führende Nullen.

      Blockly_temp.JPG

      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
      • HALH HAL

        Ja, genua , da steht jeweils die Stunden und Minuten zweistellig und wenn weniger als 10 Stunden oder 10 Minuten mit führender 0.

        Das dazugehörige Java Script:

        //************ Umrechnung der Druckzeiten von Sekunden nach HH:MM:SS********************* */
        createState('javascript.0.OctoPi.Printzeit', {
            name: 'Druckdauer',
            desc: 'Druckdauer',
            type: 'string'
        });
         
        createState('javascript.0.OctoPi.Restzeit', {
            name: 'Restzeit',
            desc: 'Restzeit',
            type: 'string'
        });
         
        createState('javascript.0.OctoPi.Reststunden', {
            name: 'Reststunden',
            desc: 'Reststunden',
            type: 'string'
        });
        
        createState('javascript.0.OctoPi.Restminuten', {
            name: 'Restminuten',
            desc: 'Restminuten',
            type: 'string'
        });
        
        const restdauer  = 'octoprint.0.printjob.progress.printtime_left'
        const druckdauer = 'octoprint.0.printjob.progress.printtime'
         
        // Triggern, wenn sich Restzeit verkleinert
        on({id: [restdauer], change: "lt"} , function (obj) {
            umrechnung();
        });
         
        //_________________________________________________________________________
         
        function umrechnung() {
            var time_left = getState("octoprint.0.printjob.progress.printtime_left").val;
            var job_time  = getState('octoprint.0.printjob.progress.printtime').val;
         
            // Hours
            var hours_restzeit  =  Math.floor( time_left / 3600 );
            var hours_printzeit =  Math.floor( job_time  / 3600 );
            if ( hours_restzeit  < 10 ){var std_restzeit = "0" + String(hours_restzeit);}
                else var std_restzeit = String(hours_restzeit)
            if ( hours_printzeit < 10 ){var std_printzeit= "0" + String(hours_printzeit); }
                else var std_printzeit = String(hours_printzeit)
         
        
        
            // Minutes
            var minutes_restzeit  = Math.floor( (time_left%3600) / 60 );
            var minutes_printzeit = Math.floor( (job_time%3600)  / 60 );
            if ( minutes_restzeit  < 10 ){var min_restzeit = "0" + String(minutes_restzeit);}
                else var min_restzeit = String(minutes_restzeit)
            if ( minutes_printzeit < 10 ){var min_printzeit= "0" + String(minutes_printzeit); }
                 else var min_printzeit = String(minutes_printzeit)
         
                  
        
            // Seconds
            var seconds_restzeit  = Math.floor( time_left%60 );
            var seconds_printzeit = Math.floor( job_time%60  );
            if ( seconds_restzeit  < 10 ){var sec_restzeit = "0" + String(seconds_restzeit);}
                else var sec_restzeit = String(seconds_restzeit)
            if ( seconds_printzeit < 10 ){var sec_printzeit= "0" + String(seconds_printzeit); }
                else var sec_printzeit = String(seconds_printzeit)
         
            // Zeit in HH:MM:SS format
            var restzeit  = std_restzeit  + ':' + min_restzeit  + ':' + sec_restzeit;
            var printzeit = std_printzeit + ':' + min_printzeit + ':' + sec_printzeit;
         
            console.log("Java Restzeit: " + restzeit);
            console.log("Java Printzeit: " + printzeit);
            console.log("Java Reststunden: " + std_restzeit);
            console.log("Java Restminuten: " + min_restzeit);
         
            setState("javascript.0.OctoPi.Restzeit", restzeit, true);
            setState('javascript.0.OctoPi.Printzeit', printzeit, true);
            setState('javascript.0.OctoPi.Reststunden', std_restzeit, true);
              setState('javascript.0.OctoPi.Restminuten', min_restzeit, true);
        }
         
        
        
        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #11

        @HAL
        ich habe mir gerade mal so einen DP als Sting angelegt. Funktioniert bei mir genau wie von @paul53 vorgeschlagen. Ohne Wandlung nach Zahl kommt die Ansage mit null neun Minuten, mit Wandlung kommt neun Minuten.

        Bildschirmfoto 2020-01-09 um 19.31.16.png

        Bildschirmfoto 2020-01-09 um 19.34.19.png

        HALH 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @HAL
          ich habe mir gerade mal so einen DP als Sting angelegt. Funktioniert bei mir genau wie von @paul53 vorgeschlagen. Ohne Wandlung nach Zahl kommt die Ansage mit null neun Minuten, mit Wandlung kommt neun Minuten.

          Bildschirmfoto 2020-01-09 um 19.31.16.png

          Bildschirmfoto 2020-01-09 um 19.34.19.png

          HALH Offline
          HALH Offline
          HAL
          schrieb am zuletzt editiert von HAL
          #12

          @dslraser
          bei mir sieht es so aus, aber es kommen immer noch die führenden "nullen"
          Wandlung.JPG

          ich werde mal die Wandlung in die ausgabe packen.

          Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
          (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

          paul53P dslraserD 2 Antworten Letzte Antwort
          0
          • HALH HAL

            @dslraser
            bei mir sieht es so aus, aber es kommen immer noch die führenden "nullen"
            Wandlung.JPG

            ich werde mal die Wandlung in die ausgabe packen.

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

            @HAL sagte:

            bei mir sieht es so aus,

            Mein Vorschlag sieht auch anders aus.

            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
            1
            • HALH HAL

              @dslraser
              bei mir sieht es so aus, aber es kommen immer noch die führenden "nullen"
              Wandlung.JPG

              ich werde mal die Wandlung in die ausgabe packen.

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #14

              @HAL sagte in wie Blockly Script "schöner" machen ?:

              ich werde mal die Wandlung in die ausgabe packen.

              die soll ja auch angesagt werden und @paul53 hatte es auch so.

              HALH 1 Antwort Letzte Antwort
              0
              • dslraserD dslraser

                @HAL sagte in wie Blockly Script "schöner" machen ?:

                ich werde mal die Wandlung in die ausgabe packen.

                die soll ja auch angesagt werden und @paul53 hatte es auch so.

                HALH Offline
                HALH Offline
                HAL
                schrieb am zuletzt editiert von
                #15

                @dslraser ,
                so, jetzt muss ich nur warten, bis der Drucker im einstelligen Minuten Bereich ist ;-)
                (noch 18 Minuten....)
                wandlung2.JPG

                Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                dslraserD 1 Antwort Letzte Antwort
                0
                • HALH HAL

                  @dslraser ,
                  so, jetzt muss ich nur warten, bis der Drucker im einstelligen Minuten Bereich ist ;-)
                  (noch 18 Minuten....)
                  wandlung2.JPG

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #16

                  @HAL
                  dann sag mal Bescheid. Hättest aber auch einmal manuell den DP ändern können...

                  HALH 1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @HAL
                    dann sag mal Bescheid. Hättest aber auch einmal manuell den DP ändern können...

                    HALH Offline
                    HALH Offline
                    HAL
                    schrieb am zuletzt editiert von
                    #17

                    @dslraser
                    Jaein, ich nutze den DP auch für VIS und da ist die führende Null optisch besser

                    Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                    (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                    dslraserD 1 Antwort Letzte Antwort
                    0
                    • HALH HAL

                      @dslraser
                      Jaein, ich nutze den DP auch für VIS und da ist die führende Null optisch besser

                      dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #18

                      @HAL
                      ich meinte ja nur ein mal manuell auf 09 ändern...(für die Ansage)

                      1 Antwort Letzte Antwort
                      1
                      • HALH Offline
                        HALH Offline
                        HAL
                        schrieb am zuletzt editiert von HAL
                        #19

                        @dslraser und @paul53,

                        vielen Dank für Eure Hilfe ! , es hat geklappt ! :-) :clap:

                        Alle Raspberry ( 5 ) gegen NUC (N100, 16GB Ram und 500GB M2 SSD, extern 2TB SSD ) mit Proxmox 8.3.3 gewechselt. Läuft absolut super !
                        (Iobroker, Grafana, Teslalogger, Nextcloud, go2rtc, PiHole, IOB-VIS2, Teslamate, homeassistant nur als test)

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • HALH HAL

                          @dslraser und @paul53,

                          vielen Dank für Eure Hilfe ! , es hat geklappt ! :-) :clap:

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

                          @HAL sagte:

                          es hat geklappt !

                          Bitte das Thema als [gelöst] markieren.

                          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

                          312

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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