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.6k

[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 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
    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 Offline
        Dr. BakteriusD Offline
        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 Offline
            Dr. BakteriusD Offline
            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 Offline
                Dr. BakteriusD Offline
                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

                        524

                        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