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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. "einfaches" Blockly-Script zur Bewässeungssteuerung

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

"einfaches" Blockly-Script zur Bewässeungssteuerung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
37 Beiträge 3 Kommentatoren 6.0k 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.
  • S Offline
    S Offline
    sveni_lee
    schrieb am zuletzt editiert von
    #1

    Ich habe mich mal an mein erstes Blockly-Script gewagt. Es solleigendlich nur ganz einfach die garten Bewässeung jeden Morgen einschalten und eine vorgegebene Dauer laufen lassen. Dazu habe ich die Pumpe + 2 Ventile angesteuert.

    Die Dauer der Bwässung ist ja nun "hard gecodet": Ich würde aber nun gern die Dauer im View in 5min schritten einstellen können.

    Noch dazu möchte ich gern die ein Timestand der letzten Einschaltung beider Ventile und die dauer der Einschaltung anzeigen lassen…

    Lässt sich das irgendwie bewerkstelligen?

    ! ````
    var Beregnungsdauer, schedule;
    ! // Jeden Tag um 5:45
    schedule("45 5 * * *", function () {
    // wenn Pumpe AUS dann EIN
    if (getState("hm-rpc.0.OEQ0207710.1.STATE").val == false) {
    setState("hm-rpc.0.OEQ0207710.1.WORKING", true);
    }
    });
    // BW Kreislauf 1
    schedule("45 5 * * *", function () {
    // wenn Kreislauf 1 AUS dann EIN
    if (getState("hm-rpc.0.OEQ0207710.2.STATE").val == false) {
    setStateDelayed("hm-rpc.0.OEQ0207710.2.WORKING", true, 1000, false);
    }
    // Kreislauf 1 AUS
    Beregnungsdauer = schedule('45 * * * *', function () {
    setState("hm-rpc.0.OEQ0207710.2.WORKING", false);
    });
    // Kreislauf 2 EIN
    if (getState("hm-rpc.0.OEQ0207710.3.STATE").val == false) {
    setState("hm-rpc.0.OEQ0207710.3.WORKING", true);
    }
    // Kreislauf 2 AUS
    schedule = schedule('45 * * * *', function () {
    setState("hm-rpc.0.OEQ0207710.3.WORKING", false);
    });
    // Pumpe AUS
    setState("hm-rpc.0.OEQ0207710.1.WORKING", false);
    });

    1 Antwort Letzte Antwort
    0
    • rantanplanR Offline
      rantanplanR Offline
      rantanplan
      schrieb am zuletzt editiert von
      #2

      Hallo sveni_lee

      Bitte Scrennshot oder Export vom Blockly.

      (und "Blockly" im Betreff wäre auch hilfreich)

      Grüße

      Rantanplan

      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        sveni_lee
        schrieb am zuletzt editiert von
        #3

        okay, ich hab den Betreff geändert. Sollte nun passen.

        Ich gehe mal davon aus das Du folgendes mit Blockly-Export meinst.

        ! ````
        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="2/v|0^kfq2SqJ_TpqnyP" x="-713" y="29"><field name="COMMENT">Jeden Tag um 5:45</field>
        <next><block type="schedule" id="o0M#}T0E?58c2XpX4XE-"><field name="SCHEDULE">45 5 * * </field>
        <statement name="STATEMENT"><block type="comment" id="DkjAgP[WO~@O^4uQAO;"><field name="COMMENT">wenn Pumpe AUS dann EIN</field>
        <next><block type="controls_if" id="Rm/u
        )7La}t?ZsP9^lqx"><value name="IF0"><block type="logic_compare" id="/I(@2Ur9q:YFZ.,Q]!;S"><field name="OP">EQ</field>
        <value name="A"><block type="get_value" id="M71Eu=aymxFjl1O8gTKg"><field name="ATTR">val</field>
        <field name="OID">hm-rpc.0.OEQ0207710.1.STATE</field></block></value>
        <value name="B"><block type="logic_boolean" id="nZ_6dA?|A~s(@vVz.0m"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="NC=+4Y=H^8;^+c7]=@;%"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.1.WORKING</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="~ZC=TU@%}AL#6UP9Wtj"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></statement>
        <next><block type="comment" id="6O1Vj2=a:kj-|_jsG*9"><field name="COMMENT">BW Kreislauf 1</field> <next><block type="schedule" id="iJWvs(RFdIvY5^!pc7bo"><field name="SCHEDULE">45 5 * * *</field> <statement name="STATEMENT"><block type="comment" id="nPL)l:p5e@jUuXl|W~wH"><field name="COMMENT">wenn Kreislauf 1 AUS dann EIN</field> <next><block type="controls_if" id="]D3UVqxxhh:9]xMxT[="><value name="IF0"><block type="logic_compare" id="eyb
        4]PxZ(;~w+}7_oo1"><field name="OP">EQ</field>
        <value name="A"><block type="get_value" id="sW9qWm5u~WOhAKaqjCge"><field name="ATTR">val</field>
        <field name="OID">hm-rpc.0.OEQ0207710.2.STATE</field></block></value>
        <value name="B"><block type="logic_boolean" id="x#H.Rbe6B?13d=N]xc/w"><field name="BOOL">FALSE</field></block></value></block></value>
        <statement name="DO0"><block type="control" id="F/cpwa0R;)=ivygp2*}"><mutation delay_input="true"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.2.WORKING</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="%Q3z8N:IQ@Vx]8O:5yZ"><field name="BOOL">TRUE</field></block></value></block></statement>
        <next><block type="comment" id="YEh;l0LSjLoKd(7k61/"><field name="COMMENT">Kreislauf 1 AUS</field> <next><block type="schedule_create" id="dTx)G4qP)1h-NQ:l?Cn"><field name="NAME">Beregnungsdauer</field>
        <value name="SCHEDULE"><shadow type="field_cron" id="aS;Oe{poH7Sge,=m)(+F"><field name="CRON">45 * * * </field></shadow></value>
        <statement name="STATEMENT"><block type="control" id="WkBQgn|^_5c;E-{_noW]"><mutation delay_input="false"></mutation>
        <field name="OID">hm-rpc.0.OEQ0207710.2.WORKING</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE"><block type="logic_boolean" id=".:jHfsFeM4t=D,LogM)e"><field name="BOOL">FALSE</field></block></value></block></statement>
        <next><block type="comment" id="m-d)sOOshBQ,C=cYaQ5k"><field name="COMMENT">Kreislauf 2 EIN</field>
        <next><block type="controls_if" id="ssn#kyv@a
        WA_d![VGLa"><value name="IF0"><block type="logic_compare" id="OH^54,s.929Z!0l6vpgk"><field name="OP">EQ</field>
        <value name="A"><block type="get_value" id="pwXUTB:zu}izJT!zRv5="><field name="ATTR">val</field>
        <field name="OID">hm-rpc.0.OEQ0207710.3.STATE</field></block></value>
        <value name="B"><block type="logic_boolean" id="D/p]!(FN_Fh6Css#PN+"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="Zn!)O4fw!.8VTOIp%Ie"><mutation delay_input="false"></mutation>
        <field name="OID">hm-rpc.0.OEQ0207710.3.WORKING</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE"><block type="logic_boolean" id="+6f4gQ]1gbkb?p|N?*z,"><field name="BOOL">TRUE</field></block></value></block></statement>
        <next><block type="comment" id="X0ILv=Dhcq/,GN[-OauW"><field name="COMMENT">Kreislauf 2 AUS</field>
        <next><block type="schedule_create" id=",ziTrc4^Q_{zJbpXIp[T"><field name="NAME">schedule</field>
        <value name="SCHEDULE"><shadow type="field_cron" id="Z0WITh!-LQtN6M]awg_z"><field name="CRON">45 * * * *</field></shadow></value>
        <statement name="STATEMENT"><block type="control" id="M-mojv)^2bgA6g9igJ_p"><mutation delay_input="false"></mutation>
        <field name="OID">hm-rpc.0.OEQ0207710.3.WORKING</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE"><block type="logic_boolean" id="-VRPhb]B4Vu{RO[F_,e#"><field name="BOOL">FALSE</field></block></value></block></statement>
        <next><block type="comment" id="OZ_n?kT}~~kaECwz.njN"><field name="COMMENT">Pumpe AUS</field>
        <next><block type="control" id="1F)4FzMOfY,fht8wl)#s"><mutation delay_input="false"></mutation>
        <field name="OID">hm-rpc.0.OEQ0207710.1.WORKING</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE"><block type="logic_boolean" id="TB)*W^4#{Pcl#+fuyr(z"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></xml>

        1 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #4

          @sveni_lee:

          okay, ich hab den Betreff geändert. Sollte nun passen.

          Ich gehe mal davon aus das Du folgendes mit Blockly-Export meinst.

          ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="2/v|0^kfq2SqJ_TpqnyP" x="-713" y="29"><field name="COMMENT">Jeden Tag um 5:45</field> <next><block type="schedule" id="o0M#}T0E?58c2XpX4XE-"><field name="SCHEDULE">45 5 * * *</field> <statement name="STATEMENT"><block type="comment" id="DkjAgP[WO~@_O^4uQAO;"><field name="COMMENT">wenn Pumpe AUS dann EIN</field> <next><block type="controls_if" id="Rm/u_)7La}t?ZsP9^lqx"><value name="IF0"><block type="logic_compare" id="/I(@2Ur9q:YFZ.,Q]!;S"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="M71Eu=aymxFjl1O8gTKg"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0207710.1.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="nZ_6dA?|A~s(`@vVz.0m"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="NC=+4Y=H^8;^+c7]=@;%"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.1.WORKING</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="~ZC=TU@%}A`L#6UP9Wtj"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></statement> <next><block type="comment" id="6O1Vj2=a`:kj-|_jsG*9"><field name="COMMENT">BW Kreislauf 1</field> <next><block type="schedule" id="iJWvs(RFdIvY5^!pc7bo"><field name="SCHEDULE">45 5 * * *</field> <statement name="STATEMENT"><block type="comment" id="nPL)l:p5e@jUuXl|W~wH"><field name="COMMENT">wenn Kreislauf 1 AUS dann EIN</field> <next><block type="controls_if" id="]D3UVqxxhh:9]`xMxT[="><value name="IF0"><block type="logic_compare" id="eyb*4]PxZ(;~w+}7_oo1"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="sW9qWm5u~WOhAKaqjCge"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0207710.2.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="x#H.Rbe6B?13d=N]xc/w"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="F/cpwa0R;)`=ivygp2*}"><mutation delay_input="true"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.2.WORKING</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="%Q3z`8N:IQ@Vx]8O:5yZ"><field name="BOOL">TRUE</field></block></value></block></statement> <next><block type="comment" id="YEh;l0LSj`LoKd(7k61/"><field name="COMMENT">Kreislauf 1 AUS</field> <next><block type="schedule_create" id="dTx)G4`qP)1h-NQ:l?Cn"><field name="NAME">Beregnungsdauer</field> <value name="SCHEDULE"><shadow type="field_cron" id="aS;Oe{poH7Sge,=m)(+F"><field name="CRON">45 * * * *</field></shadow></value> <statement name="STATEMENT"><block type="control" id="WkBQgn|^_5c;E-{_noW]"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.2.WORKING</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id=".:jHfsFeM4t=D,LogM)e"><field name="BOOL">FALSE</field></block></value></block></statement> <next><block type="comment" id="m-d)sOOshBQ,C=cYaQ5k"><field name="COMMENT">Kreislauf 2 EIN</field> <next><block type="controls_if" id="ssn#kyv@a*WA_d![VGLa"><value name="IF0"><block type="logic_compare" id="OH^54,s.929Z!0l6vpgk"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="pwXUTB:zu}izJT!zRv5="><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ0207710.3.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="D/p]!(`FN_Fh6Css#PN+"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="Zn!)O4fw!.8V`TOIp%Ie"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.3.WORKING</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="+6f4gQ]1gbkb?p|N?*z,"><field name="BOOL">TRUE</field></block></value></block></statement> <next><block type="comment" id="X0ILv=Dhcq/,GN[-OauW"><field name="COMMENT">Kreislauf 2 AUS</field> <next><block type="schedule_create" id=",ziTrc4^Q_{zJbpXIp[T"><field name="NAME">schedule</field> <value name="SCHEDULE"><shadow type="field_cron" id="Z0WITh!-LQtN6M]awg_z"><field name="CRON">45 * * * *</field></shadow></value> <statement name="STATEMENT"><block type="control" id="M-mojv)^2bgA6g9igJ_p"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.3.WORKING</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="-VRPhb]B4Vu{RO[F_,e#"><field name="BOOL">FALSE</field></block></value></block></statement> <next><block type="comment" id="OZ_n?kT}~~kaECwz.njN"><field name="COMMENT">Pumpe AUS</field> <next><block type="control" id="1F)4FzMOfY,fht8wl)#s"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0207710.1.WORKING</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="TB)*W^4#{Pcl#+fuyr(z"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></xml> `

          Ich habe genau das gleiche und benutze dazu im blockey die timeout function, leider ist die nur hardcoded.

          Habe dazu in trello ein request erstellt um dies mit einer variable fuellen zu koennen: https://trello.com/c/2oAG6HEP/223-block ... ctionality

          Sehe gerade das da ein feedback drauf gekommen ist und werde diesen mal testen! Bis gleich 8-) :lol: 8-)

          ~Dutch

          1 Antwort Letzte Antwort
          0
          • DutchmanD Offline
            DutchmanD Offline
            Dutchman
            Developer Most Active Administrators
            schrieb am zuletzt editiert von
            #5

            geht ist ja cool das wuste ich auch noch nicht, also anstatt von ms name der variable eingeben. Variable dan per vis setzen:
            979_timer_variable.jpg

            ~Dutch 8-)

            Edit: Docu auf GIT hinzugefuegt und pull request erstellt: https://github.com/ioBroker/ioBroker.javascript/pull/29

            1 Antwort Letzte Antwort
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              schrieb am zuletzt editiert von
              #6

              @Dutchman:

              geht ist ja cool das wuste ich auch noch nicht, also anstatt von ms name der variable eingeben. Variable dan per vis setzen: `

              Hallo

              War mir auch neu, dass das so geht.

              Würde ich allerdings nicht so offiziell machen. Das ist bestimmt nicht so gewollt und mit Vorsicht zu gebrauchen.

              1. Das geht nur mit lokalen Variablen

              2. Der Variablenname hat Einschränkungen!!

              "MyVar" -> geht.

              "MyVar01" -> geht

              "MyVar_01" -> geht

              "MyVar-01" -> !!!!!! FEHLER !!!!!

              Andere Kombis habe ich noch nicht getestet.

              Der TE möchte die Zeiten über VIS einstellen.

              Über VIS kann man aber nicht auf lokale Variablen zugreifen.

              Wenn er dieses undokumentierte "Feature" benutzen möchte, muss er den Umweg über globale Variaben/Objekte machen.
              147_test.png

              Grüße

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

              1 Antwort Letzte Antwort
              0
              • rantanplanR Offline
                rantanplanR Offline
                rantanplan
                schrieb am zuletzt editiert von
                #7

                @Dutchman:

                Edit: Docu auf GIT hinzugefuegt und pull request erstellt: https://github.com/ioBroker/ioBroker.javascript/pull/29 `

                Hallo Dutchman

                Finde ich gefährlich soetwas direkt in die offizielle Doku zu übernehmen.

                Grüße

                Rantanplan

                CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  sveni_lee
                  schrieb am zuletzt editiert von
                  #8

                  ahh… somit könnte ich die Dauer der Beregnung dann im Vis festlegen (würde ja mit einem Schieberegler gehen, so wie bei den Rollläden)

                  müsste ich ja für jeden Kreislauf separat ein Script anlegen, richtig? Die Dauer in Milisekunden könnte man ja mit einer Formel umrechnen.

                  In die Scripte für die Automatik und den manuellen Gebrauch könnte man ja noch nnifügen, dass ein Objekt(Datenpunkt) geändert wird in dem das Datum und Uhrzeit der letzen Auslösung dokumentiert wird ein Objekt für die gesamte Dauer an einem Tag... sollte doch machbar sein, oder?

                  1 Antwort Letzte Antwort
                  0
                  • rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #9

                    @sveni_lee:

                    müsste ich ja für jeden Kreislauf separat ein Script anlegen, richtig? `
                    Nicht unbedingt. Kommt auf die Komplexität an.

                    Dein Beispiel, würde ich in einem Blockly-Script lassen.
                    @sveni_lee:

                    Die Dauer in Milisekunden könnte man ja mit einer Formel umrechnen. `
                    Jepp, würde ich aber in eine Funktion auslagern.

                    Wäre übersichtlicher, weil es in Deinem Script mehrmals benutzt würde.
                    @sveni_lee:

                    In die Scripte für die Automatik und den manuellen Gebrauch könnte man ja noch nnifügen, dass ein Objekt(Datenpunkt) geändert wird in dem das Datum und Uhrzeit der letzen Auslösung dokumentiert wird ein Objekt für die gesamte Dauer an einem Tag… sollte doch machbar sein, oder? `
                    Wenn da noch mehr unterschiedliche Logiken rein sollen, stellt sich natürlich wieder die Frage nach separaten Blocklys.

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      sveni_lee
                      schrieb am zuletzt editiert von
                      #10

                      Ich denke ich sollte das Wort einfach aus meinem Wortschatz und dem Betreff hier streichen. :D

                      Um so mehr ich darüber nachdenke, um so größer werden meine Anforderungen und Vorstellungen.

                      Da man bei einer reinen Zeitsteuerung nicht von Automatik sprechen kann nenne ich das jetzt mal Semi-Automatik.

                      meine jetzigen Überlegungen:

                      <u>Semi-Automatik:</u>

                      • zwei Kreisläufe nacheinander steuern

                      • zu einer bestimmten Zeit (a) einschlten

                      • für eine bestimmte dauer (b) laufen

                      • a & b in Vis definierbar

                      • Zeitpunkt der Einschaltung protokolieren und einem Objekt zuweisen

                      • Dauer der Einschaltung protokolieren und einem Objekt zuweisen (ggf. aufrechnen)

                      • Restlaufzeit anzeigen und einem Objekt zuweisen (counter)

                      • möglichkeit der Unterbrechung

                      • Zeitpunkt der nächsten geplanten Einschaltung einem Objekt zuweisen

                      <u>manuelle Schaltung:</u>

                      • Einschalten mit auswahl Dauer bzw. nur ON (ähnlich Rollladenschalter)

                      • Zeitpunkt der Einschaltung protokollieren

                      • Dauer der Einschaltung protokollieren und einem Objekt zuweisen (ggf. aufrechnen)

                      • Restlaufzeit anzeigen und einem Objekt zuweisen (counter)

                      • möglichkeit der Unterbrechung

                      ist das, wenn auch mit viel Aufwand, umsetzbar?

                      Gruß

                      Sveni_Lee

                      1 Antwort Letzte Antwort
                      0
                      • rantanplanR Offline
                        rantanplanR Offline
                        rantanplan
                        schrieb am zuletzt editiert von
                        #11

                        @sveni_lee:

                        Ich denke ich sollte das Wort einfach aus meinem Wortschatz und dem Betreff hier streichen. :D `
                        Ja, das ist schon ein Projekt! ;) Aber machbar.

                        Je nachdem was Du mit den ganzen Protokollierungen willst, würde ich mir mal "History" u.ä. anschauen.

                        Man muss das Rad ja nicht 2x erfinden.

                        Mach doch einfach einen neuen Thread auf "[Projekt] Blockly - Bewässerungssteuerung"

                        Das könnte auch andere Interessieren. Und Hilfe wird bestimmt kommen.

                        Grüße

                        Rantanplan

                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                        1 Antwort Letzte Antwort
                        0
                        • DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          schrieb am zuletzt editiert von
                          #12

                          War ja nur gut gemeint mit der docu [emoji6]

                          Ich habe die Karte in trello Mal zurück auf testen geholt.

                          Damit halt doch weiter testen, was geht wohl/nicht eventuell doch fix.

                          Danach die Frage ob das in die docu gehört oder einer how to.

                          Wie erstelle ich mir timer mit Zeit als Variable | wie setze ich die Variable (state/object) | besser practises wie Funktion umrechnen ms > sec > mm und Wiedergabe in mm:ss zb

                          Wäre ne coole how to und Beispiel!

                          ~Dutch

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

                          Send from mobile device

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            sveni_lee
                            schrieb am zuletzt editiert von
                            #13

                            @rantanplan:

                            Mach doch einfach einen neuen Thread auf "[Projekt] Blockly - Bewässerungssteuerung"

                            Das könnte auch andere Interessieren. Und Hilfe wird bestimmt kommen.

                            Grüße `

                            werde ich dann auch machen…

                            eine Kurze Frage noch. Als Widget müsste ich ja eines mit Diqalog mehmen damit ich eine Auswahl treffen kann. Das hatte ich gerstern Abend auch probiert. ging auch ich hatte den Bereich 0-60 eingestellt und min als Einheit. Bei 25% wurden dann 15min angezeigt, passt also. Kann ich irgendwo Ändern, das nicht 25% sondern direkt 15min angezeigt werden?

                            Habe ich das richtig verstanden, Ich muß einen Objekt anlegen, dass Widget verweist dann auf das Objekt und es wird der Wert x gesetzt. Aber wie kann ich dann gleichzitig das script starten und wie müsste ich das Script anfangen... Ich habe irgendwie keinen passenden "ersten Baustein gefunden"...

                            1 Antwort Letzte Antwort
                            0
                            • rantanplanR Offline
                              rantanplanR Offline
                              rantanplan
                              schrieb am zuletzt editiert von
                              #14

                              @sveni_lee:

                              eine Kurze Frage noch. Als Widget müsste ich ja eines mit Diqalog mehmen damit ich eine Auswahl treffen kann. Das hatte ich gerstern Abend auch probiert. ging auch ich hatte den Bereich 0-60 eingestellt und min als Einheit. Bei 25% wurden dann 15min angezeigt, passt also. Kann ich irgendwo Ändern, das nicht 25% sondern direkt 15min angezeigt werden? `
                              Der Widget Name wäre hilfreich.

                              Das "jqui Select ValueList" ist recht flexibel.

                              Feld Werte: 10;20;30…...

                              Feld Texte: 10 Min;20 Min;30 Min........

                              @sveni_lee:

                              Habe ich das richtig verstanden, Ich muß einen Objekt anlegen, dass Widget verweist dann auf das Objekt und es wird der Wert x gesetzt. Aber wie kann ich dann gleichzitig das script starten und wie müsste ich das Script anfangen… Ich habe irgendwie keinen passenden "ersten Baustein gefunden"... `
                              Bei Deinem Beispiel leuchtet mir nicht ganz ein, warum Du auf die Änderung Deiner "Zeit-Variablen" reagieren möchtest.

                              Wenn Du das tun möchtest dann: "Falls Objekt <objekt id/deiner/variablen="">wurde geändert"…....

                              Ich habe es hier im Forum schon häufiger erklärt.

                              Aber nochmal in Kürze.

                              Blocklys/Scripte reagieren/starten in der Regen auf Ereignisse (Trigger).

                              WICHTIG!

                              Reagiert ein Trigger auf seine Bedingung, werden die Befehle INNERHALB des Triggers EINMAL von oben nach unten abgeabeitet.

                              Danach wartet der Trigger wieder auf seine Bedingung.

                              Grüße</objekt>

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              1 Antwort Letzte Antwort
                              0
                              • S Offline
                                S Offline
                                sveni_lee
                                schrieb am zuletzt editiert von
                                #15

                                @rantanplan:

                                Der Widget Name wäre hilfreich.

                                Das "jqui Select ValueList" ist recht flexibel.

                                Feld Werte: 10;20;30…...

                                Feld Texte: 10 Min;20 Min;30 Min........ `

                                hab ich grad leider nicht zur Hand aber werde ich mir später ansehen, welcher das ist/war

                                @rantanplan:

                                Bei Deinem Beispiel leuchtet mir nicht ganz ein, warum Du auf die Änderung Deiner "Zeit-Variablen" reagieren möchtest.

                                Wenn Du das tun möchtest dann: "Falls Objekt <objekt id/deiner/variablen="">wurde geändert"…....</objekt> `

                                möchte ich ja im Grunde gar nicht…

                                mit dem Widget wird das Script aufgerufen und die Zeitvariable übergeben...

                                hatte ich mich falsch ausgedrückt.

                                @rantanplan:

                                Ich habe es hier im Forum schon häufiger erklärt.

                                Aber nochmal in Kürze.

                                Blocklys/Scripte reagieren/starten in der Regen auf Ereignisse (Trigger).

                                WICHTIG!

                                Reagiert ein Trigger auf seine Bedingung, werden die Befehle INNERHALB des Triggers EINMAL von oben nach unten abgeabeitet.

                                Danach wartet der Trigger wieder auf seine Bedingung. `

                                also:

                                Wert meiner <objekt id/actor="">auf WAHR setzen

                                –-> Ausführen Timeout <zeit variable/aus/widget="">---> Wert meiner <objekt id/actor="">auf FALSE setzen

                                habe ich das so jetzt richtig verstanden...

                                Gruß

                                Sveni_Lee</objekt></zeit></objekt>

                                1 Antwort Letzte Antwort
                                0
                                • rantanplanR Offline
                                  rantanplanR Offline
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #16

                                  @sveni_lee:

                                  möchte ich ja im Grunde gar nicht…

                                  mit dem Widget wird das Script aufgerufen und die Zeitvariable übergeben... `
                                  Mit dem Widget musst Du kein Script aufrufen.

                                  Das Widget ändert den Inhalt Variable direkt.

                                  Wenn Du über ein Widget eine Lampe ein/aus schaltest, machst Du das ja auch nicht über ein Script.

                                  @sveni_lee:

                                  also:

                                  Wert meiner <objekt id/actor="">auf WAHR setzen

                                  –-> Ausführen Timeout <zeit variable/aus/widget="">---> Wert meiner <objekt id/actor="">auf FALSE setzen

                                  habe ich das so jetzt richtig verstanden...</objekt></zeit></objekt> `
                                  Fast.

                                  Es gibt keine direkte Verbindung von Blockly zu VIS/Widget.

                                  Du legst ja eine ioBroker Objekt/Variable an.

                                  Widget -> ändert Zeit Variable

                                  Blockly arbeitet mit "Wert von Objekt ID Zeit Variable".

                                  Wert meiner <objekt id/actor="">auf WAHR setzen

                                  –-> Ausführen Timeout <zeit variable="">---> Wert meiner <objekt id/actor="">auf FALSE setzen

                                  So sieht es richtiger aus.

                                  Grüße</objekt></zeit></objekt>

                                  Rantanplan

                                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    sveni_lee
                                    schrieb am zuletzt editiert von
                                    #17

                                    so, ich habe gerstern abend noch mal ein bischen gespielt aber irgendwie komme ich nicht weiter…

                                    Ich verwende folgendes widget: jqui-mfd - Custom10 + jqui Dialog.

                                    hier habe ich max auf 60 und min auf 0 gesetzt. als Winheit habe ich dann "min" eingegeben.

                                    im jqui wird das auch korrekt angezeigt also 25% - 15min.

                                    soweit so gut...

                                    Ich habe mir mal einen sehr einfachen Ablaufplan erstellt.

                                    Das sollte beim Einschalten/Betätigen des Widgets passieren...

                                    wenn das steht müsste noch die mit übergebene Variable der dauer eingebaut werden...
                                    2712_bew_sserungsablauf.jpg

                                    1 Antwort Letzte Antwort
                                    0
                                    • DutchmanD Offline
                                      DutchmanD Offline
                                      Dutchman
                                      Developer Most Active Administrators
                                      schrieb am zuletzt editiert von
                                      #18

                                      @sveni_lee:

                                      so, ich habe gerstern abend noch mal ein bischen gespielt aber irgendwie komme ich nicht weiter…

                                      Ich verwende folgendes widget: jqui-mfd - Custom10 + jqui Dialog.

                                      hier habe ich max auf 60 und min auf 0 gesetzt. als Winheit habe ich dann "min" eingegeben.

                                      im jqui wird das auch korrekt angezeigt also 25% - 15min.

                                      soweit so gut...

                                      Ich habe mir mal einen sehr einfachen Ablaufplan erstellt.

                                      Das sollte beim Einschalten/Betätigen des Widgets passieren...

                                      wenn das steht müsste noch die mit übergebene Variable der dauer eingebaut werden... `

                                      Piste mal dein skript (een blockly bitten eine export) und widget

                                      ~Dutch

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

                                      Send from mobile device

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        sveni_lee
                                        schrieb am zuletzt editiert von
                                        #19

                                        Ja genau da liegt ja mein Problem.

                                        Ein Skript beginnt ja immer mit einem Trigger… Bei einem Zeitgesteuerten Ablauf ist das einfach.

                                        Aber auf was müsste ich den Trigger in diesem Fall setzen und welches Objekt gebe ich denn im

                                        Widget an?

                                        Gruß

                                        Sveni_lee

                                        1 Antwort Letzte Antwort
                                        0
                                        • rantanplanR Offline
                                          rantanplanR Offline
                                          rantanplan
                                          schrieb am zuletzt editiert von
                                          #20

                                          Sollen die beiden Pumpen nie gleichzeitig laufen?

                                          Rantanplan

                                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                          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

                                          540

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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