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. [gelöst] Heizungssteuerung Aquarium

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] Heizungssteuerung Aquarium

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 3 Kommentatoren 649 Aufrufe 1 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.
  • AphofisA Offline
    AphofisA Offline
    Aphofis
    schrieb am zuletzt editiert von Aphofis
    #1

    @paul53

    Kann man das so als Heizungssteuerung nutzen!?

    var Temp_Sensor;
    
    /**
     * Beschreibe diese Funktion …
     */
    function Heizung() {
      if (Temp_Sensor < 25) {
        setState("sonoff.0.Aqua_Power.POWER8"/*Aqua_Power_Heizung*/, true);
        setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, false);
      } else if (Temp_Sensor > 25) {
        setState("sonoff.0.Aqua_Power.POWER8"/*Aqua_Power_Heizung*/, false);
      }
    }
    
    
    // Temp Sensor Aquarium
    Temp_Sensor = getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val;
    on({id: 'sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature', change: "ne"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      Temp_Sensor = (obj.state ? obj.state.val : "");
      Heizung();
    });
    Heizung();
    
    Dr. BakteriusD 1 Antwort Letzte Antwort
    0
    • AphofisA Aphofis

      @paul53

      Kann man das so als Heizungssteuerung nutzen!?

      var Temp_Sensor;
      
      /**
       * Beschreibe diese Funktion …
       */
      function Heizung() {
        if (Temp_Sensor < 25) {
          setState("sonoff.0.Aqua_Power.POWER8"/*Aqua_Power_Heizung*/, true);
          setState("sonoff.0.Aqua_Power.POWER1"/*Aqua_Power_Lüfter*/, false);
        } else if (Temp_Sensor > 25) {
          setState("sonoff.0.Aqua_Power.POWER8"/*Aqua_Power_Heizung*/, false);
        }
      }
      
      
      // Temp Sensor Aquarium
      Temp_Sensor = getState("sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature").val;
      on({id: 'sonoff.0.Aqua_Sensoren.DS18B20-1_Temperature', change: "ne"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        Temp_Sensor = (obj.state ? obj.state.val : "");
        Heizung();
      });
      Heizung();
      
      Dr. BakteriusD Online
      Dr. BakteriusD Online
      Dr. Bakterius
      Most Active
      schrieb am zuletzt editiert von
      #2

      @Aphofis ich bin nicht der JS-Profi, aber ich möchte zu bedenken geben, dass hier die Heizung relativ oft ein- und ausgeschaltet wird. Ist es für dein Aquarium wirklich erforderlich die Temperatur in einem so engen Bereich zu halten? Ich würde erst unter 24.5°C einschalten und über 25.5°C ausschalten.

      Was mir noch aufgefallen ist: du schaltest den Lüfter zwar aus, aber nicht ein. Machst du das nur manuell?

      AphofisA 1 Antwort Letzte Antwort
      0
      • Dr. BakteriusD Dr. Bakterius

        @Aphofis ich bin nicht der JS-Profi, aber ich möchte zu bedenken geben, dass hier die Heizung relativ oft ein- und ausgeschaltet wird. Ist es für dein Aquarium wirklich erforderlich die Temperatur in einem so engen Bereich zu halten? Ich würde erst unter 24.5°C einschalten und über 25.5°C ausschalten.

        Was mir noch aufgefallen ist: du schaltest den Lüfter zwar aus, aber nicht ein. Machst du das nur manuell?

        AphofisA Offline
        AphofisA Offline
        Aphofis
        schrieb am zuletzt editiert von
        #3

        @Dr-Bakterius
        Die Temperaturen so einzustellen, ist vielleicht garnihct verkehrt!
        Doch die Heizung wird doch abgeschaltet.

        Bildschirmfoto 2019-09-22 um 15.37.36.png

        Dr. BakteriusD 1 Antwort Letzte Antwort
        0
        • AphofisA Aphofis

          @Dr-Bakterius
          Die Temperaturen so einzustellen, ist vielleicht garnihct verkehrt!
          Doch die Heizung wird doch abgeschaltet.

          Bildschirmfoto 2019-09-22 um 15.37.36.png

          Dr. BakteriusD Online
          Dr. BakteriusD Online
          Dr. Bakterius
          Most Active
          schrieb am zuletzt editiert von
          #4

          @Aphofis sagte in Heizungssteuerung Aquarium:

          Die Temperaturen so einzustellen, ist vielleicht garnihct verkehrt!
          Doch die Heizung wird doch abgeschaltet.

          Sorry, keine Ahnung was du damit sagen willst.

          AphofisA 1 Antwort Letzte Antwort
          0
          • Dr. BakteriusD Dr. Bakterius

            @Aphofis sagte in Heizungssteuerung Aquarium:

            Die Temperaturen so einzustellen, ist vielleicht garnihct verkehrt!
            Doch die Heizung wird doch abgeschaltet.

            Sorry, keine Ahnung was du damit sagen willst.

            AphofisA Offline
            AphofisA Offline
            Aphofis
            schrieb am zuletzt editiert von
            #5

            @Dr-Bakterius
            Du sagtest doch 24.5 und 25.5 Grad wäre besser.
            Da meine Heizung auch bei 25.5 bis 26 eingeschaltet hatt emit einer normalen steuerung.
            Die Heizung word doch unter 24.5 Grad erst eingeschaltet und über 25.5 Grad wird die Heizung abgeschaltet.

            Dr. BakteriusD 1 Antwort Letzte Antwort
            0
            • AphofisA Aphofis

              @Dr-Bakterius
              Du sagtest doch 24.5 und 25.5 Grad wäre besser.
              Da meine Heizung auch bei 25.5 bis 26 eingeschaltet hatt emit einer normalen steuerung.
              Die Heizung word doch unter 24.5 Grad erst eingeschaltet und über 25.5 Grad wird die Heizung abgeschaltet.

              Dr. BakteriusD Online
              Dr. BakteriusD Online
              Dr. Bakterius
              Most Active
              schrieb am zuletzt editiert von
              #6

              @Aphofis Die Temperatur kannst du wählen wie es deine Fische oder Pflanzen benötigen. Die 24.5 - 25.5°C waren nur ein Beispiel. Es geht darum, dass sich die Heizung nicht ständig ein- und ausschaltet. Wenn du 25°C fix einstellst, wird bei 24.9°C eingeschaltet und bei 25.1°C ausgeschaltet. Viele Sensoren messen schon nicht so genau, also ist es besser die Hysterese etwas größer zu wählen. Es wird also ein Grad aufgeheizt und dann kühlt das Wasser wieder um ein Grad ab bevor neu geheizt wird. Das können natürlich auch 25.5 - 26.5°C sein. Und den meisten Fischen sind auch 2°C oder mehr egal. Musst aber du wissen...

              AphofisA 1 Antwort Letzte Antwort
              0
              • Dr. BakteriusD Dr. Bakterius

                @Aphofis Die Temperatur kannst du wählen wie es deine Fische oder Pflanzen benötigen. Die 24.5 - 25.5°C waren nur ein Beispiel. Es geht darum, dass sich die Heizung nicht ständig ein- und ausschaltet. Wenn du 25°C fix einstellst, wird bei 24.9°C eingeschaltet und bei 25.1°C ausgeschaltet. Viele Sensoren messen schon nicht so genau, also ist es besser die Hysterese etwas größer zu wählen. Es wird also ein Grad aufgeheizt und dann kühlt das Wasser wieder um ein Grad ab bevor neu geheizt wird. Das können natürlich auch 25.5 - 26.5°C sein. Und den meisten Fischen sind auch 2°C oder mehr egal. Musst aber du wissen...

                AphofisA Offline
                AphofisA Offline
                Aphofis
                schrieb am zuletzt editiert von
                #7

                @Dr-Bakterius
                Na klar ist es jedem überlassen, was er einstellt.
                Doch war es eher eine Frage, ob meine Steuerung so korrekt schaltet. die Temp Sensoren haben eine genauigkeitsabweichung von 0,1°C

                Dr. BakteriusD 1 Antwort Letzte Antwort
                0
                • AphofisA Aphofis

                  @Dr-Bakterius
                  Na klar ist es jedem überlassen, was er einstellt.
                  Doch war es eher eine Frage, ob meine Steuerung so korrekt schaltet. die Temp Sensoren haben eine genauigkeitsabweichung von 0,1°C

                  Dr. BakteriusD Online
                  Dr. BakteriusD Online
                  Dr. Bakterius
                  Most Active
                  schrieb am zuletzt editiert von Dr. Bakterius
                  #8

                  @Aphofis sagte in Heizungssteuerung Aquarium:

                  Doch war es eher eine Frage, ob meine Steuerung so korrekt schaltet.

                  Dann solltest du das auch so schreiben und nicht so kryptisch.

                  Du hast das zwar etwas umständlich gemacht (wozu eine Funktion?), sollte aber funktionieren. Der Lüfter wird weiterhin NICHT automatisch eingeschaltet! Probier es einfach aus...

                  AphofisA 1 Antwort Letzte Antwort
                  0
                  • Dr. BakteriusD Dr. Bakterius

                    @Aphofis sagte in Heizungssteuerung Aquarium:

                    Doch war es eher eine Frage, ob meine Steuerung so korrekt schaltet.

                    Dann solltest du das auch so schreiben und nicht so kryptisch.

                    Du hast das zwar etwas umständlich gemacht (wozu eine Funktion?), sollte aber funktionieren. Der Lüfter wird weiterhin NICHT automatisch eingeschaltet! Probier es einfach aus...

                    AphofisA Offline
                    AphofisA Offline
                    Aphofis
                    schrieb am zuletzt editiert von
                    #9

                    @Dr-Bakterius
                    jupp mach ich Danke!

                    1 Antwort Letzte Antwort
                    0
                    • AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      schrieb am zuletzt editiert von
                      #10

                      Meine aktuelle Heizungssteuerung sieht jetzt so aus!

                      <xml xmlns="http://www.w3.org/1999/xhtml">
                        <block type="on_ext" id="5=J}G|Vtnwu`Z.`}nKZ@" x="-2312" y="-912">
                          <mutation items="1"></mutation>
                          <field name="CONDITION">any</field>
                          <field name="ACK_CONDITION"></field>
                          <value name="OID0">
                            <shadow type="field_oid" id="P)B|shc_ivhAvX2mbxQT">
                              <field name="oid">sonoff.0.Aqua_Sensoren.DS18B20_Temperature</field>
                            </shadow>
                          </value>
                          <statement name="STATEMENT">
                            <block type="controls_if" id="!ZB-C3F4a~jvkb.D|D8w">
                              <mutation elseif="1"></mutation>
                              <value name="IF0">
                                <block type="logic_operation" id="VKC1`9[p8Rr*BleBJ}!}" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="+5B/6!tn8y}VfhP)N{LE">
                                      <field name="OP">LT</field>
                                      <value name="A">
                                        <block type="on_source" id="2|8a8bCC[B?5W2V#uBz2">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="E/Xf-n88Sy#_}|g?k}R2">
                                          <field name="NUM">24.5</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="$xVt!a!|wcHU2JH|qS!a">
                                      <field name="OP">LTE</field>
                                      <value name="A">
                                        <block type="on_source" id="0qq08Dd?lF{v[7~.WL+K">
                                          <field name="ATTR">oldState.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="6[:n#~82{uE/cYhm.pr7">
                                          <field name="NUM">25</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="control" id="mAV9IFI)yXjMtXo2M]D2">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">sonoff.0.Aqua_Power.POWER8</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id=".?ucpaU|BCH~wpk^BXcN">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                              <value name="IF1">
                                <block type="logic_operation" id="G:|JIMsX)7=HbrREq8u@" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="37fhU6%N)+/~AU_5WRy1">
                                      <field name="OP">GT</field>
                                      <value name="A">
                                        <block type="on_source" id="|wgPOLd/d;5|)^`s0E@M">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="vgmNRxtx~R$B1wD0Vo?h">
                                          <field name="NUM">25.5</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_compare" id="AL;l=N%]-}0YJ78+GMj]">
                                      <field name="OP">GTE</field>
                                      <value name="A">
                                        <block type="on_source" id="KTsDWA6m65IMm8g4WuPB">
                                          <field name="ATTR">oldState.val</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="math_number" id="(y5xD-^AIZ,8t=!,z[OE">
                                          <field name="NUM">25</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO1">
                                <block type="control" id="s7=@{`70/E1ZK[]?RR7J">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">sonoff.0.Aqua_Power.POWER8</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="IaSuQt6pqc4FFX%j16(8">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                </block>
                              </statement>
                            </block>
                          </statement>
                        </block>
                      </xml>
                      

                      Bildschirmfoto 2019-10-17 um 18.03.20.png

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • AphofisA Aphofis

                        Meine aktuelle Heizungssteuerung sieht jetzt so aus!

                        <xml xmlns="http://www.w3.org/1999/xhtml">
                          <block type="on_ext" id="5=J}G|Vtnwu`Z.`}nKZ@" x="-2312" y="-912">
                            <mutation items="1"></mutation>
                            <field name="CONDITION">any</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                              <shadow type="field_oid" id="P)B|shc_ivhAvX2mbxQT">
                                <field name="oid">sonoff.0.Aqua_Sensoren.DS18B20_Temperature</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="!ZB-C3F4a~jvkb.D|D8w">
                                <mutation elseif="1"></mutation>
                                <value name="IF0">
                                  <block type="logic_operation" id="VKC1`9[p8Rr*BleBJ}!}" inline="false">
                                    <field name="OP">AND</field>
                                    <value name="A">
                                      <block type="logic_compare" id="+5B/6!tn8y}VfhP)N{LE">
                                        <field name="OP">LT</field>
                                        <value name="A">
                                          <block type="on_source" id="2|8a8bCC[B?5W2V#uBz2">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="E/Xf-n88Sy#_}|g?k}R2">
                                            <field name="NUM">24.5</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_compare" id="$xVt!a!|wcHU2JH|qS!a">
                                        <field name="OP">LTE</field>
                                        <value name="A">
                                          <block type="on_source" id="0qq08Dd?lF{v[7~.WL+K">
                                            <field name="ATTR">oldState.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="6[:n#~82{uE/cYhm.pr7">
                                            <field name="NUM">25</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="mAV9IFI)yXjMtXo2M]D2">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">sonoff.0.Aqua_Power.POWER8</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id=".?ucpaU|BCH~wpk^BXcN">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <value name="IF1">
                                  <block type="logic_operation" id="G:|JIMsX)7=HbrREq8u@" inline="false">
                                    <field name="OP">AND</field>
                                    <value name="A">
                                      <block type="logic_compare" id="37fhU6%N)+/~AU_5WRy1">
                                        <field name="OP">GT</field>
                                        <value name="A">
                                          <block type="on_source" id="|wgPOLd/d;5|)^`s0E@M">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="vgmNRxtx~R$B1wD0Vo?h">
                                            <field name="NUM">25.5</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_compare" id="AL;l=N%]-}0YJ78+GMj]">
                                        <field name="OP">GTE</field>
                                        <value name="A">
                                          <block type="on_source" id="KTsDWA6m65IMm8g4WuPB">
                                            <field name="ATTR">oldState.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="(y5xD-^AIZ,8t=!,z[OE">
                                            <field name="NUM">25</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO1">
                                  <block type="control" id="s7=@{`70/E1ZK[]?RR7J">
                                    <mutation delay_input="false"></mutation>
                                    <field name="OID">sonoff.0.Aqua_Power.POWER8</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="IaSuQt6pqc4FFX%j16(8">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </xml>
                        

                        Bildschirmfoto 2019-10-17 um 18.03.20.png

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

                        @Aphofis sagte:

                        Meine aktuelle Heizungssteuerung sieht jetzt so aus!

                        NIcht so gut (sendet zu oft an den Heizungaktor). Besser so (mit 1 K Hysterese):

                        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

                        AphofisA 1 Antwort Letzte Antwort
                        1
                        • paul53P paul53

                          @Aphofis sagte:

                          Meine aktuelle Heizungssteuerung sieht jetzt so aus!

                          NIcht so gut (sendet zu oft an den Heizungaktor). Besser so (mit 1 K Hysterese):

                          Blockly_temp.JPG

                          AphofisA Offline
                          AphofisA Offline
                          Aphofis
                          schrieb am zuletzt editiert von
                          #12

                          @paul53
                          Danke! geändert

                          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

                          538

                          Online

                          32.7k

                          Benutzer

                          82.4k

                          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