Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [geloest] While Schleife mit mehreren Objekten?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [geloest] While Schleife mit mehreren Objekten?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Asgothian
      Asgothian Developer @dslraser last edited by

      @dslraser 1623489951432-bildschirmfoto-2021-06-12-um-11.25.28.png

      Der Fehler ist gelb umrahmt.

      An Stelle einer Variable "List" die du nicht definiert hast muss "ValueList" gewählt werden.

      A.

      oberfragger 1 Reply Last reply Reply Quote 1
      • paul53
        paul53 @dslraser last edited by paul53

        @dslraser sagte: Fehler bleibt aber.

        Versuche es mal so:

        Bild_2021-06-12_141022.png

        oberfragger 1 Reply Last reply Reply Quote 0
        • oberfragger
          oberfragger @Asgothian last edited by

          @asgothian Natürlich wegen- das war mir klar dass ich nicht einfach copy&paste machen kann - auf deutsch "Asche auf mein Haupt und ist mir gerade voll peinlich".

          Bin ja echt dankbar für die Hilfe. Falls etwas anderes angekommen ist - sorry.

          1 Reply Last reply Reply Quote 0
          • oberfragger
            oberfragger @paul53 last edited by

            @paul53

            Ich habe das jetzt wie folgt gemacht

            09b75496-1166-4d2c-9e5f-8c4c0c035940-image.png
            Bekomme leider direkt bei Scriptstart einen Fehler:

            23:49:18.580	info	javascript.0 (1050) Start javascript script.js.common.Gardena_Zisterne_fuellen
            23:49:18.584	error	javascript.0 (1050) script.js.common.Gardena_Zisterne_fuellen: script.js.common.Gardena_Zisterne_fuellen:15
            23:49:18.585	error	javascript.0 (1050) at script.js.common.Gardena_Zisterne_fuellen:21:3
            

            Hier ist mein Script:

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="kOPQJ]S}yV|$_f]Oqd(J">VentilListe</variable>
             </variables>
             <block type="variables_set" id="M3[*C!*iU=a~.;w[O#hN" x="63" y="63">
               <field name="VAR" id="kOPQJ]S}yV|$_f]Oqd(J">VentilListe</field>
               <value name="VALUE">
                 <block type="selector" id="t.l2|UUi=U+YvUD=mzNd">
                   <field name="TEXT">channel[state.id=smartgarden.0.*.*.*.activity_value]</field>
                 </block>
               </value>
               <next>
                 <block type="on_ext" id="$Ag5y!5Z3-hN-EIK^ofg">
                   <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="#ZXf^+~J~%RUH4`-=[ZT">
                       <field name="oid">default</field>
                     </shadow>
                     <block type="variables_get" id="M;$PLj#-fEc@gj;LEa`#">
                       <field name="VAR" id="kOPQJ]S}yV|$_f]Oqd(J">VentilListe</field>
                     </block>
                   </value>
                   <statement name="STATEMENT">
                     <block type="debug" id="[;Payw+#!rr-NRRBt*Xs">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text" id="./T:zhrosIxNAii:7P1Z">
                           <field name="TEXT">VentilListe geaendert</field>
                         </shadow>
                       </value>
                       <next>
                         <block type="control" id="v5n(v^D575)2=t)lBQ?y">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">smartgarden.0.LOCATION_09fda3bb-2Dddb4-2D468b-2Dab8a-2Dbdb83b0f1c9f.DEVICE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.SERVICE_VALVE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.activity_value</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="text" id=",]Ooz3-Ppco9OU;#BA[t">
                               <field name="TEXT">CLOSED</field>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="_;cw}ugS3aUD4G_{]BC,">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="~0#w9@Z[mN|iGkwQ#m7=">
                                   <field name="TEXT">Zisternenbefuellung auf "CLOSED"</field>
                                 </shadow>
                               </value>
                               <next>
                                 <block type="debug" id="v]O7TgC@o6~Cd#t3bHAf">
                                   <field name="Severity">log</field>
                                   <value name="TEXT">
                                     <shadow type="text" id="]`OS2mAyDBt-akr,a2v-">
                                       <field name="TEXT">SR</field>
                                     </shadow>
                                     <block type="text_join" id="M3D$:7-yk2K*v*ji~sZ1">
                                       <mutation items="2"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="y-eW4FjnKGL?EbUzIKB5">
                                           <field name="TEXT">SR04 Distance = </field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_value" id="(6O;5+BRzS1r#u4tKUl)">
                                           <field name="ATTR">val</field>
                                           <field name="OID">sonoff.0.Zisterne.SR04_Distance</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="controls_if" id="@aQzk(;^XM7lHL^Vq#lD">
                                       <value name="IF0">
                                         <block type="logic_compare" id="[rdAMw0QCENLXI/O^{oT">
                                           <field name="OP">GT</field>
                                           <value name="A">
                                             <block type="get_value" id="jCD(:CCb,WKeL~OZLqn#">
                                               <field name="ATTR">val</field>
                                               <field name="OID">sonoff.0.Zisterne.SR04_Distance</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="math_number" id=":J?8[_WhiTRi4FfW#oha">
                                               <field name="NUM">105</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="debug" id="sljG:^;`/.l{dH0V!z=c">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="3#7ozj#K2g2Fx(XKNIof">
                                               <field name="TEXT">Schleife betreten</field>
                                             </shadow>
                                           </value>
                                           <next>
                                             <block type="control" id="5Qb.wHu|lc;MewZq/nHs">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">smartgarden.0.LOCATION_09fda3bb-2Dddb4-2D468b-2Dab8a-2Dbdb83b0f1c9f.DEVICE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.SERVICE_VALVE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.activity_value</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="text" id="tYK|/!cUyD/`2.04p@]N">
                                                   <field name="TEXT">MANUAL_WATERING</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="controls_flow_statements" id="}Hjmz^iFduo2^a3i4|aL">
                                                   <field name="FLOW">BREAK</field>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <next>
                     <block type="control" id="s7k@e(S25x|sB_QjP[7A">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">smartgarden.0.LOCATION_09fda3bb-2Dddb4-2D468b-2Dab8a-2Dbdb83b0f1c9f.DEVICE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.SERVICE_VALVE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.activity_value</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="text" id="o|V+6RXEQ61dQ;E4L8C*">
                           <field name="TEXT">CLOSED</field>
                         </block>
                       </value>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            Objekt der Zisternenbefüllung:
            "_id": "smartgarden.0.LOCATION_09fda3bb-2Dddb4-2D468b-2Dab8a-2Dbdb83b0f1c9f.DEVICE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.SERVICE_VALVE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.activity_value"

            Beispielobjekt eines Ventils:
            "_id": "smartgarden.0.LOCATION_09fda3bb-2Dddb4-2D468b-2Dab8a-2Dbdb83b0f1c9f.DEVICE_e8990271-2D7615-2D4807-2D864b-2D2505dc75699a.SERVICE_VALVE_e8990271-2D7615-2D4807-2D864b-2D2505dc75699a-3A1.activity_value",

            Wo liegt mein Fehler?

            dslraser 1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @oberfragger last edited by dslraser

              @oberfragger sagte in While Schleife mit mehreren Objekten?:

              "_id": "smartgarden.0.LOCATION_09fda3bb-2Dddb4-2D468b-2Dab8a-2Dbdb83b0f1c9f.DEVICE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.SERVICE_VALVE_2be886f7-2D6553-2D4308-2D80f8-2D0c504c0d1227.activity_value"

              Dieser DP ist read only. Was willst Du steuern ?
              Willst Du die Bewässerung starten ? Das geht anders....

              https://github.com/jpgorganizer/ioBroker.smartgarden#for-service_valve_set

              oberfragger 2 Replies Last reply Reply Quote 0
              • oberfragger
                oberfragger @dslraser last edited by oberfragger

                @dslraser Wow.
                Ich Depp. Stimmt. Ganz vergessen. Das muss man über die Zeit machen.
                Ich habe 1 Gardena-Ventil (so ein Teil mit Batterien) direkt am Wasserhahn. Der befüllt mir die Zisterne, wenn diese zu leer ist (> 105 cm Wasserhöhe). Die Bewässerung zieht das Wasser immer aus der Zisterne und ich brauch nichts manuell umstellen.

                Ich mache morgen mal weiter. Jetzt Bett. Ich melde mich.

                1 Reply Last reply Reply Quote 0
                • oberfragger
                  oberfragger @Asgothian last edited by

                  @asgothian Habs geändert und richtige Liste eingesetzt. Hatte mich bei Import auch gewundert, welche Liste das ist...

                  Da das Ventil welches die Zisterne befüllen soll, Teil der Liste geworden ist, bin ich nun in einer Schleife. Der ioBroker mag das garnicht:
                  2e15dc10-a909-4db8-964d-c37da45812d7-image.png

                  Ich teste morgen mal weiter. Denke der Weg ist der richtige und ich bin nicht weit weg von einer vollautomatischen Bewässerung, inkl. Befüllung der Zisterne wenn leer.

                  1 Reply Last reply Reply Quote 0
                  • oberfragger
                    oberfragger @dslraser last edited by

                    @dslraser und
                    @Asgothian

                    Ich habe jetzt mal mein Script etwas angepasst. Leider wirds nun nicht mehr getriggert (der Debu´g-Outpunkt kommt nicht und das Ventil zur Befüllung springt nicht an)... AARGH!

                    1. Die Werte aller 6 Ventile direkt in die Liste geschrieben. Damit möchte ich vermeiden, dass das Scipt auf das Gardena Smart Water Control reagiert. Dieser schreibt den Wert ja auch unter Activity_Value rein
                    2. Vor Eintritt in die Schleife wird auf den Füllstand der Zisterne geachtet
                    3. In der Schleife wird nun gezählt, wie oft "CLOSED" vorkommt. Wenn 6 Ventile geschlossen sind, dann soll auch kein Wasser mehr in die Zisterne laufen. Wenn mindestens 1Mal KEIN "CLOSED" steht, dann soll Wasser in die Zisterne geleitet werden.

                    Aber warum triggert das nicht, die Liste verändert sich doch, sobald ich die Bewässerung starte...?

                    f890d8c6-3c70-4349-86cf-d541e6e2c907-image.png

                    oberfragger 1 Reply Last reply Reply Quote 0
                    • oberfragger
                      oberfragger @oberfragger last edited by oberfragger

                      Ok, Korrektur.
                      Habs hinbekommen.

                      Jetzt muss ich nur noch rausfinden, wie ich die Bewässerung stoppen kann. Die GardenaAPI mag irgendwie die EIngabe(n) nicht. Das sollte ich auch noch rausbekommen.

                      JUHU! Gute Doku ist doch alles!

                      a9299a68-33d4-409d-b19e-eb27bd36028a-image.png

                      Dank an Euch! WIeder was dazugelernt.

                      paul53 1 Reply Last reply Reply Quote 1
                      • paul53
                        paul53 @oberfragger last edited by

                        @oberfragger sagte: Habs hinbekommen.

                        Nicht ganz: Der Zähler muss vor der Schleife auf 0 initialisiert werden.

                        oberfragger 1 Reply Last reply Reply Quote 0
                        • oberfragger
                          oberfragger @paul53 last edited by oberfragger

                          @paul53 Verdammt! Und danke für den Hinweis. Dachte der ist bei Scriptstart immer auf 0.
                          Ich änder das mal lieber sonst läuft die Zisterne über 😉

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @oberfragger last edited by paul53

                            @oberfragger sagte: Dachte der ist bei Scriptstart immer auf 0.

                            Nach Skriptstart schon, aber nicht, nachdem die Schleife einmal durchlaufen wurde (nächster Trigger).

                            oberfragger 1 Reply Last reply Reply Quote 1
                            • oberfragger
                              oberfragger @paul53 last edited by

                              @paul53 said in [geloest] While Schleife mit mehreren Objekten?:

                              Nach Skriptstart schon, aber nicht, nachdem die Schleife einmal durchlaufen wurde (nächster Trigger).

                              Okay. Den Fall hatte ich glatt wieder verdrängt.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              716
                              Online

                              31.8k
                              Users

                              79.9k
                              Topics

                              1.3m
                              Posts

                              5
                              26
                              1389
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo