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

                        441

                        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