NEWS
Licht schalten nach Lichtmessung [GELÖST]
-
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
Das sieht schon logischer aus, wobei nicht extra auf = wahr geprüft werden muss, da das eh gemacht wird.Das gleiche habe ich mit Rolladen
ABER ..... hier ist mir aufgefallen das der Befehl kontinuierlich durchgeführt wird
Wie kann ich es realisieren das der Steuerbefehl nur einmal gesendet wird ?
-
@Yodameister
Na wenn sich die Helligkeit ändert und der Wert dann jedesmal unter 8 Lux ist, löst das aus. Da die Rollläden ja aber eh unten sind ist das auch nicht tragisch.
Warum Du da Verzögerungen einbaust erschließt sich mir nicht.
Um das ganze zu entstellen kannst aber um die Falls noch ein timeout setzen. So löst das nicht bei jeder Änderung sofort noch mal aus. -
@Yodameister said in Licht schalten nach Lichtmessung:
ABER ..... hier ist mir aufgefallen das der Befehl kontinuierlich durchgeführt wird
Wie kann ich es realisieren das der Steuerbefehl nur einmal gesendet wird ?
Ich mache im Prinzip das gleiche für die Steuerung eines Nachtlichts und prüfe nicht nur ob es dunkel genug ist, sondern auch ob der Wert zuvor über dem Schwellwert lag.
Auch wenn sich die Helligkeit ändert, wird der Schaltbefehl nicht wiederholt gesendet.
-
@asman-hm
Die Abfrage könntest gleich im Trigger mit "kleiner als letzte" mit rein nehmen. -
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
Na wenn sich die Helligkeit ändert und der Wert dann jedesmal unter 8 Lux ist, löst das aus. Da die Rollläden ja aber eh unten sind ist das auch nicht tragisch.
Warum Du da Verzögerungen einbaust erschließt sich mir nicht.
Um das ganze zu entstellen kannst aber um die Falls noch ein timeout setzen. So löst das nicht bei jeder Änderung sofort noch mal aus.Aber wenn ich das richtig sehe ensteht ja ständig SendeTraffic wenn die Rolladen unten sind. Die Verzögerung habe ich damit die Funkbefehle nacheinander losgeschickt werden um die HM nicht zu belasten
-
@asman-hm sagte in Licht schalten nach Lichtmessung:
@Yodameister said in Licht schalten nach Lichtmessung:
ABER ..... hier ist mir aufgefallen das der Befehl kontinuierlich durchgeführt wird
Wie kann ich es realisieren das der Steuerbefehl nur einmal gesendet wird ?
Ich mache im Prinzip das gleiche für die Steuerung eines Nachtlichts und prüfe nicht nur ob es dunkel genug ist, sondern auch ob der Wert zuvor über dem Schwellwert lag.
Auch wenn sich die Helligkeit ändert, wird der Schaltbefehl nicht wiederholt gesendet.
Hmmm , meinst du das für mich so ?
-
@Yodameister
So wie Du das machst schon, weil da jede Änderung der Helligkeit die Deiner Falls entspricht auch ein setzten der Position zur Folge hat.
Kannst mit dem Timeout und einer zusätzlichen UND auf schon unten aber vermeiden.Du hast Funk Aktoren drin, da wirds bischen blöd mit der UND, da kein Rückkanal, oder hast da ne Möglichkeit?
-
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
So wie Du das machst schon, weil da jede Änderung der Helligkeit die Deiner Falls entspricht auch ein setzten der Position zur Folge hat.
Kannst mit dem Timeout und einer zusätzlichen UND auf schon unten aber vermeiden.Du hast Funk Aktoren drin, da wirds bischen blöd mit der UND, da kein Rückkanal, oder hast da ne Möglichkeit?
Rückkanal hätte ich , ist Homematic , allerdings verstehe ich das mit dem TimeOut nicht , wo muss das denn hin ?
Kannst Du das evtl mal mit nem Bild zeigen ? Kann dann die Änderung von oben mit dem zusätzlichen UND > wieder raus ?
Sorry , bin echt zu blöd dafür -
@Yodameister
Poste mal Dein Blockly Export.
Ich bau das später mal ein. -
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
Poste mal Dein Blockly Export.
Ich bau das später mal ein.Super , Danke schon mal
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on" id=":1Dgj/b)/QtLMQ3Hc6JG" x="-787" y="-112">
<field name="OID">hm-rpc.1.NEQ0322642.1.LUX</field>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="controls_if" id="lZhxYOrWGolw}mXAERA"> <value name="IF0"> <block type="logic_operation" id="H?Pzd~xv4w?P})0Y?vO[" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="g5D:V9UW@u)l;IZaYN.$"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="_7PChaevVy(bAmLyenI2"> <field name="ATTR">val</field> <field name="OID">hm-rpc.1.NEQ0322642.1.LUX</field> </block> </value> <value name="B"> <block type="math_number" id="_@~SN1zp.hsc/~A/@Dp)"> <field name="NUM">8</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="A
H?$9~_}?(c1%@}^Hw,">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="@bFIF%ETLeLbF}tS!ac*">
<field name="ATTR">val</field>
<field name="OID">hm-rega.0.1263</field>
</block>
</value>
<value name="B">
<block type="logic_boolean" id="x9GUX~GLN1/rMw|eeOZ{">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="k^inN@vy,]$9Qu(Eo86~">
<mutation delay_input="false"></mutation>
<field name="OID">hm-rpc.1.MEQ1425913.1.LEVEL</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="math_number" id="cx|Qe{,EMf2eCB.J9nC|">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="control" id="Jt9DOTSo~Y{(h|j=yNPf">
<mutation delay_input="true"></mutation>
<field name="OID">hm-rpc.1.MEQ1731405.1.LEVEL</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">1</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="math_number" id=",E?2QhU;F?y2RfgXlT1"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="786YKl6NX8{pCLl?o{IQ"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.OEQ0365754.1.LEVEL</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="Yr7ez,fJAF1l?ZrQ(COe"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="p=6?;l^@eTbd-6.dhtaV"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.MEQ1106339.1.LEVEL</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="v#;)moUko3XZ5PHR4Uc)"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="xfGn}+!E4~5q:xTnnmS-"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.LEQ1021949.1.LEVEL</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">4</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="|0Db$aA#xz+i9z3VUF]K"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="5qAB(GP%F:cp!qd^(L=2"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.MEQ1731510.1.LEVEL</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="=_}DT|sg%Y[deB6jw=;9"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="+6Yc6b.X;)}scaXEjF=1"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.LEQ1028657.1.LEVEL</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">6</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="+UY$hylO[l$]3$ms?LC5"> <field name="NUM">0</field> </block> </value> <next> <block type="control" id="2G4+V*{y=rfVsd5tTwrk"> <mutation delay_input="true"></mutation> <field name="OID">hm-rpc.1.MEQ0392887.1.LEVEL</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">7</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="2RL2+
QGvNXXAE?tGUW0">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="control" id="IFj!qs~OrF83q~o6CHMb">
<mutation delay_input="true"></mutation>
<field name="OID">hm-rpc.1.NEQ1687762.1.LEVEL</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">8</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="math_number" id="Kp+JxADo#Kffr]z##jQX">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="control" id="bqz,=R7VY:,n!:bv8aU9">
<mutation delay_input="true"></mutation>
<field name="OID">hm-rpc.1.NEQ0682277.1.STATE</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">30</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="rYo?yC.)#atd[-F~Zep%">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</xml> -
@Yodameister Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@Yodameister
Hier mal auf die schnelle:
Den Trigger mal umgestellt auf kleiner als letzer. So tiggert schon mal nichts, wenn es heller wird. Dann den Timeout rein der dafür sorgt, dass nicht sofort was passiert nur weil es mal kurz dunkler war (30s ist nur ein Beispiel). Die Falls wird so nur ausgeführt, wenn der Wert kleiner als letzter war und nach 30 Sekunden immer noch keiner = 8 Lux ist.
Den UND Teil Deiner FALLS kenne ich nicht. Was sagt dieser DP aus? -
@dslraser
Sorry , kommt nicht wieder vor -
@Jan1
Sieht erstmal top aus , auch wenn ich nicht verstehe , baue das gleich mal ein und berichte morgenDen UND Teil Deiner FALLS kenne ich nicht. >>> Das ist eine Variable die unterscheidet ob wir daheim sind oder im Urlaub
-
@Yodameister
Im Spoiler ist der Export, dann brauchst nichts nachbauen.
Warum nennst die Variable nicht einfach Anwesenheit, dann ist das deutlicher was das macht