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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zufallsgesteuerte Lampe

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

      @gluecksmann sagte: Natürlich nur wenn es dunkel ist...

      Bild_2022-01-27_172856.png

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

        @paul53

        ähm,wow...kannst mir das irgendwie zugänglich machen? so wie ich mich kenne, klappt das mit dem nachbauen sowieso nicht...

        1 Reply Last reply Reply Quote 0
        • D
          Dragon last edited by Dragon

          Habe es einfach fix nachgebaut...

          <xml xmlns="https://developers.google.com/blockly/xml">
            <variables>
              <variable id="3wfh1q0Y%)oWzNS3z05I">cnt</variable>
              <variable type="interval" id="Intervall">Intervall</variable>
            </variables>
            <block type="astro" id="B(R9I]6b#hfxw5+Q#1t%" x="-62" y="38">
              <field name="TYPE">sunrise</field>
              <field name="OFFSET">0</field>
              <statement name="STATEMENT">
                <block type="timeouts_clearinterval" id="^qo0.eRIR}F%mD_H(V[l">
                  <field name="NAME">Intervall</field>
                </block>
              </statement>
              <next>
                <block type="astro" id="zqF{-`,gtQC!sKjmAOdD">
                  <field name="TYPE">sunset</field>
                  <field name="OFFSET">0</field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="9,X]gkj%/sV;OUBt/Us(">
                      <value name="IF0">
                        <block type="logic_negate" id=".25J:qS?|;G71+YCJfcD">
                          <value name="BOOL">
                            <block type="get_value" id="VR!iGZx4;d]3vxlmRMl,">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.EigeneDatenpunkte.Person_anwesend</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="procedures_callnoreturn" id="z?:T8x8md;7aEI}zneO+">
                          <mutation name="ZufallLicht"></mutation>
                        </block>
                      </statement>
                    </block>
                  </statement>
                  <next>
                    <block type="on_ext" id="}~ZMD9[{xrsRJGY#FAF0">
                      <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="E*HX]_ht%B}{bt--!`y`">
                          <field name="oid">javascript.0.EigeneDatenpunkte.Person_anwesend</field>
                        </shadow>
                      </value>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="%3AV$Q@uVu=3!,)*)h`L">
                          <mutation elseif="1"></mutation>
                          <value name="IF0">
                            <block type="on_source" id="Mz`X)+Vv+=8Al2)c0=uz">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <statement name="DO0">
                            <block type="timeouts_clearinterval" id="|Nu5^Y?o)wqe;9;O]I}6">
                              <field name="NAME">Intervall</field>
                            </block>
                          </statement>
                          <value name="IF1">
                            <block type="time_compare_ex" id="8nW;cKjt*m*.~rpnB]}W">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                              <field name="USE_ACTUAL_TIME">TRUE</field>
                              <field name="OPTION">not between</field>
                              <value name="START_TIME">
                                <shadow type="text" id="k=u8nlP2f|?@d%0g@yB~">
                                  <field name="TEXT">12:00</field>
                                </shadow>
                                <block type="time_astro" id="GkfGvq68bEH-/=ff,.[X">
                                  <field name="TYPE">sunrise</field>
                                  <field name="OFFSET">0</field>
                                </block>
                              </value>
                              <value name="END_TIME">
                                <shadow type="text" id=";[HSbpaytMYNoww^,Lb0">
                                  <field name="TEXT">18:00</field>
                                </shadow>
                                <block type="time_astro" id="Lk`AG]vW|5H5x3ET#qUi">
                                  <field name="TYPE">sunset</field>
                                  <field name="OFFSET">0</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <statement name="DO1">
                            <block type="procedures_callnoreturn" id="wM}2T}bME):eulf(HUQR">
                              <mutation name="ZufallLicht"></mutation>
                            </block>
                          </statement>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </next>
            </block>
            <block type="procedures_defnoreturn" id="1}JoNwFetn#r.CU39RtM" x="463" y="13">
              <field name="NAME">ZufallLicht</field>
              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
              <statement name="STACK">
                <block type="variables_set" id="U{8oI;E.s-(_J0F.w:=B">
                  <field name="VAR" id="3wfh1q0Y%)oWzNS3z05I">cnt</field>
                  <value name="VALUE">
                    <block type="math_random_int" id="x:^cNx~}gNdOFNC,~04K">
                      <value name="FROM">
                        <shadow type="math_number" id="E=ZW}7A,#Z|(2R;oQN,q">
                          <field name="NUM">1</field>
                        </shadow>
                      </value>
                      <value name="TO">
                        <shadow type="math_number" id="zJ,Xa=ns/3(qoI:F)J72">
                          <field name="NUM">100</field>
                        </shadow>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="timeouts_setinterval" id="{(_qCRR:vF=x-P9ZOBgz">
                      <field name="NAME">Intervall</field>
                      <field name="INTERVAL">1</field>
                      <field name="UNIT">min</field>
                      <statement name="STATEMENT">
                        <block type="math_change" id="wvPH.|%4x-sOPwaVxnA9">
                          <field name="VAR" id="3wfh1q0Y%)oWzNS3z05I">cnt</field>
                          <value name="DELTA">
                            <shadow type="math_number" id="){;`g8Z_N#54*-yUn8Br">
                              <field name="NUM">-1</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="controls_if" id="mz^_Tl.0x#*zNMmwutkc">
                              <value name="IF0">
                                <block type="logic_compare" id="`O=P*PWlqtEn|PNb.Q,q">
                                  <field name="OP">LTE</field>
                                  <value name="A">
                                    <block type="variables_get" id="bqF5QD|~|,n1$Q`sfB|(">
                                      <field name="VAR" id="3wfh1q0Y%)oWzNS3z05I">cnt</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="math_number" id="PM-6)A`h@Ez0k_on35bn">
                                      <field name="NUM">0</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <statement name="DO0">
                                <block type="toggle" id="N$Qd]T]5OGpMm.$HM7$A">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">Object ID</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <next>
                                    <block type="variables_set" id="/gXrXw6D^yKHI){{8m4r">
                                      <field name="VAR" id="3wfh1q0Y%)oWzNS3z05I">cnt</field>
                                      <value name="VALUE">
                                        <block type="math_random_int" id="p$DDu0aGm~@V+]bLQkm+">
                                          <value name="FROM">
                                            <shadow type="math_number" id="I_NJz`G/3BV@!wAziy7P">
                                              <field name="NUM">1</field>
                                            </shadow>
                                          </value>
                                          <value name="TO">
                                            <shadow type="math_number" id="I-`+q/NA;NRNe_JU@cA$">
                                              <field name="NUM">100</field>
                                            </shadow>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </statement>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </xml>
          
          G 1 Reply Last reply Reply Quote 0
          • G
            gluecksmann @Dragon last edited by

            @dragon

            Bekomme eine Fehlermeldung wenn ich es importieren will...

            5a696db2-cdb4-41dc-abcc-f4114aaaf18a-grafik.png

            paul53 S G 3 Replies Last reply Reply Quote 0
            • paul53
              paul53 @gluecksmann last edited by

              @gluecksmann sagte: Bekomme eine Fehlermeldung wenn ich es importieren will...

              Ich nicht. Muss also am Markieren des zu kopierenden Bereiches liegen.

              G 1 Reply Last reply Reply Quote 0
              • S
                smarthome2020 @gluecksmann last edited by

                @gluecksmann
                Bei mir geht das Reinkopieren auch.
                Danke für das Blockly

                1 Reply Last reply Reply Quote 1
                • G
                  gluecksmann @paul53 last edited by

                  @paul53

                  Was kann man denn da falsch machen... markiere das alles, kopiere es, und sage dann im Blockly Blöcke importieren

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

                    @gluecksmann

                    So mache ich es.
                    Falls mal noch ein paar Lampen bei kommen.

                    Screenshot_20220128-211140_Chrome.jpg

                    30min vor Sonnenuntergang wird eine zufällige Zeit (Spanne vorgegeben) ermittelt wann die Simulation beginnt.
                    Wenn es dann los geht, werden die Lampen in willkürlicher Reihenfolge in zufälligen Abständen
                    (auch hier ist die Spanne vorgegeben) eingeschaltet.

                    1 Reply Last reply Reply Quote 0
                    • G
                      gluecksmann @gluecksmann last edited by gluecksmann

                      @gluecksmann

                      jetzt hat der Import funktioniert ...was macht der Datenpunkt anwesenheit? wird das geprüft ob wer da ist?

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

                        @gluecksmann sagte: was macht der Datenpunkt anwesenheit? wird das geprüft ob wer da ist?

                        Ja, wenn jemand anwesend ist, braucht es keine Anwesenheitssimulation.

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

                          @paul53

                          Außer man ist zu faul zum Licht einschalten.
                          Hab die immer am laufen 🤣.
                          Haben abends eigentlich nur kleine Lichter an die es gemütlich machen. Da geht das ^^.

                          Fügt sich gut in unsern Alltag ein 😁.

                          Meister Mopper 1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            536
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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