Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blocky Hilfe bitte

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blocky Hilfe bitte

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

      @Robbsy:

      Luftfeuchtigkeit kleiner/gleich 35% ausgibt dann soll sich mein Luftbefeuchter, über Osram Wifi Stecker (über Hue kontrolliert) einschalten. Größer/gleich 45%: ausschalten. `
      @Robbsy:

      aber wie füge ich ein Script in Blockly ein? `
      Es geht auch in Blockly.
      493_blockly_befeuchter.jpg
      Hier der Export, in den noch die richtigen IDs eingefügt werden müssen.

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="xY1ZWm,+2EJohhee~qTo" x="-587" y="-337"><field name="COMMENT">ID Luftfeuchte</field>
      <next><block type="on" id="R.tnni:[OVG-`,!SO?^-"><field name="OID">Object ID</field>
      <field name="CONDITION">ne</field>

          <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation>
              <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field>
                  <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field>
                      <value name="A"><block type="variables_get" id="m/=bZA+/.5^(XwoacL:P"><field name="VAR">value</field></block></value> 
                      <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">35</field></block></value></block></value> 
                  <value name="B"><block type="logic_compare" id="Vmz#QOLpDvFzP6y4t-?^"><field name="OP">GT</field>
                      <value name="A"><block type="variables_get" id="`odN@@jN0UiUA.(oyLP|"><field name="VAR">oldValue</field></block></value> 
                      <value name="B"><block type="math_number" id="zS!,z,`CaQE^1Bxbm4t6"><field name="NUM">35</field></block></value></block></value></block></value> 
              <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation>
                  <field name="OID">Object ID</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> 
              <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field>
                  <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;`("><field name="OP">GTE</field>
                      <value name="A"><block type="variables_get" id="Vq4sHfUSzn9Jxo/m@:Fj"><field name="VAR">value</field></block></value> 
                      <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">45</field></block></value></block></value> 
                  <value name="B"><block type="logic_compare" id="]u,f02:zDVVaHL6h%a:v"><field name="OP">LT</field>
                      <value name="A"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">oldValue</field></block></value> 
                      <value name="B"><block type="math_number" id="5:{5pwD4+DYA4Hp_{%LQ"><field name="NUM">45</field></block></value></block></value></block></value> 
              <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                  <field name="OID">Object ID</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></next></block> 
      

      <block type="comment" id="zZloThnMeSu;p5jOW#Ec" x="-437" y="-37"><field name="COMMENT">ID Befeuchter</field></block></xml>

      1 Reply Last reply Reply Quote 0
      • BBTown
        BBTown last edited by

        @paul53:

        Blockly Befeuchter.JPG

        Hier der Export, in den noch die richtigen IDs eingefügt werden müssen.

        ! ````
        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="xY1ZWm,+2EJohhee~qTo" x="-587" y="-337"><field name="COMMENT">ID Luftfeuchte</field>
        <next><block type="on" id="R.tnni:[OVG-`,!SO?^-"><field name="OID">Object ID</field>
        <field name="CONDITION">ne</field>

            <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation>
                <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field>
                    <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field>
                        <value name="A"><block type="variables_get" id="m/=bZA+/.5^(XwoacL:P"><field name="VAR">value</field></block></value> 
                        <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">35</field></block></value></block></value> 
                    <value name="B"><block type="logic_compare" id="Vmz#QOLpDvFzP6y4t-?^"><field name="OP">GT</field>
                        <value name="A"><block type="variables_get" id="`odN@@jN0UiUA.(oyLP|"><field name="VAR">oldValue</field></block></value> 
                        <value name="B"><block type="math_number" id="zS!,z,`CaQE^1Bxbm4t6"><field name="NUM">35</field></block></value></block></value></block></value> 
                <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation>
                    <field name="OID">Object ID</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> 
                <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field>
                    <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;`("><field name="OP">GTE</field>
                        <value name="A"><block type="variables_get" id="Vq4sHfUSzn9Jxo/m@:Fj"><field name="VAR">value</field></block></value> 
                        <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">45</field></block></value></block></value> 
                    <value name="B"><block type="logic_compare" id="]u,f02:zDVVaHL6h%a:v"><field name="OP">LT</field>
                        <value name="A"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">oldValue</field></block></value> 
                        <value name="B"><block type="math_number" id="5:{5pwD4+DYA4Hp_{%LQ"><field name="NUM">45</field></block></value></block></value></block></value> 
                <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                    <field name="OID">Object ID</field>
                    <field name="WITH_DELAY">FALSE</field>
                    <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block></next></block> 
        

        <block type="comment" id="zZloThnMeSu;p5jOW#Ec" x="-437" y="-37"><field name="COMMENT">ID Befeuchter</field></block></xml>
        ```` `
        wieder einmal einen kreativen Lösungsansatz kennengelernt mit der Verwendung von "oldValue" 8-)

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

          Aufgrund der eingebauten Hysterese ist folgende Lösung noch zuverlässiger (sendet nur, wenn wirklich erforderlich).
          493_blockly_befeuchter_ack.jpg

          ! ````
          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="zX3-_1w%Tfw1ll=E5Ypl" x="-550" y="-337"><field name="VAR">befeuchter</field>
          <value name="VALUE"><block type="get_value" id=";In!?f]hJ^R{yXkNxhzE"><field name="ATTR">val</field>
          <field name="OID">ID auswählen</field></block></value>
          <next><block type="comment" id="xY1ZWm,+2EJohhee~qTo"><field name="COMMENT">ID Luftfeuchte</field>
          <next><block type="on" id="R.tnni:[OVG-`,!SO?^-"><field name="OID">Object ID</field>
          <field name="CONDITION">ne</field>

                  <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation>
                      <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field>
                          <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field>
                              <value name="A"><block type="on_source" id="V:I%HObLeriqNo_#HwdQ"><field name="ATTR">state.val</field></block></value> 
                              <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">35</field></block></value></block></value> 
                          <value name="B"><block type="logic_negate" id="Kv2D6OmoX:DGJ%XGr+`x"><value name="BOOL"><block type="variables_get" id="`odN@@jN0UiUA.(oyLP|"><field name="VAR">befeuchter</field></block></value></block></value></block></value> 
                      <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation>
                          <field name="OID">Object ID</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> 
                      <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field>
                          <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;`("><field name="OP">GTE</field>
                              <value name="A"><block type="on_source" id="8oWSo(Z:mX)ILa{fb[8#"><field name="ATTR">state.val</field></block></value> 
                              <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">45</field></block></value></block></value> 
                          <value name="B"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">befeuchter</field></block></value></block></value> 
                      <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                          <field name="OID">Object ID</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> 
                  <next><block type="comment" id="zZloThnMeSu;p5jOW#Ec"><field name="COMMENT">ID Befeuchter</field>
                      <next><block type="on" id="%tNgK/*+A0~k}iB1,cc,"><field name="OID">Object ID</field>
                          <field name="CONDITION">any</field>
                          <field name="ACK_CONDITION">true</field>
                          <statement name="STATEMENT"><block type="variables_set" id="*Xy/Lu9J#cbgrq(j{5PE"><field name="VAR">befeuchter</field>
                              <value name="VALUE"><block type="on_source" id="F+u#OXL|y@+WdoIZa5Rf"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></xml> 
          
          1 Reply Last reply Reply Quote 0
          • rantanplan
            rantanplan last edited by

            @paul53:

            Aufgrund der eingebauten Hysterese ist folgende Lösung noch zuverlässiger (sendet nur, wenn wirklich erforderlich). `
            @paul53 Echt genial.

            @Robbsy Du hast doch jetzt sicherlich verstanden wie es geht.

            Grüße

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

              Super!

              Jetzt fängt @Paul53 auch noch an, bei Blockly hochoptimierten Code zu schreiben. 😮

              Wahnsinn, was da alles sogar mit Blockly geht!

              Gruß Rainer

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

                @Homoran:

                Wahnsinn, was da alles sogar mit Blockly geht! `
                Ja, aber es gibt schon einige Einschränkungen in Blockly.
                @Homoran:

                bei Blockly hochoptimierten Code zu schreiben. `
                Die Begeisterung teilen nicht alle, denn einige Nutzer sind der Meinung, dass es in Blockly http://forum.iobroker.net/viewtopic.php?f=21&t=10807&start=40#p118668 geht.

                1 Reply Last reply Reply Quote 0
                • R
                  Robbsy last edited by

                  Liebe Leute,

                  ein wenig peinlich ist es mir zwar nicht selbst auf die Lösung zu kommen, aber der Luftbefeuchter springt einfach nicht an :shock:

                  ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                  ! <block type="variables_set" id="zX3-_1w%Tfw1ll=E5Ypl" x="-550" y="-337"><field name="VAR">befeuchter</field>
                  ! <value name="VALUE"><block type="get_value" id=";In!?f]hJ^R{yXkNxhzE"><field name="ATTR">val</field>
                  ! <field name="OID">netatmo.0.Robert.Indoor.Humidity.Humidity</field></block></value>
                  ! <next><block type="comment" id="xY1ZWm,+2EJohhee~qTo"><field name="COMMENT">ID Luftfeuchte</field>
                  ! <next><block type="on" id="R.tnni:[OVG-,!SO?^-"><field name="OID">netatmo.0.Robert.Indoor.Humidity.Humidity</field> ! <field name="CONDITION">ne</field> ! <statement name="STATEMENT"><block type="controls_if" id="!ukq.(e%x7[?v)C^c9Pu"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_operation" id="TIi{f6Wr8tytMG3Q*JV8"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="0=RYe[Fo!p6y1~J)aoQC"><field name="OP">LTE</field> ! <value name="A"><block type="on_source" id="V:I%HObLeriqNo_#HwdQ"><field name="ATTR">state.val</field></block></value> ! <value name="B"><block type="math_number" id="8[JVTbY@[n{][Ty]_%MA"><field name="NUM">39</field></block></value></block></value> ! <value name="B"><block type="logic_negate" id="Kv2D6OmoX:DGJ%XGr+x"><value name="BOOL"><block type="variables_get" id="odN@@jN0UiUA.(oyLP|"><field name="VAR">befeuchter</field></block></value></block></value></block></value> ! <statement name="DO0"><block type="control" id="Ax-F333s_8JL6V*fQg0@"><mutation delay_input="false"></mutation> ! <field name="OID">hue.0.Philips_hue.On/Off_Osram.on</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="xZ)z|lBDDq,f9FM,gy1|"><field name="BOOL">TRUE</field></block></value></block></statement> ! <value name="IF1"><block type="logic_operation" id="P|jrKgJzROk+5dTEA[a]"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="XF1;wR%nXLmtmA+NQ;("><field name="OP">GTE</field>
                  ! <value name="A"><block type="on_source" id="8oWSo(Z:mX)ILa{fb[8#"><field name="ATTR">state.val</field></block></value>
                  ! <value name="B"><block type="math_number" id="sZ-=`;4(FiWDP~IvO-LW"><field name="NUM">43</field></block></value></block></value>
                  ! <value name="B"><block type="variables_get" id="COXr;XMvjdFm3g%~e{]V"><field name="VAR">befeuchter</field></block></value></block></value>
                  ! <statement name="DO1"><block type="control" id="/Jctsap|B6DF~z!/,7z,"><mutation delay_input="false"></mutation>
                  ! <field name="OID">hue.0.Philips_hue.On/Off_Osram.on</field>
                  ! <field name="WITH_DELAY">FALSE</field>
                  ! <value name="VALUE"><block type="logic_boolean" id="~KF,Az?ML1HN6o[CT[Rj"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement>
                  ! <next><block type="comment" id="zZloThnMeSu;p5jOW#Ec"><field name="COMMENT">ID Befeuchter</field>
                  ! <next><block type="on" id="%tNgK/*+A0~k}iB1,cc,"><field name="OID">hue.0.Philips_hue.On/Off_Osram.on</field>
                  ! <field name="CONDITION">any</field>
                  ! <field name="ACK_CONDITION">true</field>
                  ! <statement name="STATEMENT"><block type="variables_set" id="*Xy/Lu9J#cbgrq(j{5PE"><field name="VAR">befeuchter</field>
                  ! <value name="VALUE"><block type="on_source" id="F+u#OXL|y@+WdoIZa5Rf"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></xml>

                  Wenn es hilft: Mit einem IFTTT Trigger rennt es. Nur möchte ich IFTTT nicht verwenden, ist mir irgendwie niht sympatisch.
                  5652_luftbefeuchter.jpg

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

                    Ganz oben muss die Objekt ID Philips_hue.On/Off_Osram.on rein.

                    1 Reply Last reply Reply Quote 0
                    • M
                      Marko79 last edited by

                      Hallo zusammen,

                      auch ich brauch mal eure Hilfe bezgl Blocky

                      Ich versuche mittels RFID-Chip eine Lampe zu schalten.

                      Per Sprache über IOBroker geht es.

                      Das schalten mittels einer RFID für AN und einer anderen für AUS geht auch.

                      Ich will aber keine 2 RFID-Chips dafür verwenden sondern der Zeitstempel mit einbinden.

                      Das klappt aber gar nicht.

                      Hier mal mein Script:

                      on({id: 'mqtt.0.domoticz.in', change: "any"}, function (obj) {

                      var value = obj.state.val;

                      var oldValue = obj.oldState.val;

                      if (getState("mqtt.0.domoticz.in").ts != getState("mqtt.0.domoticz.in").ts) {

                      if (getState("mqtt.0.domoticz.in").val == ('mqtt.0.domoticz.in' == '{"idx":1,"nvalue":0,"svalue":"909222828"}' && getState("broadlink.0.learnedSignals.TV_Licht").val == false)) {

                      setStateDelayed("broadlink.0.learnedSignals.TV_Licht"/TV Licht_/, true, 1000, false);

                      } else if (getState("mqtt.0.domoticz.in").val == ('mqtt.0.domoticz.in' == '{"idx":1,"nvalue":0,"svalue":"909222828"}' && getState("broadlink.0.learnedSignals.TV_Licht").val == true)) {

                      setStateDelayed("broadlink.0.learnedSignals.TV_Licht"/TV Licht_/, false, 1000, false);

                      }

                      }

                      });

                      Habt Ihr ne Idee??? Irgendwas mach ich wohl falsch.

                      Danke

                      1 Reply Last reply Reply Quote 0
                      • rantanplan
                        rantanplan last edited by

                        @Marko79:

                        Hier mal mein Script: `

                        Hallo Marko79

                        Was sollen die Leute, die mit Blockly arbeiten, mit dem Script anfangen? :roll:

                        Ein Screenshot von dem Blockly wäre da bestimmt hilfreicher. 😉

                        Grüße

                        1 Reply Last reply Reply Quote 0
                        • M
                          Marko79 last edited by

                          Sorry, das hab ich nicht bedacht.

                          Hier nun also ein Screenshot.
                          5810_screenshot_20180224-143242.png

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

                            @Marko79:

                            if (getState("mqtt.0.domoticz.in").ts != getState("mqtt.0.domoticz.in").ts) { `
                            Dieser Ausdruck liefert immer false, die folgenden Befehle werden also nie ausgeführt.
                            @Marko79:

                            if (getState("mqtt.0.domoticz.in").val == ('mqtt.0.domoticz.in' == '{"idx":1,"nvalue":0,"svalue":"909222828"}' && getState("broadlink.0.learnedSignals.TV_Licht").val == false)) { `
                            Was soll hier geprüft werden ?

                            1 Reply Last reply Reply Quote 0
                            • M
                              Marko79 last edited by

                              Ich wollte prüfen ob der Zeitstempel der gleiche ist und wenn ja dann den token mit dem hinterlegten vergleichen.

                              Stimmt der Token und der Zeitstempel ist ein anderer dann soll der Schalter TV_Licht umschalten.

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              570
                              Online

                              31.8k
                              Users

                              80.0k
                              Topics

                              1.3m
                              Posts

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