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. Umschalten bei einem gewissen wert

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Umschalten bei einem gewissen wert

Geplant Angeheftet Gesperrt Verschoben Blockly
13 Beiträge 8 Kommentatoren 2.3k Aufrufe 6 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.
  • F Fritzk

    Als Anfänger habe ich mich jetzt auch mal an blockly versucht.
    Das Script soll einen Schalter bei überschreiten eines wertes einschalten und bei unterschreiten des wertes ausschalten.
    Soweit funktioniert es auch, aber solang der wert über 80 ist schaltet es jede sekunde ein. Was kann ich da ändern so das es nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

    Blockly.gif

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

    @Fritzk sagte in Umschalten bei einem gewissen wert:

    Was kann ich da ändern so das es nur einmal schaltet

    Falls WERT > 80 UND Schalter ist false

    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
    0
    • dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #4

      und auch drann denken das der Wert auch = 80 sein kann.

      1 Antwort Letzte Antwort
      0
      • F Fritzk

        Als Anfänger habe ich mich jetzt auch mal an blockly versucht.
        Das Script soll einen Schalter bei überschreiten eines wertes einschalten und bei unterschreiten des wertes ausschalten.
        Soweit funktioniert es auch, aber solang der wert über 80 ist schaltet es jede sekunde ein. Was kann ich da ändern so das es nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

        Blockly.gif

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #5

        @Fritzk sagte:

        nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

        Nur schalten, wenn Istzustand != Sollzustand:

        Blockly_temp.JPG

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        AsgothianA A 2 Antworten Letzte Antwort
        0
        • paul53P paul53

          @Fritzk sagte:

          nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

          Nur schalten, wenn Istzustand != Sollzustand:

          Blockly_temp.JPG

          AsgothianA Offline
          AsgothianA Offline
          Asgothian
          Developer
          schrieb am zuletzt editiert von
          #6

          @paul53
          Hmm.. geht das nicht auch ohne extra Variable und aktuellen Wert holen :

          Screen Shot 2020-10-30 at 21.20.56 .png

          A.

          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

          paul53P 1 Antwort Letzte Antwort
          0
          • AsgothianA Asgothian

            @paul53
            Hmm.. geht das nicht auch ohne extra Variable und aktuellen Wert holen :

            Screen Shot 2020-10-30 at 21.20.56 .png

            A.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #7

            @Asgothian sagte:

            geht das nicht auch ohne extra Variable und aktuellen Wert holen :

            So geht es natürlich auch. Nachteil: Zweimal setState(), was deutlich mehr Ressourcen (RAM) verbraucht als getState().

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            A 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @Fritzk sagte:

              nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

              Nur schalten, wenn Istzustand != Sollzustand:

              Blockly_temp.JPG

              A Offline
              A Offline
              a0377016
              schrieb am zuletzt editiert von
              #8

              @paul53
              Ich möchte so ähnlich im dem Blockly ab einem wert von 10kw Einspeisung die Boilerpumpe einschalten. Unter 10kw wieder aus. Könnt ihr mir das Skript anpassen bzw so ändern das ich es selbst nachbauen kann?

              Samson71S 1 Antwort Letzte Antwort
              0
              • A a0377016

                @paul53
                Ich möchte so ähnlich im dem Blockly ab einem wert von 10kw Einspeisung die Boilerpumpe einschalten. Unter 10kw wieder aus. Könnt ihr mir das Skript anpassen bzw so ändern das ich es selbst nachbauen kann?

                Samson71S Offline
                Samson71S Offline
                Samson71
                Global Moderator
                schrieb am zuletzt editiert von
                #9

                @a0377016 sagte in Umschalten bei einem gewissen wert:

                Könnt ihr mir das Skript anpassen bzw so ändern das ich es selbst nachbauen kann?

                Dann zeig doch mal Deinen anzupassenden Versuch, der "umgebaut" werden soll.

                Markus

                Bitte beachten:
                Hinweise für gute Forenbeiträge
                Maßnahmen zum Schutz des Forums

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @Asgothian sagte:

                  geht das nicht auch ohne extra Variable und aktuellen Wert holen :

                  So geht es natürlich auch. Nachteil: Zweimal setState(), was deutlich mehr Ressourcen (RAM) verbraucht als getState().

                  A Offline
                  A Offline
                  a0377016
                  schrieb am zuletzt editiert von
                  #10

                  @paul53 said in Umschalten bei einem gewissen wert:

                  @Asgothian sagte:

                  geht das nicht auch ohne extra Variable und aktuellen Wert holen :

                  So geht es natürlich auch. Nachteil: Zweimal setState(), was deutlich mehr Ressourcen (RAM) verbraucht als getState().

                  @paul53 said in Umschalten bei einem gewissen wert:

                  @Fritzk sagte:

                  nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

                  Nur schalten, wenn Istzustand != Sollzustand:

                  Blockly_temp.JPG

                  Ich möchte meiner Boilerpumpe ab Wert 10KW einschalten lassen. Unter 10kw aus. Könnt ihr mir das Skript anpassen?

                  Samson71S F 2 Antworten Letzte Antwort
                  0
                  • A a0377016

                    @paul53 said in Umschalten bei einem gewissen wert:

                    @Asgothian sagte:

                    geht das nicht auch ohne extra Variable und aktuellen Wert holen :

                    So geht es natürlich auch. Nachteil: Zweimal setState(), was deutlich mehr Ressourcen (RAM) verbraucht als getState().

                    @paul53 said in Umschalten bei einem gewissen wert:

                    @Fritzk sagte:

                    nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

                    Nur schalten, wenn Istzustand != Sollzustand:

                    Blockly_temp.JPG

                    Ich möchte meiner Boilerpumpe ab Wert 10KW einschalten lassen. Unter 10kw aus. Könnt ihr mir das Skript anpassen?

                    Samson71S Offline
                    Samson71S Offline
                    Samson71
                    Global Moderator
                    schrieb am zuletzt editiert von
                    #11

                    @a0377016
                    Warum bitte Mehrfachposts???

                    Markus

                    Bitte beachten:
                    Hinweise für gute Forenbeiträge
                    Maßnahmen zum Schutz des Forums

                    A 1 Antwort Letzte Antwort
                    0
                    • Samson71S Samson71

                      @a0377016
                      Warum bitte Mehrfachposts???

                      A Offline
                      A Offline
                      a0377016
                      schrieb am zuletzt editiert von
                      #12

                      @samson71
                      Sorry mein Fehler

                      1 Antwort Letzte Antwort
                      0
                      • A a0377016

                        @paul53 said in Umschalten bei einem gewissen wert:

                        @Asgothian sagte:

                        geht das nicht auch ohne extra Variable und aktuellen Wert holen :

                        So geht es natürlich auch. Nachteil: Zweimal setState(), was deutlich mehr Ressourcen (RAM) verbraucht als getState().

                        @paul53 said in Umschalten bei einem gewissen wert:

                        @Fritzk sagte:

                        nur einmal schaltet wenn der wert höher als 80 ist und einmal schaltet wenn der wert kleiner wie 80 ist

                        Nur schalten, wenn Istzustand != Sollzustand:

                        Blockly_temp.JPG

                        Ich möchte meiner Boilerpumpe ab Wert 10KW einschalten lassen. Unter 10kw aus. Könnt ihr mir das Skript anpassen?

                        F Offline
                        F Offline
                        Fritzk
                        schrieb am zuletzt editiert von
                        #13

                        @a0377016
                        hab jetzt folgendes Blockly am laufen.

                        <xml xmlns="https://developers.google.com/blockly/xml">
                          <block type="on_ext" id="=13=V!WX4z5cEfo=Xc?;" x="13" y="12">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                            <field name="CONDITION">ne</field>
                            <field name="ACK_CONDITION"></field>
                            <value name="OID0">
                              <shadow type="field_oid" id="D9)K[URRT:rK|b?ID9@^">
                                <field name="oid">modbus.0.holdingRegisters.1.40074_Netz_Leistung</field>
                              </shadow>
                            </value>
                            <statement name="STATEMENT">
                              <block type="controls_if" id="ZywckQEwc-g3|bX1`Nl4">
                                <mutation elseif="1"></mutation>
                                <value name="IF0">
                                  <block type="logic_operation" id="^F4rvJ=n~Mio9!#nyeUt">
                                    <field name="OP">AND</field>
                                    <value name="A">
                                      <block type="logic_compare" id="GnL^My,h)8aorqIidR*#">
                                        <field name="OP">GT</field>
                                        <value name="A">
                                          <block type="on_source" id="9=@^y@L*%y{pI9+xL6~(">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="-#Q)U1[?.GE4^qnX~`Hw">
                                            <field name="NUM">80</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_compare" id="4_Jr.u-YFRO.#V+)#nPr">
                                        <field name="OP">LTE</field>
                                        <value name="A">
                                          <block type="on_source" id="!7EJVK)kRLAuLJ+|z#QQ">
                                            <field name="ATTR">oldState.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="4m-%!:$k[#0_W`!CLLMf">
                                            <field name="NUM">80</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO0">
                                  <block type="control" id="}1aLEN]lXiaTfGGNGC4a">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">shelly.0.SHSW-1#E09806962EAB#1.Relay0.Switch</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="X3L)zgaHWceez+1wx8OO">
                                        <field name="BOOL">TRUE</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                                <value name="IF1">
                                  <block type="logic_operation" id="VO{L%xyIzM]}P!_#$~$D">
                                    <field name="OP">AND</field>
                                    <value name="A">
                                      <block type="logic_compare" id="@$-b*ai@{+NAJ39lq`Bc">
                                        <field name="OP">LT</field>
                                        <value name="A">
                                          <block type="on_source" id="hMx(}mw=|Bov-)!|Hy_P">
                                            <field name="ATTR">state.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="{h4M2A%F]4-rG,V8wWH+">
                                            <field name="NUM">80</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <block type="logic_compare" id="5BfN@jqY#|ir?_U0,FE_">
                                        <field name="OP">GTE</field>
                                        <value name="A">
                                          <block type="on_source" id="T!(5oKqz6@DoB^1Jzu0y">
                                            <field name="ATTR">oldState.val</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <block type="math_number" id="$+[513*k-EV-#Gv,C$XM">
                                            <field name="NUM">80</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                                <statement name="DO1">
                                  <block type="control" id="WSKY6uW#HuBF%v7Z(BJi">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                    <field name="OID">shelly.0.SHSW-1#E09806962EAB#1.Relay0.Switch</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE">
                                      <block type="logic_boolean" id="b{Esv~`7NL]4lcAFg?1}">
                                        <field name="BOOL">FALSE</field>
                                      </block>
                                    </value>
                                  </block>
                                </statement>
                              </block>
                            </statement>
                          </block>
                        </xml>
                        

                        Musst nur deine Datenpunkte anpassen

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


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        697

                        Online

                        32.6k

                        Benutzer

                        82.3k

                        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