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.
    • dslraser
      dslraser Forum Testing Most Active @paul53 last edited by dslraser

      @paul53 sagte in While Schleife mit mehreren Objekten?:

      @oberfragger
      Die Variable ValueList enthält den Wert undefined. Wie sieht die ID-Struktur der 6 Ventile aus?

      Bildschirmfoto 2021-06-12 um 11.27.07.png

      Bildschirmfoto 2021-06-12 um 11.28.05.png

      EDIT: Das muss schon mal groß geschrieben sein MANUAL_WATERING

      Fehler bleibt aber.

      Bildschirmfoto 2021-06-12 um 11.35.09.png

      Asgothian paul53 2 Replies Last reply Reply Quote 0
      • 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

                                471
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                5
                                26
                                1420
                                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