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
    511

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

                      413

                      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