Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Gelöst! Brauche Hilfe bei meinem Blockly Script

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gelöst! Brauche Hilfe bei meinem Blockly Script

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @haselchen last edited by paul53

      @haselchen sagte:

      Dir fehlt ganz oben schon ein Trigger.

      So ist es. Es fehlt ein Trigger auf Änderung der Helligkeit.
      Außerdem sollte man die Tageszeit auswerten für Rollos hoch (morgens) und Rollos runter (abends), etwa so:

      Blockly_temp.JPG

      <xml xmlns="http://www.w3.org/1999/xhtml">
       <block type="comment" id="XViJG2mMWB.j4a8+PD+w" x="62" y="12">
         <field name="COMMENT">BRIGHTNESS</field>
         <next>
           <block type="on_ext" id="xJK_O{B.)T?lpYAcnq-m">
             <mutation items="1"></mutation>
             <field name="CONDITION">ne</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id=")B`yp96a^D{}(]Tz]N)9">
                 <field name="oid">default</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="@SGJ4,.w7K~mYyaDam`H">
                 <value name="IF0">
                   <block type="get_value" id="2q.Nb.EiqrjV?z+qfSQU">
                     <field name="ATTR">val</field>
                     <field name="OID">ID auswählen</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="controls_if" id="Nj+0s1yN{vOUf;y*[*x?">
                     <mutation else="1"></mutation>
                     <value name="IF0">
                       <block type="time_compare" id="].4Y,{~*vtI_p9;rtbvr">
                         <mutation end_time="false"></mutation>
                         <field name="OPTION">&lt;</field>
                         <field name="START_TIME">12:00</field>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="controls_if" id="UZ]W,]k?Q`:DSsZEVz;F">
                         <value name="IF0">
                           <block type="logic_compare" id="g*a=Ydg?Q{?E}FRpAmbl">
                             <field name="OP">GTE</field>
                             <value name="A">
                               <block type="on_source" id="ZQ`Y.mU![PO_kuvbm|R~">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="get_value" id="7JE+1/c(OU@oS4kAH/@K">
                                 <field name="ATTR">val</field>
                                 <field name="OID">ID auswählen</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="comment" id="CkOaf^F4:!eYr5FAWo#-">
                             <field name="COMMENT">alle Rollos</field>
                             <next>
                               <block type="update" id="mc~-LbOT0:5cHE4(Lh@N">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">Object ID</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="`73uZct;o_gRvqS.fE8)">
                                     <field name="BOOL">TRUE</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                     <statement name="ELSE">
                       <block type="controls_if" id="x*fhKED*dkz.5J.^v_52">
                         <value name="IF0">
                           <block type="logic_compare" id="1eZ@h](1w-{B$dMAZHH}">
                             <field name="OP">LTE</field>
                             <value name="A">
                               <block type="on_source" id="XV,_q_$5SrOjf=upI$xU">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="get_value" id=",NG5N9))VQazI9j%]w+l">
                                 <field name="ATTR">val</field>
                                 <field name="OID">ID auswählen</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="comment" id="mGAxCR@VOc#mU{o5!bTH">
                             <field name="COMMENT">alle Rollos</field>
                             <next>
                               <block type="update" id="KU#d,5}vBr{xJIHV|Cfj">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">Object ID</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id=".7:f5F^:z3ePJMn@yrBp">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                 </statement>
               </block>
             </statement>
             <next>
               <block type="comment" id="qVjmMOLch6Rh9k^jnYRg">
                 <field name="COMMENT">alle Rollos</field>
                 <next>
                   <block type="on_ext" id="K_6#A@,l]H:$5]b@!V,!">
                     <mutation items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="AP/25R3Jbc@=X@npQGf|">
                         <field name="oid">default</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="controls_if" id=";?y92$eR?ltPAWMlt$%P">
                         <mutation else="1"></mutation>
                         <value name="IF0">
                           <block type="on_source" id="IpQ-hwff|@pIt`D.(Qfm">
                             <field name="ATTR">state.val</field>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="comment" id="[[]DvuL.UTc3(639$G6~">
                             <field name="COMMENT">Rollos hoch</field>
                           </block>
                         </statement>
                         <statement name="ELSE">
                           <block type="comment" id=";IUXX`?aAo$XT5y{}#KN">
                             <field name="COMMENT">Rollos runter</field>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
       <block type="comment" id="Ias1iDR8q(PuBi@I$4?X" x="337" y="87">
         <field name="COMMENT">Dämmerung Ja/Nein</field>
       </block>
       <block type="comment" id="2Lr=pCPIzgHf3z03PJ/k" x="612" y="138">
         <field name="COMMENT">Grenzwert</field>
       </block>
       <block type="comment" id="G9/}V*VkS*k1tzmA8:uk" x="463" y="212">
         <field name="COMMENT">hoch</field>
       </block>
       <block type="comment" id="KD@[/2|hij~hCd={KM|#" x="462" y="337">
         <field name="COMMENT">runter</field>
       </block>
      </xml>
      

      1 Reply Last reply Reply Quote 1
      • F
        fuso last edited by

        Hi,

        danke für Eure Hilfestellung.
        Ja das mit dem fehlenden trigger habe ich nun schon verstanden und habe in der Zwischenzeit auch schon ganz schön was rumprobiert. Aber irgendwie will es doch noch nicht klappen.
        @paul53
        ich werde dein Blockly mal so ausprobieren, vielen dank für Deine Arbeit.
        Aber ich möchte trotzdem gerne wissen, warum mein zusammengebautes Blockly nicht funktioniert. Will ja noch lernen und nicht immer auf die Hilfe von Anderen hoffen müssen.

        Das Objekt "Schwellenwert_überschritten" ändert sich einfach nicht. Am fehlenden Trigger sollte es ja nicht liegen, oder?
        Der zustand sollte von false nach true wechseln, wenn der Schwellenwert der in der Visu eingegeben höher ist als der vom Helligkeitsmesser. das ist doch nicht so schwierig, dachte ich. Wenn ich meinen Trigger Wetterstation_Brightness auf aktualisieren stelle sollte der doch jedesmal die Bedingung prüfen? Oder verstehe ich das falsch? Wie kann ich eigentlich sicherstellen, daß das Ereignis nur einmal Erfolgt? Die Rollos sollen ja nicht minütlich, oder jedesmal wenn sich die Helligkeit ändert nach oben oder unten geschickt werden.
        Ach ja und für mein Test Script habe ich als Ausgang eine Schaltbare Steckdose angeschlossen, sodaß die Rollos nicht dauert losgeschickt werden

        Vielen dank nochmals für die Inputs
        f5cfd3ce-98ff-48c5-a2c8-809c7c661b00-image.png

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

          @fuso sagte:

          Am fehlenden Trigger sollte es ja nicht liegen, oder?

          Im Gegenteil: Trigger innerhalb eines Triggers funktioniert nicht. Deshalb wir in meinem Beispiel der Datenpunkt "Dämmerung Ja/Nein" innerhalb des Triggers "Helligkeit" geprüft.

          @fuso sagte in Brauche Hilfe bei meinem Blockly Script:

          Wie kann ich eigentlich sicherstellen, daß das Ereignis nur einmal Erfolgt?

          Damit bei schwankender Helligkeit um den Grenzwert der Zustand "Rollos hoch/runter" sich nicht ständig ändert, werte ich die Tageszeit aus. Der nachfolgende Trigger "alle Rollos" reagiert nur auf Wertänderung, also nur zweimal am Tag.

          1 Reply Last reply Reply Quote 0
          • F
            fuso last edited by

            Hallo Paul,

            so jetzt habe ich mal mein Blockly umgebaut, so wie Du´s mir in der hilfestellung gezeigt hast.
            d6faa308-76ca-4f8c-9462-b5d416d94d25-image.png

            Ja und jetzt habe ich gerade im log gesehen, daß ich noch ein anderes problem habe. Wie finde ich denn raus um welches Objekt es sich hier handelt?
            Ich habe nochmal nachgeschaut, eigentlich sollte alles richtig konfiguriert sein
            31db29a1-40f7-49d4-9f9a-3efda91cd6a9-image.png

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

              @fuso sagte:

              Wie finde ich denn raus um welches Objekt es sich hier handelt?

              Man kann nicht auf "Wert von Objekt" Triggern, sondern man muss die Datenpunkt-ID an den Trigger übergeben: Auf default klicken und den Datenpunkt im Selektor-Fenster auswählen.

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

                vertippt.

                1 Reply Last reply Reply Quote 0
                • F
                  fuso last edited by

                  Hallo Paul,

                  ja, das war der richtige Hinweis. Oh je, es gibt noch viel zu lernen. Es scheint zu laufen jetzt. Einzig mit dem trigger muss ich doch nochmal spielen, weil er jetzt bei jeder Helligkeitsänderung triggert und meine Rollos losschickt. Ist nur ein Schönheitsfehler, da beiß ich mich selber durch.
                  Vielen dank für die Hilfe

                  Fuso

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

                    @fuso sagte:

                    weil er jetzt bei jeder Helligkeitsänderung triggert und meine Rollos losschickt.

                    @paul53 sagte in Brauche Hilfe bei meinem Blockly Script:

                    Der nachfolgende Trigger "alle Rollos" reagiert nur auf Wertänderung, also nur zweimal am Tag.

                    1 Reply Last reply Reply Quote 0
                    • F
                      fuso last edited by

                      Hallo paul,
                      nochmals danke. Das habe ich natürlich in Deinem ersten post übersehen. Komme leider heute nicht mehr wirklich zum testen. Hab aber die Scripte gerade am laufen. Schau mer mal, ob das heute abend funktioniert.

                      Gruß

                      1 Reply Last reply Reply Quote 0
                      • F
                        fuso last edited by

                        Hallo zusammen,

                        möchte mal kurz Feedback zu meinem Thema geben. Also läuft alles.
                        Vielen dank nochmal

                        fuso

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        779
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

                        blockly
                        3
                        12
                        787
                        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