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
    513

  • 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.
  • 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 Offline
        CodierknechtC Offline
        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 Offline
            CodierknechtC Offline
            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 Offline
                CodierknechtC Offline
                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 Offline
                              CodierknechtC Offline
                              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 Offline
                                  CodierknechtC Offline
                                  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

                                      382

                                      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