Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Logik für Klimananlanlage

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    610

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Logik für Klimananlanlage

Scheduled Pinned Locked Moved Blockly
13 Posts 4 Posters 976 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    W Offline
    Wuffi26
    wrote on last edited by Homoran
    #1

    Hallo, ich habe ein Problem mit meiner Logik, in meiner Werkstatt ist eine Klimaanlage die ich ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll. Nun musste ich leider feststellen das das sporadisch ist. Was ist an meiner Logik falsch. Habe ein bisschen rumgebastelt aber hat alles nichts gebracht. Vielleicht könntet Ihr mich unterstützen. Hier mein Code:

    var timeout;
    
    
    // Klimaanlage Werkstatt 19 °C
    on({ id: [].concat(['hm-rpc.1.000ED709AED610.1.ACTUAL_TEMPERATURE']), change: 'ne' }, async (obj) => {
      let value = obj.state.val;
      let oldValue = obj.oldState.val;
      (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
      if (((obj.state ? obj.state.val : '') <= 13) && (getState('hm-rega.0.8642').val == false)) {
        setState('melcloud.1.devices.31071842.control.mode' /* Operation mode */, 1);
        await wait(3000);
        setState('melcloud.1.devices.31071842.control.targetTemp' /* Target temperature */, 19);
        await wait(3000);
        setState('melcloud.1.devices.31071842.control.fanSpeed' /* Fan speed (while in manual mode) */, 0);
        await wait(3000);
        setState('melcloud.1.devices.31071842.control.vaneVerticalDirection' /* Vane vertical direction */, 7);
        await wait(3000);
        setState('melcloud.1.devices.31071842.control.power' /* Power */, true);
      } else {
        timeout = setTimeout(async () => {
          timeout = null;
          setState('melcloud.1.devices.31071842.control.power' /* Power */, false);
        }, 300000);
      }
    });
    
    ``
    BananaJoeB paul53P 3 Replies Last reply
    0
    • W Offline
      W Offline
      Wuffi26
      wrote on last edited by
      #2

      Bild 28.10.24 um 21.47.jpeg

      1 Reply Last reply
      0
      • W Wuffi26

        Hallo, ich habe ein Problem mit meiner Logik, in meiner Werkstatt ist eine Klimaanlage die ich ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll. Nun musste ich leider feststellen das das sporadisch ist. Was ist an meiner Logik falsch. Habe ein bisschen rumgebastelt aber hat alles nichts gebracht. Vielleicht könntet Ihr mich unterstützen. Hier mein Code:

        var timeout;
        
        
        // Klimaanlage Werkstatt 19 °C
        on({ id: [].concat(['hm-rpc.1.000ED709AED610.1.ACTUAL_TEMPERATURE']), change: 'ne' }, async (obj) => {
          let value = obj.state.val;
          let oldValue = obj.oldState.val;
          (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
          if (((obj.state ? obj.state.val : '') <= 13) && (getState('hm-rega.0.8642').val == false)) {
            setState('melcloud.1.devices.31071842.control.mode' /* Operation mode */, 1);
            await wait(3000);
            setState('melcloud.1.devices.31071842.control.targetTemp' /* Target temperature */, 19);
            await wait(3000);
            setState('melcloud.1.devices.31071842.control.fanSpeed' /* Fan speed (while in manual mode) */, 0);
            await wait(3000);
            setState('melcloud.1.devices.31071842.control.vaneVerticalDirection' /* Vane vertical direction */, 7);
            await wait(3000);
            setState('melcloud.1.devices.31071842.control.power' /* Power */, true);
          } else {
            timeout = setTimeout(async () => {
              timeout = null;
              setState('melcloud.1.devices.31071842.control.power' /* Power */, false);
            }, 300000);
          }
        });
        
        ``
        BananaJoeB Offline
        BananaJoeB Offline
        BananaJoe
        Most Active
        wrote on last edited by
        #3

        @wuffi26 sagte in Logik für Klimananlanlage:

        Nun musste ich leider feststellen das das sporadisch ist

        Bedeutet?
        Deine Skript schaltet bei kleiner/gleich 13 (vermutlich Grad) ein - wenn die Tür/Fenster nicht offen ist.
        Und immer wenn das nicht der Fall ist, nach 5 Minuten aus.
        Also wenn es mehr als 13 Grad sind oder ein Fenster/Tür offen ist.
        Ergo geht die bei 13.1 Grad gleich wieder aus.

        Zudem steuerst du die Klimaanlage immer an, bei jeder Temperaturänderung kleiner/gleich 13 Grad.

        Du solltest die bei kleiner/gleich 13 Grad einschalten. Und dann erst bei einer Zieltemperatur wieder ausschalten, z.B. 19 Grad.
        Beides einzeln prüfen, kein Sonst. Kein Timeout für das Ausschalten

        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 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 APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

        W 1 Reply Last reply
        0
        • BananaJoeB BananaJoe

          @wuffi26 sagte in Logik für Klimananlanlage:

          Nun musste ich leider feststellen das das sporadisch ist

          Bedeutet?
          Deine Skript schaltet bei kleiner/gleich 13 (vermutlich Grad) ein - wenn die Tür/Fenster nicht offen ist.
          Und immer wenn das nicht der Fall ist, nach 5 Minuten aus.
          Also wenn es mehr als 13 Grad sind oder ein Fenster/Tür offen ist.
          Ergo geht die bei 13.1 Grad gleich wieder aus.

          Zudem steuerst du die Klimaanlage immer an, bei jeder Temperaturänderung kleiner/gleich 13 Grad.

          Du solltest die bei kleiner/gleich 13 Grad einschalten. Und dann erst bei einer Zieltemperatur wieder ausschalten, z.B. 19 Grad.
          Beides einzeln prüfen, kein Sonst. Kein Timeout für das Ausschalten

          W Offline
          W Offline
          Wuffi26
          wrote on last edited by
          #4

          @bananajoe Danke für die Antwort, ja das ist Grad und die Temperatur ist die Aussen Temperatur. Da die Klimaanlage eine eigene Regelung besitzt, geht sie von selbst aus wenn die Zieltemperatur von 19 Grad erreicht ist deshalb habe ich es so gewählt. Mit dem prüfen block habe ich auch schon überlegt. Ich werde es einmal probieren.

          1 Reply Last reply
          0
          • W Wuffi26

            Hallo, ich habe ein Problem mit meiner Logik, in meiner Werkstatt ist eine Klimaanlage die ich ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll. Nun musste ich leider feststellen das das sporadisch ist. Was ist an meiner Logik falsch. Habe ein bisschen rumgebastelt aber hat alles nichts gebracht. Vielleicht könntet Ihr mich unterstützen. Hier mein Code:

            var timeout;
            
            
            // Klimaanlage Werkstatt 19 °C
            on({ id: [].concat(['hm-rpc.1.000ED709AED610.1.ACTUAL_TEMPERATURE']), change: 'ne' }, async (obj) => {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
              if (((obj.state ? obj.state.val : '') <= 13) && (getState('hm-rega.0.8642').val == false)) {
                setState('melcloud.1.devices.31071842.control.mode' /* Operation mode */, 1);
                await wait(3000);
                setState('melcloud.1.devices.31071842.control.targetTemp' /* Target temperature */, 19);
                await wait(3000);
                setState('melcloud.1.devices.31071842.control.fanSpeed' /* Fan speed (while in manual mode) */, 0);
                await wait(3000);
                setState('melcloud.1.devices.31071842.control.vaneVerticalDirection' /* Vane vertical direction */, 7);
                await wait(3000);
                setState('melcloud.1.devices.31071842.control.power' /* Power */, true);
              } else {
                timeout = setTimeout(async () => {
                  timeout = null;
                  setState('melcloud.1.devices.31071842.control.power' /* Power */, false);
                }, 300000);
              }
            });
            
            ``
            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #5

            @wuffi26 sagte: ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll.

            Dass die Klimaanlage zu oft geschaltet wird, verhindert man mit einer Hysterese, da sich die Außentemperatur nur langsam ändert. Die Pausen sind kontraproduktiv, da alle Werte in einem Telegramm an das Klimagerät gesendet werden.
            Vorschlag:

            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

            F 1 Reply Last reply
            0
            • paul53P paul53

              @wuffi26 sagte: ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll.

              Dass die Klimaanlage zu oft geschaltet wird, verhindert man mit einer Hysterese, da sich die Außentemperatur nur langsam ändert. Die Pausen sind kontraproduktiv, da alle Werte in einem Telegramm an das Klimagerät gesendet werden.
              Vorschlag:

              Blockly_temp.JPG

              F Offline
              F Offline
              falkomfs
              wrote on last edited by
              #6

              @paul53 Ich kenne diese Klimaanlage nicht, aber LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl, und diese sehen so aus wie bei mir. Was aber Sinn ergeben würde wäre eine Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss. Ich würde aber auch eher die Innentemperatur abfragen und diese dann mit entsprechender Hysterese abarbeiten.

              paul53P 1 Reply Last reply
              0
              • F falkomfs

                @paul53 Ich kenne diese Klimaanlage nicht, aber LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl, und diese sehen so aus wie bei mir. Was aber Sinn ergeben würde wäre eine Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss. Ich würde aber auch eher die Innentemperatur abfragen und diese dann mit entsprechender Hysterese abarbeiten.

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by paul53
                #7

                @falkomfs sagte: LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl

                Ich bin davon ausgegangen, dass das Verhalten dem der IR-Fernbedienungen für AC entspricht, die alles in einem Telegramm senden.

                @falkomfs sagte in Logik für Klimananlanlage:

                Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss.

                Etwa so, wenn Pausen erforderlich sind:

                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

                W F 2 Replies Last reply
                0
                • W Offline
                  W Offline
                  Wuffi26
                  wrote on last edited by
                  #8

                  vielen Dank für die hilfreichen tipps, mein Hintergrundgedanke war, es kann in meinen Haushalt die Klimaanlage Ein ,Aus schalten und die Konfiguration verändern diese werden dann von der IR Fernbedienung überschrieben, ich möchte aber eine bestimme Konfiguration nutzen, darum die Schritte mit dem Pausen. Aber das abfragen der einzelnen Punkte finde ich eine super Idee, dann brauche ich nicht jedesmal die Konfiguration zu senden wenn diese noch eingestellt ist. Was mir sich nicht ganz so erschließt ist dieses "at". Die 15 Grad sind dann demzufolge die Hysterse?

                  paul53P 1 Reply Last reply
                  0
                  • paul53P paul53

                    @falkomfs sagte: LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl

                    Ich bin davon ausgegangen, dass das Verhalten dem der IR-Fernbedienungen für AC entspricht, die alles in einem Telegramm senden.

                    @falkomfs sagte in Logik für Klimananlanlage:

                    Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss.

                    Etwa so, wenn Pausen erforderlich sind:

                    Blockly_temp.JPG

                    W Offline
                    W Offline
                    Wuffi26
                    wrote on last edited by
                    #9

                    @paul53 Nur nochmal für mein Verständnis: Wenn ich 2 Werte habe, also die Aussentemperatur und die Variable Tür/Fenster offen/zu, muss ich diese auf den Trigger geben. Um diese weiter verarbeiten zu können?

                    1 Reply Last reply
                    0
                    • W Offline
                      W Offline
                      Wuffi26
                      wrote on last edited by
                      #10

                      @paul53 , Das Timeout 5 min für das ausschalten soll eigentlich dazu dienlich sein, wenn die Tür geöffnet wird, Das diese nicht gleich ausgeschalten wird, wenn die Türe innerhalb von 5 min wieder geschlossen wird. Könnte man das so stehen lassen, oder ist das kontraproduktiv?

                      1 Reply Last reply
                      0
                      • W Wuffi26

                        vielen Dank für die hilfreichen tipps, mein Hintergrundgedanke war, es kann in meinen Haushalt die Klimaanlage Ein ,Aus schalten und die Konfiguration verändern diese werden dann von der IR Fernbedienung überschrieben, ich möchte aber eine bestimme Konfiguration nutzen, darum die Schritte mit dem Pausen. Aber das abfragen der einzelnen Punkte finde ich eine super Idee, dann brauche ich nicht jedesmal die Konfiguration zu senden wenn diese noch eingestellt ist. Was mir sich nicht ganz so erschließt ist dieses "at". Die 15 Grad sind dann demzufolge die Hysterse?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by paul53
                        #11

                        @wuffi26 sagte: Was mir sich nicht ganz so erschließt ist dieses "at". Die 15 Grad sind dann demzufolge die Hysterse?

                        at enthält die Außentemperatur. Die Hysterese beträgt 2 K (15 - 13).

                        @wuffi26 sagte in Logik für Klimananlanlage:

                        Das Timeout 5 min für das ausschalten soll eigentlich dazu dienlich sein, wenn die Tür geöffnet wird,

                        Die Schaltsperre dient dazu: Wenn die Klimaanlage durch Öffnen von Tür oder Fenster ausgeschaltet wird, schaltet sie erst nach 5 Minuten wieder ein, wenn Tür oder Fenster nach z.B. 2 Minuten wieder geschlossen wird.

                        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 Reply Last reply
                        0
                        • W Wuffi26

                          Hallo, ich habe ein Problem mit meiner Logik, in meiner Werkstatt ist eine Klimaanlage die ich ab einer Aussentemperatur von 13 Grad und bei geschlossenen Türen /Fenstern mit dem entsprechenden Parametern eingeschaltet, werden soll. Nun musste ich leider feststellen das das sporadisch ist. Was ist an meiner Logik falsch. Habe ein bisschen rumgebastelt aber hat alles nichts gebracht. Vielleicht könntet Ihr mich unterstützen. Hier mein Code:

                          var timeout;
                          
                          
                          // Klimaanlage Werkstatt 19 °C
                          on({ id: [].concat(['hm-rpc.1.000ED709AED610.1.ACTUAL_TEMPERATURE']), change: 'ne' }, async (obj) => {
                            let value = obj.state.val;
                            let oldValue = obj.oldState.val;
                            (() => { if (timeout) { clearTimeout(timeout); timeout = null; }})();
                            if (((obj.state ? obj.state.val : '') <= 13) && (getState('hm-rega.0.8642').val == false)) {
                              setState('melcloud.1.devices.31071842.control.mode' /* Operation mode */, 1);
                              await wait(3000);
                              setState('melcloud.1.devices.31071842.control.targetTemp' /* Target temperature */, 19);
                              await wait(3000);
                              setState('melcloud.1.devices.31071842.control.fanSpeed' /* Fan speed (while in manual mode) */, 0);
                              await wait(3000);
                              setState('melcloud.1.devices.31071842.control.vaneVerticalDirection' /* Vane vertical direction */, 7);
                              await wait(3000);
                              setState('melcloud.1.devices.31071842.control.power' /* Power */, true);
                            } else {
                              timeout = setTimeout(async () => {
                                timeout = null;
                                setState('melcloud.1.devices.31071842.control.power' /* Power */, false);
                              }, 300000);
                            }
                          });
                          
                          ``
                          BananaJoeB Offline
                          BananaJoeB Offline
                          BananaJoe
                          Most Active
                          wrote on last edited by
                          #12

                          @wuffi26 Ich steuere meine Klimaanlage per Zeitansatz.
                          Ich prüfe alle 15 Minuten ob diese laufen sollte oder nicht, und nehme dann ggf. ein Ein- oder Ausschalten vor.

                          Ergo prüfe ich auch nur alle 15 Minuten wie die Temperatur ist oder eine Tür oder ein Fenster offen ist.
                          Das verhindert das Ausschalten bloß weil man mal eben zur Terrassentür rausgeht und sorgt dafür das die Klimaanlage maximal in 15 Minuten Schritten geschaltet wird.

                          Statt eines Falls Objekt wurde geändert würde man dafür einen Zeitplan nehmen und in diesem die Prüfungen vornehmen und ggf. schalten.

                          Im schlimmsten Fall läuft die Klimaanlage dann halt noch 14 Minuten obwohl die Tür aufsteht.

                          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 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 APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                          1 Reply Last reply
                          0
                          • paul53P paul53

                            @falkomfs sagte: LG benötigt die pausen, da wird auch nicht in einem Telegram gesendet sondern jeder einzelne Befehl

                            Ich bin davon ausgegangen, dass das Verhalten dem der IR-Fernbedienungen für AC entspricht, die alles in einem Telegramm senden.

                            @falkomfs sagte in Logik für Klimananlanlage:

                            Abfrage ob der jeweilige Punkt schon an ist und somit nicht mehr gesendet werden muss.

                            Etwa so, wenn Pausen erforderlich sind:

                            Blockly_temp.JPG

                            F Offline
                            F Offline
                            falkomfs
                            wrote on last edited by
                            #13

                            @paul53

                            Ja, so habe ich es gelöst. Dadurch gab es nicht diese ständige Piepserei weil ein Befehl empfangen wurde.

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            744

                            Online

                            32.7k

                            Users

                            82.6k

                            Topics

                            1.3m

                            Posts
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Home
                            • Recent
                            • Tags
                            • Unread 0
                            • Categories
                            • Unreplied
                            • Popular
                            • GitHub
                            • Docu
                            • Hilfe