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
    354

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

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

Ü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.
  • 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

    BananaJoeB Online
    BananaJoeB Online
    BananaJoe
    Most Active
    schrieb am zuletzt editiert von BananaJoe
    #3

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

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

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

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

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

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

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

    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

    MartinPM 1 Antwort Letzte Antwort
    0
    • BananaJoeB BananaJoe

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

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

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

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

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

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

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

      MartinPM Online
      MartinPM Online
      MartinP
      schrieb am zuletzt editiert von
      #4

      @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

      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
      Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
      Linux pve 6.8.12-16-pve
      6 GByte RAM für den Container
      Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
      Remote-Access über Wireguard der Fritzbox

      BananaJoeB 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

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        schrieb am zuletzt editiert von Asgothian
        #5

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

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        I 1 Antwort Letzte Antwort
        0
        • 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 Online
          BananaJoeB Online
          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 Offline
              C Offline
              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

                                342

                                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