Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Steckdose automatisch nach Leistung über Zeit ausschalten

    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

    Steckdose automatisch nach Leistung über Zeit ausschalten

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

      Moin ihr Lieben,

      ich bin ja noch am Anfang meiner Lern- und Experimentierphase mit ioBroker und hoffe auch hier auf Hilfe von euch.

      Ich möchte mittels smarter Steckdose einen Kompressors überwachen, der ständig an ein Druckluftnetz angeschlossen und betriebsbereit ist. Wenn die aktuelle Leistung länger als 10 Minuten über 500 Watt liegt, soll die Steckdose ausschalten (Schutz bei Undichtigkeit, verhindert Dauerlauf des Kompressors).

      Ich habe mir von dem freundlichen räusper ChatGPT ein Script schreiben lassen, welches mir die Einschaltdauer unter Last überwacht und nach 10 Minuten abschaltet. Zusätzlich ist noch einen Timer drin, der die Betriebszeit zwischen 8 Uhr und 21 Uhr festlegt.

      // Setzen Sie die ID Ihrer smarten Steckdose
      var socketId = 'fritzdect.0.DECT_116570465943';
      
      // Setzen Sie die Mindestleistung und die Zeitschwelle
      var minPower = 500; // Mindestleistung in Watt
      var timeThreshold = 600; // Zeitdauer in Sekunden
      
      // Variable zur Verfolgung der aktuellen Leistung
      var currentPower = 0;
      
      // Variable zur Verfolgung der Zeitdauer
      var timer = null;
      
      // Variable zur Verfolgung des Schaltzustands der Steckdose
      var socketState = false;
      
      // Funktion zum Überprüfen der Leistung und Aktualisierung des Zustands der Steckdose
      function checkPower() {
        if (currentPower >= minPower) {
          // Die Leistung ist mindestens minPower
          if (timer === null && socketState) {
            // Starten Sie den Timer, wenn er noch nicht läuft und die Steckdose eingeschaltet ist
            timer = setTimeout(function() {
              if (currentPower >= minPower) {
                // Die Leistung ist immer noch über dem Schwellenwert, Steckdose ausschalten
                setState(socketId + '.state', false);
                socketState = false;
              }
              timer = null; // Setzen Sie den Timer zurück
            }, timeThreshold * 1000); // timeThreshold in Millisekunden umwandeln
          }
        } else {
          // Die Leistung ist unter minPower
          if (timer !== null) {
            // Stoppen Sie den Timer, wenn er läuft
            clearTimeout(timer);
            timer = null; // Setzen Sie den Timer zurück
          }
          if (socketState) {
            // Schalten Sie die Steckdose aus, wenn sie eingeschaltet ist
            setState(socketId + '.state', false);
            socketState = false;
          }
        }
      }
      
      // Ereignisbehandlung für die Änderung der Leistung
      on({ id: socketId + '.power', change: 'ne' }, function(obj) {
        currentPower = obj.state.val; // Aktualisieren Sie die Leistung
        checkPower(); // Überprüfen Sie die Leistung und aktualisieren Sie den Zustand der Steckdose
      });
      
      // Funktion zum Überprüfen der Uhrzeit und Aktualisierung des Zustands der Steckdose
      function checkTime() {
        var currentTime = new Date();
        var hours = currentTime.getHours();
        
        if (hours >= 8 && hours < 21) {
          if (!socketState) {
            // Schalten Sie die Steckdose ein, wenn sie ausgeschaltet ist
            setState(socketId + '.state', true);
            socketState = true;
          }
        } else {
          if (socketState) {
            // Schalten Sie die Steckdose aus, wenn sie eingeschaltet ist
            setState(socketId + '.state', false);
            socketState = false;
          }
        }
      }
      
      // Ereignisbehandlung für die Änderung der Uhrzeit
      on('javascript.0.time', function(obj) {
        checkTime(); // Überprüfen Sie die Uhrzeit und aktualisieren Sie den Zustand der Steckdose
      });
      
      // Initialer Aufruf zur Überprüfung der Uhrzeit und des
      
      

      Da ich hier nur sehr oberflächlich nachvollziehen kann, wie das JavaScript arbeitet und erst recht keine größeren Änderungen durchführen kann, würde ich es gerne in Blockly nachbauen.

      Was mir dabei fehlt ist ein Baustein/Block/Routine, die einen Timer bei Strombezug (aka "Leistung") startet und nach Erreichen der 10 Minuten die Steckdose ausschaltet.

      Bisher habe ich es nur hinbekommen, die Steckdose ausschalten zu lassen, nachdem (für eine beliebige Zeit) die Leistung über 500 Watt lag:

      4cdc3cde-081b-490b-8397-aff3387d0dc1-image.png

      schedule("0 8 * * *", async function () {
        setState("fritzdect.0.DECT_116570465943.state"/*Switch Status and Control*/, true);
        on({id: "fritzdect.0.DECT_116570465943.power"/*actual Power*/, change: "ne"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          if (getState("fritzdect.0.DECT_116570465943.power").val >= 500) {
            getState("fritzdect.0.DECT_116570465943.state", function (err, state) {
                setStateDelayed("fritzdect.0.DECT_116570465943.state"/*Switch Status and Control*/, state ? !state.val : true, 600000, false);
            });
          }
        });
      });
      schedule("0 21 * * *", async function () {
        setState("fritzdect.0.DECT_116570465943.state"/*Switch Status and Control*/, false);
      });
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzY2hlZHVsZSUyMiUyMGlkJTNEJTIyTkVCS1clMkJiQyUzQk82c2klM0ExNnglMkNTdCUyMiUyMHglM0QlMjI4OCUyMiUyMHklM0QlMjItNDYzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UwJTIwOCUyMColMjAqJTIwKiUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMilKRUFzNmNiOHIpJTNGJTJDYU8lMkZ2UkZNJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZnJpdHpkZWN0LjAuREVDVF8xMTY1NzA0NjU5NDMuc3RhdGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlMjV2bn4lMjRIaCUyQ2Q1JTYwMzFrJTVFclolMjNRRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjJGZ0klN0JuZWxJJTVELSUyM29mYUZ0JTQwKiUyMyUyNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWZyaXR6ZGVjdC4wLkRFQ1RfMTE2NTcwNDY1OTQzLnBvd2VyJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJWJTYwR3NzRkM3fm83JTNBZmNvMilwMGclMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJRJTVEJTdCJTNGJTVCLUQlMkYlM0ZjRS0yMF90QyUyM2UlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUdURSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyKiUyNEhRQXUlMjNUOHUlNUVQM09CLVViWm4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0Vmcml0emRlY3QuMC5ERUNUXzExNjU3MDQ2NTk0My5wb3dlciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMmhPakpKJTJCVlghJTYwJTdEaXpMJTdCdzZsJTNCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNTAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0b2dnbGUlMjIlMjBpZCUzRCUyMmJCcUslNjBteUYyflU3JTJCJTQwaVVoJTdEcyUyMyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZnJpdHpkZWN0LjAuREVDVF8xMTY1NzA0NjU5NDMuc3RhdGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTEwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbWluJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzY2hlZHVsZSUyMiUyMGlkJTNEJTIyY21jcjMyJTVCZkQ3JTJDTC4lMkN+JTVCJTdENTVXJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UwJTIwMjElMjAqJTIwKiUyMColM0MlMkZmaWVsZCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlNUQlM0FFJTVFQm4lMkMobCUyNSUzRHAheDktUXRQWSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWZyaXR6ZGVjdC4wLkRFQ1RfMTE2NTcwNDY1OTQzLnN0YXRlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyTXBxY3k4cSU3QyUyNSU0MCU3Q3F1RV8wVCUzRCU2MDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
      

      Könnt ihr mir eine Möglichkeit aufzeigen, wie ich in Blockly einen Baustein erstelle, der mir erst nach 10 Minuten Leistungsbezug von 500 Watt etwas schaltet?

      Viele Grüße
      Markus

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

        @markus-7 sagte: in Blockly einen Baustein erstelle, der mir erst nach 10 Minuten Leistungsbezug von 500 Watt etwas schaltet?

        Blockly_Bild.JPG

        @markus-7 sagte in Steckdose automatisch nach Leistung über Zeit ausschalten:

        Zusätzlich ist noch einen Timer drin, der die Betriebszeit zwischen 8 Uhr und 21 Uhr festlegt.

        Was hat das mit der Aufgabenstellung zu tun, abzuschalten, wenn die Leistung 10 Minuten lang mind. 500 W beträgt?
        Soll um 8:00 Uhr ein- und um 21:00 ausgeschaltet werden?

        Blockly_temp.JPG

        M blue231181 2 Replies Last reply Reply Quote 2
        • M
          Markus 7 @paul53 last edited by

          @paul53 Super, das funktioniert auf Anhieb, vielen Dank!

          Ich war nur kurz irritiert, dass ich zuerst im Modul "stop ..." nicht "delayOff" eintragen konnte, sondern erst, nachdem ich im Modul "Ausführen" den Namen "delayOff" eingetragen hatte. Wieder ein bisschen weniger dumm 😉

          Und sorry für die Verwirrung mit dem zusätzlichen Block "Einschalten um 8 Uhr...", der soll den Kompressor generell nur tagsüber in Betrieb halten, hat natürlich nichts mit meiner direkten Frage zu tun gehabt.

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

            @paul53 Vielen Dank, genau so etwas habe ich gesucht. Allerdings möchte ich hier nur eine Benachrichtigung wenn der Gefrierschrank länger als 30 Min mehr Strom benötigt (Türe offen)
            Werde es also umschreiben 🙂

            M J 2 Replies Last reply Reply Quote 0
            • M
              Markus 7 @blue231181 last edited by

              @blue231181

              Oh, das mit der "Kühlkettenüberwachung" ist auch eine gute Idee - wärst du so nett hier mal das umgebaute Script zu posten?

              1 Reply Last reply Reply Quote 0
              • J
                jensven @blue231181 last edited by

                @blue231181
                Wäre da ein Fenster Sensor nicht leichter
                Wenn offen länger als 10 min. dann ....

                M 1 Reply Last reply Reply Quote 0
                • M
                  Markus 7 @jensven last edited by

                  @jensven Fensterkontakte geben aber keinen Alarm, wenn das Kühlaggregat ausfällt/kaputt ist oder der Strom weg ist oder oder 😉

                  blue231181 1 Reply Last reply Reply Quote 0
                  • blue231181
                    blue231181 @Markus 7 last edited by

                    @markus-7 leider gerade erst gelesen. Ich stell es morgen ein. Bin heut nur Mobil unterwegs 🙂

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      Markus 7 @blue231181 last edited by

                      @blue231181 Alles gut, eilt nicht, mach dir keinen Stress 🙂

                      blue231181 1 Reply Last reply Reply Quote 0
                      • blue231181
                        blue231181 @Markus 7 last edited by

                        @markus-7 Stress macht man sich nur selbst 😄

                        <xml xmlns="https://developers.google.com/blockly/xml">
                          <variables>
                            <variable type="timeout" id="delayOff">delayOff</variable>
                          </variables>
                          <block type="on_ext" id="l6Y+yRT9f-[Nv_|+H2xi" x="37" y="62">
                            <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="|Y}vMR/xcIv*=f;G6PTu">
                                <field name="oid">sonoff.0.Gefrierschrank.SENSOR.ENERGY.Power</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="t{v1_2-,6d0B_ArjF6E#">
                                <mutation elseif="1"></mutation>
                                <value name="IF0">
                                  <block type="logic_compare" id="U?Ya7?N!:U;gnB5/yAm7">
                                    <field name="OP">LT</field>
                                    <value name="A">
                                      <block type="on_source" id="|[L`?RiVia.d4JqIRzCv">
                                        <field name="ATTR">state.val</field>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="math_number" id="WObSQr:]5Hlzh,EQvRQt">
                                        <field name="NUM">100</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="timeouts_cleartimeout" id="2NmL7%mqVOX(;H_.~3X;">
                                    <field name="NAME">delayOff</field>
                                  </block>
                                </statement>
                                <value name="IF1">
                                  <block type="logic_negate" id="%Ewk`u*e^U]X{+ktU5]T">
                                    <value name="BOOL">
                                      <block type="timeouts_gettimeout" id="[ug{/6u?Xw9V#q,6o006">
                                        <field name="NAME">delayOff</field>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO1">
                                  <block type="timeouts_settimeout" id="q#dmj=6?4s(VM@F6/kQV">
                                    <field name="NAME">delayOff</field>
                                    <field name="DELAY">20</field>
                                    <field name="UNIT">min</field>
                                    <statement name="STATEMENT">
                                      <block type="control" id="4}X~G4Wm]S0ND48R|O?I">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                        <field name="OID">alexa2.1.Echo-Devices.G0913L061032041X.Commands.speak</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE">
                                          <block type="text" id="Zn=8G#8ojVeqBDTy-G]x">
                                            <field name="TEXT">50; Achtung, Gefrierschrank Türe seit 20 Min offen</field>
                                          </block>
                                        </value>
                                        <next>
                                          <block type="telegram" id="^:xnwlaEAMj2w93!;#}t">
                                            <field name="INSTANCE">.0</field>
                                            <field name="LOG"></field>
                                            <field name="SILENT">FALSE</field>
                                            <field name="PARSEMODE">default</field>
                                            <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                            <value name="MESSAGE">
                                              <shadow type="text" id="5m?LxTjLKtRV#zozMZpc">
                                                <field name="TEXT">Achtung, Gefrierschrank Türe seit 20 Min offen</field>
                                              </shadow>
                                            </value>
                                            <next>
                                              <block type="debug" id="(Bdc|Sp9cYkg]$gpb*95">
                                                <field name="Severity">log</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id="efzCHt[p}@K1r*YP8Gfv">
                                                    <field name="TEXT">!!! Achtung, Gefrierschrank Türe seit 20 Min offen !!!</field>
                                                  </shadow>
                                                </value>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </xml>
                        

                        Wird nicht perfekt sein, aber ich hoffe es dient als Inspiration
                        VG

                        M 2 Replies Last reply Reply Quote 1
                        • M
                          Markus 7 @blue231181 last edited by

                          @blue231181 Top, vielen Dank dafür 👍

                          1 Reply Last reply Reply Quote 0
                          • M
                            Markus 7 @blue231181 last edited by

                            @blue231181

                            Hallo blue, noch eine Frage dazu: Es macht für mich Sinn, nicht nur die Einschaltdauer zu überwachen, sondern natürlich auch die Ausschaltdauer. Stichwort "Kompressor/Thermostat/Relais etc. kaputt".

                            Ich habe jetzt einfach das Script nochmal an das erste dran gehängt (mit der Kennung "delayOff2", dabei auf eine Stromleistung von > 80 Watt gesetzt und einen Zeitraum von 180 Minuten gewählt. So wie ich das verstehe, stoppt das Script dann bei einer Leistung von > 80 W den Timer von 180 Minuten. Ansonsten wird nach Ablauf der 180 Minuten die Meldung ausgegeben. Ist das so richtig verstanden?

                            d3a7b949-45f7-48df-b29d-e7c8a4df05b5-image.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                                <variable type="timeout" id="delayOff1">delayOff1</variable>
                                <variable type="timeout" id="delayOff2">delayOff2</variable>
                              </variables>
                              <block type="comment" id="[Hv*O=!faOmBf2Ci%:kP" x="-737" y="-412">
                                <field name="COMMENT">Überwachung Einschaltdauer &gt; 30 Minuten</field>
                                <next>
                                  <block type="on_ext" id="Oc2:Q5]eLm-ybrGto-Dx">
                                    <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="+p_^YsIxG%f)-bpU([BT">
                                        <field name="oid">meross.0.2212090944763551080548e1e9b25fcf.0-power</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="controls_if" id="8_.:8_gzZyoGq.ghQI.s">
                                        <mutation elseif="1"></mutation>
                                        <value name="IF0">
                                          <block type="logic_compare" id=")8@fp!MNrh=@i6pC{GE7">
                                            <field name="OP">LT</field>
                                            <value name="A">
                                              <block type="on_source" id="(kv4W:gPqymiO8irIS3o">
                                                <field name="ATTR">state.val</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="h(XOV)PP::p4D}u43AtN">
                                                <field name="NUM">110</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="timeouts_cleartimeout" id="Tt:JhueVxEym}bolpVNF">
                                            <field name="NAME">delayOff1</field>
                                          </block>
                                        </statement>
                                        <value name="IF1">
                                          <block type="logic_negate" id="%:cPRhQ|ot#(`Mk_c,u3">
                                            <value name="BOOL">
                                              <block type="timeouts_gettimeout" id="lThK6cS`i_U3QNCW0AGr">
                                                <field name="NAME">delayOff1</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <statement name="DO1">
                                          <block type="timeouts_settimeout" id="=)*~`Ro.-.qye(3hZJp]">
                                            <field name="NAME">delayOff1</field>
                                            <field name="DELAY">30</field>
                                            <field name="UNIT">min</field>
                                            <statement name="STATEMENT">
                                              <block type="control" id="TKkI1wGaGb-Ps4qrFxBy">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">alexa2.0.Echo-Devices.G091EU1521830C5K.Commands.speak</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="v0Ev1rM{g37t/6-t#*_*">
                                                    <field name="TEXT">50; Achtung, Gefrierschrank ist übermäßig lange an.</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="debug" id="T4T6/|seJ:QMfo@/T%iu">
                                                    <field name="Severity">log</field>
                                                    <value name="TEXT">
                                                      <shadow type="text" id="_9Gip}bO{2Vfx;#.kis4">
                                                        <field name="TEXT">Achtung, Gefrierschrank ist übermäßig lange an..</field>
                                                      </shadow>
                                                    </value>
                                                  </block>
                                                </next>
                                              </block>
                                            </statement>
                                          </block>
                                        </statement>
                                        <next>
                                          <block type="comment" id="sHT7!/}=])^Yhb0n9G^g">
                                            <field name="COMMENT">Überwachung Ausschaltdauer &gt; 180 Minuten</field>
                                            <next>
                                              <block type="controls_if" id=";u7V|7HLjM6%Q|e,_RR)">
                                                <mutation elseif="1"></mutation>
                                                <value name="IF0">
                                                  <block type="logic_compare" id="XAyG}*fPR/Ub8AU.Zri[">
                                                    <field name="OP">GT</field>
                                                    <value name="A">
                                                      <block type="on_source" id="*5TiL,3rZ,0wK0XB#C%z">
                                                        <field name="ATTR">state.val</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="math_number" id="c4?u(*0/?3SQV}SJ_;b3">
                                                        <field name="NUM">80</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO0">
                                                  <block type="timeouts_cleartimeout" id="#3CF`gG{mM_z8jj-e/N)">
                                                    <field name="NAME">delayOff2</field>
                                                  </block>
                                                </statement>
                                                <value name="IF1">
                                                  <block type="logic_negate" id="yzFCO}ux(kW*7)(^7H0R">
                                                    <value name="BOOL">
                                                      <block type="timeouts_gettimeout" id="JZuP_!JV@v1Kq4K0gv]j">
                                                        <field name="NAME">delayOff2</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <statement name="DO1">
                                                  <block type="timeouts_settimeout" id="bI95O,DuBUpMW4gma)nx">
                                                    <field name="NAME">delayOff2</field>
                                                    <field name="DELAY">180</field>
                                                    <field name="UNIT">min</field>
                                                    <statement name="STATEMENT">
                                                      <block type="control" id="#wIy6pH7rCv{.PFs00XT">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">alexa2.0.Echo-Devices.G091EU1521830C5K.Commands.speak</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="text" id="D)c3;]R5|f,i/!Q(H_u-">
                                                            <field name="TEXT">50; Achtung, Gefrierschrank ist übermäßig lange ausgeschaltet.</field>
                                                          </block>
                                                        </value>
                                                        <next>
                                                          <block type="debug" id="@6HEB}Pv]K|,$-s_kjN6">
                                                            <field name="Severity">log</field>
                                                            <value name="TEXT">
                                                              <shadow type="text" id="C:DGaA~2.?*T3`ru!dbH">
                                                                <field name="TEXT">Achtung, Gefrierschrank ist übermäßig lange ausgeschaltet.</field>
                                                              </shadow>
                                                            </value>
                                                          </block>
                                                        </next>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </statement>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </xml>
                            
                            blue231181 paul53 2 Replies Last reply Reply Quote 0
                            • blue231181
                              blue231181 @Markus 7 last edited by

                              @markus-7 leider bin ich auch nicht so erfolgreich im Skripten. Eventuell kann uns jemand von den Profis hier weiter helfen...?

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

                                @markus-7 sagte: stoppt das Script dann bei einer Leistung von > 80 W den Timer von 180 Minuten. Ansonsten wird nach Ablauf der 180 Minuten die Meldung ausgegeben. Ist das so richtig verstanden?

                                Richtig.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                642
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                844
                                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