Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Zufallsgesteuerte Lampe

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zufallsgesteuerte Lampe

    This topic has been deleted. Only users with topic management privileges can see it.
    • Meister Mopper
      Meister Mopper @David G. last edited by

      Im Fall, dass alle Lampen beim Start der Automation aus sind, schalten alle Lampen immer gleich, also an oder aus.
      Es wäre ja noch genialer, wenn die Lampen zufällig an oder aus gingen, so dass von außen wirklich der Eindruck entsteht, dass Leben im Haus ist.

      Hat jemand eine Idee, wie man das realisieren könnte?

      David G. 1 Reply Last reply Reply Quote 0
      • David G.
        David G. @Meister Mopper last edited by David G.

        @meister-mopper

        Mein Post (3-4 Beiträge) weiter oben.
        Mehr Zufall geht denke nicht.

        Zum ausschalten habe ich leicht angepasst (eigener Datenpunkt zum de- aktivieren und anderen Trigger und eigene Funktion) das selbe Skript.

        Bei den Lampen die berücksichtigt werden habe ich eine Funktion unter den Objekten vergeben nach denen das Skript sucht.

        Meister Mopper 1 Reply Last reply Reply Quote 0
        • Meister Mopper
          Meister Mopper @David G. last edited by

          @david-g

          Die Logik Deines Scripts erschließt sich mir leider noch nicht. Wo befinden sich im Script die zu schaltenden Lampen?

          David G. 1 Reply Last reply Reply Quote 0
          • David G.
            David G. @Meister Mopper last edited by David G.

            @meister-mopper

            Im "id vom selektor".
            Musst unter den Objekten im Iobroker eine Funktion vergeben (vorher anlegen).
            Im Beispiel "abend_auto_an".

            Die nimmt das Skript dann alle.

            Ist leichter als alles im Skript zu pflegen.

            Meister Mopper 1 Reply Last reply Reply Quote 0
            • Meister Mopper
              Meister Mopper @David G. last edited by

              @david-g sagte in Zufallsgesteuerte Lampe:

              Musst unter den Objekten im Iobroker eine Funktion vergeben (vorher anlegen).

              Genau das kenne/verstehe ich nicht. Wie macht man das konkret?

              David G. 1 Reply Last reply Reply Quote 0
              • David G.
                David G. @Meister Mopper last edited by David G.

                @meister-mopper

                Hier eine Funktion anlegen
                Screenshot_20220129-110945_Chrome.jpg

                Und hier vergeben
                Screenshot_20220129-110531_Chrome.jpg

                EDIT:
                Vergeben kannst du die Funktionen auch im ersten Bild schon.

                EDIT 2:
                Nutze ich für recht viel die Funktion.
                Kann man auch im Trigger verwenden.
                Hab zB eine Funktion für die Alarmanlage.
                So kann ich alle Kontakte überwachen ohne jeden in Blockly aufzunehmen.

                1 Reply Last reply Reply Quote 0
                • Meister Mopper
                  Meister Mopper last edited by Meister Mopper

                  @david-g

                  Ah ok, mit aliases habe ich bisher noch nichts gemacht. Bei den Aufzählungen habe ich einige Lampen unter FuncLight.

                  345f3bc6-775a-436c-82d3-1f03bb020426-grafik.png

                  Die will ich aber nicht alle in eine Zufallsschaltung einbeziehen.

                  Danke, da muss ich mich erst noch reinfuchsen. Das liest sich sehr interessant.

                  David G. 1 Reply Last reply Reply Quote 0
                  • David G.
                    David G. @Meister Mopper last edited by

                    @meister-mopper

                    Alias braucht man da für nicht. Geht mit jedem Datenpunkt.
                    Datenpunkte können auch mehrere Funktionen zugeordnet sein.

                    In FuncLight habe ich alle Lampen. Die Lampen die bei der Simulation angehen sollen zusätzlich noch die entsprechende Funktion.

                    Manche Lampen haben bei mir funclight, abend_auto_an, abend_auto_aus und noch eine für Lampen die eingeschaltet werden sollen wenn die Alarmanlage auslöst.

                    Meister Mopper 1 Reply Last reply Reply Quote 0
                    • Meister Mopper
                      Meister Mopper @David G. last edited by

                      @david-g

                      Super, dass man sie in verschiedene Funktionen einbinden kann, wusste ich nicht. Das eröffnet ja ungeahnte Möglichkeiten!

                      David G. 1 Reply Last reply Reply Quote 0
                      • David G.
                        David G. @Meister Mopper last edited by

                        @meister-mopper

                        Oh ja, als @paul53 mir das mal gezeigt hat hab ich selbiges gedacht.
                        Mittlerweile auch echt viel drüber am laufen.

                        Finde eben auch praktisch, dass man es als Trigger und in einem Skript verwenden kann.

                        Meister Mopper 2 Replies Last reply Reply Quote 0
                        • Meister Mopper
                          Meister Mopper @David G. last edited by

                          @david-g

                          Na dann mal in die Hände gespuckt. Danke Dir nochmal 😀

                          1 Reply Last reply Reply Quote 0
                          • Meister Mopper
                            Meister Mopper @David G. last edited by

                            @david-g

                            Dieses Element ist bei mir nicht vorhanden

                            b6ae6049-7576-4992-bc66-c0c0b4fafe16-grafik.png

                            Ich habe nur das

                            781d55bf-3280-477f-80d7-e4091cf741b2-grafik.png

                            David G. 1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @Meister Mopper last edited by David G.

                              @meister-mopper

                              Das dürfte dein makiertes sein.
                              Bei "setze für" müsstest du "entferne" auswählen können.

                              Oder das über deinem. Nicht sicher.
                              Man kann da ja verschiede Optionen wählen im Baustein.

                              Kann dir aber auch einen Export machen.

                              Meister Mopper 1 Reply Last reply Reply Quote 0
                              • Meister Mopper
                                Meister Mopper @David G. last edited by

                                @david-g

                                entferne lässt sich nicht einstellen. Kannst es bitte exportieren?

                                David G. 1 Reply Last reply Reply Quote 0
                                • David G.
                                  David G. @Meister Mopper last edited by David G.

                                  @meister-mopper

                                  Einmal das ganze Skript fürs einschalten

                                  <block xmlns="https://developers.google.com/blockly/xml" type="astro" id="s]_avA@=F-=z9.XGC|^k" x="-62" y="-262">
                                    <field name="TYPE">sunsetStart</field>
                                    <field name="OFFSET">-30</field>
                                    <statement name="STATEMENT">
                                      <block type="controls_if" id="S6gH@zTf;_y,bODGXQT6">
                                        <value name="IF0">
                                          <block type="get_value" id="6)9ljsYdGTFa.v6SbYde">
                                            <field name="ATTR">val</field>
                                            <field name="OID">0_userdata.0.Lichtsteuerung.auto_an</field>
                                          </block>
                                        </value>
                                        <statement name="DO0">
                                          <block type="variables_set" id="Y_Z:F}P#$gqw)!dX^H22">
                                            <field name="VAR" id="Err,]Ie#sWB-OEmBmG-m">startverzoegerung</field>
                                            <value name="VALUE">
                                              <block type="math_random_int" id="!_O?-]HGZ=*MLJ^m9%T?">
                                                <value name="FROM">
                                                  <shadow type="math_number" id="F|lQKvDc!HDU2I.CYEQ^">
                                                    <field name="NUM">0</field>
                                                  </shadow>
                                                </value>
                                                <value name="TO">
                                                  <shadow type="math_number" id="waquF_@@@RO*iO|5U15=">
                                                    <field name="NUM">1200000</field>
                                                  </shadow>
                                                </value>
                                              </block>
                                            </value>
                                            <next>
                                              <block type="variables_set" id="T~]gz?({;t|:Y2$`P.+y">
                                                <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field>
                                                <value name="VALUE">
                                                  <block type="selector" id=".]bd(U-XIeN,*[joM*3:">
                                                    <field name="TEXT">*(functions=abend_auto_an)</field>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="timeouts_cleartimeout" id="]9!E#P.3{9Y`}M4c$Byt">
                                                    <field name="NAME">start</field>
                                                    <next>
                                                      <block type="timeouts_settimeout" id="#G`Q?w0*nf-808,de,*E">
                                                        <field name="NAME">start</field>
                                                        <field name="DELAY">startverzoegerung</field>
                                                        <field name="UNIT">ms</field>
                                                        <statement name="STATEMENT">
                                                          <block type="controls_repeat_ext" id="6qn_sy]F6$l5djPR:[xa">
                                                            <value name="TIMES">
                                                              <shadow type="math_number" id="Kl(i=29#~oaCfSmEdtl:">
                                                                <field name="NUM">10</field>
                                                              </shadow>
                                                              <block type="lists_length" id=":y-5u5R)%a7$O10`^@Of">
                                                                <value name="VALUE">
                                                                  <block type="variables_get" id="T{QWbh1y9`-ul;e^G00/">
                                                                    <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field>
                                                                  </block>
                                                                </value>
                                                              </block>
                                                            </value>
                                                            <statement name="DO">
                                                              <block type="variables_set" id="lGtA:?,e7hU_k@|H=@qU">
                                                                <field name="VAR" id="S_8zhsxPG9PXxZuq#^7;">lampenverzoegerung</field>
                                                                <value name="VALUE">
                                                                  <block type="math_random_int" id="-vuyKS,1k2i:gL%~mtA-">
                                                                    <value name="FROM">
                                                                      <shadow type="math_number" id="A_Z~5.f6MoT`b:,}ABF3">
                                                                        <field name="NUM">5000</field>
                                                                      </shadow>
                                                                    </value>
                                                                    <value name="TO">
                                                                      <shadow type="math_number" id="49)QrxTwC2,@8({f,%%`">
                                                                        <field name="NUM">300000</field>
                                                                      </shadow>
                                                                    </value>
                                                                  </block>
                                                                </value>
                                                                <next>
                                                                  <block type="variables_set" id="g!4Ed#VLk1[|dQPMVXTH">
                                                                    <field name="VAR" id="87F([a-o_T[s/Q1mR8BZ">liste_lampen_nr</field>
                                                                    <value name="VALUE">
                                                                      <block type="math_random_int" id="-9m#+EnDNSE`6EXx|Pj5">
                                                                        <value name="FROM">
                                                                          <shadow type="math_number" id="lH+Yke7X}b%e*ywU8[+g">
                                                                            <field name="NUM">1</field>
                                                                          </shadow>
                                                                        </value>
                                                                        <value name="TO">
                                                                          <shadow type="math_number">
                                                                            <field name="NUM">3</field>
                                                                          </shadow>
                                                                          <block type="lists_length" id="O!uB^h5uToJc3O9R;q}a">
                                                                            <value name="VALUE">
                                                                              <block type="variables_get" id="X_:J=Xk2Sl0W=-O{@rk:">
                                                                                <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                      </block>
                                                                    </value>
                                                                    <next>
                                                                      <block type="control_ex" id="N0kLB12fgdd5s3UfW@@D">
                                                                        <field name="TYPE">false</field>
                                                                        <field name="CLEAR_RUNNING">FALSE</field>
                                                                        <value name="OID">
                                                                          <shadow type="field_oid" id="-u*eI(^SL!%#d-=c{r`|">
                                                                            <field name="oid">Object ID</field>
                                                                          </shadow>
                                                                          <block type="lists_getIndex" id="j3}V)bk%[-*=Z?[tT}on">
                                                                            <mutation statement="false" at="true"></mutation>
                                                                            <field name="MODE">GET</field>
                                                                            <field name="WHERE">FROM_START</field>
                                                                            <value name="VALUE">
                                                                              <block type="variables_get" id="6I$0B$a12QAs=3akd.}O">
                                                                                <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="AT">
                                                                              <block type="variables_get" id="Z%xM.SFvn1T#+J{IOL2x">
                                                                                <field name="VAR" id="87F([a-o_T[s/Q1mR8BZ">liste_lampen_nr</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </value>
                                                                        <value name="VALUE">
                                                                          <shadow type="logic_boolean" id="R)(T*pJYrYPO+?Fw*lVV">
                                                                            <field name="BOOL">TRUE</field>
                                                                          </shadow>
                                                                        </value>
                                                                        <value name="DELAY_MS">
                                                                          <shadow type="math_number" id="_I(PN^4vH,$.j09)!.QZ">
                                                                            <field name="NUM">0</field>
                                                                          </shadow>
                                                                          <block type="variables_get" id=";dNej+)bVzz;hJAr;9@i">
                                                                            <field name="VAR" id="S_8zhsxPG9PXxZuq#^7;">lampenverzoegerung</field>
                                                                          </block>
                                                                        </value>
                                                                        <next>
                                                                          <block type="lists_getIndex" id="gx3T/}{d)*|j(cw@~d/9">
                                                                            <mutation statement="true" at="true"></mutation>
                                                                            <field name="MODE">REMOVE</field>
                                                                            <field name="WHERE">FROM_START</field>
                                                                            <value name="VALUE">
                                                                              <block type="variables_get" id="3@ZIE]p#OhXGe|%~q^FC">
                                                                                <field name="VAR" id="X/(l=PGh,p[Z^Gf4K%-_">zu_schaltende_lampen</field>
                                                                              </block>
                                                                            </value>
                                                                            <value name="AT">
                                                                              <block type="variables_get" id="pUyMjp1bkroY#jfl0/)(">
                                                                                <field name="VAR" id="87F([a-o_T[s/Q1mR8BZ">liste_lampen_nr</field>
                                                                              </block>
                                                                            </value>
                                                                          </block>
                                                                        </next>
                                                                      </block>
                                                                    </next>
                                                                  </block>
                                                                </next>
                                                              </block>
                                                            </statement>
                                                          </block>
                                                        </statement>
                                                      </block>
                                                    </next>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                      </block>
                                    </statement>
                                  </block>
                                  

                                  Und nur der entferne Block

                                  <block xmlns="https://developers.google.com/blockly/xml" type="lists_getIndex" id="SjW2h}MI5b;;4XE#*XLt" x="62.81699110282466" y="962.0023990473503">
                                    <mutation statement="true" at="true"></mutation>
                                    <field name="MODE">REMOVE</field>
                                    <field name="WHERE">FROM_START</field>
                                  </block>
                                  
                                  Meister Mopper 1 Reply Last reply Reply Quote 0
                                  • Meister Mopper
                                    Meister Mopper last edited by Meister Mopper

                                    @david-g

                                    Danke, der Import hat funktioniert.

                                    Seltsam, ich habe die Lösung. Wenn man dieses Listenelement nimmt und anstatt nimm -> entferne einstellt, ändert es seine Form und Funktion:

                                    7b11e069-590b-4918-99ca-34ce853f1378-grafik.png

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Meister Mopper last edited by

                                      @meister-mopper sagte in Zufallsgesteuerte Lampe:

                                      Wenn man dieses Listenelement nimmt und anstatt nimm -> entferne einstellt, ändert es seine Form und Funktion:

                                      nicht nur dieser Block.
                                      Es gibt einige Blöcke, die sich ändern wenn man im Pulldown etwas anderes auswählt

                                      Meister Mopper 1 Reply Last reply Reply Quote 0
                                      • Meister Mopper
                                        Meister Mopper @Homoran last edited by Meister Mopper

                                        @homoran sagte in Zufallsgesteuerte Lampe:

                                        Es gibt einige Blöcke, die sich ändern wenn man im Pulldown etwas anderes auswählt

                                        Man lernt halt nie aus.

                                        @david-g

                                        Hier die beiden Blockly kombiniert. Werde mal testen:


                                        50d92edd-173e-41a2-8d12-48b0279e066a-grafik.png

                                        1 Reply Last reply Reply Quote 1
                                        • Meister Mopper
                                          Meister Mopper @David G. last edited by

                                          @david-g

                                          Verstehe ich es richtig?
                                          Dein Script schaltet jede Lampe ab Sonnenuntergang nur einmal ein und analog dazu im Ausschaltscript einmal aus, da die Lampe nach der Aktion aus der Liste fliegt.

                                          G 1 Reply Last reply Reply Quote 0
                                          • G
                                            Gutscho @Meister Mopper last edited by

                                            @meister-mopper
                                            Ja genau. So lese ich das auch. Ist auch in diesem Script meines Erachtens nach OK, da ja nur eingeschaltet wird. Eine Lampe die bereits eingeschaltet ist brauch ich nicht nochmal einschalten. Wenn du es anders haben willst dass du z.B. immer eine x-beliebige Lampe verwendest und diese dann entweder ein oder ausschaltest musst du das mit dem Umschalten realisieren und die Lampen nicht aus dem Script entfernen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            825
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            43
                                            2537
                                            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