Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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] Logikbaustein Verständnisfrage (Zahl zw. min/max)

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    288

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

[gelöst] Logikbaustein Verständnisfrage (Zahl zw. min/max)

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
22 Beiträge 4 Kommentatoren 2.0k Aufrufe 3 Beobachtet
  • Ä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.
  • HomoranH Homoran

    @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

    Damit kannst Du prüfen, ob eine Variable ("eigenverbauch") zwischen 0 und 100 (oder halt anderer Grenzen) liegt.

    klar, Aber ob jetzt Variable oder eine Zahl zur Verdeutlichung, deswegen

    @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

    Selbst das "<=" ist eigentlich schon unnötig.

    kann doch auch ein gleich geprüft werden sollen

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von Codierknecht
    #5

    @homoran sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

    kann doch auch ein gleich geprüft werden sollen

    Dann liegt der Wert aber nicht "dazwischen".
    Deswegen ja auch mein einschränkendes "eigentlich". In Einzelfällen kann das sicher auch mal nötig sein.

    Ich hoffe aber, dass dem TE nun die Anwendung und Logik klarer geworden sind.

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    HomoranH 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @homoran sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

      kann doch auch ein gleich geprüft werden sollen

      Dann liegt der Wert aber nicht "dazwischen".
      Deswegen ja auch mein einschränkendes "eigentlich". In Einzelfällen kann das sicher auch mal nötig sein.

      Ich hoffe aber, dass dem TE nun die Anwendung und Logik klarer geworden sind.

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #6

      @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

      Dann liegt der Wert aber nicht "dazwischen".

      ok!
      Das ist natürlich (über)korrekt

      kein Support per PN! - Fragen im Forum stellen -
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

        Dann liegt der Wert aber nicht "dazwischen".

        ok!
        Das ist natürlich (über)korrekt

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von Codierknecht
        #7

        @homoran
        Manchmal bin ich auch Erbsenzähler 😁 😁 😁

        0a1d43a2-44c4-440d-a463-16c3365473da-image.png

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        metaxaM 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @metaxa

          Der Block ist für 1 Variable und 2 Konstanten gedacht.
          209b96c6-36ca-4456-b0f5-efe3ca98917b-image.png
          Damit kannst Du prüfen, ob eine Variable ("eigenverbauch") zwischen 0 und 100 (oder halt anderer Grenzen) liegt.
          Dafür braucht es lediglich "<". Selbst das "<=" ist eigentlich schon unnötig.

          Das Minimum (hier 0) ist kleiner als die Variable. Diese ist wiederum kleiner als das Maximum (hier 100).
          Der Wert liegt also zwischen Minimum und Maximum.

          Im Javascript wird das übrigens zu:

          if (0 < eigenverbrauch && eigenverbrauch < 100) {
          }
          
          metaxaM Offline
          metaxaM Offline
          metaxa
          schrieb am zuletzt editiert von
          #8

          @codierknecht & @MartinP & @Homoran 'kopfkratz'

          Lieben Dank für die Erklärungen und ja, ein wenig Klarer :-)

          Ihr habt natürlich völlig recht, mich irretiert nur das fehlende "="

          8514d088-df3e-4bef-a7b9-fe1c46e94271-image.png
          Blockly als Code:

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable id="wcKSpFFh`tZ}){]1^!iH">a</variable>
            </variables>
            <block type="variables_set" id="x:i~VR=F-Soq@6qlALi:" x="-162" y="63">
              <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
              <value name="VALUE">
                <block type="math_number" id="#=0xTrzd.3?[Vwp}Smol">
                  <field name="NUM">-23</field>
                </block>
              </value>
              <next>
                <block type="controls_if" id="S-XPryf5yt0opA1K.3ou">
                  <mutation else="1"></mutation>
                  <value name="IF0">
                    <block type="logic_between" id="W;rz=?wr+X#o_(.St9-=">
                      <field name="MIN_OPERATOR">LE</field>
                      <field name="MAX_OPERATOR">LE</field>
                      <value name="MIN">
                        <block type="math_number" id="6m]fC!w[T+Aa^*5:yIrS">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <value name="VALUE">
                        <shadow type="math_number" id="E-HK/0G8i!z@lG1G{GLr">
                          <field name="NUM">42</field>
                        </shadow>
                        <block type="variables_get" id="GTqI|2%J-:q$B9G$RUc7">
                          <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
                        </block>
                      </value>
                      <value name="MAX">
                        <block type="math_number" id="DBMh,tTG8G?|n6[A4QPO">
                          <field name="NUM">100</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="debug" id="fAF7SAfn{-wC6+a5QU!P">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text" id="J#dGU:r~1r]$Z1+hteet">
                          <field name="TEXT">a ist in der Range</field>
                        </shadow>
                      </value>
                    </block>
                  </statement>
                  <statement name="ELSE">
                    <block type="debug" id="S_w+.Yl*LiEz*]Z6`ic-">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text" id="P]*Qt1-mq=BSxCe2A42s">
                          <field name="TEXT">a ist außer der Range</field>
                        </shadow>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </xml>
          

          HomoranH MartinPM 2 Antworten Letzte Antwort
          0
          • metaxaM metaxa

            @codierknecht & @MartinP & @Homoran 'kopfkratz'

            Lieben Dank für die Erklärungen und ja, ein wenig Klarer :-)

            Ihr habt natürlich völlig recht, mich irretiert nur das fehlende "="

            8514d088-df3e-4bef-a7b9-fe1c46e94271-image.png
            Blockly als Code:

            <xml xmlns="https://developers.google.com/blockly/xml">
              <variables>
                <variable id="wcKSpFFh`tZ}){]1^!iH">a</variable>
              </variables>
              <block type="variables_set" id="x:i~VR=F-Soq@6qlALi:" x="-162" y="63">
                <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
                <value name="VALUE">
                  <block type="math_number" id="#=0xTrzd.3?[Vwp}Smol">
                    <field name="NUM">-23</field>
                  </block>
                </value>
                <next>
                  <block type="controls_if" id="S-XPryf5yt0opA1K.3ou">
                    <mutation else="1"></mutation>
                    <value name="IF0">
                      <block type="logic_between" id="W;rz=?wr+X#o_(.St9-=">
                        <field name="MIN_OPERATOR">LE</field>
                        <field name="MAX_OPERATOR">LE</field>
                        <value name="MIN">
                          <block type="math_number" id="6m]fC!w[T+Aa^*5:yIrS">
                            <field name="NUM">0</field>
                          </block>
                        </value>
                        <value name="VALUE">
                          <shadow type="math_number" id="E-HK/0G8i!z@lG1G{GLr">
                            <field name="NUM">42</field>
                          </shadow>
                          <block type="variables_get" id="GTqI|2%J-:q$B9G$RUc7">
                            <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
                          </block>
                        </value>
                        <value name="MAX">
                          <block type="math_number" id="DBMh,tTG8G?|n6[A4QPO">
                            <field name="NUM">100</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <statement name="DO0">
                      <block type="debug" id="fAF7SAfn{-wC6+a5QU!P">
                        <field name="Severity">log</field>
                        <value name="TEXT">
                          <shadow type="text" id="J#dGU:r~1r]$Z1+hteet">
                            <field name="TEXT">a ist in der Range</field>
                          </shadow>
                        </value>
                      </block>
                    </statement>
                    <statement name="ELSE">
                      <block type="debug" id="S_w+.Yl*LiEz*]Z6`ic-">
                        <field name="Severity">log</field>
                        <value name="TEXT">
                          <shadow type="text" id="P]*Qt1-mq=BSxCe2A42s">
                            <field name="TEXT">a ist außer der Range</field>
                          </shadow>
                        </value>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </xml>
            

            HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #9

            @metaxa ich weiss nicht ob die korrekte Aussage von @Codierknecht auch beabsichtigt ist.
            Ich fände es sinnvoller wenn die Beschreibung nicht "zwischen" sondern "in den Grenzen von" lauten würde und damit auch <= und >= verfügbar wären.

            kein Support per PN! - Fragen im Forum stellen -
            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            metaxaM CodierknechtC 2 Antworten Letzte Antwort
            1
            • HomoranH Homoran

              @metaxa ich weiss nicht ob die korrekte Aussage von @Codierknecht auch beabsichtigt ist.
              Ich fände es sinnvoller wenn die Beschreibung nicht "zwischen" sondern "in den Grenzen von" lauten würde und damit auch <= und >= verfügbar wären.

              metaxaM Offline
              metaxaM Offline
              metaxa
              schrieb am zuletzt editiert von metaxa
              #10

              9671f029-8936-4c7a-8a05-1d25ea50e9b6-image.png
              So funktioniert es eben nicht

              4aa4df88-d69d-465f-bf77-cd47007632fa-image.png

              Deswegen intuitiv auch "<=".

              1 Antwort Letzte Antwort
              0
              • HomoranH Homoran

                @metaxa ich weiss nicht ob die korrekte Aussage von @Codierknecht auch beabsichtigt ist.
                Ich fände es sinnvoller wenn die Beschreibung nicht "zwischen" sondern "in den Grenzen von" lauten würde und damit auch <= und >= verfügbar wären.

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #11

                @homoran
                Es ist sowohl "<" als auch "<=" verfügbar.

                dcb4c44f-1f44-44a1-87f2-f40d853b2eda-image.png

                @metaxa
                Wenn die 100 auch "erlaubt" sind, nimm "<="

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                HomoranH 1 Antwort Letzte Antwort
                1
                • CodierknechtC Codierknecht

                  @homoran
                  Es ist sowohl "<" als auch "<=" verfügbar.

                  dcb4c44f-1f44-44a1-87f2-f40d853b2eda-image.png

                  @metaxa
                  Wenn die 100 auch "erlaubt" sind, nimm "<="

                  HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #12

                  @codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?

                  kein Support per PN! - Fragen im Forum stellen -
                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  metaxaM CodierknechtC 2 Antworten Letzte Antwort
                  0
                  • CodierknechtC Codierknecht

                    @homoran
                    Manchmal bin ich auch Erbsenzähler 😁 😁 😁

                    0a1d43a2-44c4-440d-a463-16c3365473da-image.png

                    metaxaM Offline
                    metaxaM Offline
                    metaxa
                    schrieb am zuletzt editiert von
                    #13

                    @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                    @homoran
                    Manchmal bin ich auch Erbsenzähler 😁 😁 😁

                    0a1d43a2-44c4-440d-a463-16c3365473da-image.png

                    😁 😀 😁

                    1 Antwort Letzte Antwort
                    1
                    • HomoranH Homoran

                      @codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?

                      metaxaM Offline
                      metaxaM Offline
                      metaxa
                      schrieb am zuletzt editiert von
                      #14

                      @homoran
                      249c0cab-1782-440b-9b8d-34008330b5ee-image.png

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Homoran

                        @codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?

                        CodierknechtC Online
                        CodierknechtC Online
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @homoran sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                        @codierknecht und wenn jetzt noch die 0 zusätzlich erlaubt sein soll?

                        1640d8e8-061c-4ab7-8a18-1619fafa6a19-image.png

                        Das "zwischen" ist tatsächlich Definitionssache.
                        "In den Grenzen von" trifft's da vielleicht wirklich besser.

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Antwort Letzte Antwort
                        0
                        • metaxaM metaxa

                          @codierknecht & @MartinP & @Homoran 'kopfkratz'

                          Lieben Dank für die Erklärungen und ja, ein wenig Klarer :-)

                          Ihr habt natürlich völlig recht, mich irretiert nur das fehlende "="

                          8514d088-df3e-4bef-a7b9-fe1c46e94271-image.png
                          Blockly als Code:

                          <xml xmlns="https://developers.google.com/blockly/xml">
                            <variables>
                              <variable id="wcKSpFFh`tZ}){]1^!iH">a</variable>
                            </variables>
                            <block type="variables_set" id="x:i~VR=F-Soq@6qlALi:" x="-162" y="63">
                              <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
                              <value name="VALUE">
                                <block type="math_number" id="#=0xTrzd.3?[Vwp}Smol">
                                  <field name="NUM">-23</field>
                                </block>
                              </value>
                              <next>
                                <block type="controls_if" id="S-XPryf5yt0opA1K.3ou">
                                  <mutation else="1"></mutation>
                                  <value name="IF0">
                                    <block type="logic_between" id="W;rz=?wr+X#o_(.St9-=">
                                      <field name="MIN_OPERATOR">LE</field>
                                      <field name="MAX_OPERATOR">LE</field>
                                      <value name="MIN">
                                        <block type="math_number" id="6m]fC!w[T+Aa^*5:yIrS">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                      <value name="VALUE">
                                        <shadow type="math_number" id="E-HK/0G8i!z@lG1G{GLr">
                                          <field name="NUM">42</field>
                                        </shadow>
                                        <block type="variables_get" id="GTqI|2%J-:q$B9G$RUc7">
                                          <field name="VAR" id="wcKSpFFh`tZ}){]1^!iH">a</field>
                                        </block>
                                      </value>
                                      <value name="MAX">
                                        <block type="math_number" id="DBMh,tTG8G?|n6[A4QPO">
                                          <field name="NUM">100</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <statement name="DO0">
                                    <block type="debug" id="fAF7SAfn{-wC6+a5QU!P">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="J#dGU:r~1r]$Z1+hteet">
                                          <field name="TEXT">a ist in der Range</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </statement>
                                  <statement name="ELSE">
                                    <block type="debug" id="S_w+.Yl*LiEz*]Z6`ic-">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                        <shadow type="text" id="P]*Qt1-mq=BSxCe2A42s">
                                          <field name="TEXT">a ist außer der Range</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </xml>
                          

                          MartinPM Online
                          MartinPM Online
                          MartinP
                          schrieb am zuletzt editiert von MartinP
                          #16

                          @metaxa diese Schreibweise a0ec5e17-d37d-45b0-be2a-dedf46811a2b-grafik.png ist die Kombination auch "<="

                          Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                          Auch, wenn man links einen größeren Wert als rechts eingibt, ändert sich die beschränkte Auswahl nicht entsprechend ...

                          c03d0a4e-bac1-4364-b196-a318294de332-grafik.png

                          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                          Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                          Linux pve 6.17.9-1-pve
                          6 GByte RAM für den Container
                          Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                          Remote-Access über Wireguard der Fritzbox

                          HomoranH CodierknechtC 2 Antworten Letzte Antwort
                          1
                          • MartinPM MartinP

                            @metaxa diese Schreibweise a0ec5e17-d37d-45b0-be2a-dedf46811a2b-grafik.png ist die Kombination auch "<="

                            Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                            Auch, wenn man links einen größeren Wert als rechts eingibt, ändert sich die beschränkte Auswahl nicht entsprechend ...

                            c03d0a4e-bac1-4364-b196-a318294de332-grafik.png

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #17

                            @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                            Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                            jepp!
                            Das ist anscheinend der Punkt

                            kein Support per PN! - Fragen im Forum stellen -
                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            0
                            • MartinPM MartinP

                              @metaxa diese Schreibweise a0ec5e17-d37d-45b0-be2a-dedf46811a2b-grafik.png ist die Kombination auch "<="

                              Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                              Auch, wenn man links einen größeren Wert als rechts eingibt, ändert sich die beschränkte Auswahl nicht entsprechend ...

                              c03d0a4e-bac1-4364-b196-a318294de332-grafik.png

                              CodierknechtC Online
                              CodierknechtC Online
                              Codierknecht
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #18

                              @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                              Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                              Was eigentlich auch ziemlich logisch erscheint ;-)
                              OK - außer vielleicht in Sprachen, die von rechts nach links lesen.

                              Es gibt ja auch Leute, die Formulieren ein if so:

                              if (42 == var)
                              

                              Also ob ein Wert der Variablen entspricht.

                              Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:

                              if (var == 42)
                              

                              Ich persönlich finde die erste Variante ein wenig seltsam.
                              Aber auch das ist Geschmacksache.

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi
                              Zabbix Certified Specialist
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              HomoranH metaxaM MartinPM 3 Antworten Letzte Antwort
                              0
                              • CodierknechtC Codierknecht

                                @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                                Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                                Was eigentlich auch ziemlich logisch erscheint ;-)
                                OK - außer vielleicht in Sprachen, die von rechts nach links lesen.

                                Es gibt ja auch Leute, die Formulieren ein if so:

                                if (42 == var)
                                

                                Also ob ein Wert der Variablen entspricht.

                                Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:

                                if (var == 42)
                                

                                Ich persönlich finde die erste Variante ein wenig seltsam.
                                Aber auch das ist Geschmacksache.

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von Homoran
                                #19

                                @codierknecht ich hab da mal was vorbereitet :-)

                                hab's erstmal wieder deaktiviert
                                Screenshot_20240219-120805_Firefox.jpg

                                kein Support per PN! - Fragen im Forum stellen -
                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Antwort Letzte Antwort
                                0
                                • CodierknechtC Codierknecht

                                  @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                                  Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                                  Was eigentlich auch ziemlich logisch erscheint ;-)
                                  OK - außer vielleicht in Sprachen, die von rechts nach links lesen.

                                  Es gibt ja auch Leute, die Formulieren ein if so:

                                  if (42 == var)
                                  

                                  Also ob ein Wert der Variablen entspricht.

                                  Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:

                                  if (var == 42)
                                  

                                  Ich persönlich finde die erste Variante ein wenig seltsam.
                                  Aber auch das ist Geschmacksache.

                                  metaxaM Offline
                                  metaxaM Offline
                                  metaxa
                                  schrieb am zuletzt editiert von
                                  #20

                                  @codierknecht sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                                  Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:
                                  if (var == 42)

                                  Ich persönlich finde die erste Variante ein wenig seltsam.
                                  Aber auch das ist Geschmacksache.

                                  Perfekt! Genau da lag mein Unverständnis!

                                  Lieben Dank für diese spontane und rege Debatte!!!
                                  mxa

                                  1 Antwort Letzte Antwort
                                  1
                                  • CodierknechtC Codierknecht

                                    @martinp sagte in Logikbaustein Verständnisfrage (if Zahl zw. min/max):

                                    Die Konvention scheint bei diesem "Range" Vergleich zu sein, dass links die unteren Grenze des Range zu stehen hat, und rechts die obere.

                                    Was eigentlich auch ziemlich logisch erscheint ;-)
                                    OK - außer vielleicht in Sprachen, die von rechts nach links lesen.

                                    Es gibt ja auch Leute, die Formulieren ein if so:

                                    if (42 == var)
                                    

                                    Also ob ein Wert der Variablen entspricht.

                                    Die meisten prüfen aber eher, ob die Variable einem Wert entspricht:

                                    if (var == 42)
                                    

                                    Ich persönlich finde die erste Variante ein wenig seltsam.
                                    Aber auch das ist Geschmacksache.

                                    MartinPM Online
                                    MartinPM Online
                                    MartinP
                                    schrieb am zuletzt editiert von MartinP
                                    #21

                                    @codierknecht Vor JAHREN habe ich mal ein Buch über C-Programmierung gelesen, da wurde geraten, die Konstante eher auf die linke Seite der Abfrage zu stellen:

                                    Wenn man versehentlich statt "(var==42)" "(var=42)" schreibt, gibt es keinen Fehler, aber bei (42=var) gibt es einen Fehler ... Habe ich aber eher auch nur selten praktiziert ...

                                    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                    Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                    Linux pve 6.17.9-1-pve
                                    6 GByte RAM für den Container
                                    Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                    Remote-Access über Wireguard der Fritzbox

                                    CodierknechtC 1 Antwort Letzte Antwort
                                    0
                                    • MartinPM MartinP

                                      @codierknecht Vor JAHREN habe ich mal ein Buch über C-Programmierung gelesen, da wurde geraten, die Konstante eher auf die linke Seite der Abfrage zu stellen:

                                      Wenn man versehentlich statt "(var==42)" "(var=42)" schreibt, gibt es keinen Fehler, aber bei (42=var) gibt es einen Fehler ... Habe ich aber eher auch nur selten praktiziert ...

                                      CodierknechtC Online
                                      CodierknechtC Online
                                      Codierknecht
                                      Developer Most Active
                                      schrieb am zuletzt editiert von
                                      #22

                                      @martinp
                                      Ja - da (also in C, C++, C#, JS usw.) macht das sogar Sinn.
                                      Aber meine Kernkompetenz ist eigentlich Delphi - da wird eine Zuweisung als := formuliert.
                                      So kann da auch nix passieren ;-)

                                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                      HmIP|ZigBee|Tasmota|Unifi
                                      Zabbix Certified Specialist
                                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                      1 Antwort Letzte Antwort
                                      0

                                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                      Registrieren Anmelden
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      589

                                      Online

                                      32.8k

                                      Benutzer

                                      82.8k

                                      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