Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Überschussnutzung Klimaanlage zum Heizen - Timeouts

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Überschussnutzung Klimaanlage zum Heizen - Timeouts

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

      Hi,

      ich möchte die Klimaanlage zum zuheizen benutzen, wenn die PV mehr als 2000 W Überschuss "relativ konstant" anliegen. Dafür habe ich eine Liste genommen, die die Leistung meiner Photovolaik über 60 "Ereignisse" (ca. 60 Sekunden) glättet. Das funktioniert eigentlich schön.

      3e90f1cc-87f5-4404-9376-2d9b8e92cb37-grafik.png

      Ergebnis:

      215debc5-075a-4415-889c-e7df0094c9b6-grafik.png

      Damit will ich dann die Klimannalge heizen lassen. Zunächst "Einstufig", sprich ein Gerät von 3 Stück. (Gerne würde ich das später auf mindestens 2 Geräte bzw. zwei Stufen erweitern. Dabei könnte auch der Energiezähler der Klimaanlage selbst ins Spiel gebracht werden. Das 3. Innengerät ist im Schlafzimmer, da wird nicht geheizt.)

      3ae72e3d-5cac-4aca-8505-5234e46b5d45-grafik.png

      Jetzt ist eine Klimaanlage zu heizen recht träge und sollte nicht dauernd ein uns ausgeschalten werden.
      Ich begteife aber trotz Internetrecherche und Youtoube Videos nicht, wich die die Timeouts da sinnvoll einsetze, dass die Anlage - wenn sie an ist - z.B. nur alle 10 minuten checkt, ob sie sich ausschalten sollte?

      Könnte ihr mir evtl. einen Tip geben?

      Prinzipiell funktioniert das Script so schon, ist aber nicht perfekt.

      Danke euch!
      ika

      L BananaJoe Asgothian paul53 4 Replies Last reply Reply Quote 0
      • L
        Linedancer @ika last edited by

        @ika
        Hart ausschalten ist sicher nicht gut für die Klimaanlage. Wie wäre es denn, wenn du statt dessen die Solltemperatur rauf oder runter setzt?
        Dann fährt sie runter und reduziert die Leistungsaufnahme, geht aber nicht aus.

        Ansonsten, deine Mittelwertbildung gefällt mir, werde ich mal probehalber übernehmen-

        I 1 Reply Last reply Reply Quote 0
        • BananaJoe
          BananaJoe Most Active @ika last edited by BananaJoe

          @ika die Idee von @Linedancer ist nicht schlecht. Da musst du nur sicherstellen das deine Klimaanlage auf "Heizen" steht, nicht auf "Auto" oder "Kühlen". Dann würde die z.B. bei eingestellten 18 Grad nichts machen.

          Meine Lösung ist das ich nur alle 15 Minuten prüfe ob ich die Klimaanlage ein- oder ausschalte. Auch um zu verhindern das diese zu oft ein- oder ausgeschaltet wird. Also fester Zeitplan der alles prüft und dann entscheidet.

          Da ich für jeden Stromkreis den Verbrauch separat messe, kann ich genau sehen wieviel was verbraucht. Meine Logik für das Einschalten ist aber nur wieviel Überschuss vorhanden ist (mehr als -1.500W (Minus!)) den ich vom Stromzähler bekomme, die Logik für das Ausschalten ist wenn der Verbrauch am Stromzähler mehr als 150W ist. Also nicht hart bei 0.

          Die Idee den Verbrauch der letzten 60 Ergebnisse bzw. Zeitraum ist gut, allerdings verstehe ich nicht wie das in deinem Skript funktionieren soll. Die Liste müsstest du bei jeder Änderung neu erstellen, und stehen da wirklich 60 verschiedenen Werte drin? Und wenn ja, wird der Wert im Datenpunkt wirklich 1x pro Sekunde aktualisiert?

          Für Waschmaschine, Trockner und Co. habe ich eine Aufzeichnung im SQL-Adapter aktiviert. Die Werte werden alle 15 bis 60 Sekunden aktualisiert (Tasmota Zwischenstecker, kann man einstellen).
          Per Blockly hole ich mir dann z.B. den Durchschnittswert der letzten 10 Minuten vom SQL-Adapter:
          553a845f-46d1-4200-b8fd-e33bf9b20e73-image.png

          eff38706-aa2c-4177-9178-d96a8d75a5a0-image.png

          Die Prüfung auf " " musste ich - wie ich aus der Erinnerung meine - machen falls es keine Werte für den Zeitraum gibt, ansonsten würde reichen das es mindestens einen Wert in dem Zeitraum gibt.

          MartinP 1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @BananaJoe last edited by

            @bananajoe sagte in Überschussnutzung Klimaanlage zum Heizen - Timeouts:

            Die Liste müsstest du bei jeder Änderung neu erstellen, und stehen da wirklich 60

            Nein, er entfernt das älteste Element und fügt ein neues an.
            Dadurch hat er immer 60 Elemente

            BananaJoe 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @ika last edited by Asgothian

              @ika sagte in Überschussnutzung Klimaanlage zum Heizen - Timeouts:

              Jetzt ist eine Klimaanlage zu heizen recht träge und sollte nicht dauernd ein uns ausgeschalten werden.
              Ich begteife aber trotz Internetrecherche und Youtoube Videos nicht, wich die die Timeouts da sinnvoll einsetze, dass die Anlage - wenn sie an ist - z.B. nur alle 10 minuten checkt, ob sie sich ausschalten sollte?

              Ich denke an dieser Stelle liegt ein Denkfehler vor. Du willst nicht alle 10 Minuten nachschauen ob ein/auszuschalten ist, sondern du willst sicherstellen das seit dem letzten Schaltvorgang mindestens 10 Minuten vergangen sind. Das ist nicht das gleiche.

              Ich würde das so lösen (ok.. beim zusammensetzen hab ich 15 Minuten Wartezeit geplant, nicht 10:

              Screenshot 2024-10-08 at 11.04.53.png
              Wie funktioniert das ganze:

              • in einer Variable wird gespeichert ob geheizt werden darf oder nicht (Genug Überschuss da).

              • das schalten der Heizung wird über eine Änderung der Temperatur erreicht. Die doppelte Abfrage sogt dafür das immer nur der Übergang von <26 auf >= 26 und umgekehrt einen Event auslöst

              • Sollte die Freigabe der Heizung wegfallen kann das auch einen Event auslösen.

              • Der Schaltzeitpunkt wird berechnet. Dazu wird geschaut wie lange es her ist das die Heizung umgeschaltet wurde. (Die Zahl ist dabei in ms). Sind das weniger als 15 Minuten (oder 15601000 ms) dann wird der timeout in 1 ms ausgeführt, ansonsten in der entsprechenden Differenzzeit.

              Wirklich geschaltet wird aber nur wenn der Soll- und der Ist-Wert sich unterscheiden.

              A.

              I 1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @MartinP last edited by

                @martinp sagte in Überschussnutzung Klimaanlage zum Heizen - Timeouts:

                @bananajoe sagte in Überschussnutzung Klimaanlage zum Heizen - Timeouts:

                Die Liste müsstest du bei jeder Änderung neu erstellen, und stehen da wirklich 60

                Nein, er entfernt das älteste Element und fügt ein neues an.
                Dadurch hat er immer 60 Elemente

                ah, stimmt, nicht weit genug geschaut.

                1 Reply Last reply Reply Quote 0
                • I
                  ika @Asgothian last edited by

                  Danke euch bis hier her.
                  Ich brauche - hoffentlich die kommenden Tage - etwas Zeit das anzuchauen und zu analysieren.

                  Nur so viel vorab:

                  1. Ich schalte nicht Hart. Power ist hier der MelCloud Adapter der Klimaanlage. Dort kann ich auch Termperaturen etc. einstellen (will ich auch später hinzufügen) und das Gerät "sanft" ein und ausschalten. Messen kann ich die Leistung dann in einem zweiten Schritt tatsächlich mit einem Shelly. Die Anpassung der Solltemperatur ist ein top tip, schaue ich mir gerne mal an, wie die Anlage dann reagiert. (Im Sommer will ich damit dann auch kühlen können.)

                  2. Die Idee für die Glättung habe ich auch irgendwo hier im Forum gefunden und adaptiert. Ich lese dabei per IR-Reader meinen Smarten Stromzähle raus und der aktualisiert eher häufiger als 1x pro Sekunde. Experimentiere gerade etwas mit der Anzahl der Einträge in der Liste.

                  C 1 Reply Last reply Reply Quote 0
                  • C
                    Chrunchy @ika last edited by

                    @ika Ich habe etwas ähnliches am Laufen, allerdings nicht mit Blockly.

                    Ich trigger tatsächlich auch nach Zeit und schreibe alle 10 Minuten den aktuellen Überschuss rotierend in 3 Datenpunkte. (X:09 und X:39 Uhr schreiben Datenpunkt 1, X:19 und X:49 Uhr schreiben Datenpunkt 2 und X:29 und X:59 Uhr schreiben Datenpunkt 3). Aus den 3 Datenpunkten bilde ich den Mittelwert.
                    Ich betrachte also die letzte halbe Stunde.

                    Um X:00 Uhr und alle 10 Minuten danach wird dann für jedes der 3 Innengeräte ein Datenpunkt zum Einschalten (true/false) gesetzt.
                    Die Prüfung beinhaltet neben dem Überschuss noch pro Raum...

                    • Fensterstatus
                    • Innentemperatur
                    • Außentemperatur

                    Wenn alles passt, wird 1 Innengerät eingeschaltet. Ist im nächsten Durchlauf immer noch alles passend, wird das zweite Gerät eingeschaltet...

                    Abgeschaltet werden sie erst wenn der Überschuss im Mittel bei 50W liegt. Dann auch wieder ein Gerät nach dem anderen.

                    Wichtig ist zu beachten, dass sobald eine Anlage läuft, der Überschussbetrag anders bewertet werden muss.

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

                      @ika sagte: Timeouts da sinnvoll einsetze, dass die Anlage - wenn sie an ist - z.B. nur alle 10 minuten checkt, ob sie sich ausschalten sollte?

                      Beispiel mit 2 Stufen, wobei zusammen mit Stufe 1 (Gerät 1) der Kompressor der Außeneinheit zuschaltet.

                      Blockly_temp.JPG

                      I 3 Replies Last reply Reply Quote 0
                      • I
                        ika @paul53 last edited by ika

                        Hi, ich bin noch nicht dazu gekommen das ganz umzubauen, auch wenn ich eure Scripte - zumindest größtenteils - verstehe.

                        Daher will ich es morgen mal so versuchen:

                        0427e286-c3c7-4511-bd7d-12403f151f99-grafik.png

                        Und vielleicht noch zwei Fragen die für euch vielleich klar sind:

                        • das Stop Block beim Timeout im "schalte ein" Block bewirkt, dass der Timer der Ausführungsverzögerung zurückgesetzt wird oder?
                        • Was macht der "Verzögerung" Block?
                        paul53 I 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @ika last edited by

                          @ika sagte: das Stop Block beim Timeout im "schalte ein" Block bewirkt, dass der Timer der Ausführungsverzögerung zurückgesetzt wird oder?

                          Ja, der Timer wird gestoppt und die Variable delay wird auf null zurück gesetzt.

                          @ika sagte in Überschussnutzung Klimaanlage zum Heizen - Timeouts:

                          Was macht der "Verzögerung" Block?

                          "nicht Verzögerung delay" verhindert, dass mehrere Timer gleichzeitig laufen, die sich dann nicht mehr stoppen lassen.

                          1 Reply Last reply Reply Quote 0
                          • I
                            ika @ika last edited by

                            @ika
                            hmm, so geht es nicht, da schaltet er dauerhaft ein und aus im Sekundentakt....
                            muss mir das nochmal anschauen

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

                              @paul53

                              ok, ich habe zwischenzeitlich etwas experimentiert. Mit meiner Lösung klappt einstufig eigentlich seht gut. Aber aus irgend einem für mich nicht nachvollziehbaren Grund, klappt das nur einmal zuverlässig. Wenn die Anlage dann einmal abschaltet, schaltet sie mehrmals pro Sekunde ein uns aus. Woran liegt das?

                              311a70da-7848-41aa-b7dd-287e8184ce6d-grafik.png

                              und so sieht die Grafik dazu aus bzw. die Leisutngsaufnahme und Schaltzeitpunkte der Klimaanlage:

                              4f1d1bcb-8a08-4b93-911b-eaac3dfefdd8-grafik.png
                              Bis auf den Fall um 14 Uhr schaut ist das genau was ich möchte. Vielleicht muss ich irgendwann noch einplanen, dass die Anlage am Anfang zum hochheizen (bzw. runterkühlen im Sommmer) eine Zeit lang mehr Energie benötigt.

                              Ich habe aber jetzt mal das Script nachgebaut, das ich am ehesten glaube zu verstehen und werde es die kommenden Tage (wenn sich die Sonne mal wieder blicken lässt) testen. Was aber machen der Teil "Falls <Wert> von Objekt ID <Power> ohne eine Logik?

                              102a1d82-c062-4991-a7c4-57d5847cb141-grafik.png

                              Spielereien wie weitere Abfragen zur Umwelt werde ich einbauen, wenn es so funktioniert, wie ich mir das vorstelle.

                              Ich danke euch!

                              1 Reply Last reply Reply Quote 0
                              • I
                                ika @Linedancer last edited by

                                @linedancer Das ist nicht die Stromzufuhr, sondern die Steuerung der Geräte über Wlan. ALso analog dem Ein- oder Ausschalten über die Fernbedienung

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

                                  @paul53

                                  Hi, ich habe das Script nun an einem sonnigen Tag testen können und es funktioniert eigentlich sehr gut.

                                  Womit ich nicht gerechnet habe ist, dass zwei Geräte (auch wenn das 1. 5KW hat und das 2. mit 1,5 KW deutlich weniger Leistung) die Eingangsleistung (peak ~3800 W, Dauerbetrieb muss ich noch testen) massiv nach oben genschnell ist. Das führte dann zu einer Art Taktung. Im Sommer zum kühlen eingetlich kein Problem. Im Herbst/Winter/Frühling zum Heizen offensichtlich schon.

                                  3dcfd88c-fbab-4876-bbb9-6147a5dc7594-grafik.png

                                  Einstufig hatte die Anlage deutlich weniger verbraucht (peak ~1300 W und Dauerbetrieb dann rund 800 W) und konnte konstant laufen:

                                  b787dec3-7492-4d17-9f49-149621648754-grafik.png

                                  Jetzt würde ich gerne mehrere Anpassungen machen:

                                  1. Bis der erste peak überschritten ist dauert es ca. 45 min - erst dann sollte Stude 2 hinzukommen (sprich seperate EInstellung für den delay.)
                                  2. Ich versorgen verschiedene Zimmer, ich würde gerne für jedes einen Temperaturgrenze einstellen können (Alternativ über die Anpassung der Wunschraumtemperatur)
                                  3. Ich hätte (für den Sommer) gerne die Möglichkeit eine 3. und 4. Stufe hinzuzufügen. Für das 3. Gerät im "Schlafzimmer" (nur im Sommer relevant da gekühlt aber nicht geheizt) und später evtl. die Wallbox bzw. eine Heizung im "Spielezimmer"

                                  Cool wäre, wenn ich durch Schlater in folgender Art festlegen könnte, welche Überschussnutzung aktiv sein soll:
                                  afc1ace4-f5d9-4c15-bcea-e4f3e4ba307b-grafik.png hier: Bezug Gesamtanlage; Überschuss Script aktiv/inaktiv; Wohnen an/aus; Schlafen an/aus; Büro an/aus

                                  Das Problem, welche ich habe ist, dass ich folgende zwei Blöcke nicht verstehe. Gerne lese ich mir das auch an, wenn mir jemand einen TIp hat wonach ich suchen muss:
                                  1bd5ad0f-71f6-44f5-9b15-45d9d03893bc-grafik.png
                                  e4a744bc-759c-4e83-8726-262caf8a3589-grafik.png

                                  Hier nochmal das aktuelle Script grafisch und als code:
                                  76be460b-0110-4313-b851-30c63fe24a9b-grafik.png

                                  <xml xmlns="https://developers.google.com/blockly/xml">
                                    <variables>
                                      <variable id="4Gn:;E{l/[q@N.n`#%N-">ueberschuss</variable>
                                      <variable id="{umJ-nLA;h3b;5lV|xVw">temperatur</variable>
                                      <variable id="F3DfKKl}(f(-BN6KE?,p">grenzwertEIN</variable>
                                      <variable type="timeout" id="delayON">delayON</variable>
                                      <variable type="timeout" id="delayOFF">delayOFF</variable>
                                    </variables>
                                    <block type="on" id="O}Kl~Wy%DO2=[$c!ORLr" x="-2237" y="-555">
                                      <field name="OID">javascript.0.pv.Ueberschuss_gemittelt</field>
                                      <field name="CONDITION">ne</field>
                                      <field name="ACK_CONDITION"></field>
                                      <statement name="STATEMENT">
                                        <block type="variables_set" id="9rM+k(|MF}@#ANARjH4}">
                                          <field name="VAR" id="4Gn:;E{l/[q@N.n`#%N-">ueberschuss</field>
                                          <value name="VALUE">
                                            <block type="math_single" id="-|H9.V;$rWl0DQ`:5O#.">
                                              <field name="OP">NEG</field>
                                              <value name="NUM">
                                                <shadow type="math_number" id="u2]m-{g-SgBo-+hW^#es">
                                                  <field name="NUM">9</field>
                                                </shadow>
                                                <block type="on_source" id="Az%=-*#Pxl^K$9?L^PrG">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="variables_set" id=";WZ:Ppq9`(9L%qA6Vc!h">
                                              <field name="VAR" id="{umJ-nLA;h3b;5lV|xVw">temperatur</field>
                                              <value name="VALUE">
                                                <block type="get_value" id="T1agm|,Fc*ylN9HKcE[Y">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">hmip.0.devices.3014F711A0000E5D898EA33C.channels.1.actualTemperature</field>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="variables_set" id="juY}?yXa:1VPEb4K87Yg">
                                                  <field name="VAR" id="F3DfKKl}(f(-BN6KE?,p">grenzwertEIN</field>
                                                  <value name="VALUE">
                                                    <block type="logic_ternary" id="z}!pm(iivex,saz5=:+3">
                                                      <value name="IF">
                                                        <block type="get_value" id="Fs)4U?An%hb8N*4nkmnL">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">melcloud.0.devices.115410591.control.power</field>
                                                        </block>
                                                      </value>
                                                      <value name="THEN">
                                                        <block type="math_number" id="~wlGGheE~5r@NtqHNf*`">
                                                          <field name="NUM">700</field>
                                                        </block>
                                                      </value>
                                                      <value name="ELSE">
                                                        <block type="math_number" id="sx!f{_UV(}XAE|c$KDf!">
                                                          <field name="NUM">2000</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="controls_if" id="4oKdE,9$x;2V-h}0s/[X">
                                                      <mutation elseif="1"></mutation>
                                                      <value name="IF0">
                                                        <block type="logic_compare" id="pa4~^1D+6m%5O:;yhn/k">
                                                          <field name="OP">LT</field>
                                                          <value name="A">
                                                            <block type="variables_get" id="3iC[.Nb@j*H+,;3/usv]">
                                                              <field name="VAR" id="4Gn:;E{l/[q@N.n`#%N-">ueberschuss</field>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="variables_get" id="^;qG_Plj?2xR9V|9$nY%">
                                                              <field name="VAR" id="F3DfKKl}(f(-BN6KE?,p">grenzwertEIN</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="timeouts_cleartimeout" id="X2w@nJSh3{Zfi?Ew5ZB)">
                                                          <field name="NAME">delayON</field>
                                                        </block>
                                                      </statement>
                                                      <value name="IF1">
                                                        <block type="logic_multi_and" id="qlG8G/8{}*{)PwfumkdN">
                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                          <value name="AND0">
                                                            <block type="logic_compare" id="*8g`N/-N4i-J.;I0;y`3">
                                                              <field name="OP">LTE</field>
                                                              <value name="A">
                                                                <block type="variables_get" id="Do0R6DT69RD:PH%p#BEK">
                                                                  <field name="VAR" id="{umJ-nLA;h3b;5lV|xVw">temperatur</field>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <block type="math_number" id="E$0qqdhF8aQhW_L/Kqm,">
                                                                  <field name="NUM">25</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="AND1">
                                                            <block type="logic_negate" id="rtDV;?lt}Og?RFoVQz,}">
                                                              <value name="BOOL">
                                                                <block type="timeouts_gettimeout" id="}gW19$A+]F,(#$xu?8XU">
                                                                  <field name="NAME">delayON</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO1">
                                                        <block type="timeouts_settimeout" id="BR]Gb};mBCKXr5P3~,!o">
                                                          <field name="NAME">delayON</field>
                                                          <field name="DELAY">5</field>
                                                          <field name="UNIT">min</field>
                                                          <statement name="STATEMENT">
                                                            <block type="controls_if" id="$4quX@F$jevEjdm#i-rI">
                                                              <mutation elseif="1"></mutation>
                                                              <value name="IF0">
                                                                <block type="logic_negate" id="^Xd`^;l]E`qZo+i7-P#1">
                                                                  <value name="BOOL">
                                                                    <block type="get_value" id="5O8]ve/A}XjW7:gX?Zv|">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">melcloud.0.devices.115410591.control.power</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <statement name="DO0">
                                                                <block type="comment" id="[kprbkovS?*3%jf@Y#aa">
                                                                  <field name="COMMENT">EG Power Klima</field>
                                                                  <next>
                                                                    <block type="control" id="lo|%n=5M/0j:WBSqWf+M">
                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                      <field name="OID">melcloud.0.devices.115410591.control.power</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE">
                                                                        <block type="logic_boolean" id="uKI$`*$Ed:/Hs;OuOgZ_">
                                                                          <field name="BOOL">TRUE</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                              <value name="IF1">
                                                                <block type="logic_negate" id="Em$hq=S+Np5t_%/cU!05">
                                                                  <value name="BOOL">
                                                                    <block type="get_value" id="h~H1usS*^O/lJ.[*qVg+">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">melcloud.0.devices.115412909.control.power</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <statement name="DO1">
                                                                <block type="comment" id="sVHJmjKGm5Q;CH4G{.a;">
                                                                  <field name="COMMENT">DG Power Klima</field>
                                                                  <next>
                                                                    <block type="control" id="npaB%#$2OKNK2+]/.S)-">
                                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                      <field name="OID">melcloud.0.devices.115412909.control.power</field>
                                                                      <field name="WITH_DELAY">FALSE</field>
                                                                      <value name="VALUE">
                                                                        <block type="logic_boolean" id="edQCsF00RtWSm9H:u)uo">
                                                                          <field name="BOOL">TRUE</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </statement>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </statement>
                                                      <next>
                                                        <block type="controls_if" id=")Aa/#{~YgC2qXCg3}A(`">
                                                          <mutation elseif="1"></mutation>
                                                          <value name="IF0">
                                                            <block type="logic_multi_and" id="X8Y*^6vbO`}|~[J8BdT=">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                              <value name="AND0">
                                                                <block type="logic_compare" id="QedwPg6grC`o:5LRTL),">
                                                                  <field name="OP">GT</field>
                                                                  <value name="A">
                                                                    <block type="variables_get" id="rB6xa-Mb]G*-mmckyQdy">
                                                                      <field name="VAR" id="4Gn:;E{l/[q@N.n`#%N-">ueberschuss</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <block type="math_number" id="/#ai3yJdU;7Kv[qIAuZs">
                                                                      <field name="NUM">100</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <value name="AND1">
                                                                <block type="logic_compare" id="k|vAciG0%7f?w5RuBgg2">
                                                                  <field name="OP">LT</field>
                                                                  <value name="A">
                                                                    <block type="variables_get" id="Ye:{AS?Sm[f!xLAG6teq">
                                                                      <field name="VAR" id="{umJ-nLA;h3b;5lV|xVw">temperatur</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <block type="math_number" id="2.ApX;=WA|)6oO3%`|HI">
                                                                      <field name="NUM">25</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO0">
                                                            <block type="timeouts_cleartimeout" id="m.z{TzIDQfl|/[=#RaK.">
                                                              <field name="NAME">delayOFF</field>
                                                            </block>
                                                          </statement>
                                                          <value name="IF1">
                                                            <block type="logic_multi_and" id="mt.Vi`^1yk*Q}u#.JJ[+">
                                                              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                              <value name="AND0">
                                                                <block type="logic_compare" id="fSHG[5;g,{Nef3F~X/?U">
                                                                  <field name="OP">LTE</field>
                                                                  <value name="A">
                                                                    <block type="variables_get" id="9MNFGY.j`KgnEIc3~,q]">
                                                                      <field name="VAR" id="{umJ-nLA;h3b;5lV|xVw">temperatur</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <block type="math_number" id="`9cMKWUdLvf9-YOQJ.cX">
                                                                      <field name="NUM">25</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <value name="AND1">
                                                                <block type="logic_negate" id="SKw4uGK9I*MpneUwy1Vb">
                                                                  <value name="BOOL">
                                                                    <block type="timeouts_gettimeout" id="PG:8V(HFwayC?nKW:49u">
                                                                      <field name="NAME">delayOFF</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <statement name="DO1">
                                                            <block type="timeouts_settimeout" id="i^RZHFAT=XkN~Dx05zGB">
                                                              <field name="NAME">delayOFF</field>
                                                              <field name="DELAY">5</field>
                                                              <field name="UNIT">min</field>
                                                              <statement name="STATEMENT">
                                                                <block type="controls_if" id="x*0McL5;K_m#{;6]c8vk">
                                                                  <mutation elseif="1"></mutation>
                                                                  <value name="IF0">
                                                                    <block type="get_value" id="A*B-HXA;0?9s2z/XO|uL">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">melcloud.0.devices.115412909.control.power</field>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO0">
                                                                    <block type="comment" id="az?eM.|@}b=xwJ2uCi:^">
                                                                      <field name="COMMENT">DG Power Klima</field>
                                                                      <next>
                                                                        <block type="control" id="9{$@H/pJQRq?T9Xd|`J/">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                          <field name="OID">melcloud.0.devices.115412909.control.power</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE">
                                                                            <block type="logic_boolean" id="26;D`1LL!)%@)DR8^9q#">
                                                                              <field name="BOOL">FALSE</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </statement>
                                                                  <value name="IF1">
                                                                    <block type="get_value" id="{d77snzsCj=I9D46~:+O">
                                                                      <field name="ATTR">val</field>
                                                                      <field name="OID">melcloud.0.devices.115410591.control.power</field>
                                                                    </block>
                                                                  </value>
                                                                  <statement name="DO1">
                                                                    <block type="comment" id="F[^il?xn^VFWj(a!ZsBj">
                                                                      <field name="COMMENT">EG Power Klima</field>
                                                                      <next>
                                                                        <block type="control" id="28UBpB@KC1bGC6FIw[J(">
                                                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                          <field name="OID">melcloud.0.devices.115410591.control.power</field>
                                                                          <field name="WITH_DELAY">FALSE</field>
                                                                          <value name="VALUE">
                                                                            <block type="logic_boolean" id="~(E6:hHq$,k4}z-h9T^T">
                                                                              <field name="BOOL">FALSE</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </statement>
                                                                </block>
                                                              </statement>
                                                            </block>
                                                          </statement>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </xml>
                                  
                                  paul53 2 Replies Last reply Reply Quote 0
                                  • paul53
                                    paul53 @ika last edited by paul53

                                    @ika sagte: die Eingangsleistung (peak ~3800 W

                                    Dann muss der Einschaltgrenzwert auf mind. 4000 W erhöht werden, damit nicht getaktet wird.

                                    @ika sagte in Überschussnutzung Klimaanlage zum Heizen - Timeouts:

                                    dass ich folgende zwei Blöcke nicht verstehe.

                                    Ich bin davon ausgegangen, dass es sich um ein Multisplit-Gerät handelt, was bedeutet, dass bei Einschalten des ersten Innengerätes (EG) der Kompressor des Außengerätes mit eingeschaltet wird, der die hohe Leistung hat. Bei Zuschalten des zweiten Innengerätes (OG) erhöht sich die Leistung nur noch gering - deshalb der niedrigere Einschaltgrenzwert.

                                    "falls nicht Wert von Power" prüft, ob das betreffende Gerät noch ausgeschaltet ist.

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

                                      @ika sagte: das aktuelle Script

                                      Diese UND-Verknüpfung mit der Temperatur ist kontraproduktiv:

                                      Blockly_temp.JPG

                                      Außerdem sollte man auch für die Temperatur eine Hysterese vorsehen!

                                      Blockly_temp.JPG

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      887
                                      Online

                                      31.7k
                                      Users

                                      79.8k
                                      Topics

                                      1.3m
                                      Posts

                                      climate heating
                                      7
                                      17
                                      671
                                      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