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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Zeitdifferenz berechnen

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

Zeitdifferenz berechnen

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
106 Beiträge 20 Kommentatoren 22.1k Aufrufe 24 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.
  • H-a-m-iH Offline
    H-a-m-iH Offline
    H-a-m-i
    schrieb am zuletzt editiert von
    #75

    Hmm ok. Dann gibt es keine Möglichkeit, in Blockly eine Differenz in SS:mm anzeigen zu lassen, ohne im Sommer 3,6 Mio Millisekunden und im Winter 7,2 Mio Millisekunden abzuziehen?

    haus-automatisierungH 1 Antwort Letzte Antwort
    0
    • H-a-m-iH H-a-m-i

      Hmm ok. Dann gibt es keine Möglichkeit, in Blockly eine Differenz in SS:mm anzeigen zu lassen, ohne im Sommer 3,6 Mio Millisekunden und im Winter 7,2 Mio Millisekunden abzuziehen?

      haus-automatisierungH Offline
      haus-automatisierungH Offline
      haus-automatisierung
      Developer Most Active
      schrieb am zuletzt editiert von
      #76

      @h-a-m-i Na doch, könnte man sich mit dem Modulo errechnen. Dann muss man auch nicht mit der Sommerzeit der lokalen Zeitzone kämpfen

      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
      📚 Meine inoffizielle ioBroker Dokumentation

      1 Antwort Letzte Antwort
      0
      • H-a-m-iH Offline
        H-a-m-iH Offline
        H-a-m-i
        schrieb am zuletzt editiert von
        #77

        Ok hab da jetzt mal etwas rumgelesen und mit dem mod rum experimentiert, aber da bekomme ich iwie nur, beim Testen manuell eingegebene, Sekunden bzw. Millisekunden richtig umgerechnet. Sobald ich irgend ein "Zeit-Konvertierungs-Block" mit rein nehme, wie zb den "Aktuelle zeit als Datum-Objekt" Block, den ich oft verwende, kommt wieder eine Stunde mehr raus. Vermutlich wegen der Zeitzonen Berücksichtigung dieser Blöcke... Ist mir wohl zu hoch xD hab einfach zu wenig Ahnung von dem Ganzen...

        Ich hab mir jetzt eine, für euch vermutlich umständliche, aber für mich einfachere und schnellere Lösung gebaut xD Ich hab nen DP erstellt, der je nach Sommer- oder Winterzeit entweder die 3600000 oder die 7200000 bekommt und diesen subtrahiere ich dann von meinen Zeitdifferenzen

        haus-automatisierungH 1 Antwort Letzte Antwort
        0
        • H-a-m-iH H-a-m-i

          Ok hab da jetzt mal etwas rumgelesen und mit dem mod rum experimentiert, aber da bekomme ich iwie nur, beim Testen manuell eingegebene, Sekunden bzw. Millisekunden richtig umgerechnet. Sobald ich irgend ein "Zeit-Konvertierungs-Block" mit rein nehme, wie zb den "Aktuelle zeit als Datum-Objekt" Block, den ich oft verwende, kommt wieder eine Stunde mehr raus. Vermutlich wegen der Zeitzonen Berücksichtigung dieser Blöcke... Ist mir wohl zu hoch xD hab einfach zu wenig Ahnung von dem Ganzen...

          Ich hab mir jetzt eine, für euch vermutlich umständliche, aber für mich einfachere und schnellere Lösung gebaut xD Ich hab nen DP erstellt, der je nach Sommer- oder Winterzeit entweder die 3600000 oder die 7200000 bekommt und diesen subtrahiere ich dann von meinen Zeitdifferenzen

          haus-automatisierungH Offline
          haus-automatisierungH Offline
          haus-automatisierung
          Developer Most Active
          schrieb am zuletzt editiert von
          #78

          @h-a-m-i sagte in Zeitdifferenz berechnen:

          wie zb den "Aktuelle zeit als Datum-Objekt" Block, den ich oft verwende, kommt wieder eine Stunde mehr raus.

          Richtig, das habe ich ja schon 2x oben erklärt. Daher nicht verwenden wenn es darum geht, Zeitdifferenzen zu formatieren. Der ist dafür da, um ein Datum / Zeitstempel zu formatieren. Mehr nicht. Alles andere ist zweckentfremdet und führt zu Seiteneffekten!

          Das nächste Problem mit der Lösung ist, dass das Format ja bei 23:59 Uhr endet und dann wieder bei 00:00 Uhr anfängt (das wäre der Folgetag - also der 02.01.1970). Wie gesagt, da wird ein Datum formatiert. Zeitdifferenzen über 24 Stunden sind mit der Funktion also nicht abbildbar!

          Das hatte ich mit Beispielen aber schon ausführlicher erklärt.

          @h-a-m-i sagte in Zeitdifferenz berechnen:

          Ich hab nen DP erstellt, der je nach Sommer- oder Winterzeit entweder die 3600000 oder die 7200000 bekommt

          Ich wüsste gar nicht, ob man es noch komplizierter lösen könnte :) Am Ende reichen die Grundrechenarten, um das vernünftig zu lösen:

          Screenshot 2023-10-30 at 12.25.47.png

          aber:

          Bessere Lösung:

          Weil das (eigentlich recht einfache) Thema doch scheinbar so viele bewegt, habe ich gerade einen neue Funktion und einen neuen Blockly-Block in den JavaScript-Adapter gebaut. Kommt dann mit der nächsten Version (> 7.1.6) und sieht dann so aus:

          Screenshot 2023-10-30 at 12.16.36.png

          Beispiele gibts in der Dokumentation:

          const diff = 172800000 + 10800000 + 540000 + 15000; // 2 days, 3 hours, 9 minutes + 15 secoonds
          formatTimeDiff(diff); // "51:09:15"
          formatTimeDiff(diff, "DD hh:mm"); // "02 03:09"
          formatTimeDiff(diff, "D hh:mm"); // "2 03:09"
          formatTimeDiff(diff, "hh:mm:ss"); // "51:09:15"
          formatTimeDiff(diff, "h:m:s"); // "51:9:15"
          formatTimeDiff(diff, "hh:mm"); // "51:09"
          formatTimeDiff(diff, "mm:ss"); // "3069:15"
          formatTimeDiff(diff, "hh"); // "51"
          formatTimeDiff(diff, "mm"); // "3069"
          

          Ich hoffe, damit ist das Thema bald vom Tisch :)

          Ansonsten habe ich das Ganze gerade noch in einem YouTube-Video zusammengefasst. Also Problemstellung und Lösungsweg (inkl. der neuen Blockly-Bausteine): https://www.youtube.com/watch?v=sxkz3O6nfFQ

          🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
          🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
          📚 Meine inoffizielle ioBroker Dokumentation

          David G.D H-a-m-iH 2 Antworten Letzte Antwort
          3
          • haus-automatisierungH haus-automatisierung

            @h-a-m-i sagte in Zeitdifferenz berechnen:

            wie zb den "Aktuelle zeit als Datum-Objekt" Block, den ich oft verwende, kommt wieder eine Stunde mehr raus.

            Richtig, das habe ich ja schon 2x oben erklärt. Daher nicht verwenden wenn es darum geht, Zeitdifferenzen zu formatieren. Der ist dafür da, um ein Datum / Zeitstempel zu formatieren. Mehr nicht. Alles andere ist zweckentfremdet und führt zu Seiteneffekten!

            Das nächste Problem mit der Lösung ist, dass das Format ja bei 23:59 Uhr endet und dann wieder bei 00:00 Uhr anfängt (das wäre der Folgetag - also der 02.01.1970). Wie gesagt, da wird ein Datum formatiert. Zeitdifferenzen über 24 Stunden sind mit der Funktion also nicht abbildbar!

            Das hatte ich mit Beispielen aber schon ausführlicher erklärt.

            @h-a-m-i sagte in Zeitdifferenz berechnen:

            Ich hab nen DP erstellt, der je nach Sommer- oder Winterzeit entweder die 3600000 oder die 7200000 bekommt

            Ich wüsste gar nicht, ob man es noch komplizierter lösen könnte :) Am Ende reichen die Grundrechenarten, um das vernünftig zu lösen:

            Screenshot 2023-10-30 at 12.25.47.png

            aber:

            Bessere Lösung:

            Weil das (eigentlich recht einfache) Thema doch scheinbar so viele bewegt, habe ich gerade einen neue Funktion und einen neuen Blockly-Block in den JavaScript-Adapter gebaut. Kommt dann mit der nächsten Version (> 7.1.6) und sieht dann so aus:

            Screenshot 2023-10-30 at 12.16.36.png

            Beispiele gibts in der Dokumentation:

            const diff = 172800000 + 10800000 + 540000 + 15000; // 2 days, 3 hours, 9 minutes + 15 secoonds
            formatTimeDiff(diff); // "51:09:15"
            formatTimeDiff(diff, "DD hh:mm"); // "02 03:09"
            formatTimeDiff(diff, "D hh:mm"); // "2 03:09"
            formatTimeDiff(diff, "hh:mm:ss"); // "51:09:15"
            formatTimeDiff(diff, "h:m:s"); // "51:9:15"
            formatTimeDiff(diff, "hh:mm"); // "51:09"
            formatTimeDiff(diff, "mm:ss"); // "3069:15"
            formatTimeDiff(diff, "hh"); // "51"
            formatTimeDiff(diff, "mm"); // "3069"
            

            Ich hoffe, damit ist das Thema bald vom Tisch :)

            Ansonsten habe ich das Ganze gerade noch in einem YouTube-Video zusammengefasst. Also Problemstellung und Lösungsweg (inkl. der neuen Blockly-Bausteine): https://www.youtube.com/watch?v=sxkz3O6nfFQ

            David G.D Online
            David G.D Online
            David G.
            schrieb am zuletzt editiert von David G.
            #79

            @haus-automatisierung

            Fein wäre natürlich, wenn man in den neuen Block direkt 2 Daten eintragen könnte anstatt vorher die Differenz berechnen zu müssen.

            Kleine Frage:
            Rechnet der neue Baustein "einfach" Rückwärts wie auf dem manuellen Weg oder werden auch Schaltjahre oder 29,30,31 Tage bei Monaten berücksichtigt?

            Dazu hatte ich hier im Forum schon 1-2 Themen um zB das Alter oder die Zeit bis zu einem Geburtstag zu berechnen. Das ging meistens nur mit einem extra Modul (meine moments) im Js Adapter sauber.

            Zeigt eure Lovelace-Visualisierung klick
            (Auch ideal um sich Anregungen zu holen)

            Meine Tabellen für eure Visualisierung klick

            haus-automatisierungH 1 Antwort Letzte Antwort
            0
            • David G.D David G.

              @haus-automatisierung

              Fein wäre natürlich, wenn man in den neuen Block direkt 2 Daten eintragen könnte anstatt vorher die Differenz berechnen zu müssen.

              Kleine Frage:
              Rechnet der neue Baustein "einfach" Rückwärts wie auf dem manuellen Weg oder werden auch Schaltjahre oder 29,30,31 Tage bei Monaten berücksichtigt?

              Dazu hatte ich hier im Forum schon 1-2 Themen um zB das Alter oder die Zeit bis zu einem Geburtstag zu berechnen. Das ging meistens nur mit einem extra Modul (meine moments) im Js Adapter sauber.

              haus-automatisierungH Offline
              haus-automatisierungH Offline
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von
              #80

              @david-g sagte in Zeitdifferenz berechnen:

              Fein wäre natürlich, wenn man in den neuen Block direkt 2 Daten eintragen könnte

              Pack die Rechenoperation halt als Block direkt da rein? Musst ja vorher keine Variable erstellen.

              @david-g sagte in Zeitdifferenz berechnen:

              Rechnet der neue Baustein "einfach" Rückwärts wie auf dem manuellen Weg oder werden auch Schaltjahre oder 29,30,31 Tage bei Monaten berücksichtigt?

              Weder noch - es wird einfach auf Basis der Timestamps in Millisekunden gerechnet. Siehst Du ja auch im verlinkten Video. Ist etwas anderes, als wenn man zwei Daten zur Verfügung hat und da erstmal definieren muss in welcher Zeitzone die liegen usw.

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              David G.D 1 Antwort Letzte Antwort
              0
              • haus-automatisierungH haus-automatisierung

                @david-g sagte in Zeitdifferenz berechnen:

                Fein wäre natürlich, wenn man in den neuen Block direkt 2 Daten eintragen könnte

                Pack die Rechenoperation halt als Block direkt da rein? Musst ja vorher keine Variable erstellen.

                @david-g sagte in Zeitdifferenz berechnen:

                Rechnet der neue Baustein "einfach" Rückwärts wie auf dem manuellen Weg oder werden auch Schaltjahre oder 29,30,31 Tage bei Monaten berücksichtigt?

                Weder noch - es wird einfach auf Basis der Timestamps in Millisekunden gerechnet. Siehst Du ja auch im verlinkten Video. Ist etwas anderes, als wenn man zwei Daten zur Verfügung hat und da erstmal definieren muss in welcher Zeitzone die liegen usw.

                David G.D Online
                David G.D Online
                David G.
                schrieb am zuletzt editiert von
                #81

                @haus-automatisierung

                Das Video hab ich gesehen, noch vor dem Betrag.
                Dass das echte Datum außen vor ist, ist mir klar.

                Die Frage ist, was ist Zb ein Monat?
                Hat ein Monat 30,4 Tage (365/12)?
                Geht das Jahr immer von 365 Tagen aus?

                Jenachdem was für Zeiträume man berechnet liegt man ja schon (zwangsweise) was daneben.
                Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

                Zeigt eure Lovelace-Visualisierung klick
                (Auch ideal um sich Anregungen zu holen)

                Meine Tabellen für eure Visualisierung klick

                haus-automatisierungH 1 Antwort Letzte Antwort
                0
                • haus-automatisierungH haus-automatisierung

                  @h-a-m-i sagte in Zeitdifferenz berechnen:

                  wie zb den "Aktuelle zeit als Datum-Objekt" Block, den ich oft verwende, kommt wieder eine Stunde mehr raus.

                  Richtig, das habe ich ja schon 2x oben erklärt. Daher nicht verwenden wenn es darum geht, Zeitdifferenzen zu formatieren. Der ist dafür da, um ein Datum / Zeitstempel zu formatieren. Mehr nicht. Alles andere ist zweckentfremdet und führt zu Seiteneffekten!

                  Das nächste Problem mit der Lösung ist, dass das Format ja bei 23:59 Uhr endet und dann wieder bei 00:00 Uhr anfängt (das wäre der Folgetag - also der 02.01.1970). Wie gesagt, da wird ein Datum formatiert. Zeitdifferenzen über 24 Stunden sind mit der Funktion also nicht abbildbar!

                  Das hatte ich mit Beispielen aber schon ausführlicher erklärt.

                  @h-a-m-i sagte in Zeitdifferenz berechnen:

                  Ich hab nen DP erstellt, der je nach Sommer- oder Winterzeit entweder die 3600000 oder die 7200000 bekommt

                  Ich wüsste gar nicht, ob man es noch komplizierter lösen könnte :) Am Ende reichen die Grundrechenarten, um das vernünftig zu lösen:

                  Screenshot 2023-10-30 at 12.25.47.png

                  aber:

                  Bessere Lösung:

                  Weil das (eigentlich recht einfache) Thema doch scheinbar so viele bewegt, habe ich gerade einen neue Funktion und einen neuen Blockly-Block in den JavaScript-Adapter gebaut. Kommt dann mit der nächsten Version (> 7.1.6) und sieht dann so aus:

                  Screenshot 2023-10-30 at 12.16.36.png

                  Beispiele gibts in der Dokumentation:

                  const diff = 172800000 + 10800000 + 540000 + 15000; // 2 days, 3 hours, 9 minutes + 15 secoonds
                  formatTimeDiff(diff); // "51:09:15"
                  formatTimeDiff(diff, "DD hh:mm"); // "02 03:09"
                  formatTimeDiff(diff, "D hh:mm"); // "2 03:09"
                  formatTimeDiff(diff, "hh:mm:ss"); // "51:09:15"
                  formatTimeDiff(diff, "h:m:s"); // "51:9:15"
                  formatTimeDiff(diff, "hh:mm"); // "51:09"
                  formatTimeDiff(diff, "mm:ss"); // "3069:15"
                  formatTimeDiff(diff, "hh"); // "51"
                  formatTimeDiff(diff, "mm"); // "3069"
                  

                  Ich hoffe, damit ist das Thema bald vom Tisch :)

                  Ansonsten habe ich das Ganze gerade noch in einem YouTube-Video zusammengefasst. Also Problemstellung und Lösungsweg (inkl. der neuen Blockly-Bausteine): https://www.youtube.com/watch?v=sxkz3O6nfFQ

                  H-a-m-iH Offline
                  H-a-m-iH Offline
                  H-a-m-i
                  schrieb am zuletzt editiert von
                  #82

                  @haus-automatisierung sagte in Zeitdifferenz berechnen:

                  Ich wüsste gar nicht, ob man es noch komplizierter lösen könnte

                  Ja das hab ich mir gedacht :laughing: Ich weiß jetzt auch, warum ich es mit den Modulo einfach nicht hinbekommen habe. Ich hab nicht gecheckt, dass das Ganze auch direkt mit Blöcken geht, mir ist der "Rest von" Block irgendwie bisher noch nicht aufgefallen :man-facepalming: :man-facepalming: deshalb hatte ich das gestern mit einem Javascript Funktionsblock versucht und war mit dem Modulo Skript darin schon so überfordert, dass die Birne danach einfach zu war.
                  Ich glaub ich sollte mal für paar Tage eine ioBroker/Blockly Pause machen, sitze seit zwei Wochen täglich 10 h und mehr daran und baue von Null an, ohne jegliche Vorkenntnisse, alles mögliche mit Blockly auf. Irgendwann macht der Kopf wohl zu. Nach einem Blick auf deinen Umrechnungs-Block oben, hat's Klick gemacht. Peinlich :man-facepalming:

                  Aber echt super, dass die Funktion für die Zukunft einbaust, macht das Ganze noch einfacher :muscle:

                  Und durch dein Video bin ich jetzt auch auf deine youtube Kanäle gestoßen, da werd ich mir die nächste Zeit erst mal noch ein paar Videos von ansehen! Aber erst Zwangspause...

                  Vielen vielen Dank!

                  1 Antwort Letzte Antwort
                  0
                  • David G.D David G.

                    @haus-automatisierung

                    Das Video hab ich gesehen, noch vor dem Betrag.
                    Dass das echte Datum außen vor ist, ist mir klar.

                    Die Frage ist, was ist Zb ein Monat?
                    Hat ein Monat 30,4 Tage (365/12)?
                    Geht das Jahr immer von 365 Tagen aus?

                    Jenachdem was für Zeiträume man berechnet liegt man ja schon (zwangsweise) was daneben.
                    Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

                    haus-automatisierungH Offline
                    haus-automatisierungH Offline
                    haus-automatisierung
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #83

                    @david-g sagte in Zeitdifferenz berechnen:

                    Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

                    Wie Du in der Doku siehst, kann in der Formatierung aktuell nur Tag, Stunde, Minute, Sekunde genutzt werden. Und die sind der Länge immer gleich definiert.

                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                    📚 Meine inoffizielle ioBroker Dokumentation

                    David G.D 1 Antwort Letzte Antwort
                    0
                    • haus-automatisierungH haus-automatisierung

                      @david-g sagte in Zeitdifferenz berechnen:

                      Zumindest wenn man in den Bereich Monate oder Jahre kommt wo nicht jeder Zeitraum immer genau gleich definiert ist.

                      Wie Du in der Doku siehst, kann in der Formatierung aktuell nur Tag, Stunde, Minute, Sekunde genutzt werden. Und die sind der Länge immer gleich definiert.

                      David G.D Online
                      David G.D Online
                      David G.
                      schrieb am zuletzt editiert von
                      #84

                      @haus-automatisierung sagte in Zeitdifferenz berechnen:

                      Wie Du in der Doku siehst

                      Da hab ich in der Tat nicht reingeschaut.
                      Hab naiv wie ich bin drauf vertraut, dass mir "anwenderformatiert" nur verfügbare Optionen vorschlägt.

                      Screenshot_20231030_164946_YouTube.jpg

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      haus-automatisierungH 1 Antwort Letzte Antwort
                      0
                      • David G.D David G.

                        @haus-automatisierung sagte in Zeitdifferenz berechnen:

                        Wie Du in der Doku siehst

                        Da hab ich in der Tat nicht reingeschaut.
                        Hab naiv wie ich bin drauf vertraut, dass mir "anwenderformatiert" nur verfügbare Optionen vorschlägt.

                        Screenshot_20231030_164946_YouTube.jpg

                        haus-automatisierungH Offline
                        haus-automatisierungH Offline
                        haus-automatisierung
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #85

                        @david-g Ist ja auch so, im Video die Version ist noch nicht final gewesen.

                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                        📚 Meine inoffizielle ioBroker Dokumentation

                        draexlerD 1 Antwort Letzte Antwort
                        0
                        • haus-automatisierungH haus-automatisierung

                          @david-g Ist ja auch so, im Video die Version ist noch nicht final gewesen.

                          draexlerD Nicht stören
                          draexlerD Nicht stören
                          draexler
                          schrieb am zuletzt editiert von
                          #86

                          Hi,
                          ich habe einen Datenpunkt den ich aus einen anderen Skript mit "SS:mm" befüllen lasse.

                          Ich möchte nun die Differenz in "SS:mm" vom jetztigen Zeitpunkt ausberechnen lassen:

                          Beispiel:
                          Datenpunkt: 08:00
                          Aktuelle Zeit: 08:15

                          ERGEBNIS: 00:15

                          Bin zu doof das hinzukriegen oder ich habe heute einen Knoten im Kopf:

                          So sieht das aktuelle Blockly aus:
                          Bildschirmfoto 2023-11-14 um 19.27.37.png

                          Aktuell kommt als Fehler:

                          javascript.0 (495) at Object.<anonymous> (script.js.common.Arbeit.Arbeitstag_Stundenerfassung:39:5)
                          
                          haus-automatisierungH 1 Antwort Letzte Antwort
                          0
                          • draexlerD draexler

                            Hi,
                            ich habe einen Datenpunkt den ich aus einen anderen Skript mit "SS:mm" befüllen lasse.

                            Ich möchte nun die Differenz in "SS:mm" vom jetztigen Zeitpunkt ausberechnen lassen:

                            Beispiel:
                            Datenpunkt: 08:00
                            Aktuelle Zeit: 08:15

                            ERGEBNIS: 00:15

                            Bin zu doof das hinzukriegen oder ich habe heute einen Knoten im Kopf:

                            So sieht das aktuelle Blockly aus:
                            Bildschirmfoto 2023-11-14 um 19.27.37.png

                            Aktuell kommt als Fehler:

                            javascript.0 (495) at Object.<anonymous> (script.js.common.Arbeit.Arbeitstag_Stundenerfassung:39:5)
                            
                            haus-automatisierungH Offline
                            haus-automatisierungH Offline
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von haus-automatisierung
                            #87

                            @draexler Was erwartest Du, wenn Du zwei Strings subtrahierst? Das geht so nicht.

                            Was ist denn zB „drae“ - „xler“?

                            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                            📚 Meine inoffizielle ioBroker Dokumentation

                            draexlerD M 2 Antworten Letzte Antwort
                            0
                            • haus-automatisierungH haus-automatisierung

                              @draexler Was erwartest Du, wenn Du zwei Strings subtrahierst? Das geht so nicht.

                              Was ist denn zB „drae“ - „xler“?

                              draexlerD Nicht stören
                              draexlerD Nicht stören
                              draexler
                              schrieb am zuletzt editiert von
                              #88

                              @haus-automatisierung Du hast vollkommen recht, gebe das ich es mir zu einfach gemacht habe. Habe mir weiter oben mal dein Video angesehen und nun verstanden wie es funktioniert.
                              Danke dir :-)

                              1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @strobi sagte: Stundengenau (als Kommazahl) würde ausreichen) der aktuellen Tageszeit bis zum Sonnenuntergang

                                Bild_2021-11-25_200531.png

                                D Offline
                                D Offline
                                Diamand2k22
                                schrieb am zuletzt editiert von Diamand2k22
                                #89

                                @paul53 said in Zeitdifferenz berechnen:

                                @strobi sagte: Stundengenau (als Kommazahl) würde ausreichen) der aktuellen Tageszeit bis zum Sonnenuntergang

                                Bild_2021-11-25_200531.png

                                @paul53

                                wie kann ich denn die Zeit in Stunden z.b. von heute 22 Uhr bis zum Sonnenaufgang am nächsten Tag berechnen?

                                1 Antwort Letzte Antwort
                                0
                                • haus-automatisierungH haus-automatisierung

                                  @draexler Was erwartest Du, wenn Du zwei Strings subtrahierst? Das geht so nicht.

                                  Was ist denn zB „drae“ - „xler“?

                                  M Offline
                                  M Offline
                                  martin_olw
                                  schrieb am zuletzt editiert von
                                  #90

                                  @haus-automatisierung Ich glaube an genau dem Prinzip scheitere ich auch gerade:
                                  Die Kinder wollen auf unserer VIS angezeigt haben, wie viele Tage es noch bis zum Beginn der nächsten Ferien sind.
                                  Der schoolfree-adapter liefert mit den Datenpunkt:
                                  ae30985b-b0e8-4da2-b7f6-9be237ba93c1-image.png
                                  Möchte ich den jetzt ins Datum-Objekt-Format bringen um dann später weiter rechnen zu können, dann bekomme ich keinen Wert:
                                  5b19bf8d-fbdd-424b-a123-b82aa56e9406-image.png
                                  Wo ist denn mein Denkfehler?
                                  Danke für die Hilfe.

                                  rantanplanR CodierknechtC 2 Antworten Letzte Antwort
                                  0
                                  • M martin_olw

                                    @haus-automatisierung Ich glaube an genau dem Prinzip scheitere ich auch gerade:
                                    Die Kinder wollen auf unserer VIS angezeigt haben, wie viele Tage es noch bis zum Beginn der nächsten Ferien sind.
                                    Der schoolfree-adapter liefert mit den Datenpunkt:
                                    ae30985b-b0e8-4da2-b7f6-9be237ba93c1-image.png
                                    Möchte ich den jetzt ins Datum-Objekt-Format bringen um dann später weiter rechnen zu können, dann bekomme ich keinen Wert:
                                    5b19bf8d-fbdd-424b-a123-b82aa56e9406-image.png
                                    Wo ist denn mein Denkfehler?
                                    Danke für die Hilfe.

                                    rantanplanR Offline
                                    rantanplanR Offline
                                    rantanplan
                                    schrieb am zuletzt editiert von
                                    #91

                                    @martin_olw Hallo
                                    Hier mal ein Teil aus meinem Urlaubs-Script.


                                    Blockly-Bild.png

                                    Hier der Import:

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                     <variables>
                                       <variable id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</variable>
                                       <variable id="HS;qgmx.%$*4;[8X)sE#">Tage_bis_Urlaub</variable>
                                       <variable id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</variable>
                                       <variable id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</variable>
                                       <variable id=":s,6VAIY,]GlSe|T!)9E">UrlaubsTage</variable>
                                       <variable id="lY?bd7V(:s+-ZYD^GnD2">TageBisUrlaubsEnde</variable>
                                       <variable id="=We=rhXNVW,Lr8ETlQwY">UrlaubRest</variable>
                                     </variables>
                                     <block type="on_ext" id="6Y@LIxe47B4)/e.|7dhR" x="13" y="13">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                       <field name="CONDITION">ne</field>
                                       <field name="ACK_CONDITION"></field>
                                       <value name="OID0">
                                         <shadow type="field_oid" id=".pH*ia^ETsdO8W,L#Gk=">
                                           <field name="oid">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Anfang</field>
                                         </shadow>
                                       </value>
                                       <value name="OID1">
                                         <shadow type="field_oid" id="D*3.w}vY.)vz0,R#Xf5;">
                                           <field name="oid">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Ende</field>
                                         </shadow>
                                       </value>
                                       <statement name="STATEMENT">
                                         <block type="procedures_callnoreturn" id="CruK/)nJvPeDa%r+bEx+">
                                           <mutation name="INIT"></mutation>
                                         </block>
                                       </statement>
                                     </block>
                                     <block type="procedures_defnoreturn" id="rK9I[^hv-APnWSk-Kt.L" x="13" y="188">
                                       <field name="NAME">INIT</field>
                                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                       <statement name="STACK">
                                         <block type="variables_set" id="61JC/Ih{H)?7I=v/Fm=Q">
                                           <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                           <value name="VALUE">
                                             <block type="convert_to_date" id="h]gTUfA5G!-^/SWfcqc2">
                                               <value name="VALUE">
                                                 <block type="time_get" id="+wNd8D]Iic8xhJ/d15iR">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                   <field name="OPTION">custom</field>
                                                   <field name="FORMAT">JJJJ-MM-TT</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="Lby=(fYB/_-R{ky.`{7]">
                                               <field name="VAR" id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</field>
                                               <value name="VALUE">
                                                 <block type="convert_to_date" id="GPUD9FF0O`QE@2wZ2Z]N">
                                                   <value name="VALUE">
                                                     <block type="get_value" id="U}A,2^4+8S4DJ1*+F={|">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Anfang</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="VKY$gdP}[3bH;+AXpBHZ">
                                                   <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                   <value name="VALUE">
                                                     <block type="convert_to_date" id="*R_Z}kF6`jL7+r1YL|}h">
                                                       <value name="VALUE">
                                                         <block type="get_value" id="AAJ|jBQ@iVn7U(iwE(!.">
                                                           <field name="ATTR">val</field>
                                                           <field name="OID">0_userdata.0.Anwesendheit.Urlaub.Urlaub_1_Ende</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="procedures_callnoreturn" id="W)r1+a/-`v`fZ[ERXO+3">
                                                       <mutation name="Berechnen"></mutation>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                     <block type="procedures_defnoreturn" id="L%cTl`j}R)j.9dGL(k)I" x="13" y="363">
                                       <field name="NAME">Berechnen</field>
                                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                       <statement name="STACK">
                                         <block type="variables_set" id="U]^N4kN@1v8`~e05sV40">
                                           <field name="VAR" id="HS;qgmx.%$*4;[8X)sE#">Tage_bis_Urlaub</field>
                                           <value name="VALUE">
                                             <block type="math_arithmetic" id="tBr:GvymRvpgrT1_2E5C">
                                               <field name="OP">DIVIDE</field>
                                               <value name="A">
                                                 <shadow type="math_number" id="dP0!DN7,T{IG#aQ(X~5K">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_arithmetic" id="PnLFGs#2s-cw!/1J~BR=">
                                                   <field name="OP">DIVIDE</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="*~Z?c`0?/W4QHG0KpJHa">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_arithmetic" id="-M?[syp1P$H*Nh}$]a07">
                                                       <field name="OP">DIVIDE</field>
                                                       <value name="A">
                                                         <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_arithmetic" id=".@g),R`5Bd%V-TVvPRCe">
                                                           <field name="OP">MINUS</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="/MDql`:T}Q6%}xv}acQu">
                                                               <field name="VAR" id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="Hp+Lv4mN+wM[eh/_kL?O">
                                                               <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number" id="/((:@f|[96!NnwHIVNTY">
                                                           <field name="NUM">60000</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id="~9.YMbwQLoRv?I}y|,zu">
                                                       <field name="NUM">60</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <shadow type="math_number" id="C?D)nEQfRpF}t))Ms*|j">
                                                   <field name="NUM">24</field>
                                                 </shadow>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="debug" id="~N2Vh!EKK-T#|6INP{44">
                                               <field name="Severity">info</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="variables_get" id="?DZEd@z3v90wdaK@|rqA">
                                                   <field name="VAR" id="HS;qgmx.%$*4;[8X)sE#">Tage_bis_Urlaub</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="5VU4?Mv4:2huebRFP11,">
                                                   <field name="VAR" id=":s,6VAIY,]GlSe|T!)9E">UrlaubsTage</field>
                                                   <value name="VALUE">
                                                     <block type="math_arithmetic" id="noz1b%8sh`#Bp#SsU0?H">
                                                       <field name="OP">ADD</field>
                                                       <value name="A">
                                                         <shadow type="math_number" id="sf$^_`Ao=`!RV(v@Lt#x">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                         <block type="math_arithmetic" id="@{vaElI@,iXl5vX#c|5W">
                                                           <field name="OP">DIVIDE</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="`btQnasuTCm;qwO*%[(g">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="math_arithmetic" id="PGK6{PZZ~O:7kQ3C|FG}">
                                                               <field name="OP">DIVIDE</field>
                                                               <value name="A">
                                                                 <shadow type="math_number" id="TO0C%*aX{lO5WW-:f^-R">
                                                                   <field name="NUM">1</field>
                                                                 </shadow>
                                                                 <block type="math_arithmetic" id="?Att1;@%4%Q(/_jZIy5=">
                                                                   <field name="OP">DIVIDE</field>
                                                                   <value name="A">
                                                                     <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                                       <field name="NUM">1</field>
                                                                     </shadow>
                                                                     <block type="math_arithmetic" id="EsiyAfA21*3NvTDOu1I{">
                                                                       <field name="OP">MINUS</field>
                                                                       <value name="A">
                                                                         <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                                           <field name="NUM">1</field>
                                                                         </shadow>
                                                                         <block type="variables_get" id="q||DUO@KnmY;n6M5@)(p">
                                                                           <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="B">
                                                                         <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                                           <field name="NUM">1</field>
                                                                         </shadow>
                                                                         <block type="variables_get" id="Jub1/{z%N7k2B?{V%mmh">
                                                                           <field name="VAR" id="E:6SzWk}t@`61,$x`FXx">UrlaubStart</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <value name="B">
                                                                     <shadow type="math_number" id=",,~N.K,x{XBuC]3q^9@Y">
                                                                       <field name="NUM">60000</field>
                                                                     </shadow>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <shadow type="math_number" id="dfV^QOPgu#R~)QikzV|8">
                                                                   <field name="NUM">60</field>
                                                                 </shadow>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="/`2,hS8}B19v5LW-$/Nu">
                                                               <field name="NUM">24</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <shadow type="math_number" id="|Dqt!p.!c8?xc1YJ_$7d">
                                                           <field name="NUM">1</field>
                                                         </shadow>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="debug" id="a%EN{P;ni)C(h+B{K/3S">
                                                       <field name="Severity">info</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="variables_get" id="7$,L@1*ag8eG-v1nnL2R">
                                                           <field name="VAR" id=":s,6VAIY,]GlSe|T!)9E">UrlaubsTage</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="variables_set" id="g2^ncn{yP-~)8*P@F._l">
                                                           <field name="VAR" id="lY?bd7V(:s+-ZYD^GnD2">TageBisUrlaubsEnde</field>
                                                           <value name="VALUE">
                                                             <block type="math_arithmetic" id="Xd)W`4r{ZXZ6k@3dv$VG">
                                                               <field name="OP">DIVIDE</field>
                                                               <value name="A">
                                                                 <shadow type="math_number" id="dP0!DN7,T{IG#aQ(X~5K">
                                                                   <field name="NUM">1</field>
                                                                 </shadow>
                                                                 <block type="math_arithmetic" id="QmpPXam~rvT+MgNX9u+,">
                                                                   <field name="OP">DIVIDE</field>
                                                                   <value name="A">
                                                                     <shadow type="math_number" id="*~Z?c`0?/W4QHG0KpJHa">
                                                                       <field name="NUM">1</field>
                                                                     </shadow>
                                                                     <block type="math_arithmetic" id="w1o15_,o{(08nPDH+V{,">
                                                                       <field name="OP">DIVIDE</field>
                                                                       <value name="A">
                                                                         <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                                           <field name="NUM">1</field>
                                                                         </shadow>
                                                                         <block type="math_arithmetic" id="n}7Zo/8GqFRM_n/6*(Xt">
                                                                           <field name="OP">MINUS</field>
                                                                           <value name="A">
                                                                             <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                                               <field name="NUM">1</field>
                                                                             </shadow>
                                                                             <block type="variables_get" id="MtN9sI^REd.n7!Ll/Qok">
                                                                               <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                                             </block>
                                                                           </value>
                                                                           <value name="B">
                                                                             <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                                               <field name="NUM">1</field>
                                                                             </shadow>
                                                                             <block type="variables_get" id="S9}r}%dv+m__+^x6JkY0">
                                                                               <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                                                             </block>
                                                                           </value>
                                                                         </block>
                                                                       </value>
                                                                       <value name="B">
                                                                         <shadow type="math_number" id="::-{0q`94xph2Eg|-x|U">
                                                                           <field name="NUM">60000</field>
                                                                         </shadow>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <value name="B">
                                                                     <shadow type="math_number" id="``T+p/C8xgM_=p5Cs^W+">
                                                                       <field name="NUM">60</field>
                                                                     </shadow>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <value name="B">
                                                                 <shadow type="math_number" id="_irBzMi^l+RPzF^h?J@W">
                                                                   <field name="NUM">24</field>
                                                                 </shadow>
                                                               </value>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="debug" id="o9/+lp3,%3)QZSiURon4">
                                                               <field name="Severity">info</field>
                                                               <value name="TEXT">
                                                                 <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                                                   <field name="TEXT">test</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id=",):=#H#8/0p$Z)()K0:9">
                                                                   <field name="VAR" id="lY?bd7V(:s+-ZYD^GnD2">TageBisUrlaubsEnde</field>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="variables_set" id="#z+4]AP}FC6-TiA_G8fA">
                                                                   <field name="VAR" id="=We=rhXNVW,Lr8ETlQwY">UrlaubRest</field>
                                                                   <value name="VALUE">
                                                                     <block type="math_arithmetic" id=")PIjRrt8Rul#dK}Q2soP">
                                                                       <field name="OP">DIVIDE</field>
                                                                       <value name="A">
                                                                         <shadow type="math_number" id="dP0!DN7,T{IG#aQ(X~5K">
                                                                           <field name="NUM">1</field>
                                                                         </shadow>
                                                                         <block type="math_arithmetic" id="otHOPPC!:5nC?!K.,F^V">
                                                                           <field name="OP">DIVIDE</field>
                                                                           <value name="A">
                                                                             <shadow type="math_number" id="*~Z?c`0?/W4QHG0KpJHa">
                                                                               <field name="NUM">1</field>
                                                                             </shadow>
                                                                             <block type="math_arithmetic" id="QEVx==e_%dhX0W/|#4+i">
                                                                               <field name="OP">DIVIDE</field>
                                                                               <value name="A">
                                                                                 <shadow type="math_number" id="sZYs`ic+Oo%,ag+BhIV5">
                                                                                   <field name="NUM">1</field>
                                                                                 </shadow>
                                                                                 <block type="math_arithmetic" id="Yq,`X1IWVW1~g05cg4f=">
                                                                                   <field name="OP">MINUS</field>
                                                                                   <value name="A">
                                                                                     <shadow type="math_number" id="zNwwmAotb`B#+|27Fb#g">
                                                                                       <field name="NUM">1</field>
                                                                                     </shadow>
                                                                                     <block type="variables_get" id="We*DW*18Ms-OQ@Th]/6!">
                                                                                       <field name="VAR" id="!}5U.l7kfEw/+lNM)Ab1">UrlaubEnde</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <value name="B">
                                                                                     <shadow type="math_number" id="]^+vZgp!#:p]T%N^B36c">
                                                                                       <field name="NUM">1</field>
                                                                                     </shadow>
                                                                                     <block type="variables_get" id="VhM}N+uW*3~d(Ad/;_Ot">
                                                                                       <field name="VAR" id="e9iD.-I54$~?Z|ZL+F{9">ObjektDatumAktuell</field>
                                                                                     </block>
                                                                                   </value>
                                                                                 </block>
                                                                               </value>
                                                                               <value name="B">
                                                                                 <shadow type="math_number" id="`GF=?375Ik$qs#o}VgDC">
                                                                                   <field name="NUM">60000</field>
                                                                                 </shadow>
                                                                               </value>
                                                                             </block>
                                                                           </value>
                                                                           <value name="B">
                                                                             <shadow type="math_number" id="mQIS:jetB*#aHBYU)0PI">
                                                                               <field name="NUM">60</field>
                                                                             </shadow>
                                                                           </value>
                                                                         </block>
                                                                       </value>
                                                                       <value name="B">
                                                                         <shadow type="math_number" id="Om9T;?}xe$%eid;W`gF0">
                                                                           <field name="NUM">24</field>
                                                                         </shadow>
                                                                       </value>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="debug" id=")?=j68qr=z=lgz[hX?u#">
                                                                       <field name="Severity">info</field>
                                                                       <value name="TEXT">
                                                                         <shadow type="text" id="D1:c+o,B.N=Qc1g;f;/a">
                                                                           <field name="TEXT">test</field>
                                                                         </shadow>
                                                                         <block type="variables_get" id="/K3#]{E4M_i.vt9,#}uD">
                                                                           <field name="VAR" id="=We=rhXNVW,Lr8ETlQwY">UrlaubRest</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                    </xml>
                                    

                                    Wie schon gesagt ist das ein Auszug aus einem größeren Script.
                                    Sollte aber funktionieren.
                                    Datenpunkte Urlaub_1_Anfang und Urlaub_1_Ende müsstest Du vorher anlegen.
                                    Ich hoffe es hilft Dir etwas weiter.

                                    Grüße

                                    Rantanplan

                                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                    1 Antwort Letzte Antwort
                                    0
                                    • M martin_olw

                                      @haus-automatisierung Ich glaube an genau dem Prinzip scheitere ich auch gerade:
                                      Die Kinder wollen auf unserer VIS angezeigt haben, wie viele Tage es noch bis zum Beginn der nächsten Ferien sind.
                                      Der schoolfree-adapter liefert mit den Datenpunkt:
                                      ae30985b-b0e8-4da2-b7f6-9be237ba93c1-image.png
                                      Möchte ich den jetzt ins Datum-Objekt-Format bringen um dann später weiter rechnen zu können, dann bekomme ich keinen Wert:
                                      5b19bf8d-fbdd-424b-a123-b82aa56e9406-image.png
                                      Wo ist denn mein Denkfehler?
                                      Danke für die Hilfe.

                                      CodierknechtC Online
                                      CodierknechtC Online
                                      Codierknecht
                                      Developer Most Active
                                      schrieb am zuletzt editiert von Codierknecht
                                      #92

                                      @martin_olw sagte in Zeitdifferenz berechnen:

                                      Wo ist denn mein Denkfehler?

                                      Welchen Typ hat der DP?
                                      Wenn das ein String ist und das Datum dort lediglich als Text in deutscher Formatierung eingetragen ist, muss das vorher konvertiert werden.

                                      6f89976f-250e-43df-9c16-d907e54ad2eb-image.png

                                      Edit
                                      Alternativ kann man auch eine Liste verwenden, um das zu konvertieren. Ist letztlich Geschmackssache.

                                      a43c16a4-ebe9-407b-bf1b-d4dfbff492c5-grafik.png

                                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                      Proxmox 9.0.18 LXC|8 GB|Core i7-6700
                                      HmIP|ZigBee|Tasmota|Unifi
                                      Zabbix Certified Specialist
                                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                      M 1 Antwort Letzte Antwort
                                      1
                                      • CodierknechtC Codierknecht

                                        @martin_olw sagte in Zeitdifferenz berechnen:

                                        Wo ist denn mein Denkfehler?

                                        Welchen Typ hat der DP?
                                        Wenn das ein String ist und das Datum dort lediglich als Text in deutscher Formatierung eingetragen ist, muss das vorher konvertiert werden.

                                        6f89976f-250e-43df-9c16-d907e54ad2eb-image.png

                                        Edit
                                        Alternativ kann man auch eine Liste verwenden, um das zu konvertieren. Ist letztlich Geschmackssache.

                                        a43c16a4-ebe9-407b-bf1b-d4dfbff492c5-grafik.png

                                        M Offline
                                        M Offline
                                        martin_olw
                                        schrieb am zuletzt editiert von
                                        #93

                                        @codierknecht Super! Danke dir. Der DP war vom Typ String. Dank deiner Konvertierung passt es jetzt. Die Kinder sind zufrieden. ;-)

                                        1 Antwort Letzte Antwort
                                        0
                                        • E Offline
                                          E Offline
                                          exmerci
                                          schrieb am zuletzt editiert von
                                          #94

                                          Moin,

                                          ich stehe gerade komplett auf dem Schlauch.
                                          Ich würde gern die aktuelle Zeit in einen Datenpunkt schreiben. Welchen Zustandstyp muss das Objekt haben?
                                          Dann würde ich gern mit einem Trigger jeden Tag das Objekt abfragen und wenn es länger als 5 Tage her ist, eine Aktion auslösen.
                                          Ich weiß im Augenblick nicht mal, wie ich anfangen soll.

                                          HomoranH 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

                                          517

                                          Online

                                          32.4k

                                          Benutzer

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