Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Script Wärmelampe Abschaltung

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    314

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    290

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    922

Script Wärmelampe Abschaltung

Geplant Angeheftet Gesperrt Verschoben Blockly
15 Beiträge 3 Kommentatoren 782 Aufrufe 1 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S Offline
    S Offline
    Steffgl
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht. Kann mir bitte jemand beim Script weiterhelfen?

    Im Script 1 lese ich die aktuelle Leistung des Wallplug aus, wenn die Wärmelampe eingeschaltet wird. Wenn der Wert über 100Watt steigt, dann schreibt er in die Variable "Wärmelampe_Leistungsgrenze" eine 1 (True) rein.
    Bildschirmfoto 2021-05-22 um 10.45.54.png

    Dies funktioniert bisher auch super. Also wenn Lampe ein, dann steht ein True drin und wenn die Lampe aus, dann steht ein False drin.
    Bildschirmfoto 2021-05-22 um 10.46.06.png

    Nun wird die Variable mit True oder False ausgelesen und startet entweder die Abschaltzeit mit der Abschaltung des Wallplug oder stoppt den Zeitplan wieder, wenn die Lampe vor Ablauf der eingestellten Zeit wieder ausgeschalten wird.
    Bildschirmfoto 2021-05-22 um 10.46.24.png

    Die Abschaltung funktioniert soweit, nur lässt sich der Zeitplan nicht stoppen und ich kann den Wallplug nur wieder dauerhaft zum Laufen bringen, wenn ich das Script stoppe oder wieder einschalte.

    Wie kann ich die Zeit und die Abschaltung richtig einstellen?

    Vielen Dank im Voraus

    Gruß
    Stefan

    paul53P HomoranH 2 Antworten Letzte Antwort
    0
    • S Steffgl

      Hallo,

      ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht. Kann mir bitte jemand beim Script weiterhelfen?

      Im Script 1 lese ich die aktuelle Leistung des Wallplug aus, wenn die Wärmelampe eingeschaltet wird. Wenn der Wert über 100Watt steigt, dann schreibt er in die Variable "Wärmelampe_Leistungsgrenze" eine 1 (True) rein.
      Bildschirmfoto 2021-05-22 um 10.45.54.png

      Dies funktioniert bisher auch super. Also wenn Lampe ein, dann steht ein True drin und wenn die Lampe aus, dann steht ein False drin.
      Bildschirmfoto 2021-05-22 um 10.46.06.png

      Nun wird die Variable mit True oder False ausgelesen und startet entweder die Abschaltzeit mit der Abschaltung des Wallplug oder stoppt den Zeitplan wieder, wenn die Lampe vor Ablauf der eingestellten Zeit wieder ausgeschalten wird.
      Bildschirmfoto 2021-05-22 um 10.46.24.png

      Die Abschaltung funktioniert soweit, nur lässt sich der Zeitplan nicht stoppen und ich kann den Wallplug nur wieder dauerhaft zum Laufen bringen, wenn ich das Script stoppe oder wieder einschalte.

      Wie kann ich die Zeit und die Abschaltung richtig einstellen?

      Vielen Dank im Voraus

      Gruß
      Stefan

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @steffgl
      Weshalb 3 Trigger (Ressourcenverschwendung)? Versuche es mal so:

      Bild_2021-05-22_113051.png

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable type="timeout" id="timeout">timeout</variable>
       </variables>
       <block type="on_ext" id="9xvZZ.ORv]eB5;9!s.zS" x="-287" y="-337">
         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
         <field name="CONDITION">ne</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="?yk?OfvV4j__~-7o_J]K">
             <field name="oid">default</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="controls_if" id="I}-s0o_-d#]y{KN_Kjx_">
             <mutation else="1"></mutation>
             <value name="IF0">
               <block type="logic_compare" id="l.MibR@Tc|qdOGvmq_|Q">
                 <field name="OP">GT</field>
                 <value name="A">
                   <block type="on_source" id="75zG7)([y6gp,gTwFV}!">
                     <field name="ATTR">state.val</field>
                   </block>
                 </value>
                 <value name="B">
                   <block type="math_number" id="17Ts5Z2VzpV)^I(xtu4Z">
                     <field name="NUM">100</field>
                   </block>
                 </value>
               </block>
             </value>
             <statement name="DO0">
               <block type="controls_if" id="9wS8v4EDr?(:wEJhsT9.">
                 <value name="IF0">
                   <block type="logic_negate" id="C-B3Q45w^:VA*gN4;mS1">
                     <value name="BOOL">
                       <block type="variables_get" id="Qm:z:aY,:[mHd0TBr{%6">
                         <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="timeouts_settimeout" id="y9yHsaRIE#OP6+=#Frg$">
                     <field name="NAME">timeout</field>
                     <field name="DELAY">25</field>
                     <field name="UNIT">sec</field>
                     <statement name="STATEMENT">
                       <block type="control" id="JMS1?W3nKNvPfn,kR5j3">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">Object ID</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="GnNH^ft5d[U`|eIJ|{]:">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </statement>
             <statement name="ELSE">
               <block type="timeouts_cleartimeout" id="C:1eXS!b?xH@Ti,k|xR@">
                 <field name="NAME">timeout</field>
               </block>
             </statement>
           </block>
         </statement>
       </block>
      </xml>
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      S 1 Antwort Letzte Antwort
      0
      • S Steffgl

        Hallo,

        ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht. Kann mir bitte jemand beim Script weiterhelfen?

        Im Script 1 lese ich die aktuelle Leistung des Wallplug aus, wenn die Wärmelampe eingeschaltet wird. Wenn der Wert über 100Watt steigt, dann schreibt er in die Variable "Wärmelampe_Leistungsgrenze" eine 1 (True) rein.
        Bildschirmfoto 2021-05-22 um 10.45.54.png

        Dies funktioniert bisher auch super. Also wenn Lampe ein, dann steht ein True drin und wenn die Lampe aus, dann steht ein False drin.
        Bildschirmfoto 2021-05-22 um 10.46.06.png

        Nun wird die Variable mit True oder False ausgelesen und startet entweder die Abschaltzeit mit der Abschaltung des Wallplug oder stoppt den Zeitplan wieder, wenn die Lampe vor Ablauf der eingestellten Zeit wieder ausgeschalten wird.
        Bildschirmfoto 2021-05-22 um 10.46.24.png

        Die Abschaltung funktioniert soweit, nur lässt sich der Zeitplan nicht stoppen und ich kann den Wallplug nur wieder dauerhaft zum Laufen bringen, wenn ich das Script stoppe oder wieder einschalte.

        Wie kann ich die Zeit und die Abschaltung richtig einstellen?

        Vielen Dank im Voraus

        Gruß
        Stefan

        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @steffgl sagte in Script Wärmelampe Abschaltung:

        ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht.

        Hältst du es dann für eine gute Idee so eine sensible Aufgabe mit fraglicher Performance zu erledigen?

        kein Support per PN! - Fragen im Forum stellen -
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        S 1 Antwort Letzte Antwort
        0
        • HomoranH Homoran

          @steffgl sagte in Script Wärmelampe Abschaltung:

          ich würde gerne für mein Neugeborenes eine Wärmelampe über einen Fibaro Wallplug nach einer gewissen Zeit abschalten. Leider funktioniert dies hinten und vorne nicht.

          Hältst du es dann für eine gute Idee so eine sensible Aufgabe mit fraglicher Performance zu erledigen?

          S Offline
          S Offline
          Steffgl
          schrieb am zuletzt editiert von
          #4

          @homoran Hallo, sorry ich habe die Aufgabe ein wenig zu oberflächlich beschrieben.

          Die Wärmelampe ist ein ein Wärmestrahler, der zum Wickeln da ist. Dieser besitzt eine Kordel, mit der zwei Stufen Wärme zum Wickeln eingestellt werden können. Dieses Gerät wird nur zum Wickeln verwendet und sollte dann wieder ausgeschaltet werden. In der Nacht kann es passieren, dass man mal vergisst an der Kordel zu ziehen und der Strahler läuft durch. Darum die Idee zur automatischen Abschaltung, dass nach z.B. 20 Minuten der Strahler wieder ausgeht. Das Kind ist weit weit davon entfernt.

          Mit dem Homee funktioniert dies schon super. Ich will aber nun auf den IO Broker umsteigen, da dieser mehr kann.

          Ich würde mich über ein paar aufklärende Worte sehr freuen.

          Danke

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @steffgl
            Weshalb 3 Trigger (Ressourcenverschwendung)? Versuche es mal so:

            Bild_2021-05-22_113051.png

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable type="timeout" id="timeout">timeout</variable>
             </variables>
             <block type="on_ext" id="9xvZZ.ORv]eB5;9!s.zS" x="-287" y="-337">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="?yk?OfvV4j__~-7o_J]K">
                   <field name="oid">default</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="I}-s0o_-d#]y{KN_Kjx_">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="logic_compare" id="l.MibR@Tc|qdOGvmq_|Q">
                       <field name="OP">GT</field>
                       <value name="A">
                         <block type="on_source" id="75zG7)([y6gp,gTwFV}!">
                           <field name="ATTR">state.val</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="17Ts5Z2VzpV)^I(xtu4Z">
                           <field name="NUM">100</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="controls_if" id="9wS8v4EDr?(:wEJhsT9.">
                       <value name="IF0">
                         <block type="logic_negate" id="C-B3Q45w^:VA*gN4;mS1">
                           <value name="BOOL">
                             <block type="variables_get" id="Qm:z:aY,:[mHd0TBr{%6">
                               <field name="VAR" id="timeout" variabletype="timeout">timeout</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="timeouts_settimeout" id="y9yHsaRIE#OP6+=#Frg$">
                           <field name="NAME">timeout</field>
                           <field name="DELAY">25</field>
                           <field name="UNIT">sec</field>
                           <statement name="STATEMENT">
                             <block type="control" id="JMS1?W3nKNvPfn,kR5j3">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">Object ID</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="GnNH^ft5d[U`|eIJ|{]:">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <block type="timeouts_cleartimeout" id="C:1eXS!b?xH@Ti,k|xR@">
                       <field name="NAME">timeout</field>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
            </xml>
            

            S Offline
            S Offline
            Steffgl
            schrieb am zuletzt editiert von
            #5

            @paul53 Vielen Dank für den Tip. Ist eine schöne Lösung, nur funktioniert eine Sache nicht: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus. Wie kann die Zeit zurückgesetzt werden? Also der WallPlug soll nur nach der eingestellten Zeit ausschalten, wenn der Wärmestrahler noch an ist. Danke schonmal

            Gruß
            Stefan

            paul53P 1 Antwort Letzte Antwort
            0
            • S Steffgl

              @paul53 Vielen Dank für den Tip. Ist eine schöne Lösung, nur funktioniert eine Sache nicht: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus. Wie kann die Zeit zurückgesetzt werden? Also der WallPlug soll nur nach der eingestellten Zeit ausschalten, wenn der Wärmestrahler noch an ist. Danke schonmal

              Gruß
              Stefan

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @steffgl sagte: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus.

              Das sollte stop timeout bei einer Leistung < 100 W verhindern. Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              S 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @steffgl sagte: Wenn ich innerhalb der laufenden Timeouts Zeit die Kordel der Lampe ziehe und die Lampe ausschalte, dann schaltet der Wall Plug trotzdem nach der angegebenen Timeout Zeit aus.

                Das sollte stop timeout bei einer Leistung < 100 W verhindern. Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                S Offline
                S Offline
                Steffgl
                schrieb am zuletzt editiert von
                #7

                @paul53

                Bildschirmfoto 2021-05-22 um 18.15.46.png

                var timeout;
                
                
                on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if ((obj.state ? obj.state.val : "") >= 100) {
                    timeout = setTimeout(async function () {
                      setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false);
                    }, 15000);
                  } else {
                    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                  }
                });
                
                //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ0aW1lb3V0JTIyJTNFdGltZW91dCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJ1JTNBeFolN0JiJTYwMzZzeF9LSCUyNUdjYSU1REglMjIlMjB4JTNEJTIyMTg4JTIyJTIweSUzRCUyMi04NiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlNUVHNTclMkI4eSUyNWQlMkZRJTI0JTJCJTNGTSU3QiUzQWlieiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5LkN1cnJlbnRFbmVyZ3lVc2UtMjc1JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyQlU0JTNGRW0wSkElMkItdiolMkI3JTNCU3lBciUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMml1cTA4JTYwVzJ5Y1lfYiU3Q19uWmtPdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1RFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJVM2IlM0EqbENOTGdDNiUyNWtpSDUlMkYpJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyeiUzRCU3QyU1QnA2cFNBVGRNJTNEdiUyQmN5MXUlMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMmxtRks1JTVFVWdWSkdsZV8zZCUyRlVTZiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTE1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIySzMlN0JIVCUyNUFlfkclN0IlMjMlM0FVN25ZJTJDJTdCeCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5Lk9uT2ZmLTI2OSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMlBBOF91dyhGcmwlNDAlMkMxYShsX2VrdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyJTIzVGNIT1ElM0YlMjQ2Umk5NiU3RG51SWhoLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
                
                paul53P 1 Antwort Letzte Antwort
                0
                • S Steffgl

                  @paul53

                  Bildschirmfoto 2021-05-22 um 18.15.46.png

                  var timeout;
                  
                  
                  on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if ((obj.state ? obj.state.val : "") >= 100) {
                      timeout = setTimeout(async function () {
                        setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false);
                      }, 15000);
                    } else {
                      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                    }
                  });
                  
                  //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ0aW1lb3V0JTIyJTNFdGltZW91dCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJ1JTNBeFolN0JiJTYwMzZzeF9LSCUyNUdjYSU1REglMjIlMjB4JTNEJTIyMTg4JTIyJTIweSUzRCUyMi04NiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlNUVHNTclMkI4eSUyNWQlMkZRJTI0JTJCJTNGTSU3QiUzQWlieiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5LkN1cnJlbnRFbmVyZ3lVc2UtMjc1JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyQlU0JTNGRW0wSkElMkItdiolMkI3JTNCU3lBciUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMml1cTA4JTYwVzJ5Y1lfYiU3Q19uWmtPdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1RFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJVM2IlM0EqbENOTGdDNiUyNWtpSDUlMkYpJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyeiUzRCU3QyU1QnA2cFNBVGRNJTNEdiUyQmN5MXUlMkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXQlMjIlMjBpZCUzRCUyMmxtRks1JTVFVWdWSkdsZV8zZCUyRlVTZiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWSUyMiUzRTE1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFc2VjJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIySzMlN0JIVCUyNUFlfkclN0IlMjMlM0FVN25ZJTJDJTdCeCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWhvbWVlLjAuTWV0ZXJpbmdQbHVnLTI5Lk9uT2ZmLTI2OSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMlBBOF91dyhGcmwlNDAlMkMxYShsX2VrdyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyJTIzVGNIT1ElM0YlMjQ2Umk5NiU3RG51SWhoLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5BTUUlMjIlM0V0aW1lb3V0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
                  
                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @steffgl
                  Das sollte so funktionieren, falls die Zeit von 15 s nicht zu kurz ist, um den Leistungsabfall zu erkennen. Sollte die Einschaltdauer nicht eher im Minuten-Bereich sein?

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  S paul53P 2 Antworten Letzte Antwort
                  0
                  • paul53P paul53

                    @steffgl
                    Das sollte so funktionieren, falls die Zeit von 15 s nicht zu kurz ist, um den Leistungsabfall zu erkennen. Sollte die Einschaltdauer nicht eher im Minuten-Bereich sein?

                    S Offline
                    S Offline
                    Steffgl
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 Ja. Ich will 20 Minuten einstellen. Ich hatte die 15 Sekunden nur zum Test drin.

                    Ich Versuchs mal mit 20 Minuten. Melde mich wieder

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @steffgl
                      Das sollte so funktionieren, falls die Zeit von 15 s nicht zu kurz ist, um den Leistungsabfall zu erkennen. Sollte die Einschaltdauer nicht eher im Minuten-Bereich sein?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #10

                      @paul53 sagte: Das sollte so funktionieren

                      Nein, das funktioniert so nicht, denn Du hast die Abfrage "falls nicht timeout" weggelassen! Weil das mit der Variablenabfrage von timeout nicht so einfach ist, hatte ich meinen Vorschlag exportiert.

                      var timeout;
                      
                      
                      on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) {
                        var value = obj.state.val;
                        var oldValue = obj.oldState.val;
                        if ((obj.state ? obj.state.val : "") > 100) {
                          if (!timeout) {
                            timeout = setTimeout(async function () {
                              setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false);
                            }, 25000);
                          }
                        } else {
                          (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                        }
                      });
                      

                      Es fehlen Zeilen 8, 12. Andernfalls laufen mehrere Timer, von denen nur einer gestoppt werden kann.

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      S 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @paul53 sagte: Das sollte so funktionieren

                        Nein, das funktioniert so nicht, denn Du hast die Abfrage "falls nicht timeout" weggelassen! Weil das mit der Variablenabfrage von timeout nicht so einfach ist, hatte ich meinen Vorschlag exportiert.

                        var timeout;
                        
                        
                        on({id: 'homee.0.MeteringPlug-29.CurrentEnergyUse-275', change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if ((obj.state ? obj.state.val : "") > 100) {
                            if (!timeout) {
                              timeout = setTimeout(async function () {
                                setState("homee.0.MeteringPlug-29.OnOff-269"/*OG Kind 1 FIBARO Wall Plug Gen5 Wärmelampe.OnOff*/, false);
                              }, 25000);
                            }
                          } else {
                            (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                          }
                        });
                        

                        Es fehlen Zeilen 8, 12. Andernfalls laufen mehrere Timer, von denen nur einer gestoppt werden kann.

                        S Offline
                        S Offline
                        Steffgl
                        schrieb am zuletzt editiert von
                        #11

                        @paul53 Ahh, stimmt. Entschuldige bitte mein Anfängertum. Ich bin gerade am Lernen.

                        Wie bekomme ich das Timeout an die Nicht Verknüpfung?
                        Bildschirmfoto 2021-05-22 um 19.45.43.png

                        Danke schonmal

                        Gruß Stefan

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • S Steffgl

                          @paul53 Ahh, stimmt. Entschuldige bitte mein Anfängertum. Ich bin gerade am Lernen.

                          Wie bekomme ich das Timeout an die Nicht Verknüpfung?
                          Bildschirmfoto 2021-05-22 um 19.45.43.png

                          Danke schonmal

                          Gruß Stefan

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #12

                          @steffgl sagte: Wie bekomme ich das Timeout an die Nicht Verknüpfung?

                          Erstelle eine dummy-Variable und hänge diese an "nicht". Wechsle anschließend in die Javascript-Ansicht und wieder zurück. Dann selektiere anstelle der dummy-Variable die Variable timeout.

                          Bild_2021-05-22_195901.png

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          S 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @steffgl sagte: Wie bekomme ich das Timeout an die Nicht Verknüpfung?

                            Erstelle eine dummy-Variable und hänge diese an "nicht". Wechsle anschließend in die Javascript-Ansicht und wieder zurück. Dann selektiere anstelle der dummy-Variable die Variable timeout.

                            Bild_2021-05-22_195901.png

                            S Offline
                            S Offline
                            Steffgl
                            schrieb am zuletzt editiert von
                            #13

                            @paul53 Danke. Hat super geklappt. Läuft nun alles, so wie ich das möchte.

                            Was ich aber nicht ganz verstehe ist, wenn der Trigger erneut abläuft und der Wert ist unter Hundert, warum wird der Timeout nicht durch den Sonst Befehl unterbrochen? Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • S Steffgl

                              @paul53 Danke. Hat super geklappt. Läuft nun alles, so wie ich das möchte.

                              Was ich aber nicht ganz verstehe ist, wenn der Trigger erneut abläuft und der Wert ist unter Hundert, warum wird der Timeout nicht durch den Sonst Befehl unterbrochen? Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #14

                              @steffgl sagte: Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?

                              Bei jeder Leistungsänderung oberhalb von 100 W würde ohne die Sperre ein weiterer Timer mit der gleichen Timervariablen timeout gestartet. "stop timeout" beendet aber nur einen Timer (ob den letzten oder den ersten, weiß ich nicht), d.h. die anderen Timer laufen weiter.

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              S 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @steffgl sagte: Warum läuft ein zweiter Timer im Hintergrund an, die von der zweiten Sonst Abfrage blockiert werden muss?

                                Bei jeder Leistungsänderung oberhalb von 100 W würde ohne die Sperre ein weiterer Timer mit der gleichen Timervariablen timeout gestartet. "stop timeout" beendet aber nur einen Timer (ob den letzten oder den ersten, weiß ich nicht), d.h. die anderen Timer laufen weiter.

                                S Offline
                                S Offline
                                Steffgl
                                schrieb am zuletzt editiert von
                                #15

                                @paul53 Ahhh. Super. Vielen Dank

                                1 Antwort Letzte Antwort
                                0

                                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                Registrieren Anmelden
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                419

                                Online

                                32.8k

                                Benutzer

                                82.8k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe