Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Uhrzeit aus Wert extrahieren und anderen Wert setzen

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Uhrzeit aus Wert extrahieren und anderen Wert setzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      sunny9999 last edited by

      Servus zusammen, stehe vor folgendem Problem :
      Ich lese mit dem webcal Adapter aus einem Kalender Ereignisse aus.
      Wenn nun ein bestimmtes Ereignis ansteht will ich 15 Minuten vorher ein Script starten.
      Der Wert im Feld "next" des webcal-Adapters in den Objekten stellt den Zeitpunkt des Ereignisses aber wie folgt dar :
      2024-11-29T07:30:00.000Z

      Problem 1: Wie bekomme ich die Uhrzeit da raus und schalte damit etwas
      Problem 2 : Die Uhrzeit ist in Unix-Zeit gesetzt, sprich die richtige Uhrzeit ist 1 Stunde später, in diesem Fall 8.30.

      Ich bräuchte hier nun ein Blockly das diesen Wert überwacht und mir 15 Minuten vorher einen Wert eines anderen Objekts auf "true" setzt......

      Mir fehlt hier völlig der Ansatz wie ich das bewerkstellige....
      Danke für Eure Hilfe

      Sunny

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @sunny9999 last edited by

        @sunny9999 sagte in Uhrzeit aus Wert extrahieren und anderen Wert setzen:

        Der Wert im Feld "next" des webcal-Adapters in den Objekten stellt den Zeitpunkt des Ereignisses aber wie folgt dar :
        2024-11-29T07:30:00.000Z

        und wie sehen die Objektdaten davon aus?

        @sunny9999 sagte in Uhrzeit aus Wert extrahieren und anderen Wert setzen:

        Die Uhrzeit ist in Unix-Zeit gesetzt,

        nee, in UTC/Zulu-Zeit

        S 1 Reply Last reply Reply Quote 0
        • S
          sunny9999 @Homoran last edited by

          @homoran
          Danke, klar, Zulu Zeit...
          naja, im Grunde soll es so laufen :
          Dieser Wert "2024-11-29T07:30:00.000Z" stellt ja die Zeit als 7.30 Uhr dar, in unserer Zeit ist das 08.30 Uhr.
          Wenn es nun 8.15 ist soll das Script diesen Wert 0_userdata.0.Veranstaltung.Zeitsteuerung.Besichtigung auf "true" setzen
          Denn Rest bekomme ich hin.....
          Danke für Deine Hilfe
          Sunny

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @sunny9999 last edited by

            @sunny9999 sagte in Uhrzeit aus Wert extrahieren und anderen Wert setzen:

            Dieser Wert "2024-11-29T07:30:00.000Z" stellt ja die Zeit als 7.30 Uhr dar,

            nochmal!
            Das ist die Darstellung! äIn welcher Form liegt der Wert denn in der Rohverdion vor?
            Unixtime wäre da optimal.

            Deswegen bat ich

            @homoran sagte in Uhrzeit aus Wert extrahieren und anderen Wert setzen:

            wie sehen die Objektdaten davon aus?

            S 1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active last edited by arteck

              const 15MinBefor = sub15Minutes(hier deine zeit);
              
              function sub15Minutes(dateString) {
                  const date = new Date(dateString);
                  date.setTime(date.getTime() - 15 * 60 * 1000);
                  return date.toISOString(); 
              }
              
              

              wie es in Blockly geht kein plan

              1 Reply Last reply Reply Quote 0
              • S
                sunny9999 @Homoran last edited by

                @homoran
                Der Wert den ich geschrieben habe steht so in dem Feld in den Objekten drin, als String formatiert..........wüsste nicht wie der Wert sonst vorliegen kann ........

                Homoran 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @sunny9999 last edited by

                  @sunny9999 sagte in Uhrzeit aus Wert extrahieren und anderen Wert setzen:

                  @homoran
                  Der Wert den ich geschrieben habe steht so in dem Feld in den Objekten drin, als String formatiert..........wüsste nicht wie der Wert sonst vorliegen kann ........

                  😉

                  Der Admin kann in den Objekten eine Formatierung von Daten vornehmen, auch wenn sie z.B. als Unix Timestamp vorlägen.

                  Um das sicher sagen zu können muss man in den Objektdaten nachsehen.

                  Falls du nicht wrisst wie das geht:

                  • Expertenmodus an
                  • auf den Bleistift rechts außen beim Datenpunkt klicken
                  • Reiter Objektdaten öffnen
                  • Den Inhalt hier in code-tags posten.
                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @sunny9999 last edited by

                    @sunny9999 Ans8nsten mach es so in der Art:
                    Screenshot_20241129-101556_Firefox.jpg
                    ich vergesse immer wieder, dass dabei die Zeitzone automatisch berücksichtigt wird.
                    Deswegen nur 15 Minuten Abzug statt 45 Minuten draufrechnen.

                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @sunny9999 last edited by

                      @sunny9999 sagte: Wie bekomme ich die Uhrzeit da raus

                      Siehe hier

                      1 Reply Last reply Reply Quote 0
                      • S
                        sunny9999 last edited by

                        @homoran
                        Super, vielen Dank so schreibt er mir die gewünschte Zeit in meinen Datenpunkt....
                        Wie triggere ich jetzt anhand dieses Datenpunktes , wenn genau diese Uhrzeit und Datum ist etwas aus bzw. setze einen anderen Datenpunkt auf "true" ?
                        Danke nochmals....ohne das Forum wäre ich aufgeschmissen.........
                        Grüße
                        Sunny

                        Homoran paul53 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @sunny9999 last edited by

                          @sunny9999 oh,
                          Du willst also aus der Uhrzeit einen Trigger (Cron) erstellen!??

                          das ist hier zwar schon mehrfach im Forum behandelt worden, hab ich aber nicht "mal eben" im Kreuz!
                          @paul53 sicher schon, oder den Link dazu

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @sunny9999 last edited by

                            @sunny9999 sagte: wenn genau diese Uhrzeit und Datum ist etwas aus bzw. setze einen anderen Datenpunkt auf "true" ?

                            Mit Sekunden-Trigger:

                            Blockly_temp.JPG

                            Codierknecht 1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @paul53 last edited by

                              @paul53
                              Geht das nicht auch hiermit?
                              13cb06d4-f1ec-4939-95dd-8252ca90a416-image.png

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @Codierknecht last edited by

                                @codierknecht sagte: Geht das nicht auch hiermit?

                                Dann muss man die errechnete Startzeit in einen eigenen Datenpunkt schreiben.

                                @sunny9999 sagte in Uhrzeit aus Wert extrahieren und anderen Wert setzen:

                                genau diese Uhrzeit und Datum ist

                                Es soll auch das Datum berücksichtigt werden.

                                1 Reply Last reply Reply Quote 1
                                • paul53
                                  paul53 @Homoran last edited by paul53

                                  @homoran sagte: einen Trigger (Cron) erstellen!??

                                  Das sollte so funktionieren:

                                  Blockly_temp.JPG

                                  javascript.1	13:45:48.965	info	script.js.blockly.Test6_Blockly: 0 15 8 29 11 *
                                  
                                  S 1 Reply Last reply Reply Quote 1
                                  • S
                                    sunny9999 @paul53 last edited by

                                    @paul53
                                    So vielen Dank für die vielen Richtungen und Wege hier.....
                                    ich hab es jetzt mal so probiert, Werte werden wohl auch richtig ermittelt ABER :
                                    Es löst beim eintreten der Zeit nicht aus............
                                    Wo liegt der Bug ? Vermute das es mit Abweichungen der Uhrzeiten in der Darstellung beim vergleichen liegt.......

                                    <xml xmlns="https://developers.google.com/blockly/xml">
                                      <variables>
                                        <variable id="p@4$}#n7!-_N?XV*?L[4">O_Zeit</variable>
                                        <variable id="U0iez:VwkbNpu4}bNS1Q">U_Zeit</variable>
                                        <variable id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</variable>
                                        <variable id="30zcPmZ:lIn$1kGRgOsn">Ausloesezeit</variable>
                                      </variables>
                                      <block type="on" id=".y1E1z*Ks{B^UwZ2,%Zj" x="-2163" y="-1462">
                                        <field name="OID">webcal.0.events.Besichtigung.next</field>
                                        <field name="CONDITION">ne</field>
                                        <field name="ACK_CONDITION"></field>
                                        <statement name="STATEMENT">
                                          <block type="schedule" id="4)L_*BNX76rrwWKc.itZ">
                                            <field name="SCHEDULE">* * * * *</field>
                                            <statement name="STATEMENT">
                                              <block type="variables_set" id="VoG)axz5u@AGTk^*SGu_">
                                                <field name="VAR" id="p@4$}#n7!-_N?XV*?L[4">O_Zeit</field>
                                                <value name="VALUE">
                                                  <block type="get_value" id="N)ovb6m_ab/X1%.dIDod">
                                                    <field name="ATTR">val</field>
                                                    <field name="OID">webcal.0.events.Besichtigung.next</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="variables_set" id="3dBdA,t5_YqM#;SxHm%(">
                                                    <field name="VAR" id="U0iez:VwkbNpu4}bNS1Q">U_Zeit</field>
                                                    <value name="VALUE">
                                                      <block type="convert_from_date" id="Smg~*j:e*Gs(./k}dra-">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                        <field name="OPTION">object</field>
                                                        <value name="VALUE">
                                                          <block type="variables_get" id="AnM0BY(h{@bTH_sX[/F/">
                                                            <field name="VAR" id="p@4$}#n7!-_N?XV*?L[4">O_Zeit</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="variables_set" id="/)M:^q`R@9pKoYMCnb1r">
                                                        <field name="VAR" id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</field>
                                                        <value name="VALUE">
                                                          <block type="math_arithmetic" id="tK94KP[FB+)h?Xx)xvU_">
                                                            <field name="OP">MINUS</field>
                                                            <value name="A">
                                                              <shadow type="math_number" id="!fO+GZZu|k3CQj$pCn?0">
                                                                <field name="NUM">1</field>
                                                              </shadow>
                                                              <block type="convert_from_date" id="2HNOKVr:Ad0LN5A#xbW]">
                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                                <field name="OPTION">object</field>
                                                                <value name="VALUE">
                                                                  <block type="get_value" id=";W`i^qOT2Bevbc!@6A)+">
                                                                    <field name="ATTR">val</field>
                                                                    <field name="OID">webcal.0.events.Besichtigung.next</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <value name="B">
                                                              <shadow type="math_number" id="LokJ=L#6}.-v;ofj+~~(">
                                                                <field name="NUM">900000</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="variables_set" id="5)zWWZi65GmPf6i1b9CE" disabled="true">
                                                            <field name="VAR" id="30zcPmZ:lIn$1kGRgOsn">Ausloesezeit</field>
                                                            <next>
                                                              <block type="debug" id=";9K{bQfsd^N}Ve-k0%YW">
                                                                <field name="Severity">info</field>
                                                                <value name="TEXT">
                                                                  <shadow type="text" id="hR/,%k|wxBCk#vYD(*[U">
                                                                    <field name="TEXT">test</field>
                                                                  </shadow>
                                                                  <block type="convert_from_date" id="KvId.^kYu3@:[|7~n6]y">
                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                                    <field name="OPTION">custom</field>
                                                                    <field name="FORMAT">TT.MM.JJJJ SS:mm</field>
                                                                    <value name="VALUE">
                                                                      <block type="variables_get" id="fWU}Z*/,/=iI$EXhPYM`">
                                                                        <field name="VAR" id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</field>
                                                                      </block>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="debug" id="MjAuzQ/wHQRhxGMs6){?">
                                                                    <field name="Severity">info</field>
                                                                    <value name="TEXT">
                                                                      <shadow type="text" id="hR/,%k|wxBCk#vYD(*[U">
                                                                        <field name="TEXT">test</field>
                                                                      </shadow>
                                                                      <block type="variables_get" id="A`-ZEQ%%D%8:;{jVTHk`">
                                                                        <field name="VAR" id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</field>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="update" id="Aa(@m#@Gj=U*X%,h8b4=">
                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                        <field name="OID">0_userdata.0.example_state.Akkuwerte_Devices</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE">
                                                                          <block type="convert_from_date" id="HZvtN8vj5kJ[|d2)_dek">
                                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                                            <field name="OPTION">custom</field>
                                                                            <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field>
                                                                            <value name="VALUE">
                                                                              <block type="variables_get" id="3(V+UKg$gEV`dw29deB,">
                                                                                <field name="VAR" id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </next>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="controls_if" id="22w5;N@g|FsQej;_Q9Di">
                                                <value name="IF0">
                                                  <block type="logic_compare" id="6*KQ}pu!sGpnE8Ca[H=g">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="time_get" id="jjso1cH~pq.:fO?StY/,">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                        <field name="OPTION">custom</field>
                                                        <field name="FORMAT">JJJJ.MM.TT SS:mm:ss</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="convert_from_date" id="spx7]UP;f?#M0R_-[V*.">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                        <field name="OPTION">custom</field>
                                                        <field name="FORMAT">TT.MM.JJJJ SS:mm:ss</field>
                                                        <value name="VALUE">
                                                          <block type="variables_get" id="{ZeJ2XkVDO!1ZV5OOz)j">
                                                            <field name="VAR" id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="update" id="thUO3`Wj(h!7q.Nj`@rM">
                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                    <field name="OID">0_userdata.0.Veranstaltung.Zeitsteuerung.Besichtigung</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE">
                                                      <block type="logic_boolean" id="ZqvI|gwnm[{~:c;*f7k$">
                                                        <field name="BOOL">TRUE</field>
                                                      </block>
                                                    </value>
                                                    <next>
                                                      <block type="debug" id="Jk=?M7ig6.,^}nkm!g1E">
                                                        <field name="Severity">info</field>
                                                        <value name="TEXT">
                                                          <shadow type="text" id="hR/,%k|wxBCk#vYD(*[U">
                                                            <field name="TEXT">test</field>
                                                          </shadow>
                                                          <block type="convert_from_date" id=")J=GCk.pX`,T~a.9gNuO">
                                                            <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                                                            <field name="OPTION">custom</field>
                                                            <field name="FORMAT">TT.MM.JJJJ SS:mm</field>
                                                            <value name="VALUE">
                                                              <block type="variables_get" id="d`;LY}q|+jo,WEWMbw/K">
                                                                <field name="VAR" id="oG.MsHMV2@,H|/SKQJT@">UmgerechneteZeit</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </statement>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                      </block>
                                    </xml>
                                    

                                    Screenshot 2024-11-30 091023.png

                                    Danke nochmal für Eure Hilfestellungen

                                    Grüße
                                    Sunny

                                    paul53 1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @sunny9999 last edited by paul53

                                      @sunny9999 sagte: Wo liegt der Bug ?

                                      Es sind mehrere:

                                      • Trigger im Trigger funktioniert nicht (siehe blaues Warnsymbol)
                                      • Es muss alles innerhalb des Zeitplanes erfolgen
                                      • Die zu vergleichenden Formate müssen identisch sein
                                      • Wenn man einen Minuten-Trigger verwendet, sollte man keine Sekunden in den Vergleich einbeziehen

                                      Korrektur:

                                      Blockly_temp.JPG

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      507
                                      Online

                                      31.7k
                                      Users

                                      79.7k
                                      Topics

                                      1.3m
                                      Posts

                                      5
                                      17
                                      744
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo