NEWS
Zufallsgesteuerte Lampe
-
da ich noch nen Zwischenstecker über habe, dachte ich daran durch eine Zufallsgesteuerte Lampe etwas Anwesenheit vorzutäuschen...sollte man mal nicht da sein...
Natürlich nur wenn es dunkel ist... wie realisiere ich das EINFACH?
-
@gluecksmann sagte: Zufallsgesteuerte Lampe
Prinzip:
-
@gluecksmann sagte: Natürlich nur wenn es dunkel ist...
-
ähm,wow...kannst mir das irgendwie zugänglich machen? so wie ich mich kenne, klappt das mit dem nachbauen sowieso nicht...
-
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>
-
Bekomme eine Fehlermeldung wenn ich es importieren will...
-
@gluecksmann sagte: Bekomme eine Fehlermeldung wenn ich es importieren will...
Ich nicht. Muss also am Markieren des zu kopierenden Bereiches liegen.
-
@gluecksmann
Bei mir geht das Reinkopieren auch.
Danke für das Blockly -
Was kann man denn da falsch machen... markiere das alles, kopiere es, und sage dann im Blockly Blöcke importieren
-
So mache ich es.
Falls mal noch ein paar Lampen bei kommen.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. -
jetzt hat der Import funktioniert ...was macht der Datenpunkt anwesenheit? wird das geprüft ob wer da ist?
-
@gluecksmann sagte: was macht der Datenpunkt anwesenheit? wird das geprüft ob wer da ist?
Ja, wenn jemand anwesend ist, braucht es keine Anwesenheitssimulation.
-
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 .
-
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?
-
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.
-
Die Logik Deines Scripts erschließt sich mir leider noch nicht. Wo befinden sich im Script die zu schaltenden Lampen?
-
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.
-
@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?
-
Hier eine Funktion anlegen
Und hier vergeben
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. -
Ah ok, mit aliases habe ich bisher noch nichts gemacht. Bei den Aufzählungen habe ich einige Lampen unter FuncLight.
Die will ich aber nicht alle in eine Zufallsschaltung einbeziehen.
Danke, da muss ich mich erst noch reinfuchsen. Das liest sich sehr interessant.