Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Überschussnutzung Klimaanlage zum Heizen - Timeouts

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    521

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Überschussnutzung Klimaanlage zum Heizen - Timeouts

Geplant Angeheftet Gesperrt Verschoben Blockly
climateheating
17 Beiträge 7 Kommentatoren 1.4k Aufrufe 6 Watching
  • Ä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.
  • MartinPM MartinP

    @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

    BananaJoeB Offline
    BananaJoeB Offline
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von
    #6

    @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.

    ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

    1 Antwort Letzte Antwort
    0
    • AsgothianA 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 Offline
      I Offline
      ika
      schrieb am zuletzt editiert von
      #7

      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 Antwort Letzte Antwort
      0
      • I ika

        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 Online
        C Online
        Chrunchy
        schrieb am zuletzt editiert von
        #8

        @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.

        Gruß Chrunchy

        1 Antwort Letzte Antwort
        0
        • I 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

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

          @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

          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

          I 3 Antworten Letzte Antwort
          0
          • paul53P 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 Offline
            I Offline
            ika
            schrieb am zuletzt editiert von ika
            #10

            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?
            paul53P I 2 Antworten Letzte Antwort
            0
            • I 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?
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #11

              @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.

              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

              1 Antwort Letzte Antwort
              0
              • I 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?
                I Offline
                I Offline
                ika
                schrieb am zuletzt editiert von
                #12

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

                1 Antwort Letzte Antwort
                0
                • paul53P 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 Offline
                  I Offline
                  ika
                  schrieb am zuletzt editiert von ika
                  #13

                  @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 Antwort Letzte Antwort
                  0
                  • L Linedancer

                    @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 Offline
                    I Offline
                    ika
                    schrieb am zuletzt editiert von
                    #14

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

                    1 Antwort Letzte Antwort
                    0
                    • paul53P 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 Offline
                      I Offline
                      ika
                      schrieb am zuletzt editiert von ika
                      #15

                      @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>
                      
                      paul53P 2 Antworten Letzte Antwort
                      0
                      • I 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>
                        
                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #16

                        @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.

                        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

                        1 Antwort Letzte Antwort
                        0
                        • I 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>
                          
                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #17

                          @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

                          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

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          863

                          Online

                          32.5k

                          Benutzer

                          81.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