Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Lötstation

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Lötstation

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

      Hallo.
      Letzte Woche habe ich vergessen meine Lötstation auszuschalten. Das habe ich erst nach 3 Tage gemerkt. Die Stromrechnung kommt noch 🙂
      Um sowas zu vermeiden habe ich mir Shelly Plug S besorgt und kleinen Script geschrieben . Wenn ich das wieder vergesse soll die Station automatisch nach 30 Minuten ausgehen und ich soll eine Benachrichtigung bekommen.

      Zrzut ekranu 2022-07-10 o 20.43.13.png

      Die Benachrichtigung kommt aber sowieso , auch wenn ich die Lötstation ganz normal ausschalte .
      Warum ? Ich habe doch stop timeout verwendet .

      T haus-automatisierung Homoran BananaJoe Zarello 6 Replies Last reply Reply Quote 0
      • T
        TT-Tom @Umbrella1980 last edited by TT-Tom

        @umbrella1980

        Statt „wert von ObjektID“ nimm aus dem trigger die „ObjekteID“ und wähle deren „Wert“.

        „Sonst falls“ kannst du weg lassen und nur „sonst“ nehmen und den Timer stoppen.

        1 Reply Last reply Reply Quote 1
        • haus-automatisierung
          haus-automatisierung Developer Most Active @Umbrella1980 last edited by

          @umbrella1980 Das liegt daran, dass zig Timer gestartet werden, während sich Power ändert. Angenommen der Wert aktualisiert sich ständig:

          • 2,5
          • 4
          • 3
          • 2,5
          • …

          Dann hättest Du jetzt 4 Timer gestartet, welche alle eine Nachricht senden. Abgebrochen würde nur der letzte. Du musst Dir merken, ob schon ein Timeout gestartet wurde und nur einen starten.

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

            @umbrella1980 da sich aber auch die Leistung >2W ändert wird jedesmal ein neuer timeout angestoßen ohne dass der laufende gleiche Timeout vorher gestoppt wird. Das führt dazu, dass er nie wieder gestoppt werden kann.

            1 Reply Last reply Reply Quote 0
            • T
              TT-Tom @Umbrella1980 last edited by TT-Tom

              @umbrella1980

              Probiere mal das. Musst noch das Telegram einsetzen

              PNG-Bild.png

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id="=r+sx9%s_u2/DdGv[47j">Loetstation</variable>
                  <variable type="timeout" id="timeout">timeout</variable>
                </variables>
                <block type="on" id="?U7-D#UY_B(9(uetx{sP" x="38" y="13">
                  <field name="OID">Object ID</field>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="D_:PZjkF:ZT[VKsp@J[F">
                      <mutation else="1"></mutation>
                      <value name="IF0">
                        <block type="logic_operation" id="k+^OUi5~-Nrwt3:`9SS@">
                          <field name="OP">AND</field>
                          <value name="A">
                            <block type="logic_compare" id="4Y#?FVP~dSXv|?PON78O">
                              <field name="OP">GT</field>
                              <value name="A">
                                <block type="on_source" id="qe32shB/-,A^WG3Z61e|">
                                  <field name="ATTR">state.val</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="SwxS,API^nKrqPAbx{Rl">
                                  <field name="NUM">2</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_compare" id=")BP;dc$qBF7k.?iIxEVo">
                              <field name="OP">EQ</field>
                              <value name="A">
                                <block type="variables_get" id="$;En?G18$hSx#y%(O.Je">
                                  <field name="VAR" id="=r+sx9%s_u2/DdGv[47j">Loetstation</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_boolean" id="3mVl]C@*f%=XjVD+hQqn">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="variables_set" id="0N.W0*Ih0;#nP0*gTYa;">
                          <field name="VAR" id="=r+sx9%s_u2/DdGv[47j">Loetstation</field>
                          <value name="VALUE">
                            <block type="logic_boolean" id="t}q_yRH?{7g18rDyjQFp">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                          <next>
                            <block type="timeouts_settimeout" id="ITq1j/=hJfY/8g,Jm]l)">
                              <field name="NAME">timeout</field>
                              <field name="DELAY">30</field>
                              <field name="UNIT">min</field>
                            </block>
                          </next>
                        </block>
                      </statement>
                      <statement name="ELSE">
                        <block type="timeouts_cleartimeout" id="H$r@m=ciam@K#rKqH~vq">
                          <field name="NAME">timeout</field>
                          <next>
                            <block type="variables_set" id="wW)VFg{${`Ba-j}A8_gT">
                              <field name="VAR" id="=r+sx9%s_u2/DdGv[47j">Loetstation</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="b[3S~3y`z*WFrjj66!$b">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </xml>
              
              David G. 1 Reply Last reply Reply Quote 2
              • BananaJoe
                BananaJoe Most Active @Umbrella1980 last edited by

                @umbrella1980 du bist nicht der erste der das Problem hatte ...

                Da auf meinen Plugs Tasmota ist habe ich eine Rule erstellt die spätestens nach 2h die Lötstation wieder ausschaltet.
                Also auch ohne ioBroker.
                Gibt auf dem Shelly direkt keine Timer?

                T 1 Reply Last reply Reply Quote 0
                • David G.
                  David G. @TT-Tom last edited by David G.

                  @tt-tom sagte in Lötstation:

                  @umbrella1980

                  Probiere mal das. Musst noch das Telegram einsetzen

                  PNG-Bild.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="=r+sx9%s_u2/DdGv[47j">Loetstation</variable>
                      <variable type="timeout" id="timeout">timeout</variable>
                    </variables>
                    <block type="on" id="?U7-D#UY_B(9(uetx{sP" x="38" y="13">
                      <field name="OID">Object ID</field>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="D_:PZjkF:ZT[VKsp@J[F">
                          <mutation else="1"></mutation>
                          <value name="IF0">
                            <block type="logic_operation" id="k+^OUi5~-Nrwt3:`9SS@">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_compare" id="4Y#?FVP~dSXv|?PON78O">
                                  <field name="OP">GT</field>
                                  <value name="A">
                                    <block type="on_source" id="qe32shB/-,A^WG3Z61e|">
                                      <field name="ATTR">state.val</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="math_number" id="SwxS,API^nKrqPAbx{Rl">
                                      <field name="NUM">2</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_compare" id=")BP;dc$qBF7k.?iIxEVo">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="variables_get" id="$;En?G18$hSx#y%(O.Je">
                                      <field name="VAR" id="=r+sx9%s_u2/DdGv[47j">Loetstation</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="3mVl]C@*f%=XjVD+hQqn">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="variables_set" id="0N.W0*Ih0;#nP0*gTYa;">
                              <field name="VAR" id="=r+sx9%s_u2/DdGv[47j">Loetstation</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="t}q_yRH?{7g18rDyjQFp">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="timeouts_settimeout" id="ITq1j/=hJfY/8g,Jm]l)">
                                  <field name="NAME">timeout</field>
                                  <field name="DELAY">30</field>
                                  <field name="UNIT">min</field>
                                </block>
                              </next>
                            </block>
                          </statement>
                          <statement name="ELSE">
                            <block type="timeouts_cleartimeout" id="H$r@m=ciam@K#rKqH~vq">
                              <field name="NAME">timeout</field>
                              <next>
                                <block type="variables_set" id="wW)VFg{${`Ba-j}A8_gT">
                                  <field name="VAR" id="=r+sx9%s_u2/DdGv[47j">Loetstation</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="b[3S~3y`z*WFrjj66!$b">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </statement>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  

                  Die Variable "loetstation" kann man sich auch sparen und direkt abfragen, ob der Timer schon läuft.

                  So in der Art:
                  Screenshot_20220711-075509_Chrome.jpg

                  paul53 1 Reply Last reply Reply Quote 2
                  • T
                    TT-Tom @BananaJoe last edited by TT-Tom

                    @bananajoe Gibt auf dem Shelly direkt keine Timer?

                    Ja die gibt es. Auto on und off, sowie Wochen Timer.

                    1 Reply Last reply Reply Quote 1
                    • paul53
                      paul53 @David G. last edited by paul53

                      @david-g sagte: So in der Art:

                      So wird der Timeout beim nächsten Trigger gleich wieder gestoppt, egal wir groß der Wert ist.
                      Deshalb so:

                      Bild_2022-07-11_102755923.png

                      1 Reply Last reply Reply Quote 1
                      • Zarello
                        Zarello @Umbrella1980 last edited by Zarello

                        @umbrella1980 Das Konstrukt, welches ich hier im Forum bisher sehr häufig gesehen habe ist sowas wie:

                        Falls    Wert > 2   und   Alter Wert <= 2:
                           Timer starten...
                        sonst Falls   Wert <= 2:
                           Timer stoppen
                        

                        Die erste Abfrage sorgt dafür, dass der Timer nur gestartet wird, wenn der Wert die Grenze überschreitet, die zweite Abfrage sorgt dafür, dass ansonsten der Timer nur angehalten wird, wenn der Wert die Grenze unterschreitet.

                        Sorry, ich habe gerade kein Blockly zur Verfügung, ich hoffe, es wurde trotzdem klar was ich meinte.

                        Edit: Oder natürlich so wie @paul53 gerade noch ergänzt hat 🙂

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

                          @zarello sagte: sehr häufig gesehen habe

                          Eine Alternative zu "sonst falls nicht timeout" ist "sonst falls vorheriger Wert <= 2".

                          Zarello U 2 Replies Last reply Reply Quote 1
                          • Zarello
                            Zarello @paul53 last edited by

                            @paul53 Ja, viele Wege führen nach Rom 🙂

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

                              @paul53

                              Vielen Dank für eure Hilfe . Das ich doch bisschen schwerer als ich gedacht habe.
                              Natürlich kann ich das Shelly mit Timer automatisch ausschalten lassen aber dann muss ich jedes Mal die Lötstation mit dem Schalter am Shelly Plug einschalten. Bisschen unpraktisch da die Steckdose versteckt ist.

                              Das Script funktioniert aber nicht ganz .Bestimmt habe ich irgendwo einen Fehler gemacht. Das Shelly schaltet die Station automatisch aus , aber auch wenn ich die mit dem Schalter ganz normal ausschalte - also immer nach 30 Minuten .

                              Zrzut ekranu 2022-07-13 o 12.49.28.png

                              paul53 Homoran BananaJoe 4 Replies Last reply Reply Quote 0
                              • paul53
                                paul53 @Umbrella1980 last edited by paul53

                                @umbrella1980
                                Die Vergleichswerte müssen identisch sein!

                                Rest gelöscht.

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

                                  @umbrella1980 sagte in Lötstation:

                                  Das Shelly schaltet die Station automatisch aus , aber auch wenn ich die mit dem Schalter ganz normal ausschalte - also immer nach 30 Minuten .

                                  aber doch immer nach 30 Minuten nach dem Anschalten und nicht 30 Minuten nach dem manuellen ausschalten, oder?

                                  du hast ja auch mit wert>2 eine weitere kontraproduktive Bedingung eingebaut.

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

                                    @paul53 Muss es nicht in beiden Abfragen "<= 2" heißen statt "> 2"?

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

                                      @zarello sagte: Muss es nicht in beiden Abfragen "<= 2" heißen statt "> 2"?

                                      Nein: "> 2"
                                      Bei "Wert > 2" muss der Timeout gestoppt werden.
                                      Bei erstmaligem Unterschreiten von 2 (Wert <= 2 UND vorheriger Wert > 2) wird Timeout gestartet.

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

                                        @paul53 Aber der Timeout soll doch starten, wenn die Lötstation eingeschaltet wird (also Power > 2) und abgebrochen werden, wenn die Lötstation normal ausgeschaltet wird und damit kein Strom mehr verbraucht (also Power < 2).

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

                                          @zarello
                                          Ich bin davon ausgegangen, dass die Lötstation in eine Art "Standby" mit einer Leistungsaufnahme < 2 W geht. Falls nicht, hast Du natürlich recht.

                                          EDIT: Habe die ersten Beiträge noch mal angeschaut und korrigiert:

                                          Bild_2022-07-13_132303316.png

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

                                            @umbrella1980
                                            Hier nochmal die korrekten Bedingungen:

                                            Bild_2022-07-13_132615722.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            778
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            30
                                            1642
                                            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