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. Monat als Bedingung

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    506

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.6k

Monat als Bedingung

Geplant Angeheftet Gesperrt Verschoben Blockly
23 Beiträge 5 Kommentatoren 2.1k Aufrufe 3 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.
  • haus-automatisierungH haus-automatisierung

    @ionar sagte in Monat als Bedingung:

    Die Blöcke verstehe ich nicht ganz

    Was verstehst Du denn nicht? Es wird einfach geschaut, ob der aktuelle Monat in der Liste der von Dir definierten Monate vorkommt, oder nicht.

    @ionar sagte in Monat als Bedingung:

    Vielen Dank!

    Ich freue mich über einen Upvote des Beitrags, wenn es hilfreich war :)

    I Offline
    I Offline
    ionar
    schrieb am zuletzt editiert von
    #5

    @haus-automatisierung
    Die Liste verstehe ich noch, konnte ich auch gerade mit Debug Output mit und ohne "10" in der Liste testen, um es zu verstehen.
    Aber das davor:

    "Wenn größer als Null und der aktuelle Monat als Zahl (dieser Monat 10) in der Liste 5-9 vorkommt, dann [...]"

    Ist das so richtig? Vielen Dank auf jeden Fall!

    liv-in-skyL CodierknechtC 2 Antworten Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #6

      https://forum.iobroker.net/post/874999

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Antwort Letzte Antwort
      1
      • I ionar

        @haus-automatisierung
        Die Liste verstehe ich noch, konnte ich auch gerade mit Debug Output mit und ohne "10" in der Liste testen, um es zu verstehen.
        Aber das davor:

        "Wenn größer als Null und der aktuelle Monat als Zahl (dieser Monat 10) in der Liste 5-9 vorkommt, dann [...]"

        Ist das so richtig? Vielen Dank auf jeden Fall!

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #7

        @ionar
        sowas war erst gestern im forum https://forum.iobroker.net/post/874999

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        1
        • I ionar

          @haus-automatisierung
          Die Liste verstehe ich noch, konnte ich auch gerade mit Debug Output mit und ohne "10" in der Liste testen, um es zu verstehen.
          Aber das davor:

          "Wenn größer als Null und der aktuelle Monat als Zahl (dieser Monat 10) in der Liste 5-9 vorkommt, dann [...]"

          Ist das so richtig? Vielen Dank auf jeden Fall!

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

          @ionar sagte in Monat als Bedingung:

          @haus-automatisierung
          Die Liste verstehe ich noch, konnte ich auch gerade mit Debug Output mit und ohne "10" in der Liste testen, um es zu verstehen.
          Aber das davor:

          "Wenn größer als Null und der aktuelle Monat als Zahl (dieser Monat 10) in der Liste 5-9 vorkommt, dann [...]"

          Ist das so richtig? Vielen Dank auf jeden Fall!

          "Monat als Zahl" liefert einfach den Zahlenwert des aktuellen Monats ... im Moment also eine "10".
          "Suche ersten Auftreten" liefert die Position dieses Zahlenwertes in der vorgegeben Liste.
          In einer Liste "5,6,7,8,9" würde das Ergebnis "0" "-1" lauten (0-basierter Index). Der Wert ist nicht enthalten.
          Besteht die Liste aus den Werten "5,6,7,8,9,10", kommt als Ergebnis eine "6" "5" zurück.

          Alles was größer oder gleich 0 ist bedeutet demnach schlichtweg, dass der gesuchte Wert in der Liste enthalten ist.
          Darauf kannst Du dann reagieren und das "falls/sonst" mit Leben füllen.

          Wenn die gewünschte Liste lediglich Monate von-bis enthält, ist das hier natürlich einfacher und vermutlich verständlicher: https://forum.iobroker.net/post/874999

          "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

          haus-automatisierungH 1 Antwort Letzte Antwort
          2
          • CodierknechtC Codierknecht

            @ionar sagte in Monat als Bedingung:

            @haus-automatisierung
            Die Liste verstehe ich noch, konnte ich auch gerade mit Debug Output mit und ohne "10" in der Liste testen, um es zu verstehen.
            Aber das davor:

            "Wenn größer als Null und der aktuelle Monat als Zahl (dieser Monat 10) in der Liste 5-9 vorkommt, dann [...]"

            Ist das so richtig? Vielen Dank auf jeden Fall!

            "Monat als Zahl" liefert einfach den Zahlenwert des aktuellen Monats ... im Moment also eine "10".
            "Suche ersten Auftreten" liefert die Position dieses Zahlenwertes in der vorgegeben Liste.
            In einer Liste "5,6,7,8,9" würde das Ergebnis "0" "-1" lauten (0-basierter Index). Der Wert ist nicht enthalten.
            Besteht die Liste aus den Werten "5,6,7,8,9,10", kommt als Ergebnis eine "6" "5" zurück.

            Alles was größer oder gleich 0 ist bedeutet demnach schlichtweg, dass der gesuchte Wert in der Liste enthalten ist.
            Darauf kannst Du dann reagieren und das "falls/sonst" mit Leben füllen.

            Wenn die gewünschte Liste lediglich Monate von-bis enthält, ist das hier natürlich einfacher und vermutlich verständlicher: https://forum.iobroker.net/post/874999

            haus-automatisierungH Online
            haus-automatisierungH Online
            haus-automatisierung
            Developer Most Active
            schrieb am zuletzt editiert von
            #9

            @codierknecht sagte in Monat als Bedingung:

            Alles was größer oder gleich 0 ist bedeutet demnach schlichtweg, dass der gesuchte Wert in der Liste enthalten ist.

            Wenn man .indexOf() kennt, dann könnte man das denken.
            Leider rechnet der Blockly-Baustein +1. Also > 0 bedeutet gefunden und == 0 wäre nicht gefunden. Finde ich auch verwirrend. Man möchte wohl den Nutzern das "Index fängt bei 0 an"-Thema vereinfachen.

            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
            📚 Meine inoffizielle ioBroker Dokumentation

            CodierknechtC 1 Antwort Letzte Antwort
            2
            • haus-automatisierungH haus-automatisierung

              @codierknecht sagte in Monat als Bedingung:

              Alles was größer oder gleich 0 ist bedeutet demnach schlichtweg, dass der gesuchte Wert in der Liste enthalten ist.

              Wenn man .indexOf() kennt, dann könnte man das denken.
              Leider rechnet der Blockly-Baustein +1. Also > 0 bedeutet gefunden und == 0 wäre nicht gefunden. Finde ich auch verwirrend. Man möchte wohl den Nutzern das "Index fängt bei 0 an"-Thema vereinfachen.

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

              @haus-automatisierung sagte in Monat als Bedingung:

              @codierknecht sagte in Monat als Bedingung:

              Alles was größer oder gleich 0 ist bedeutet demnach schlichtweg, dass der gesuchte Wert in der Liste enthalten ist.

              Wenn man .indexOf() kennt, dann könnte man das denken.
              Leider rechnet der Blockly-Baustein +1. Also > 0 bedeutet gefunden und == 0 wäre nicht gefunden. Finde ich auch verwirrend. Man möchte wohl den Nutzern das "Index fängt bei 0 an"-Thema vereinfachen.

              Fast so schlimm wie das Ganze einzudeutschen ... gruselig.
              Hab's korrigiert! Danke!

              "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

              haus-automatisierungH 1 Antwort Letzte Antwort
              2
              • CodierknechtC Codierknecht

                @haus-automatisierung sagte in Monat als Bedingung:

                @codierknecht sagte in Monat als Bedingung:

                Alles was größer oder gleich 0 ist bedeutet demnach schlichtweg, dass der gesuchte Wert in der Liste enthalten ist.

                Wenn man .indexOf() kennt, dann könnte man das denken.
                Leider rechnet der Blockly-Baustein +1. Also > 0 bedeutet gefunden und == 0 wäre nicht gefunden. Finde ich auch verwirrend. Man möchte wohl den Nutzern das "Index fängt bei 0 an"-Thema vereinfachen.

                Fast so schlimm wie das Ganze einzudeutschen ... gruselig.
                Hab's korrigiert! Danke!

                haus-automatisierungH Online
                haus-automatisierungH Online
                haus-automatisierung
                Developer Most Active
                schrieb am zuletzt editiert von
                #11

                @codierknecht Ich muss mir auch ständig den generierten JS-Code anschauen, ... um zu gucken ob der Block wirklich das macht, was ich hoffe :)

                🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                📚 Meine inoffizielle ioBroker Dokumentation

                CodierknechtC 1 Antwort Letzte Antwort
                2
                • haus-automatisierungH haus-automatisierung

                  @codierknecht Ich muss mir auch ständig den generierten JS-Code anschauen, ... um zu gucken ob der Block wirklich das macht, was ich hoffe :)

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

                  @haus-automatisierung
                  Dieses eingedeutschte Zeugs erinnert mich fatal an ein deutsches VBA in Excel.

                  "Wenn ... dann ... sonst"
                  

                  und - noch besser

                  "für x = 1 bis 10 ... nächstes"
                  

                  da braucht man beim Lesen ein Beißholz.

                  "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
                  1
                  • I Offline
                    I Offline
                    ionar
                    schrieb am zuletzt editiert von
                    #13

                    Danke für die ganzen hilfreichen Antworten!
                    Also müsste das Skript mit diesen Bedingungen dann ja laufen oder?
                    Hintergrund ist, dass im Winter "Sonnig+bewölkt" nicht wirklich sonnig genug ist, damit beschattet werden muss.

                    1.png

                    HomoranH 1 Antwort Letzte Antwort
                    0
                    • I ionar

                      Danke für die ganzen hilfreichen Antworten!
                      Also müsste das Skript mit diesen Bedingungen dann ja laufen oder?
                      Hintergrund ist, dass im Winter "Sonnig+bewölkt" nicht wirklich sonnig genug ist, damit beschattet werden muss.

                      1.png

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

                      @ionar ich verstehe immer noch nicht, warum ihr unbedingt mit Listen arbeiten wollt.

                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      I haus-automatisierungH 2 Antworten Letzte Antwort
                      0
                      • HomoranH Homoran

                        @ionar ich verstehe immer noch nicht, warum ihr unbedingt mit Listen arbeiten wollt.

                        I Offline
                        I Offline
                        ionar
                        schrieb am zuletzt editiert von
                        #15

                        @homoran Weil ich nicht wusste, wie ich deins als Bedingung einbaue :laughing:

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • I ionar

                          @homoran Weil ich nicht wusste, wie ich deins als Bedingung einbaue :laughing:

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

                          @ionar sagte in Monat als Bedingung:

                          @homoran Weil ich nicht wusste, wie ich deins als Bedingung einbaue :laughing:

                          falls aktuelle Zeit als Monat als Nummer <=4 oder aktuelle Zeit als Monat als Nummer >= 10

                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                          CodierknechtC 1 Antwort Letzte Antwort
                          1
                          • HomoranH Homoran

                            @ionar ich verstehe immer noch nicht, warum ihr unbedingt mit Listen arbeiten wollt.

                            haus-automatisierungH Online
                            haus-automatisierungH Online
                            haus-automatisierung
                            Developer Most Active
                            schrieb am zuletzt editiert von
                            #17

                            @homoran Habe ich etwas verpasst? Der generierte Code ist doch super kurz - wo ist das Problem damit?

                            if ([5, 6, 7, 8, 9].indexOf((new Date().getMonth() + 1)) + 1 > 0) {
                            

                            Ich finde das sogar leichter zu verstehen (hat der TO ja direkt angepasst für Winter).

                            Aber hier:

                            Screenshot 2022-10-18 at 11.12.07.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <variables>
                                <variable id=",g^U$HY6Nt@|S)Jbx`lZ">month</variable>
                              </variables>
                              <block type="variables_set" id="LVQRo5;55e$:qr7C|B`[" x="-312" y="788">
                                <field name="VAR" id=",g^U$HY6Nt@|S)Jbx`lZ">month</field>
                                <value name="VALUE">
                                  <block type="time_get" id="N*}8@y=d27R6jq^PL=c/">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                    <field name="OPTION">M</field>
                                  </block>
                                </value>
                                <next>
                                  <block type="controls_if" id="di=z-NMxup=@@XdZt/=+">
                                    <mutation else="1"></mutation>
                                    <value name="IF0">
                                      <block type="logic_operation" id=";68kByEfgtLu?Nn;+T~Q">
                                        <field name="OP">AND</field>
                                        <value name="A">
                                          <block type="logic_compare" id="Q7%5+-vR*V8MV2r?4+{G">
                                            <field name="OP">GTE</field>
                                            <value name="A">
                                              <block type="variables_get" id="$Qn?7I|Vr?=%[Q=VDE2w">
                                                <field name="VAR" id=",g^U$HY6Nt@|S)Jbx`lZ">month</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="+PAOo0XrfUI_x6#zJ)r=">
                                                <field name="NUM">5</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="logic_compare" id="y/?1j/!_WV?kqMKZGoCp">
                                            <field name="OP">LTE</field>
                                            <value name="A">
                                              <block type="variables_get" id="ZcaJPCpi;j[v(S|6Ro?U">
                                                <field name="VAR" id=",g^U$HY6Nt@|S)Jbx`lZ">month</field>
                                              </block>
                                            </value>
                                            <value name="B">
                                              <block type="math_number" id="%97Gfdp=|e?CuN`e,Q`w">
                                                <field name="NUM">9</field>
                                              </block>
                                            </value>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </next>
                              </block>
                            </xml>
                            

                            🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                            🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                            📚 Meine inoffizielle ioBroker Dokumentation

                            HomoranH 1 Antwort Letzte Antwort
                            2
                            • haus-automatisierungH haus-automatisierung

                              @homoran Habe ich etwas verpasst? Der generierte Code ist doch super kurz - wo ist das Problem damit?

                              if ([5, 6, 7, 8, 9].indexOf((new Date().getMonth() + 1)) + 1 > 0) {
                              

                              Ich finde das sogar leichter zu verstehen (hat der TO ja direkt angepasst für Winter).

                              Aber hier:

                              Screenshot 2022-10-18 at 11.12.07.png

                              <xml xmlns="https://developers.google.com/blockly/xml">
                                <variables>
                                  <variable id=",g^U$HY6Nt@|S)Jbx`lZ">month</variable>
                                </variables>
                                <block type="variables_set" id="LVQRo5;55e$:qr7C|B`[" x="-312" y="788">
                                  <field name="VAR" id=",g^U$HY6Nt@|S)Jbx`lZ">month</field>
                                  <value name="VALUE">
                                    <block type="time_get" id="N*}8@y=d27R6jq^PL=c/">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                      <field name="OPTION">M</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="controls_if" id="di=z-NMxup=@@XdZt/=+">
                                      <mutation else="1"></mutation>
                                      <value name="IF0">
                                        <block type="logic_operation" id=";68kByEfgtLu?Nn;+T~Q">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_compare" id="Q7%5+-vR*V8MV2r?4+{G">
                                              <field name="OP">GTE</field>
                                              <value name="A">
                                                <block type="variables_get" id="$Qn?7I|Vr?=%[Q=VDE2w">
                                                  <field name="VAR" id=",g^U$HY6Nt@|S)Jbx`lZ">month</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="+PAOo0XrfUI_x6#zJ)r=">
                                                  <field name="NUM">5</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_compare" id="y/?1j/!_WV?kqMKZGoCp">
                                              <field name="OP">LTE</field>
                                              <value name="A">
                                                <block type="variables_get" id="ZcaJPCpi;j[v(S|6Ro?U">
                                                  <field name="VAR" id=",g^U$HY6Nt@|S)Jbx`lZ">month</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="math_number" id="%97Gfdp=|e?CuN`e,Q`w">
                                                  <field name="NUM">9</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </xml>
                              
                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #18

                              @haus-automatisierung sagte in Monat als Bedingung:

                              Aber hier:

                              danke, mit var sogar noch einfacher!
                              am Handy unterwegs sind Blöcke so schwer zu zeichnen.

                              @haus-automatisierung sagte in Monat als Bedingung:

                              Ich finde das sogar leichter zu verstehen

                              ich ehrlich gesagt nicht, zumal es ja wirklich über einen einfachen Zahlenvergleich geht.

                              pro Liste wäre es dass diese "beliebig" ausgestaltet und damit auch nicht einfache mathematische Regeln erstellt werden könnten.
                              Was IMHO mit duesem Beispiel aber nicht notwendig wäre

                              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              1 Antwort Letzte Antwort
                              1
                              • HomoranH Homoran

                                @ionar sagte in Monat als Bedingung:

                                @homoran Weil ich nicht wusste, wie ich deins als Bedingung einbaue :laughing:

                                falls aktuelle Zeit als Monat als Nummer <=4 oder aktuelle Zeit als Monat als Nummer >= 10

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

                                @homoran
                                In diesem Fall geht das sogar, weil der zu durchsuchende Bereich ein Intervall ist.
                                Ob das dann leichter zu lesen ist, lasse ich mal dahingestellt.

                                Schwieriger finde ich die Frage, ob Blockly denn auch von sich aus korrekt klammert.
                                Ich stoße in meinem Umfeld immer wieder auf Fehler, weil vergessen wurde dass ein UND stärker bindet als ein ODER.
                                Das ist in allen mir geläufigen Sprachen und z.B. auch in SQL so. Wenn man mal eine Klammer an der passenden Stelle vergessen hat, kommt's zu den kuriosesten Ergebnissen.

                                Mit RegEx stehe ich seit Jahren auf Kriegsfuß, aber ich könnte mir vorstellen dass es auch damit gehen könnte.
                                Oder mit einer JS-Funktion, die die Logik an anderer Stelle kapselt.

                                Das Blockly des TO finde ich schon recht ambitioniert.
                                Ich versuche, mich immer wieder auf ein Kernthema zu konzentrieren: Jeder Code muss auch irgendwann mal gewartet werden. Nicht selten denk man dabei: "Welcher Horst hat das denn verbrochen" .. um dann festzustellen: "Ups, ist ja mein eigener Code" :-D

                                Egal, Hauptsache der TO kommt damit zurecht.

                                OT: How To Write Unmaintainable Code :-D :-D :-D

                                "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 I 2 Antworten Letzte Antwort
                                1
                                • CodierknechtC Codierknecht

                                  @homoran
                                  In diesem Fall geht das sogar, weil der zu durchsuchende Bereich ein Intervall ist.
                                  Ob das dann leichter zu lesen ist, lasse ich mal dahingestellt.

                                  Schwieriger finde ich die Frage, ob Blockly denn auch von sich aus korrekt klammert.
                                  Ich stoße in meinem Umfeld immer wieder auf Fehler, weil vergessen wurde dass ein UND stärker bindet als ein ODER.
                                  Das ist in allen mir geläufigen Sprachen und z.B. auch in SQL so. Wenn man mal eine Klammer an der passenden Stelle vergessen hat, kommt's zu den kuriosesten Ergebnissen.

                                  Mit RegEx stehe ich seit Jahren auf Kriegsfuß, aber ich könnte mir vorstellen dass es auch damit gehen könnte.
                                  Oder mit einer JS-Funktion, die die Logik an anderer Stelle kapselt.

                                  Das Blockly des TO finde ich schon recht ambitioniert.
                                  Ich versuche, mich immer wieder auf ein Kernthema zu konzentrieren: Jeder Code muss auch irgendwann mal gewartet werden. Nicht selten denk man dabei: "Welcher Horst hat das denn verbrochen" .. um dann festzustellen: "Ups, ist ja mein eigener Code" :-D

                                  Egal, Hauptsache der TO kommt damit zurecht.

                                  OT: How To Write Unmaintainable Code :-D :-D :-D

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

                                  @codierknecht sagte in Monat als Bedingung:

                                  In diesem Fall geht das sogar, weil der zu durchsuchende Bereich ein Intervall ist.

                                  zumindest geht es deshalb so einfach.

                                  @codierknecht sagte in Monat als Bedingung:

                                  Schwieriger finde ich die Frage, ob Blockly denn auch von sich aus korrekt klammert.

                                  da hatte ich noch nie Probleme, wenn man die Grundlagen der boolschen Algebra berücksichtigt.

                                  @codierknecht sagte in Monat als Bedingung:

                                  Oder mit einer JS-Funktion, die die Logik an anderer Stelle kapselt.

                                  da hab ich auch noch Probleme, aber ich kann kein Javascript :cry:

                                  deswegen gilt für mich auch nicht

                                  @haus-automatisierung sagte in Monat als Bedingung:

                                  Der generierte Code ist doch super kurz -

                                  weil ich immer verduche das Blockly so einfach und vor allem übersichtlich zu halten.

                                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                  CodierknechtC 1 Antwort Letzte Antwort
                                  1
                                  • HomoranH Homoran

                                    @codierknecht sagte in Monat als Bedingung:

                                    In diesem Fall geht das sogar, weil der zu durchsuchende Bereich ein Intervall ist.

                                    zumindest geht es deshalb so einfach.

                                    @codierknecht sagte in Monat als Bedingung:

                                    Schwieriger finde ich die Frage, ob Blockly denn auch von sich aus korrekt klammert.

                                    da hatte ich noch nie Probleme, wenn man die Grundlagen der boolschen Algebra berücksichtigt.

                                    @codierknecht sagte in Monat als Bedingung:

                                    Oder mit einer JS-Funktion, die die Logik an anderer Stelle kapselt.

                                    da hab ich auch noch Probleme, aber ich kann kein Javascript :cry:

                                    deswegen gilt für mich auch nicht

                                    @haus-automatisierung sagte in Monat als Bedingung:

                                    Der generierte Code ist doch super kurz -

                                    weil ich immer verduche das Blockly so einfach und vor allem übersichtlich zu halten.

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

                                    @homoran sagte in Monat als Bedingung:

                                    da hab ich auch noch Probleme, aber ich kann kein Javascript

                                    Willkommen im Club. Lesen geht, aber viel mehr auch nicht :-(

                                    "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
                                    2
                                    • CodierknechtC Codierknecht

                                      @homoran
                                      In diesem Fall geht das sogar, weil der zu durchsuchende Bereich ein Intervall ist.
                                      Ob das dann leichter zu lesen ist, lasse ich mal dahingestellt.

                                      Schwieriger finde ich die Frage, ob Blockly denn auch von sich aus korrekt klammert.
                                      Ich stoße in meinem Umfeld immer wieder auf Fehler, weil vergessen wurde dass ein UND stärker bindet als ein ODER.
                                      Das ist in allen mir geläufigen Sprachen und z.B. auch in SQL so. Wenn man mal eine Klammer an der passenden Stelle vergessen hat, kommt's zu den kuriosesten Ergebnissen.

                                      Mit RegEx stehe ich seit Jahren auf Kriegsfuß, aber ich könnte mir vorstellen dass es auch damit gehen könnte.
                                      Oder mit einer JS-Funktion, die die Logik an anderer Stelle kapselt.

                                      Das Blockly des TO finde ich schon recht ambitioniert.
                                      Ich versuche, mich immer wieder auf ein Kernthema zu konzentrieren: Jeder Code muss auch irgendwann mal gewartet werden. Nicht selten denk man dabei: "Welcher Horst hat das denn verbrochen" .. um dann festzustellen: "Ups, ist ja mein eigener Code" :-D

                                      Egal, Hauptsache der TO kommt damit zurecht.

                                      OT: How To Write Unmaintainable Code :-D :-D :-D

                                      I Offline
                                      I Offline
                                      ionar
                                      schrieb am zuletzt editiert von
                                      #22

                                      @codierknecht sagte in Monat als Bedingung:

                                      Das Blockly des TO finde ich schon recht ambitioniert.

                                      Ich habe leider keine Ahnung vom Coding und es nur durch iobroker und Blockly ein bisschen verstanden :flushed: :joy:
                                      Dieses Skript zur Beschattung ist durch Probieren etc. entstanden. Funktioniert aber super für unser Haus.

                                      Wenn im Kinderzimmer die Rolladen aufgehen, soll im Sommer beschattet werden, wenn DasWetter mind. "sonnig bewölkt" für die jetzige oder +1 Stunde vorhersagt. Aber vor dem Runterfahren 15min warten, weil es nicht direkt nach dem Öffnen wieder dunkel werden soll.
                                      Wenn die Sonne um die Hausecke ist, dürfen sie wieder hochfahren. Veränderungen zwischendurch unterbrechen das Skript nicht, weil es den Datenpunkt "Beschattung_Osten" gibt.

                                      Ich wollte es zuerst mit Shuttercontrol versuchen, aber das ist z.B. direkt weggefallen, weil die Beschattung durch manuelle Veränderungen beendet ist (Manu_Mode heißt es, glaube ich).

                                      HomoranH 1 Antwort Letzte Antwort
                                      0
                                      • I ionar

                                        @codierknecht sagte in Monat als Bedingung:

                                        Das Blockly des TO finde ich schon recht ambitioniert.

                                        Ich habe leider keine Ahnung vom Coding und es nur durch iobroker und Blockly ein bisschen verstanden :flushed: :joy:
                                        Dieses Skript zur Beschattung ist durch Probieren etc. entstanden. Funktioniert aber super für unser Haus.

                                        Wenn im Kinderzimmer die Rolladen aufgehen, soll im Sommer beschattet werden, wenn DasWetter mind. "sonnig bewölkt" für die jetzige oder +1 Stunde vorhersagt. Aber vor dem Runterfahren 15min warten, weil es nicht direkt nach dem Öffnen wieder dunkel werden soll.
                                        Wenn die Sonne um die Hausecke ist, dürfen sie wieder hochfahren. Veränderungen zwischendurch unterbrechen das Skript nicht, weil es den Datenpunkt "Beschattung_Osten" gibt.

                                        Ich wollte es zuerst mit Shuttercontrol versuchen, aber das ist z.B. direkt weggefallen, weil die Beschattung durch manuelle Veränderungen beendet ist (Manu_Mode heißt es, glaube ich).

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

                                        @ionar sagte in Monat als Bedingung:

                                        Dieses Skript zur Beschattung ist durch Probieren etc. entstanden. Funktioniert aber super für unser Haus.

                                        so hab ich es auch gemacht.

                                        @ionar sagte in Monat als Bedingung:

                                        mit Shuttercontrol versuchen, aber das ist z.B. direkt weggefallen, weil die Beschattung durch manuelle Veränderungen beendet ist (Manu_Mode heißt es, glaube ich).

                                        dafür überstimmt ein eigenes Skript häufig den "letzten Willen" der Bewohner und "korrigiert" die "falsche" Einstellung des Eingriffs beim nächsten Trigger

                                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                        1 Antwort Letzte Antwort
                                        1
                                        Antworten
                                        • In einem neuen Thema antworten
                                        Anmelden zum Antworten
                                        • Älteste zuerst
                                        • Neuste zuerst
                                        • Meiste Stimmen


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        888

                                        Online

                                        32.5k

                                        Benutzer

                                        81.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