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

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    5
    1
    129

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    166

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    869

[gelöst] Heizungssteuerung Aquarium

Scheduled Pinned Locked Moved Blockly
12 Posts 3 Posters 650 Views 1 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.
  • AphofisA Offline
    AphofisA Offline
    Aphofis
    wrote on last edited by 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 Reply Last reply
    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 Offline
      Dr. BakteriusD Offline
      Dr. Bakterius
      Most Active
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Reply Last reply
        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 Offline
          Dr. BakteriusD Offline
          Dr. Bakterius
          Most Active
          wrote on last edited by
          #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 Reply Last reply
          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
            wrote on last edited by
            #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 Reply Last reply
            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 Offline
              Dr. BakteriusD Offline
              Dr. Bakterius
              Most Active
              wrote on last edited by
              #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 Reply Last reply
              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
                wrote on last edited by
                #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 Reply Last reply
                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 Offline
                  Dr. BakteriusD Offline
                  Dr. Bakterius
                  Most Active
                  wrote on last edited by 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 Reply Last reply
                  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
                    wrote on last edited by
                    #9

                    @Dr-Bakterius
                    jupp mach ich Danke!

                    1 Reply Last reply
                    0
                    • AphofisA Offline
                      AphofisA Offline
                      Aphofis
                      wrote on last edited by
                      #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 Reply Last reply
                      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
                        wrote on last edited by
                        #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 Reply Last reply
                        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
                          wrote on last edited by
                          #12

                          @paul53
                          Danke! geändert

                          1 Reply Last reply
                          0

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          354

                          Online

                          32.8k

                          Users

                          82.7k

                          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