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 mit Bedingung und schedule

NEWS

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

Blockly mit Bedingung und schedule

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
41 Beiträge 3 Kommentatoren 5.4k Aufrufe
  • Ä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.
  • DutchmanD Offline
    DutchmanD Offline
    Dutchman
    Developer Most Active Administrators
    schrieb am zuletzt editiert von
    #5

    mein vorschlag (berechnung und richtigen interval noch selber rein machen) :

    979_regensensor.jpg

    code:

     <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="CKVHK{C@;-WCdd|/6/jS" x="-287.49999999999955" y="162.00000000000034"><field name="OID">javascript.1.regensensor</field>
      <field name="CONDITION">ne</field>
    
      <statement name="STATEMENT"><block type="controls_if" id=";eqydYRi)hw(0c2hzYRr"><mutation else="1"></mutation>
          <value name="IF0"><block type="logic_compare" id="XRg@C4%R}Uvc(jtO@wFN"><field name="OP">EQ</field>
              <value name="A"><block type="get_value" id="%^44gm#z2NU=||ID5JWZ"><field name="ATTR">val</field>
                  <field name="OID">javascript.1.regensensor</field></block></value> 
              <value name="B"><block type="logic_boolean" id="{wNK2KE/|taFhGJfaQhy"><field name="BOOL">TRUE</field></block></value></block></value> 
          <statement name="DO0"><block type="timeouts_setinterval" id=";2^a!UX9Z~wMC~7VmeIG"><field name="NAME">interval</field>
              <field name="INTERVAL">1000</field>
              <field name="UNIT">ms</field>
              <statement name="STATEMENT"><block type="debug" id="q5iLJ:;8@o)!Bk_2L?K("><field name="Severity">log</field>
                  <value name="TEXT"><shadow type="text" id="Rdyal|hS7key|KSPuuE5"><field name="TEXT">Hier deine berechnung</field></shadow></value></block></statement></block></statement> 
          <statement name="ELSE"><block type="timeouts_clearinterval" id="`ZX#7qTX-L=A;O*ETN,5"><field name="NAME">interval</field></block></statement></block></statement></block> 
    
    
    1 Antwort Letzte Antwort
    0
    • HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #6

      144_wetter011.jpg
      Der nächste Regen kommt bestimmt!

      Gruß

      Rainer

      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
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #7

        Nachdem fast der ganze Regen an mir vorbeigegangen ist hat es jetzt endlich angefangen zu regnen.

        mit diesem Blockly (ohne den letzte debug-Block):
        144_regenintensitaet_blockly03.jpg
        kam im log nur "wurde getriggert"

        Als ob der Wert 1 nicht erreicht wurde.

        jetzt habe ich noch einen debug-Block angehängt, der mir den Wert von regensensor_STATE (Number) ausgibt. und genau da hörte der Regen auf :(

        Dort wird jetzt 0 ausgegeben.

        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
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #8

          dein regensensor gibt kein true oder false sondern 0 und 1 ?

          glaube dan musst du den mate block mit einem text block tauschen

          1 Antwort Letzte Antwort
          0
          • HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #9

            Der Funktioniert:
            144_regenerkennung_blockly.jpg

            Und so sieht der DP aus:
            144_regensensor_state.jpg

            Gruß

            Rainer

            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
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              schrieb am zuletzt editiert von
              #10

              Eh was funktioniert mit Mathe oder Text Block ?

              Er kam doch mit dem Mathe Block immer in die oder Schleife?

              –-----------------------

              Send from mobile device

              1 Antwort Letzte Antwort
              0
              • HomoranH Nicht stören
                HomoranH Nicht stören
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #11

                Diese Regenerkennungs-Blockly funktioniert mit dem gleichen Trigger und dem Wert von als Mathe Block (Ansagen und Lichtänderung ist korrekt ausgeführt)

                Das Regenintensität-Blockly funktioniert anscheinend nicht mit der selben Trigger / falls Kombination :(

                Der debug-Block "ist getriggert" wird noch ausgelöst, dann kommt nichts mehr :?:

                Gruß

                Rainer

                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
                • DutchmanD Offline
                  DutchmanD Offline
                  Dutchman
                  Developer Most Active Administrators
                  schrieb am zuletzt editiert von
                  #12

                  @Homoran:

                  Das Regenintensität-Blockly funktioniert anscheinend nicht mit der selben Trigger / falls Kombination :( `

                  meine glaskugel geht gerade nicht, wo ist dein Regenintensität-Blockly ?

                  1 Antwort Letzte Antwort
                  0
                  • HomoranH Nicht stören
                    HomoranH Nicht stören
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #13

                    @Dutchman:

                    meine glaskugel geht gerade nicht, wo ist dein Regenintensität-Blockly ? `
                    um das geht es eigentlich die Ganze Zeit:

                    http://forum.iobroker.net/posting.php?m … 87#pr88873

                    Habe inzwischen ganz unten noch einen debug-Block drangehängt, der mir den Wert des regensensor States ausgibt.

                    javascript.0	2017-10-08 16:10:03.336	info	script.js.Regenintensitaet: Check - fertig
                    javascript.0	2017-10-08 16:10:03.336	info	script.js.Regenintensitaet: Der Zustand vom Regensensor ist: 0
                    

                    (Im Moment regnet es mal wieder nicht)

                    Gruß

                    Rainer

                    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
                    • DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      schrieb am zuletzt editiert von
                      #14

                      @Homoran:

                      @Dutchman:

                      meine glaskugel geht gerade nicht, wo ist dein Regenintensität-Blockly ? `
                      um das geht es eigentlich die Ganze Zeit:

                      http://forum.iobroker.net/posting.php?m … 87#pr88873

                      Habe inzwischen ganz unten noch einen debug-Block drangehängt, der mir den Wert des regensensor States ausgibt.

                      javascript.0	2017-10-08 16:10:03.336	info	script.js.Regenintensitaet: Check - fertig
                      javascript.0	2017-10-08 16:10:03.336	info	script.js.Regenintensitaet: Der Zustand vom Regensensor ist: 0
                      

                      (Im Moment regnet es mal wieder nicht)

                      Gruß

                      Rainer `

                      hast du meinen block als vorschlag mal probiert ? Also nicht wiederhohle sondern interval

                      1 Antwort Letzte Antwort
                      0
                      • HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #15

                        Noch nicht!

                        Wollte es erst mit meiner Version testen. Ich denke der Fehler liegt woanders. Wenn du mir erklären kannst, warum in meiner Version der debug-block "es regnet" nicht ausgeführt wird wären ich schon ein Stück weiter.

                        Selbst wenn der wiederhole-Block nicht funktioniert hätte doch der debug-Block "es regnet" ausgegeben werden müssen, ODER?

                        Gruß

                        Rainer

                        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
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          schrieb am zuletzt editiert von
                          #16

                          @Homoran:

                          Selbst wenn der wiederhole-Block nicht funktioniert hätte doch der debug-Block "es regnet" ausgegeben werden müssen, ODER? `

                          jup, verstehe ich auch nicht warum er fuer die ansagen geht aber nicht fuer den block mit berechnungen er ist ja gleich.

                          DUe koennste mal zum spass den wert in eine variable schreiben und dan die variable als debug block auslesen vielleicht war er doch was anderes als 1 zu de zeitpunkt?

                          1 Antwort Letzte Antwort
                          0
                          • HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #17

                            Nachdem keiine Meldungen mehr im Blockly-log kamen und nach neustart des javascript-Adapters Error code7 already running kam, habe ich mir über die Konsole mit top die Prozesse angesehen.

                            Sobald ich den Block mit falls… unten angehängt hatte, damit er immer läuft stieg der Adapter mit 100% CPU aus.

                            Da muss ich erst mal nachdenken warum.

                            Deine Version scheint keine Probleme zu machen.

                            ...waiting for rain again.

                            Rainer

                            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
                            • HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #18

                              Bei dem nächsten Regen lief die neue Version nahezu komplett.

                              nur nach dem Regen hörte sie nicht mehr auf mit dem "Auführen Intervall"

                              Ich hatte das "sonst - clear interval" vergessen :oops:

                              Warum der Wert in Liter / Minute immer auf 0 stand??

                              Ich logge jetzt die Werte mal.

                              insgesamt fielen 0,3mm Regen - nicht viel aber >0!

                              Warum meine Version den js-Adapter an die Kapazitätsgrenzen brachte habe ich noch nicht herausbekommen.

                              Danke für die Hilfe

                              Rainer

                              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
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #19

                                @Homoran:

                                Warum meine Version den js-Adapter an die Kapazitätsgrenzen brachte habe ich noch nicht herausbekommen. `
                                Wenn Du den Javascript-Code (in Code-Tags) postest, kann Dir vielleicht geholfen werden.

                                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

                                1 Antwort Letzte Antwort
                                0
                                • HomoranH Nicht stören
                                  HomoranH Nicht stören
                                  Homoran
                                  Global Moderator Administrators
                                  schrieb am zuletzt editiert von
                                  #20

                                  Hallo Paul,

                                  ich hoffe ich habe ihn wieder vollständig rekonstruiert:

                                  on({id: 'hm-rpc.0.KEQ1022589.1.STATE', change: "ne"}, function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    console.log('ist getriggert');
                                    if (getState("hm-rpc.0.KEQ1022589.1.STATE").val == 1) {
                                      console.log('es regnet');
                                      while (!(getState("hm-rpc.0.KEQ1022589.1.STATE").val == 0)) {
                                        schedule("*/3 * * * *", function () {
                                          setState("Messwerte.0.Wetterdaten.Regenintensitaet"/*Regenintensitaet*/, ((getState("hm-rpc.0.JEQ0140901.1.RAIN_COUNTER").val - getState("Messwerte.0.Wetterdaten.Regenmenge_alt").val) / 3), true);
                                          setStateDelayed("Messwerte.0.Wetterdaten.Regenmenge_alt"/*Regenmenge_alt*/, getState("hm-rpc.0.JEQ0140901.1.RAIN_COUNTER").val, true, 200, false);
                                          console.log((String('Die Regenmenge der letzten drei Minuten betrug: ') + String(getState("hm-rpc.0.JEQ0140901.1.RAIN_COUNTER").val - getState("Messwerte.0.Wetterdaten.Regenmenge_alt").val)));
                                        });
                                      }
                                      console.log('es regnet nicht mehr');
                                    }
                                    console.log('es regnet nicht');
                                  });
                                  console.log('Check - fertig');
                                  console.log((String('Der Zustand vom Regensensor ist: ') + String(getState("hm-rpc.0.KEQ1022589.1.STATE").val)));
                                  

                                  144_regenintensitaet_blockly03.jpg

                                  @paul53:

                                  (in Code-Tags) ` :D

                                  Das ist der code, den Blockly ausspuckt.

                                  Gruß

                                  Rainer

                                  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
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #21
                                    while (!(getState("hm-rpc.0.KEQ1022589.1.STATE").val == 0))
                                    

                                    erzeugt den Dauerstress solange es regnet (Wert > 0). Eine Änderung des Wertes triggert erneut. Also nur

                                    if(value) {
                                       timer = schedule(...)
                                    } else { 
                                       clearSchedule(timer);
                                    }
                                    
                                    console.log('Check - fertig');
                                    console.log((String('Der Zustand vom Regensensor ist: ') + String(getState("hm-rpc.0.KEQ1022589.1.STATE").val)));
                                    

                                    wird nur einmal beim Skriptstart ausgeführt.

                                      if (getState("hm-rpc.0.KEQ1022589.1.STATE").val == 1) {
                                    

                                    Es ist besser mit der Skriptvariablen value zu arbeiten (weniger CPU-Last)

                                      if (value == 1) {
                                    

                                    Ein getState(id) auf die ID, mit der getriggert wurde, sollte man vermeiden.

                                    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

                                    1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #22

                                      Danke Paul,

                                      das muss ich erst mal verdauen und sehen, wie ich das in Blockly umsetzen kann.

                                      Danke

                                      Rainer

                                      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
                                      • DutchmanD Offline
                                        DutchmanD Offline
                                        Dutchman
                                        Developer Most Active Administrators
                                        schrieb am zuletzt editiert von
                                        #23

                                        @Homoran:

                                        Danke Paul,

                                        das muss ich erst mal verdauen und sehen, wie ich das in Blockly umsetzen kann.

                                        Danke

                                        Rainer `

                                        Ich glaube was Paul da schreibt is genau mein Beispiel?

                                        Nur triggern auf regen ja nein und den Intervall ausschalten wen es nicht mehr regnet

                                        –-----------------------

                                        Send from mobile device

                                        1 Antwort Letzte Antwort
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #24

                                          Das folgende Blockly sollte das erledigen, was Du möchtest ?
                                          493_regenintensit_t.jpg
                                          Anmerkung: Mit Blockly dauert es bei mir mind. 5 mal solange als wenn ich es in Javascript eintippe.

                                          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

                                          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

                                          536

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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