Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Geklärt] Auto Hand Blockly schaltet nicht wie gewünscht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Geklärt] Auto Hand Blockly schaltet nicht wie gewünscht

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

      Hallo,
      Für meine Heizungssteuerung habe ich ein Auto/Hand Blockly erstellt.
      Bei Auto soll die Heizungssteuerung nach den gewünschten Parametern schalten,
      das funktioniert auch.
      auto.jpg
      Wenn ich auf Hand umschalte werden alle Aktoren ausgeschaltet.
      hand.jpg
      Nach ca drei Minuten schalten schalten die Aktoren wieder in den
      Auto Modus zurück, ohne das sich das Icon ändert.
      Hand2.jpg
      Für Auto/Hand habe ich unter javaskript.0 einen Datenpunkt Switch ( Button Auto/Hand) erstellt.
      Auto_Hand1.jpg Auto_Hand2.jpg
      Ich finde den Fehler nicht, warum bei Stellung Hand immer wieder zurück geschaltet wird.
      Wer kann mir bitte helfen.
      Danke, freundliche Grüße
      Michael

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

        @Altersrentner
        In den ersten Block "setze auto auf ..." gehört kein Vergleich rein.
        Zeige bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

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

          @paul53 said in Auto Hand Blockly schaltet nicht wie gewünscht:

          In den ersten Block "setze auto auf ..." gehört kein Vergleich rein.

          verstehe ich nicht. Was muss entfernt werden.
          Hier der Datenpunkt.
          java.jpg
          Gruß Michael

          1 Reply Last reply Reply Quote 0
          • A
            Altersrentner last edited by

            java1.jpg

            1 Reply Last reply Reply Quote 0
            • A
              Altersrentner last edited by

              Ich glaube, das wolltest Du sehen?😧

              var auto, Wert;
              
              
              // Hand Auto
              auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val == true;
              on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                auto = Wert;
                if (!auto) {
                  // Alle 4 Pumpen aus
                  setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                  setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                  setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                  setState("hm-rpc.2.MEQ1534348.13"/*Pumpe 1A7*/, false);
                }
              });
              // Raumtemperatur UG
              on({id: "mihome.0.devices.weather_v1_158d0002329079.temperature"/*Temperature Eingang*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                // Puffer-Temperatur
                if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                  if (Wert >= 20.5) {
                    // Pumpe UG aus
                    setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                  }
                  if (Wert < 20) {
                    // Pumpe UG ein
                    setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                  }
                }
              });
              // Raumtemperatur EG
              on({id: "mihome.0.devices.weather_v1_158d00023290e8.temperature"/*Temperature Wohnzimmer*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                // Puffer-Temperatur
                if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                  if (Wert >= 23) {
                    // Pumpe EG aus
                    setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                  }
                  if (Wert <= 22.9) {
                    // Pumpe EG aus
                    setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true);
                  }
                }
              });
              // Raumtemperatur OG
              on({id: "fhem.0.TF_Bad.temperature"/*TF_Bad temperature*/, change: "ne"}, function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                // Puffer-Temperatur
                if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                  if (Wert >= 22.5) {
                    // Pumpe EG aus
                    setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                  }
                  if (Wert < 22.3) {
                    // Pumpe EG aus
                    setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true);
                  }
                }
              });
              
              
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Altersrentner last edited by

                @Altersrentner
                Das kann nicht funktionieren, denn Wert darf keine Variable sein, sondern eine Eigenschaft des Trigger-Datenpunktes. Benenne die Variable Wert um in value (genau so geschrieben), damit es funktioniert.

                Das erste Kommando ändere so:

                Blockly_temp.JPG

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

                  @paul53
                  Habe Deinen Vorschlag eingearbeitet.
                  Brachte aber leider keinen Erfolg.

                  var auto, value;
                  
                  
                  // Hand Auto
                  auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val;
                  on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    auto = value;
                    if (!auto) {
                      // Alle 4 Pumpen aus
                      setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                      setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                      setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                      setState("hm-rpc.2.MEQ1534348.13"/*Pumpe 1A7*/, false);
                    }
                  });
                  // Raumtemperatur UG
                  on({id: "mihome.0.devices.weather_v1_158d0002329079.temperature"/*Temperature Eingang*/, change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    // Puffer-Temperatur
                    if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                      if (value >= 20.5) {
                        // Pumpe UG aus
                        setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                      }
                      if (value < 20) {
                        // Pumpe UG ein
                        setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                      }
                    }
                  });
                  // Raumtemperatur EG
                  on({id: "mihome.0.devices.weather_v1_158d00023290e8.temperature"/*Temperature Wohnzimmer*/, change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    // Puffer-Temperatur
                    if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                      if (value >= 23) {
                        // Pumpe EG aus
                        setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                      }
                      if (value <= 22.9) {
                        // Pumpe EG aus
                        setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true);
                      }
                    }
                  });
                  // Raumtemperatur OG
                  on({id: "fhem.0.TF_Bad.temperature"/*TF_Bad temperature*/, change: "ne"}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    // Puffer-Temperatur
                    if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                      if (value >= 22.5) {
                        // Pumpe EG aus
                        setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                      }
                      if (value < 22.3) {
                        // Pumpe EG aus
                        setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true);
                      }
                    }
                  });
                  _text
                  
                  

                  Kann es sein, das ein anderes Blockly das Auto/Hand beeinflusst?
                  Wenn ja, was ich vermute. Wie bekomme ich raus welches.
                  Gibt es einen Befehl den ich nutzen könnte um Verbindungen anzuzeigen

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

                    @Altersrentner sagte:

                    Habe Deinen Vorschlag eingearbeitet.

                    Das Script muss so funktionieren.

                    @Altersrentner sagte in Auto Hand Blockly schaltet nicht wie gewünscht:

                    Kann es sein, das ein anderes Blockly das Auto/Hand beeinflusst?

                    Das muss wohl so sein.

                    @Altersrentner sagte in Auto Hand Blockly schaltet nicht wie gewünscht:

                    Wenn ja, was ich vermute. Wie bekomme ich raus welches.

                    Nach und nach deaktivieren.

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

                      @paul53 said in Auto Hand Blockly schaltet nicht wie gewünscht:

                      Das Script muss so funktionieren.

                      Davon war ich aufgrund Deiner Erfahrungen überzeugt.
                      Ich denke jetzt das Skript gefunden zu haben, welches den Konflikt ausgelöst hat.
                      Kann aber im Moment leider nicht weiter testen, da alle Raumtemperaturen
                      bedingt durch Sonne über Temp.Soll liegen.
                      Melde mich wieder.
                      Danke erst mal.
                      Gruß Michael

                      1 Reply Last reply Reply Quote 0
                      • A
                        Altersrentner last edited by

                        Hallo paul53,
                        Also es gibt jetzt zwei Skripte sprich Blocklys die für die Heizungssteuerung zuständig sind.
                        Ursprünglich war dieser Skript zuständig und er funktioniert ohne Auto/Hand ohne Probleme:

                        // Hier noch Räume OG eintragen
                        // Prüfe Temp Puffer und Räume 1A7 schalten
                        console.warn('Prüfe Temp Puffer und Räume');
                        on({id: new RegExp('hm-rpc\\.0\\.OEQ0673599\\.2\\.TEMPERATURE' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d00023290e8\\.temperature' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d0002329079\\.temperature' + "|" + 'fhem\\.0\\.TF_Bad\\.temperature' + "|" + 'javascript\\.0\\.Eigene_Datenpunkte\\.Räume\\.Wohnzimmer\\.Heizung_EIN_AUS' + "|" + 'default'), change: "any"}, function (obj) {
                            // wenn Temp Puffer >35 und Temp  Räume < Soll dann
                          if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) >= 35) {
                            if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20 || parseFloat('fhem.0.TF_Bad.temperature') <= 22.3) {
                              // Pumpe 1A7 einschalten
                              console.warn('schalte 1A7 ein  ');
                              setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, true);
                            }
                          }
                          // Prüfe Temp Puffer und Räume 1A7 ausschalten
                          if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) <= 35) {
                            if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5 && parseFloat('fhem.0.TF_Bad.temperature') >= 22.5) {
                              // Pumpe 1A7 ausschalten
                              console.warn('schalte 1A7  aus  ');
                              setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false);
                            }
                          }
                          // Wenn Temp Eingang Ist > Soll Pumpe UG ausschalten
                          if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5) {
                            setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                          } else if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) {
                            setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                          }
                          // Wenn Temp WZ < Soll Pumpe EG einsschalten
                          console.warn('Wenn Temp WZ <Soll Pumpe EG einschalten');
                          if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23) {
                            console.warn(' Pumpe EG aus');
                            setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                          }
                          if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == true && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) {
                            setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                            console.warn(' Pumpe EG aus');
                          }
                          if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == false && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) {
                            console.warn(' Pumpe EG ein');
                            setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true);
                          }
                          // Wenn Temp Bad< Soll Pumpe OG einsschalten
                          if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) >= 22.5) {
                            setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                          } else if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) <= 22.3) {
                            setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true);
                          }
                        });
                        _
                        

                        Nun ist aber das Auto/Hand Skript dazu gekommen.

                        var auto, value;
                        
                        
                        // Hand Auto
                        auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val;
                        on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          auto = value;
                          if (!auto) {
                            // Alle 4 Pumpen aus
                            setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                            setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                            setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                            setState("hm-rpc.2.MEQ1534348.13"/*Pumpe 1A7*/, false);
                          }
                        });
                        // Raumtemperatur UG
                        on({id: "mihome.0.devices.weather_v1_158d0002329079.temperature"/*Temperature Eingang*/, change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          // Puffer-Temperatur
                          if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                            if (value >= 20.5) {
                              // Pumpe UG aus
                              setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                            }
                            if (value < 20) {
                              // Pumpe UG ein
                              setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                            }
                          }
                        });
                        // Raumtemperatur EG
                        on({id: "mihome.0.devices.weather_v1_158d00023290e8.temperature"/*Temperature Wohnzimmer*/, change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          // Puffer-Temperatur
                          if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                            if (value >= 23) {
                              // Pumpe EG aus
                              setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                            }
                            if (value <= 22.9) {
                              // Pumpe EG aus
                              setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true);
                            }
                          }
                        });
                        // Raumtemperatur OG
                        on({id: "fhem.0.TF_Bad.temperature"/*TF_Bad temperature*/, change: "ne"}, function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          // Puffer-Temperatur
                          if (getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val > 35 && auto) {
                            if (value >= 22.5) {
                              // Pumpe EG aus
                              setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                            }
                            if (value < 22.3) {
                              // Pumpe EG aus
                              setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true);
                            }
                          }
                        });
                        
                        

                        `Beide Skripte beeinflussen sich gegenseitig.. Ich habe schon versucht, im AutoHand alle Blöcke außer Block 1 zu deaktivieren aber die Aktoren schalten sich bei Hand wieder ein.
                        Mir ist klar, dass beide Skripte verknüpft werden müssen- aber wie???

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

                          @Altersrentner sagte:

                          aber wie???

                          Der Datenpunkt "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik" muss in beiden Scripts ausgewertet werden.

                          1 Reply Last reply Reply Quote 0
                          • A
                            Altersrentner last edited by

                            Hallo paul53,
                            meinst Du so?

                            var auto, value;
                            
                            
                            // Hier noch Räume OG eintragen
                            // Prüfe Temp Puffer und Räume 1A7 schalten
                            auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val;
                            on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) {
                              var value = obj.state.val;
                              var oldValue = obj.oldState.val;
                              auto = value;
                              if (!auto) {
                                setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                                setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                                setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                                setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false);
                              }
                            });
                            console.warn('Prüfe Temp Puffer und Räume');
                            on({id: new RegExp('hm-rpc\\.0\\.OEQ0673599\\.2\\.TEMPERATURE' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d00023290e8\\.temperature' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d0002329079\\.temperature' + "|" + 'fhem\\.0\\.TF_Bad\\.temperature' + "|" + 'javascript\\.0\\.Eigene_Datenpunkte\\.Räume\\.Wohnzimmer\\.Heizung_EIN_AUS' + "|" + 'default'), change: "any"}, function (obj) {
                                // wenn Temp Puffer >35 und Temp  Räume < Soll dann
                              if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) >= 35) {
                                if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20 || parseFloat('fhem.0.TF_Bad.temperature') <= 22.3) {
                                  // Pumpe 1A7 einschalten
                                  console.warn('schalte 1A7 ein  ');
                                  setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, true);
                                }
                              }
                              // Prüfe Temp Puffer und Räume 1A7 ausschalten
                              if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) <= 35) {
                                if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5 && parseFloat('fhem.0.TF_Bad.temperature') >= 22.5) {
                                  // Pumpe 1A7 ausschalten
                                  console.warn('schalte 1A7  aus  ');
                                  setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false);
                                }
                              }
                              // Wenn Temp Eingang Ist > Soll Pumpe UG ausschalten
                              if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5) {
                                setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                              } else if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) {
                                setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                              }
                              // Wenn Temp WZ < Soll Pumpe EG einsschalten
                              console.warn('Wenn Temp WZ <Soll Pumpe EG einschalten');
                              if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23) {
                                console.warn(' Pumpe EG aus');
                                setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                              }
                              if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == true && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) {
                                setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                                console.warn(' Pumpe EG aus');
                              }
                              if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == false && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) {
                                console.warn(' Pumpe EG ein');
                                setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true);
                              }
                              // Wenn Temp Bad< Soll Pumpe OG einsschalten
                              if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) >= 22.5) {
                                setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                              } else if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) <= 22.3) {
                                setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true);
                              }
                            });
                            _tex
                            

                            aber leider funktioniert das nicht

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

                              @Altersrentner:

                              meinst Du so?

                              Die Variable auto zu setzen, ist gut. Die Pumpen müssen aber nur in einem Script ausgeschaltet werden. Die Variable auto muss zu jedem Einschalten der Pumpen ausgewertet werden. Beispiel:

                                } else if (auto && parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) {
                                  setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                                }
                              
                              1 Reply Last reply Reply Quote 1
                              • A
                                Altersrentner last edited by

                                paul53
                                Hallo,
                                Habe es jetzt wie vorgeschlagen in die Heizungssteuerung eingearbeitet,😧
                                Der erste Test mit einem Raum verlief erfolgreich.😊
                                Warte jetzt ab, wie die anderen Räume reagieren.
                                Ist das Skript Auto/Hand noch erforderlich?
                                Es wurde testweise deaktiviert und die Auto / Hand funktioniert über die Heizungssteuerung:

                                var auto, value;
                                
                                
                                // Hier noch Räume OG eintragen
                                // Prüfe Temp Puffer und Räume 1A7 schalten
                                auto = getState("javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik").val;
                                on({id: "javascript.0.Eigene_Datenpunkte.Heizungssteuerung._Hand_Automatik"/*Heizungssteuerung. Hand_Automatik*/, change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  auto = value;
                                  if (!auto) {
                                    setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                                    setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                                    setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                                    setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false);
                                  }
                                });
                                console.warn('Prüfe Temp Puffer und Räume');
                                on({id: new RegExp('hm-rpc\\.0\\.OEQ0673599\\.2\\.TEMPERATURE' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d00023290e8\\.temperature' + "|" + 'mihome\\.0\\.devices\\.weather_v1_158d0002329079\\.temperature' + "|" + 'fhem\\.0\\.TF_Bad\\.temperature' + "|" + 'javascript\\.0\\.Eigene_Datenpunkte\\.Räume\\.Wohnzimmer\\.Heizung_EIN_AUS' + "|" + 'default'), change: "any"}, function (obj) {
                                    // wenn Temp Puffer >35 und Temp  Räume < Soll dann
                                  if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) >= 35) {
                                    if (auto && (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20 || parseFloat('fhem.0.TF_Bad.temperature') <= 22.3)) {
                                      // Pumpe 1A7 einschalten
                                      console.warn('schalte 1A7 ein  ');
                                      setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, true);
                                    }
                                  }
                                  // Prüfe Temp Puffer und Räume 1A7 ausschalten
                                  if (parseFloat(getState("hm-rpc.0.OEQ0673599.2.TEMPERATURE").val) <= 35) {
                                    if (getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val && (parseFloat() >= 23 || parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5 && parseFloat('fhem.0.TF_Bad.temperature') >= 22.5)) {
                                      // Pumpe 1A7 ausschalten
                                      console.warn('schalte 1A7  aus  ');
                                      setState("hm-rpc.2.MEQ1534348.13.STATE"/*Pumpe 1A7.STATE*/, false);
                                    }
                                  }
                                  // Wenn Temp Eingang Ist > Soll Pumpe UG ausschalten
                                  if (parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) >= 20.5) {
                                    setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, false);
                                  } else if (auto && parseFloat(getState("mihome.0.devices.weather_v1_158d0002329079.temperature").val) <= 20) {
                                    setState("hm-rpc.2.MEQ1534510.13.STATE"/*Pumpe UG.STATE*/, true);
                                  }
                                  // Wenn Temp WZ < Soll Pumpe EG einsschalten
                                  console.warn('Wenn Temp WZ <Soll Pumpe EG einschalten');
                                  if (parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) >= 23) {
                                    console.warn(' Pumpe EG aus');
                                    setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                                  }
                                  if (getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == true && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) {
                                    setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, false);
                                    console.warn(' Pumpe EG aus');
                                  }
                                  if (auto && getState("javascript.0.Eigene_Datenpunkte.Räume.Wohnzimmer.Heizung_EIN_AUS").val == false && parseFloat(getState("mihome.0.devices.weather_v1_158d00023290e8.temperature").val) <= 22.9) {
                                    console.warn(' Pumpe EG ein');
                                    setState("hm-rpc.2.MEQ1534348.14.STATE"/*Pumpe EG.STATE*/, true);
                                  }
                                  // Wenn Temp Bad< Soll Pumpe OG einsschalten
                                  if (parseFloat(getState("fhem.0.TF_Bad.temperature").val) >= 22.5) {
                                    setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, false);
                                  } else if (auto && parseFloat(getState("fhem.0.TF_Bad.temperature").val) <= 22.3) {
                                    setState("fhem.0.HeizungspumpeOG.state_switch"/*HeizungspumpeOG state_switch*/, true);
                                  }
                                });
                                
                                

                                Gruß Michael

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

                                  @Altersrentner sagte:

                                  Ist das Skript Auto/Hand noch erforderlich?

                                  Das musst Du wissen, ob es Abhängigkeiten enthält, die in dem anderen Script nicht vorhanden sind.

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

                                    @paul53 said in Auto Hand Blockly schaltet nicht wie gewünscht:

                                    @Altersrentner sagte:

                                    Ist das Skript Auto/Hand noch erforderlich?

                                    Das musst Du wissen, ob es Abhängigkeiten enthält, die in dem anderen Script nicht vorhanden sind.

                                    Hallo,
                                    Das Skript der Heizungssteuerung läuft seit gestern wie gehabt und gewünscht
                                    mit dem integrierten Auto/Hand Modus.
                                    Das ursprüngliche Auto/Hand Skript ist jetzt seit 24 Stunden deaktiviert.
                                    Bis jetzt keine Unregelmäßigkeiten
                                    Damit ist der Betreff geklärt.
                                    Danke für Deine Unterstützung
                                    Freundliche Grüße
                                    Michael

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    711
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly javascript
                                    2
                                    16
                                    498
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo