Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [gelöst] Temperatur Schaltung anpassen

    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

    [gelöst] Temperatur Schaltung anpassen

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

      Ich habe eine Temperatur Steuerung, die leider extrem auf jegliche veränderung eine Telegram Nachricht ausgibt.
      Ich brauche nur eine Nachricht wenn die Lüfter wirklich eingeschaltet werden oder ausgeschaltet werden. Wie der Temperatur Wert ist, bekomme ich stündlich in einer übersicht per Telegram gesendet.
      Ist es möglich das die Lüfter auf 27 Grad ein/aus geschaltet zu triggern und nur wenn die Lüfter geschaltet werden eine Telegram Nachricht auszulösen. Da mein Aqua Control <<<telegram Bot mich mit Temperatur Werten zu spämt.
      Vielleicht bekommst du das ja auch ratzfatz hin @paul53

      Meine momentane Steuerung sieht so aus:

      var Temperatur;
      
      
      Temperatur = getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val;
      on({id: 'sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (Temperatur > 27) {
          setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, true);
          sendTo("telegram.0", "send", {
              text: (['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Technik Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind eingeschaltet'].join(''))
          });
          console.debug((['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Technik Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind eingeschaltet'].join('')));
        } else if (Temperatur < 27) {
          setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, false);
          sendTo("telegram.0", "send", {
              text: (['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Technik Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind ausgeschaltet'].join(''))
          });
          console.debug((['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Technik Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind ausgeschaltet'].join('')));
        }
      });
      
      <xml xmlns="http://www.w3.org/1999/xhtml">
        <variables>
          <variable type="" id="mJE{tjKBVZ^5FIKaG$s5">Temperatur</variable>
        </variables>
        <block type="variables_set" id="CsZ*!COyGS(fRo9UH}!1" x="-463" y="-1113">
          <field name="VAR" id="mJE{tjKBVZ^5FIKaG$s5" variabletype="">Temperatur</field>
          <value name="VALUE">
            <block type="get_value" id="!XFN$kJ%jL:1u:2q/7cw">
              <field name="ATTR">val</field>
              <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
            </block>
          </value>
          <next>
            <block type="on_ext" id="5=J}G|Vtnwu`Z.`}nKZ@">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="P)B|shc_ivhAvX2mbxQT">
                  <field name="oid">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="controls_if" id="!ZB-C3F4a~jvkb.D|D8w">
                  <mutation elseif="1"></mutation>
                  <value name="IF0">
                    <block type="logic_compare" id="+5B/6!tn8y}VfhP)N{LE">
                      <field name="OP">GT</field>
                      <value name="A">
                        <block type="variables_get" id="h_c)!EU-;3kKZq:|pZn{">
                          <field name="VAR" id="mJE{tjKBVZ^5FIKaG$s5" variabletype="">Temperatur</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="math_number" id="E/Xf-n88Sy#_}|g?k}R2">
                          <field name="NUM">27</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="control" id="mAV9IFI)yXjMtXo2M]D2">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">sonoff.0.Aqua_Power.POWER1</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id=".?ucpaU|BCH~wpk^BXcN">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                      <next>
                        <block type="telegram" id="#`_U?gtRc@ZW[t~btAOd">
                          <field name="INSTANCE">.0</field>
                          <field name="LOG"></field>
                          <field name="SILENT">FALSE</field>
                          <field name="PARSEMODE">default</field>
                          <value name="MESSAGE">
                            <shadow type="text" id="t{52.%{Hs`]4YD#~qeoX">
                              <field name="TEXT">text</field>
                            </shadow>
                            <block type="text_join" id="jikzC0ng$a/_3WLJq~pH">
                              <mutation items="9"></mutation>
                              <value name="ADD0">
                                <block type="text" id="Rc|l!*~[K2fWkUTF[xpL">
                                  <field name="TEXT">Aquarium Temp ist </field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="get_value" id="mG`vT4*?SIwwN_tB)tu:">
                                  <field name="ATTR">val</field>
                                  <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="text" id="m(cqqes/Gs*HX(SX$C3#">
                                  <field name="TEXT"> °C</field>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="text_newline" id="E|8#`4FFynNmyYl*$7;n">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                              <value name="ADD4">
                                <block type="text" id="LqBz6MVYi:Mk@E*.6#,j">
                                  <field name="TEXT">Technik Temp ist </field>
                                </block>
                              </value>
                              <value name="ADD5">
                                <block type="get_value" id="d18DV6qg94C4qO@d*K?c">
                                  <field name="ATTR">val</field>
                                  <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                </block>
                              </value>
                              <value name="ADD6">
                                <block type="text" id="2UNl3;78Q}0r/w54w]8h">
                                  <field name="TEXT"> °C</field>
                                </block>
                              </value>
                              <value name="ADD7">
                                <block type="text_newline" id="77+zv1flCF,fU:R?qZZ%">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                              <value name="ADD8">
                                <block type="text" id="fcci=xYyVk{b)=Z=q@@?">
                                  <field name="TEXT">Lüfter sind eingeschaltet</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="3TrVyd)vrSLJfd|`BK]s">
                              <field name="Severity">debug</field>
                              <value name="TEXT">
                                <shadow type="text" id="4*3][}x|3(CTn=QXa*PN">
                                  <field name="TEXT">test</field>
                                </shadow>
                                <block type="text_join" id="0q*BZ^cqqp5NzfH:gY(q">
                                  <mutation items="9"></mutation>
                                  <value name="ADD0">
                                    <block type="text" id="oE3K+Wv`,qM3U!-2(@*Q">
                                      <field name="TEXT">Aquarium Temp ist </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="get_value" id="#O)d/Uswk?/KeQb!Y{KR">
                                      <field name="ATTR">val</field>
                                      <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text" id="!?{Q:u/+4lGo2K+bQ4ea">
                                      <field name="TEXT"> °C</field>
                                    </block>
                                  </value>
                                  <value name="ADD3">
                                    <block type="text_newline" id="5unlAP4UQ5~]sOAG@OU`">
                                      <field name="Type">\n</field>
                                    </block>
                                  </value>
                                  <value name="ADD4">
                                    <block type="text" id="8#b%UYY[S*hxgixn!$Tx">
                                      <field name="TEXT">Technik Temp ist </field>
                                    </block>
                                  </value>
                                  <value name="ADD5">
                                    <block type="get_value" id="rCNbJ~OR(SQ2T:zRh,Pf">
                                      <field name="ATTR">val</field>
                                      <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                    </block>
                                  </value>
                                  <value name="ADD6">
                                    <block type="text" id="S3G]X#)@m.,~S!JLsu%v">
                                      <field name="TEXT"> °C</field>
                                    </block>
                                  </value>
                                  <value name="ADD7">
                                    <block type="text_newline" id="s@q2?=nI;F=Pk!R}0Q,#">
                                      <field name="Type">\n</field>
                                    </block>
                                  </value>
                                  <value name="ADD8">
                                    <block type="text" id="Vryi2kR.)iE:d!#Bd0IK">
                                      <field name="TEXT">Lüfter sind eingeschaltet</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <value name="IF1">
                    <block type="logic_compare" id="AL;l=N%]-}0YJ78+GMj]">
                      <field name="OP">LT</field>
                      <value name="A">
                        <block type="variables_get" id="]|JFLlM^k2k537_:.Di{">
                          <field name="VAR" id="mJE{tjKBVZ^5FIKaG$s5" variabletype="">Temperatur</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="math_number" id="(y5xD-^AIZ,8t=!,z[OE">
                          <field name="NUM">27</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO1">
                    <block type="control" id="s7=@{`70/E1ZK[]?RR7J">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">sonoff.0.Aqua_Power.POWER1</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="IaSuQt6pqc4FFX%j16(8">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="telegram" id="k#WffLydc;q_!D=90/82">
                          <field name="INSTANCE">.0</field>
                          <field name="LOG"></field>
                          <field name="SILENT">FALSE</field>
                          <field name="PARSEMODE">default</field>
                          <value name="MESSAGE">
                            <shadow type="text" id="t{52.%{Hs`]4YD#~qeoX">
                              <field name="TEXT">text</field>
                            </shadow>
                            <block type="text_join" id="$pd^gNA4OZQ$]F},N@.@">
                              <mutation items="9"></mutation>
                              <value name="ADD0">
                                <block type="text" id="pfE_u=M(-L,aR5ruLriH">
                                  <field name="TEXT">Aquarium Temp ist </field>
                                </block>
                              </value>
                              <value name="ADD1">
                                <block type="get_value" id="Ot)aa?d|O2.vvY},r!-V">
                                  <field name="ATTR">val</field>
                                  <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                </block>
                              </value>
                              <value name="ADD2">
                                <block type="text" id="+5{m#22z~!UE4@Shb+5Y">
                                  <field name="TEXT"> °C</field>
                                </block>
                              </value>
                              <value name="ADD3">
                                <block type="text_newline" id="qtn34tt[),3-0L=J*m!c">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                              <value name="ADD4">
                                <block type="text" id="Go9)KKhbJWAH@7L.LkyR">
                                  <field name="TEXT">Technik Temp ist </field>
                                </block>
                              </value>
                              <value name="ADD5">
                                <block type="get_value" id="sl2](,:Y*c6Agfh~;51c">
                                  <field name="ATTR">val</field>
                                  <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                </block>
                              </value>
                              <value name="ADD6">
                                <block type="text" id="PYzY|lt0@+-yfa?~:}`i">
                                  <field name="TEXT"> °C</field>
                                </block>
                              </value>
                              <value name="ADD7">
                                <block type="text_newline" id="1x]fG7Ll-%2;YPo)u(co">
                                  <field name="Type">\n</field>
                                </block>
                              </value>
                              <value name="ADD8">
                                <block type="text" id="#T1WB.4@vMv%SB.A%~?s">
                                  <field name="TEXT">Lüfter sind ausgeschaltet</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="??1s;8;{}T0ZNb~4tjm7">
                              <field name="Severity">debug</field>
                              <value name="TEXT">
                                <shadow type="text" id="4*3][}x|3(CTn=QXa*PN">
                                  <field name="TEXT">test</field>
                                </shadow>
                                <block type="text_join" id="=vjnEQZ7wj|[uc#:wWUE">
                                  <mutation items="9"></mutation>
                                  <value name="ADD0">
                                    <block type="text" id="1=[PGz,rV./(Q;VBaVmI">
                                      <field name="TEXT">Aquarium Temp ist </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="get_value" id="1,fP.MzQ!0]pP8%qZ?da">
                                      <field name="ATTR">val</field>
                                      <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text" id="s+=J(:tL}zG-26:hm7=d">
                                      <field name="TEXT"> °C</field>
                                    </block>
                                  </value>
                                  <value name="ADD3">
                                    <block type="text_newline" id="ZKhF(ClJI/n]Wr}(Q9Sq">
                                      <field name="Type">\n</field>
                                    </block>
                                  </value>
                                  <value name="ADD4">
                                    <block type="text" id="}|1,fYG=Y|wSmq$+cJ:|">
                                      <field name="TEXT">Technik Temp ist </field>
                                    </block>
                                  </value>
                                  <value name="ADD5">
                                    <block type="get_value" id="Y5#-=Y/_:c:!]]GN|U*P">
                                      <field name="ATTR">val</field>
                                      <field name="OID">sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature</field>
                                    </block>
                                  </value>
                                  <value name="ADD6">
                                    <block type="text" id="v)H!?:sHFW9V%pgt8vu~">
                                      <field name="TEXT"> °C</field>
                                    </block>
                                  </value>
                                  <value name="ADD7">
                                    <block type="text_newline" id="}LaHZXf_lcBcLRCn}`I^">
                                      <field name="Type">\n</field>
                                    </block>
                                  </value>
                                  <value name="ADD8">
                                    <block type="text" id="@nP|kTZC_I3Lx_ncxiUR">
                                      <field name="TEXT">Lüfter sind ausgeschaltet</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
          </next>
        </block>
      </xml>
      

      Bildschirmfoto 2019-09-29 um 17.50.45.png

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

        @Aphofis sagte:

        Ich habe eine Temperatur Steuerung, die leider extrem auf jegliche veränderung eine Telegram Nachricht ausgibt.

        Das glaube ich bei der gezeigten Steuerung nicht, denn die Variable Temperatur wird nur bei Skriptstart gesetzt und bleibt danach konstant. Vorschlag:

        Blockly_temp.JPG

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

          @paul53
          Ich schnalle es nihct woher du sowas umsetzen kannst.
          Ich bin ja nun auch nicht dumm um kann Logik umsetzen und auch logisch denken.
          Doch diese Steuerungen umsetzen ist irgendwie nicht meins.
          Ich schreibe mir auch eine Aufgabenstellung auf was das Gerät bzw die Steuerung machen soll und was wenn nihct aber irgendwie klappt das umsetzen überhaupt nicht. @paul53 hast du da irgendeine Lektüre oder einen Tipp wie man Blockly besser lernen kann !? oder muss ich doch Javascript lernen !?

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

            @Aphofis sagte:

            Tipp wie man Blockly besser lernen kann !? oder muss ich doch Javascript lernen !?

            Das ist keine Frage der Programmiersprache. Ich habe viele Jahre Erfahrung mit Steuerungs-Logik.

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

              @paul53
              Na dann muss ich mich aber ran halten, wenn ich sowas mal selbst hinbekommen soll.

              Ist es so korekt ???

              on({id: 'sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature', change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if ((obj.state ? obj.state.val : "") > 27 && (obj.oldState ? obj.oldState.val : "") <= 27) {
                  setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, true);
                  sendTo("telegram.0", "send", {
                      text: (['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Technik Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind eingeschaltet'].join(''))
                  });
                } else if ((obj.state ? obj.state.val : "") < 26.9 && (obj.oldState ? obj.oldState.val : "") >= 26.9) {
                  setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, false);
                  sendTo("telegram.0", "send", {
                      text: (['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Technik Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind ausgeschaltet'].join(''))
                  });
                }
              });
              
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Aphofis last edited by

                @Aphofis sagte:

                Ist es so korekt ???

                Wenn es beabsichtigt ist, die identische Temperatur in einem Telegramm 2 mal auszugeben, dann ja. Die Temperatur des Triggerdatenpunktes steht auch in der Eigenschaft Wert.

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

                  @paul53
                  Kann man das auch anders lösen !? Das je nach Zustand dann die eine oder die andere Nachricht wiedergegeben wird.
                  Ich weiß irgendwo hatten wir diese Steuerung mit dem Text. Ich glaube bei Alexa aber wie die Abfolge ist weiss ich nicht.

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

                    @Aphofis
                    Im Text schreibst Du einmal "Aquarium Temperatur" und einmal "Technik Temperatur", übergibst aber für beide den gleichen Wert.

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

                      @paul53
                      Ja soll auch beides Aquarium Temperatur sein!
                      Ist wohl noch über geblieben als noch die Klinken Stecker in Funktion waren und aber Ausfälle hatten da hatte ich den Technik Temp Sensor genommen.
                      Jetzt ist alles auf Mikrofon Stecker umgebaut seid dem keine Ausfälle mehr aber der Text ist geblieben.
                      Fix mal ändern.

                      Aphofis 1 Reply Last reply Reply Quote 0
                      • Aphofis
                        Aphofis @Aphofis last edited by

                        @paul53

                        So sollte es völlig ausreichen.

                        on({id: 'sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature', change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if ((obj.state ? obj.state.val : "") > 27 && (obj.oldState ? obj.oldState.val : "") <= 27) {
                            setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, true);
                            sendTo("telegram.0", "send", {
                                text: (['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','Lüfter sind eingeschaltet'].join(''))
                            });
                          } else if ((obj.state ? obj.state.val : "") < 26.9 && (obj.oldState ? obj.oldState.val : "") >= 26.9) {
                            setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, false);
                            sendTo("telegram.0", "send", {
                                text: (['Aquarium Temp ist ',getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val,' °C','\n','Lüfter sind ausgeschaltet'].join(''))
                            });
                          }
                        });
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        498
                        Online

                        31.9k
                        Users

                        80.3k
                        Topics

                        1.3m
                        Posts

                        2
                        10
                        360
                        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