NEWS
Licht schalten nach Lichtmessung [GELÖST]
-
Als Pseudocode hast du folgendes geschrieben:
falls (diese Bedingung) mache nichts.
mache was.Sieht nicht korrekt aus.
Im Bild:
-
Hmm , übersehen , habe ich geändert , funktioniert trotzdem nicht ...
Liegt es evtl an Wert von Lichtmessung ..< 80 muss das anders eingegeben werden ?
-
Habe gerade im LOG einen Fehler gefunden , den ich allerdings auch nicht verstehe
-
@Yodameister
Was soll denn das zweite bei der UND sein? -
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
Was soll denn das zweite bei der UND sein?Das Homematic Scrip sieht dazu so aus
Das zweite UND ist eine Variable die zwischen Standart und Urlaub unterscheidet
-
@Yodameister
Und welchen Wert kann diese Variable annehmen? Weil UND kann nur True oder False verknüpfen, diesen Wert muss das was DU da zusammen gebastelt hast annehmen können. Sieht aber nicht danach aus, da das schon im Log an gemeckert wird. -
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
Und welchen Wert kann diese Variable annehmen? Weil UND kann nur True oder False verknüpfen, diesen Wert muss das was DU da zusammen gebastelt hast annehmen können. Sieht aber nicht danach aus, da das schon im Log an gemeckert wird.Standart ist TRUE und Urlaub ist FALSE
-
@Yodameister sagte in Licht schalten nach Lichtmessung:
@Jan1 sagte in Licht schalten nach Lichtmessung:
@Yodameister
Und welchen Wert kann diese Variable annehmen? Weil UND kann nur True oder False verknüpfen, diesen Wert muss das was DU da zusammen gebastelt hast annehmen können. Sieht aber nicht danach aus, da das schon im Log an gemeckert wird.Standart ist TRUE und Urlaub ist FALSE
Ich habe noch einen Versuch gestartet , kann ich ja leider erst morgen testen, sieht folgendermaßen aus
-
@Yodameister
Das sieht schon logischer aus, wobei nicht extra auf = wahr geprüft werden muss, da das eh gemacht wird. -
@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.