Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. "Wait" in blockly?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

"Wait" in blockly?

Scheduled Pinned Locked Moved Skripten / Logik
48 Posts 14 Posters 20.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mac
    wrote on last edited by
    #30

    So, hab ich bisher noch nicht gemacht?

    ! ````
    <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="JQK^0|z(du)IM*U6TwJG" x="-287" y="-162"><field name="OID">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field>
    <field name="CONDITION">ne</field>

    <statement name="STATEMENT"><block type="controls_if" id=".B.X5K){dsZl]:/^=lLe"><value name="IF0"><block type="logic_compare" id="WwH:4O`a{h[2:+TZUone"><field name="OP">LT</field>
            <value name="A"><block type="convert_tonumber" id="Y^`a;t/+NBzH]%IUFz2v"><value name="VALUE"><block type="on_source" id="bhR_~?IvaV|{*ybh^]RQ"><field name="ATTR">state.val</field></block></value></block></value> 
            <value name="B"><block type="math_number" id="un=0::SIrHLcE+o*A*={"><field name="NUM">55</field></block></value></block></value> 
        <statement name="DO0"><block type="pushover" id="u--/U[0+PAM8{}c0b61s"><field name="SOUND">siren</field>
            <field name="PRIORITY">1</field>
    
            <value name="MESSAGE"><shadow type="text" id="KC,0;:gM^:5s}:7-O.wb"><field name="TEXT">text</field></shadow> 
              <block type="text" id=";zQua-=(yd6}*?TiU;Kl"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C, bitte Service verständigen.</field></block></value> 
            <value name="TITLE"><block type="text" id="cjiw_U0*JpK-nd5?lTOS"><field name="TEXT">LS50 Temoeraturwarnung</field></block></value> 
            <next><block type="debug" id="%^xI1?GD2O;Wl678TnE|"><field name="Severity">log</field>
                <value name="TEXT"><shadow type="text" id="3Bl~5bs^c3P,3V_dc,u4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C</field></shadow></value></block></next></block></statement></block></statement> 
    <next><block type="on_ext" id="`,Z?}tI`A(Z_e8ZqminA"><mutation items="1"></mutation>
        <field name="CONDITION">ne</field>
    
        <value name="OID0"><shadow type="field_oid" id="h89UobD}Vg=-]BTFV7TM"><field name="oid">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field></shadow></value> 
        <statement name="STATEMENT"><block type="controls_if" id="{0um4s_71S121vyB,Zw,"><value name="IF0"><block type="logic_compare" id="^`!SV,KB)6K4!MK}-:cA"><field name="OP">LT</field>
                <value name="A"><block type="convert_tonumber" id="_E9Buth1~5|Lzu]T%R;e"><value name="VALUE"><block type="on_source" id="DOE[,j2vjk!y5QX#OZ:{"><field name="ATTR">state.val</field></block></value></block></value> 
                <value name="B"><block type="math_number" id="mom?P`juZv[pF^8p2RYo"><field name="NUM">60</field></block></value></block></value> 
            <statement name="DO0"><block type="timeouts_settimeout" id="`z3QFws(tE}Tf-2E~2q9"><field name="NAME">timeout</field>
                <field name="DELAY">1</field>
                <field name="UNIT">min</field>
                <statement name="STATEMENT"><block type="pushover" id="*~j)H=w|w]9pQVy7ACZ5"><field name="PRIORITY">0</field>
    
                    <value name="MESSAGE"><shadow type="text" id="ZGa0=[A(Rr5=*`mjJKMF"><field name="TEXT">text</field></shadow> 
                      <block type="text" id="B/z]v77kH7yJdN2a,3u:"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></block></value> 
                    <value name="TITLE"><block type="text" id="jr^!Oc2cOrp5Yx#54NI%"><field name="TEXT">LS50 Temeraturhinweis</field></block></value> 
                    <next><block type="debug" id="m{}{`G_3gds~pk;C5{I3"><field name="Severity">log</field>
                        <value name="TEXT"><shadow type="text" id="-.FZ?`b}MnO|)-k7Yvb4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></shadow></value></block></next></block></statement></block></statement></block></statement></block></next></block> 
    

    <block type="controls_whileUntil" id="A|s#1Fr5U;}`^e]ra.1^" x="212" y="363"><field name="MODE">WHILE</field></block></xml>

    1 Reply Last reply
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      wrote on last edited by
      #31

      @Mac:

      So, hab ich bisher noch nicht gemacht? `

      jup naeste mal aber bitte auch in "code" bloecken.

      Probier mal so:

      Ich habe nicht eingebaut das er alle 2-3 minuten wiederhohlt. was jetzt passiert: wen die temperatur sich aendert wird nach einer minute eine meldunge generiert.

      Das passiert jedesmal wen der wert sich erneuert aber kleiner ist als 60 war das was du erreichen woltest ?

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="JQK^0|z(du)IM*U6TwJG" x="-287" y="-162"><field name="OID">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field>
      <field name="CONDITION">ne</field>

      <statement name="STATEMENT"><block type="controls_if" id=".B.X5K){dsZl]:/^=lLe"><value name="IF0"><block type="logic_compare" id="WwH:4O`a{h[2:+TZUone"><field name="OP">LT</field>
              <value name="A"><block type="convert_tonumber" id="Y^`a;t/+NBzH]%IUFz2v"><value name="VALUE"><block type="on_source" id="bhR_~?IvaV|{*ybh^]RQ"><field name="ATTR">state.val</field></block></value></block></value> 
              <value name="B"><block type="math_number" id="un=0::SIrHLcE+o*A*={"><field name="NUM">55</field></block></value></block></value> 
          <statement name="DO0"><block type="pushover" id="u--/U[0+PAM8{}c0b61s"><field name="SOUND">siren</field>
              <field name="PRIORITY">1</field>
      
              <value name="MESSAGE"><shadow type="text" id="KC,0;:gM^:5s}:7-O.wb"><field name="TEXT">text</field></shadow> 
                <block type="text" id=";zQua-=(yd6}*?TiU;Kl"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C, bitte Service verständigen.</field></block></value> 
              <value name="TITLE"><block type="text" id="cjiw_U0*JpK-nd5?lTOS"><field name="TEXT">LS50 Temoeraturwarnung</field></block></value> 
              <next><block type="debug" id="%^xI1?GD2O;Wl678TnE|"><field name="Severity">log</field>
                  <value name="TEXT"><shadow type="text" id="3Bl~5bs^c3P,3V_dc,u4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C</field></shadow></value></block></next></block></statement></block></statement> 
      <next><block type="on_ext" id="`,Z?}tI`A(Z_e8ZqminA"><mutation items="1"></mutation>
          <field name="CONDITION">ne</field>
      
          <value name="OID0"><shadow type="field_oid" id="h89UobD}Vg=-]BTFV7TM"><field name="oid">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field></shadow></value> 
          <statement name="STATEMENT"><block type="timeouts_cleartimeout" id=")dU=a:ByKY}!XAWX9@Kq"><field name="NAME">timeout</field>
              <next><block type="timeouts_settimeout" id="`z3QFws(tE}Tf-2E~2q9"><field name="NAME">timeout</field>
                  <field name="DELAY">1</field>
                  <field name="UNIT">min</field>
                  <statement name="STATEMENT"><block type="controls_if" id="{0um4s_71S121vyB,Zw,"><value name="IF0"><block type="logic_compare" id="^`!SV,KB)6K4!MK}-:cA"><field name="OP">LT</field>
                          <value name="A"><block type="convert_tonumber" id="_E9Buth1~5|Lzu]T%R;e"><value name="VALUE"><block type="on_source" id="DOE[,j2vjk!y5QX#OZ:{"><field name="ATTR">state.val</field></block></value></block></value> 
                          <value name="B"><block type="math_number" id="mom?P`juZv[pF^8p2RYo"><field name="NUM">60</field></block></value></block></value> 
                      <statement name="DO0"><block type="pushover" id="*~j)H=w|w]9pQVy7ACZ5"><field name="PRIORITY">0</field>
      
                          <value name="MESSAGE"><shadow type="text" id="ZGa0=[A(Rr5=*`mjJKMF"><field name="TEXT">text</field></shadow> 
                            <block type="text" id="B/z]v77kH7yJdN2a,3u:"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></block></value> 
                          <value name="TITLE"><block type="text" id="jr^!Oc2cOrp5Yx#54NI%"><field name="TEXT">LS50 Temeraturhinweis</field></block></value> 
                          <next><block type="debug" id="m{}{`G_3gds~pk;C5{I3"><field name="Severity">log</field>
                              <value name="TEXT"><shadow type="text" id="-.FZ?`b}MnO|)-k7Yvb4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></shadow></value></block></next></block></statement></block></statement></block></next></block></statement></block></next></block></xml> 
      

      ! ````

      1 Reply Last reply
      0
      • M Offline
        M Offline
        Mac
        wrote on last edited by
        #32

        Danke erst einmal.

        Ist es richtig, dass ich das von Dir überarbeitet Script nicht mehr in Blockly einlesen kann?

        Leider bekomme ich unten eine Fehlermeldung wenn ich starte > unexpected token, daher kann ich nicht probieren, aber im Prinzip richtig, ich wollte nicht alle 10 Sekunden eine Meldung wenn Alarm gegeben wird

        4489_bildschirmfoto_2017-12-22_um_18.07.49.png

        1 Reply Last reply
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          wrote on last edited by
          #33

          Wie hast du es importiert ?

          Mir den Import Knopf hoffe ich?

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

          1 Reply Last reply
          0
          • HomoranH Do not disturb
            HomoranH Do not disturb
            Homoran
            Global Moderator Administrators
            wrote on last edited by
            #34

            Mit dem Import Knopf über der Arbeitsfläche, nicht im Skript-Explorer

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Reply Last reply
            0
            • M Offline
              M Offline
              Mac
              wrote on last edited by
              #35

              ENTSCHULDIGUNG!

              Tatsächlich habe ich es einfach einkopiert, ist mir eine Lehre, danke. Ab jetzt nur noch den Importknopf, der ist aber auch verrdammt klein. :|

              1 Reply Last reply
              0
              • DutchmanD Offline
                DutchmanD Offline
                Dutchman
                Developer Most Active Administrators
                wrote on last edited by
                #36

                @Mac:

                ENTSCHULDIGUNG!

                Tatsächlich habe ich es einfach einkopiert, ist mir eine Lehre, danke. Ab jetzt nur noch den Importknopf, der ist aber auch verrdammt klein. :| `

                Hat es jetzt geklappt?

                –-----------------------

                Send from mobile device

                Das schöne ios hat Auto Korrektur zum k****

                Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  Mac
                  wrote on last edited by
                  #37

                  Ja, super! Vielen Dank.

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    Mac
                    wrote on last edited by
                    #38

                    Ja, jetzt klappt es prima, vielen Dank für Deine super Hilfe!

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      Mac
                      wrote on last edited by
                      #39

                      @UweRLP

                      Leider doch nicht ganz, hab alles noch mal ausgiebig getestet, aber der Wert schaltet einfach nicht von wahr auf falsch: hier die Bilder. Was habe ich falsch eingerichtet?
                      4489_bildschirmfoto_2017-12-24_um_11.33.40.png

                      4489_bildschirmfoto_2017-12-24_um_11.36.09.png

                      4489_bildschirmfoto_2017-12-24_um_11.36.50.png

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        Mac
                        wrote on last edited by
                        #40

                        Sorry, leider muß ich zurückrudern. Die Vorschläge mit dem Timeout stop und Timeout funktionieren leider nicht. Egal welche Variante ich probiert habe, der Alarm kommt bei einer Testverzögerung von 1 Sek. im Sekundentakt durch. Beide Varianten, Stop nur oben und Stop oben und unten habe ich probiert.

                        Zur Frage was das Ganze soll. In einem Mehrfamilienhaus haben wir sogenannte Frischwasserstationen, diese werden wie ein Durchlauferhitzer mit diesem WW-Heizvorauf im Gegenstrom betrieben und erzeugen das Duschwasser direkt in der Wohnung. Dieser Kreis wird aus einem ein m3 Speicher versorgt, ein Mischer sorgt dafür, dass die Vorlauftemperatur nicht über 65 Grad geht wegen der Verkalkung. Wenn die eine oder zwei Familien Duschen wir ad hoc eine sehr große Leistung abgefordert, es gibt immer seine starke Verzögerung, bis der Fühler die abgefallene Temperatur merkt und das Vebtil dann reagiert. Eine Familie im Erdgeschoß hat immer sehr stark schwankende Temperaturen es sehr schwierig die Speichertemperatur, WW Heizvorlauf ins richtige Verhältnis zu setzen. Der untere Wert unter 60 °C taucht immer für kurze Zeit ab, dann reißt das Ventil auf , schließt dann wieder usw.

                        Der Temperaturwert kommt von einer KNX Meßstelle, die verläßlich die richtige Temperatur vorgibt. Dieses Objekt habe ich "Vorlauf WW Bereitung" genannt.

                        Um schnell reagieren zu könne hilft mir der "Voralarm". Der richtige Alarm ist dann bei 55°C, dann ist wirklich etwas defekt.

                        ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                        ! <block type="on" id="JQK^0|z(du)IMU6TwJG" x="-412" y="-387"><field name="OID">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field>
                        ! <field name="CONDITION">ne</field>
                        ! <statement name="STATEMENT"><block type="controls_if" id=".B.X5K){dsZl]:/^=lLe"><value name="IF0"><block type="logic_compare" id="WwH:4Oa{h[2:+TZUone"><field name="OP">LT</field> ! <value name="A"><block type="convert_tonumber" id="Y^a;t/+NBzH]%IUFz2v"><value name="VALUE"><block type="on_source" id="bhR_~?IvaV|{ybh^]RQ"><field name="ATTR">state.val</field></block></value></block></value>
                        ! <value name="B"><block type="math_number" id="un=0::SIrHLcE+o
                        A
                        ={"><field name="NUM">55</field></block></value></block></value>
                        ! <statement name="DO0"><block type="pushover" id="u–/U[0+PAM8{}c0b61s"><field name="SOUND">siren</field>
                        ! <field name="PRIORITY">1</field>
                        ! <value name="MESSAGE"><shadow type="text" id="KC,0;:gM^:5s}:7-O.wb"><field name="TEXT">text</field></shadow>
                        ! <block type="text" id=";zQua-=(yd6}?TiU;Kl"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C, bitte Service verständigen.</field></block></value>
                        ! <value name="TITLE"><block type="text" id="cjiw_U0
                        JpK-nd5?lTOS"><field name="TEXT">LS50 Temoeraturwarnung</field></block></value>
                        ! <next><block type="debug" id="%^xI1?GD2O;Wl678TnE|"><field name="Severity">log</field>
                        ! <value name="TEXT"><shadow type="text" id="3Bl~5bs^c3P,3V_dc,u4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 55°C</field></shadow></value></block></next></block></statement></block></statement>
                        ! <next><block type="on_ext" id=",Z?}tIA(Z_e8ZqminA"><mutation items="1"></mutation>
                        ! <field name="CONDITION">ne</field>
                        ! <value name="OID0"><shadow type="field_oid" id="h89UobD}Vg=-]BTFV7TM"><field name="oid">knx.1.Heizungskeller.Temperaturfühler.Vorlauf_WW_Bereitung</field></shadow></value>
                        ! <statement name="STATEMENT"><block type="timeouts_cleartimeout" id=")dU=a:ByKY}!XAWX9@Kq"><field name="NAME">timeout</field>
                        ! <next><block type="timeouts_settimeout" id="z3QFws(tE}Tf-2E~2q9"><field name="NAME">timeout</field> ! <field name="DELAY">1</field> ! <field name="UNIT">sec</field> ! <statement name="STATEMENT"><block type="controls_if" id="{0um4s_71S121vyB,Zw,"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="^!SV,KB)6K4!MK}-:cA"><field name="OP">LT</field>
                        ! <value name="A"><block type="convert_tonumber" id="_E9Buth1~5|Lzu]T%R;e"><value name="VALUE"><block type="on_source" id="DOE[,j2vjk!y5QX#OZ:{"><field name="ATTR">state.val</field></block></value></block></value>
                        ! <value name="B"><block type="math_number" id="mom?PjuZv[pF^8p2RYo"><field name="NUM">60</field></block></value></block></value> ! <statement name="DO0"><block type="pushover" id="*~j)H=w|w]9pQVy7ACZ5"><field name="PRIORITY">0</field> ! <value name="MESSAGE"><shadow type="text" id="ZGa0=[A(Rr5=*mjJKMF"><field name="TEXT">text</field></shadow>
                        ! <block type="text" id="B/z]v77kH7yJdN2a,3u:"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></block></value>
                        ! <value name="TITLE"><block type="text" id="jr^!Oc2cOrp5Yx#54NI%"><field name="TEXT">LS50 Temeraturhinweis</field></block></value>
                        ! <next><block type="debug" id="m{}{G_3gds~pk;C5{I3"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="-.FZ?b}MnO|)-k7Yvb4"><field name="TEXT">Achtung: Die WW-Heizung Vorlauf ist zu kalt < 60°C</field></shadow></value></block></next></block></statement>
                        ! <statement name="ELSE"><block type="timeouts_cleartimeout" id="T8jIG:vZkU?g8eDqa497"><field name="NAME">timeout</field></block></statement></block></statement></block></next></block></statement></block></next></block></xml>
                        4489_bildschirmfoto_2017-12-24_um_16.19.04.png

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          Mac
                          wrote on last edited by
                          #41

                          Hallo Uwe,

                          klappt gut mit dem Tapatalk, hab ich mir auch gerade eingerichtet.

                          Jetzt klappt es tatsächlich super, ich habs ausgiebig getestet kommt eine Meldung durch, dann Ruhe bis zum nächsten Eintreten der Störung, vielen Dank.

                          Das ist die eleganteste Lösung, der Ansatz mit dem Stop Timeout klappt leider doch nicht.

                          Noch nachgeschoben zur Erläuterung der Nutzung:

                          In unserem Mehrfamilienhaus haben wir sogenannte Frischwasserstationen, diese werden wie ein Durchlauferhitzer mit diesem WW-Heizvorauf im Gegenstrom betrieben und erzeugen das Duschwasser direkt in der Wohnung. Dieser Kreis wird aus einem ein m3 Speicher versorgt, ein Mischer sorgt dafür, dass die Vorlauftemperatur nicht über 65 Grad geht wegen der Verkalkung. Wenn die eine oder zwei Familien Duschen wir ad hoc eine sehr große Leistung abgefordert, es gibt immer seine starke Verzögerung, bis der Fühler die abgefallene Temperatur merkt und das Vebtil dann reagiert. Eine Familie im Erdgeschoß hat immer sehr stark schwankende Temperaturen es sehr schwierig die Speichertemperatur, WW Heizvorlauf ins richtige Verhältnis zu setzen. Der untere Wert unter 60 °C taucht immer für kurze Zeit ab, dann reißt das Ventil auf, schließt dann wieder, fängt dann an stark zu pendeln usw.

                          Der Temperaturwert kommt von einer KNX Meßstelle, die verläßlich die richtige Temperatur vorgibt. Dieses Objekt habe ich "Vorlauf WW Bereitung" genannt.

                          Um schnell reagieren zu könne hilft mir der "Voralarm". Der richtige Alarm ist dann bei 55°C, dann ist wirklich etwas defekt.

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            Mac
                            wrote on last edited by
                            #42

                            Noch eine Frage bitte, da es jetzt so gut funktioniert:

                            Kann ich aus den False/True Zuständen von "WW_KI60", wenn ich sie speichere eine Liste erzeugen - wann wie lange die Störung anstand, und wäre das sehr aufwendig?

                            1 Reply Last reply
                            0
                            • DutchmanD Offline
                              DutchmanD Offline
                              Dutchman
                              Developer Most Active Administrators
                              wrote on last edited by
                              #43

                              @Mac:

                              Noch eine Frage bitte, da es jetzt so gut funktioniert:

                              Kann ich aus den False/True Zuständen von "WW_KI60", wenn ich sie speichere eine Liste erzeugen - wann wie lange die Störung anstand, und wäre das sehr aufwendig? `

                              Jup das geht mir flot oder vis und history Tabelle

                              –-----------------------

                              Send from mobile device

                              Das schöne ios hat Auto Korrektur zum k****

                              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                aleks-83
                                wrote on last edited by
                                #44

                                Hallo,

                                Ich hänge mich mal an…

                                Frage 1: Kann man folgendes mit blockly tun?

                                Ich starte ein blockly Script (ScriptA). Schslte dort ein eigenes Datenobjekt auf true.

                                (Daraufhin wird ein anderes Script (ScriptB) getriggert und führt ein paar Dinge aus)

                                ScriptA wartet, bis ScriptB das Datenobjekt auf false gesetzt hat, und macht dann weiter?

                                Geht das überhaupt grundsätzlich bei Javascript, oder würde ScriptA durch das Warten den CPU blockieren?

                                Frage 2:

                                Meinen Temperaturalarm vom Pi möchte ich etwas entprellen.

                                Kann man sagen dass die Temperatur erst für eine gewisse Zeit > X sein muss bevor das Alarm ausgelöst wird?

                                Mit einer Schleife?

                                = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                = Node.js v20.19.6 = NPM 10.8.2 = JS Controller 7.0.7 =

                                Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                Glasfaser 400

                                1 Reply Last reply
                                0
                                • rantanplanR Online
                                  rantanplanR Online
                                  rantanplan
                                  wrote on last edited by
                                  #45

                                  @aleks-83:

                                  Frage 1: Kann man folgendes mit blockly tun?

                                  Ich starte ein blockly Script (ScriptA). Schslte dort ein eigenes Datenobjekt auf true.

                                  (Daraufhin wird ein anderes Script (ScriptB) getriggert und führt ein paar Dinge aus)

                                  ScriptA wartet, bis ScriptB das Datenobjekt auf false gesetzt hat, und macht dann weiter? `
                                  Grundsätzlich ja.

                                  Aber bedenke, dass "ScriptA" auch einen Trigger haben muss!

                                  Solche gegenseitige Beeinflussungen sollten genau überdacht werden.

                                  Sonst geht da schnell ein PingPong los und die Rechenleistung geht in den Keller.

                                  @aleks-83:

                                  Geht das überhaupt grundsätzlich bei Javascript, oder würde ScriptA durch das Warten den CPU blockieren? `
                                  Trigger "warten" ja immer auf ein Ereignis. Ist also kein Problem.
                                  @aleks-83:

                                  Frage 2:

                                  Meinen Temperaturalarm vom Pi möchte ich etwas entprellen.

                                  Kann man sagen dass die Temperatur erst für eine gewisse Zeit > X sein muss bevor das Alarm ausgelöst wird?

                                  Mit einer Schleife? `
                                  Könnte so funktionieren. (nicht getestet!)

                                  EDIT: Nochmal angepasst. Hatte vergessen, dass die Temperatur ja auch wieder kleiner werden kann ;)

                                  147_beispiel.png

                                  Export:

                                  ! ````
                                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="b_}m+8nvy6q6]:n-Hq)H" x="-388" y="-162"><field name="COMMENT">Beim Start auf 0 setzen</field>
                                  <next><block type="variables_set" id="T*8Xo{`DaLI,fzK8kmsZ"><field name="VAR">SchleifenZaehler</field>
                                  <value name="VALUE"><block type="math_number" id="H!N#^;%rn++UG]1PBBJk"><field name="NUM">0</field></block></value>
                                  <next><block type="on_ext" id="?jtfqya)vUNMutIE:8(["><mutation items="1"></mutation>
                                  <field name="CONDITION">ne</field>

                                          <value name="OID0"><shadow type="field_oid" id=",b0[CASnuW)~r)l3tnd1"><field name="oid">default</field></shadow></value> 
                                          <statement name="STATEMENT"><block type="controls_if" id=".2v;b18-Y}4;g84{ao*6"><mutation else="1"></mutation>
                                              <value name="IF0"><block type="logic_compare" id="?24mu[mhlJnCClVBF/Ku"><field name="OP">GT</field>
                                                  <value name="A"><block type="on_source" id="AsOzK;zYeK!F2G6!A:%J"><field name="ATTR">state.val</field></block></value> 
                                                  <value name="B"><block type="math_number" id="8(p`P@wfLAs?3U=UFACr"><field name="NUM">70</field></block></value></block></value> 
                                              <statement name="DO0"><block type="timeouts_setinterval" id="d;8r+xhyj/60VvnGsVRi"><field name="NAME">Intervall</field>
                                                  <field name="INTERVAL">2</field>
                                                  <field name="UNIT">min</field>
                                                  <statement name="STATEMENT"><block type="variables_set" id="F/X(K#OH8mzJ/6i[-;%@"><field name="VAR">SchleifenZaehler</field>
                                                      <value name="VALUE"><block type="math_arithmetic" id="fu=E,.nX|^_u*N%@97QY"><field name="OP">ADD</field>
                                                          <value name="A"><shadow type="math_number" id="(z8}5YerV4mZkwY0R(nN"><field name="NUM">1</field></shadow> 
                                                            <block type="variables_get" id="z?l01Q(vE/u?a4z:43,t"><field name="VAR">SchleifenZaehler</field></block></value> 
                                                          <value name="B"><shadow type="math_number" id="5=;.lYhz1*_hEilamay-"><field name="NUM">1</field></shadow></value></block></value> 
                                                      <next><block type="controls_if" id="11q_s*`@uqH,9H4uOkhT"><value name="IF0"><block type="logic_compare" id="X/{}z?^4n%MnX2YgfTmo"><field name="OP">GT</field>
                                                              <value name="A"><block type="variables_get" id=".B-)Z%vkzQw|D5[0OpJ1"><field name="VAR">SchleifenZaehler</field></block></value> 
                                                              <value name="B"><block type="math_number" id="3bi{Y!Q%R+PTIWG(Lrt2"><field name="NUM">3</field></block></value></block></value> 
                                                          <statement name="DO0"><block type="telegram" id="IsG^jMs%`prVZ-g}0tuL"><value name="MESSAGE"><shadow type="text" id="@qysYLa*EiLrVfI0?_)p"><field name="TEXT">Temperatur zu hoch</field></shadow></value> 
                                                              <next><block type="comment" id="QvrRE^AEC2D=G6;WVsn9"><field name="COMMENT">WICHTIG!!! Intervall stoppen!!!!</field>
                                                                  <next><block type="timeouts_clearinterval" id="iw;NuCEZ9~NX,LFxh-8+"><field name="NAME">Intervall</field></block></next></block></next></block></statement></block></next></block></statement></block></statement> 
                                              <statement name="ELSE"><block type="variables_set" id="nd-!V~+C5I?xWI?R5il%"><field name="VAR">SchleifenZaehler</field>
                                                  <value name="VALUE"><block type="math_number" id="~H6ntDlWG7G/w5d8wEy#"><field name="NUM">0</field></block></value> 
                                                  <next><block type="timeouts_clearinterval" id="8iiDrDrR/Fa/:b9DAPhA"><field name="NAME">Intervall</field></block></next></block></statement></block></statement></block></next></block></next></block> 
                                  

                                  <block type="comment" id="flcgZXuN`F8mbx,K87F:" x="-88" y="-112"><field name="COMMENT">Datenpunkt Temperatur</field></block></xml>

                                  ! ````

                                  Grüße

                                  Rantanplan

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

                                  1 Reply Last reply
                                  0
                                  • A Offline
                                    A Offline
                                    aleks-83
                                    wrote on last edited by
                                    #46

                                    @rantanplan:

                                    @aleks-83:

                                    Frage 1: Kann man folgendes mit blockly tun?

                                    Ich starte ein blockly Script (ScriptA). Schslte dort ein eigenes Datenobjekt auf true.

                                    (Daraufhin wird ein anderes Script (ScriptB) getriggert und führt ein paar Dinge aus)

                                    ScriptA wartet, bis ScriptB das Datenobjekt auf false gesetzt hat, und macht dann weiter? `
                                    Grundsätzlich ja.

                                    Aber bedenke, dass "ScriptA" auch einen Trigger haben muss!

                                    Solche gegenseitige Beeinflussungen sollten genau überdacht werden.

                                    Sonst geht da schnell ein PingPong los und die Rechenleistung geht in den Keller. `
                                    OK, ich wollte mir damit eigentlich nur Arbeit ersparen.

                                    Mit dem eigenen Datenobjekt würde ich dann eine meiner Standard Routinen aufrufen die ich häufig verwende.

                                    z.B. das Raufdimmen von Lampen.

                                    Bin kein Javascript Programmierer, daher denke ich vllt etwas anders rum.

                                    Ich komme aus dem Bereich eines Zeilenweise arbeitenden Programmcodes. Dort gibt es auch Wait Befehle.

                                    @rantanplan:

                                    @aleks-83:

                                    Geht das überhaupt grundsätzlich bei Javascript, oder würde ScriptA durch das Warten den CPU blockieren? Trigger "warten" ja immer auf ein Ereignis. Ist also kein Problem.
                                    Ja schon. Aber aber Trigger der hier "warten" würde, wäre ja hinter einem anderem Trigger.

                                    Wenn also in dem moment wo der erste Trigger ausgelöst wird, nicht auch der andere Trigger den gewünschten Zustand hat, wird der Trigger übersprungen, richtig?

                                    @rantanplan:

                                    @aleks-83:

                                    Frage 2:

                                    Meinen Temperaturalarm vom Pi möchte ich etwas entprellen.

                                    Kann man sagen dass die Temperatur erst für eine gewisse Zeit > X sein muss bevor das Alarm ausgelöst wird?

                                    Mit einer Schleife? `
                                    Könnte so funktionieren. (nicht getestet!)

                                    EDIT: Nochmal angepasst. Hatte vergessen, dass die Temperatur ja auch wieder kleiner werden kann ;) `
                                    Super, Danke.

                                    Aber müsste in die Intervall-Schleife nicht noch eine Temperatur-Abfrage rein?

                                    Sonst würde jetzt einfach nur 6 Minuten nachdem die Temp > 70 ist, eine Meldung an telegram gesendet.

                                    Oder ?

                                    = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                    = Node.js v20.19.6 = NPM 10.8.2 = JS Controller 7.0.7 =

                                    Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                    Glasfaser 400

                                    1 Reply Last reply
                                    0
                                    • rantanplanR Online
                                      rantanplanR Online
                                      rantanplan
                                      wrote on last edited by
                                      #47

                                      @aleks-83:

                                      Ja schon. Aber aber Trigger der hier "warten" würde, wäre ja hinter einem anderem Trigger.

                                      Wenn also in dem moment wo der erste Trigger ausgelöst wird, nicht auch der andere Trigger den gewünschten Zustand hat, wird der Trigger übersprungen, richtig? `
                                      Wo ein Trigger steht ist völlig egal.

                                      Außer Trigger in Trigger. Das sollte man tunlichst vermeiden!

                                      Ein Trigger führt seine Befehle immer nur aus, wenn seine Bedingung erfüllt ist.

                                      @aleks-83:

                                      Aber müsste in die Intervall-Schleife nicht noch eine Temperatur-Abfrage rein?

                                      Sonst würde jetzt einfach nur 6 Minuten nachdem die Temp > 70 ist, eine Meldung an telegram gesendet.

                                      Oder ? `
                                      Wenn dann die Temperatur dann immer noch >70 ist, ja.

                                      Sollte die Temperatur <=70 werden, wird ja der Intervall gestoppt.

                                      Wird ein Intervall oder Timer gestoppt, werden die Befehle innerhalb eines Intervall/Timer NICHT ausgeführt.

                                      Grüße

                                      Rantanplan

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

                                      1 Reply Last reply
                                      0
                                      • rantanplanR rantanplan

                                        @NUCChris:

                                        ich versuche grade den Wert von "timeout" über VIS einzustellen. Ich habe die vorherigen beispiele ausprobiert, aber es will nicht klappen :?: :? `

                                        Der undokumentierte "Trick" mit der Variablen funktioniert nicht mehr.

                                        Grüße

                                        S Offline
                                        S Offline
                                        stundenblume
                                        wrote on last edited by
                                        #48

                                        @rantanplan said in "Wait" in blockly?:

                                        Der undokumentierte "Trick" mit der Variablen funktioniert nicht mehr.

                                        @NUCChris said in "Wait" in blockly?:

                                        kennt jemand einen neuen Trick? :shock:

                                        @rantanplan said in "Wait" in blockly?:

                                        [EDIT] Stand 18.10.17 Das Folgende funktioniert NICHT mehr*****

                                        Bei mir funktioniert des Ersetzten der Zahl durch einen Variablennamen. Sogar Rechnen im Feld ist möglich. Also zB die Umrechnung von Minuten im Millisekunden.

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        518

                                        Online

                                        32.6k

                                        Users

                                        82.1k

                                        Topics

                                        1.3m

                                        Posts
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Home
                                        • Recent
                                        • Tags
                                        • Unread 0
                                        • Categories
                                        • Unreplied
                                        • Popular
                                        • GitHub
                                        • Docu
                                        • Hilfe