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. Logik für Klimananlanlage

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Logik für Klimananlanlage

Geplant Angeheftet Gesperrt Verschoben Blockly
13 Beiträge 4 Kommentatoren 838 Aufrufe 2 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.
  • W Offline
    W Offline
    Wuffi26
    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
    0
    • W Offline
      W Offline
      Wuffi26
      schrieb am zuletzt editiert von
      #2

      Bild 28.10.24 um 21.47.jpeg

      1 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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, 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

        W 1 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                0
                • W Offline
                  W Offline
                  Wuffi26
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    0
                    • W Offline
                      W Offline
                      Wuffi26
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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, 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
                          • 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
                            schrieb am zuletzt editiert von
                            #13

                            @paul53

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

                            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

                            666

                            Online

                            32.5k

                            Benutzer

                            81.7k

                            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