NEWS
Stalltür zu Licht an
-
Ja bis auf das stop timeout. So werden zumindest mal Bewegungen innerhalb der 2 Minuten ignoriert. Musst mal testen, ob das schon reicht, sonst muss man noch mal drüber nachdenken. Warum das ganze passiert, habe ich ja geschrieben. Wie man es 100% löst, ist was anderes
-
Ich sehe gerade, dass ist ja gar nicht auf Bewegung getriggert, sondern auf die Helligkeit des Bewegungsmelder. Anscheinend gibt's wohl Schwankungen in der Helligkeit, die das verursachen.
Dann noch ein Tipp, rechte Maustaste auf den UND Block und externe Eingänge, dann das "=wahr" raus, da eh Grundfunktion vom falls Block und schon ist da schön übersichtlich.
-
Wenn der Schalter in der VISU auf AN "true" ist und die Helligkeit auf unter 68 gesunken ist soll die tür zu fahren. Nach 2 Min das licht an gehen und das soll nach 3 std wieder aus gehen.
Ist das dann so richtig ?
<block xmlns="http://www.w3.org/1999/xhtml" type="controls_if" id="3v{Hbuj23FRj/)3B`,g1" x="109" y="165"><value name="IF0"><block type="logic_operation" id="=(BUP}@X{zZd^x5vIU}R" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="MZ0,Iu+z]zc4dpLt1ekC"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="y{qiG5][odrL?A]EyK=*"><field name="ATTR">val</field> <field name="OID">Schalter.0.Stall.AutoStallTuerZU</field></block></value> <value name="B"><block type="logic_boolean" id="@i}LD?wd^uSs![i`qeAn"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="T~@~^gO?!Y,9[6%+ohb4"><field name="OP">LTE</field> <value name="A"><block type="get_value" id="UDS]Yjvab)]y1FGG*X[!"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1423569.1.BRIGHTNESS</field></block></value> <value name="B"><block type="math_number" id="_JFkb-+A^rB5k^PE?AY:"><field name="NUM">68</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="yY,cL/o9-Kb6NHI#:MS]"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.PEQ0095942.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="O`{I^#GR(30ba)VB!7zf"><field name="NUM">100</field></block></value> <next><block type="timeouts_settimeout" id="Y[gUyO!X(L~lWMTOaolj"><field name="NAME">timeout</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="control" id="{_Km|iHD`F(YYpw_ELS~"><mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="3hgW8Qt{r3etFphYLII."><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="2~dNDSf-:~3/5ll]J;eX"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">180</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="8*Dwh3n%91SycVOW{TPV"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block>
-
Wie wird den eigentlich der DP "AutoStalltürZu" gesetzt? Das versteh ich nicht wirklich. Das Tür Level 100, soll doch die Tür erst zu fahren, oder ist das nur ein Trigger der von VIS benutzt wird?
Das "=wahr" ist überflüssig
Ich würde dann auf den DP "AutoStalltürZu" triggern, denn so mach die wechselnde Helligkeit kein Problem.
Ich versteh Deine Aufgabe derzeit so, Du schaltetest irgendwo den DP "AutoStalltürZu" auf wahr und dann soll die Tür helligkeits-gesteuert zu fahren und das Licht nach 2 Minuten für 3 Stunden leuchten. Da ist alles abhängig vom gesetzten DP und somit sollte auch auf den getriggert werden. Alles andere kommt dann in die falls Bedingung mit rein.
Beim Trigger muss noch Dein DP rein, der hat in Deinem Export gefehlt
hier kann dann auch der Timeout wieder raus und ausschalten, falls nichts zutrifft, ist auch nicht verkehrt
-
Ok dann versuche ich das mal so.
Ja bei Objekte habe ich ein Objekt angelegt das als "Schalter" in der Visu auf an oder aus geschaltet werden kann(True/false) wenn es an ist soll der Ablauf wie beschrieben starten:
Helligkeit unter 68
Stalltür fährt zu
nach 2 min geht licht an, für 3 Std. Danke für deine Mühe und Hilfe
-
Wenn der schalter in der Visu auf AN/true ist und die Helligkeit unter 68 ist soll das Programm ablaufen.
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="ORNQv.joaPZbA5:;ghep" x="88" y="88"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="k(0TzR6@*h1t7.|lBmjT"><field name="oid">hm-rpc.0.MEQ1423569.1.BRIGHTNESS</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="3v{Hbuj23FRj/)3B`,g1"><mutation else="1"></mutation> <value name="IF0"><block type="logic_operation" id="=(BUP}@X{zZd^x5vIU}R" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="MZ0,Iu+z]zc4dpLt1ekC"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="y{qiG5][odrL?A]EyK=*"><field name="ATTR">val</field> <field name="OID">Schalter.0.Stall.AutoStallTuerZU</field></block></value> <value name="B"><block type="logic_boolean" id="@i}LD?wd^uSs![i`qeAn"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="T~@~^gO?!Y,9[6%+ohb4"><field name="OP">LTE</field> <value name="A"><block type="get_value" id="UDS]Yjvab)]y1FGG*X[!"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1423569.1.BRIGHTNESS</field></block></value> <value name="B"><block type="math_number" id="_JFkb-+A^rB5k^PE?AY:"><field name="NUM">68</field></block></value></block></value></block></value> <statement name="DO0"><block type="comment" id="{-e)J8j;7HJiF9eQ56k@"><field name="COMMENT">Stalltür</field> <next><block type="control" id="yY,cL/o9-Kb6NHI#:MS]"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.PEQ0095942.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="O`{I^#GR(30ba)VB!7zf"><field name="NUM">100</field></block></value> <next><block type="control" id="{_Km|iHD`F(YYpw_ELS~"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">2</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="3hgW8Qt{r3etFphYLII."><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="2~dNDSf-:~3/5ll]J;eX"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">180</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="8*Dwh3n%91SycVOW{TPV"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></statement> <statement name="ELSE"><block type="control" id="LB|e;s/@3D*uQ(EW=B(l"><mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="XxR0V@MWf0rv4EUH{pdU"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement></block> <block type="comment" id="I)mUByoHyN2M`IiW25-C" x="387" y="138"><field name="COMMENT">Button AN/AUS in Visu</field></block> <block type="comment" id="tPmqsEOR0V.4ISJcqe6j" x="813" y="188"><field name="COMMENT">Helligkeit Bewegungsmelder</field></block></xml>
-
Ersetzte Dein Trigger DP "Helligkeit" durch den DP aus VIS und mach das "=wahr" weg. Dann läuft das, wie ich gestern schon geschrieben habe
Der Auslöser ist Dein Schalter in VIS und Trigger bedeutet nichts anderes als Auslöser, warum dann auf die Helligkeit triggern? Helligkeit ist ne falls Abfrage.
-
Muss dann nicht der Schalter immer ein mal auf AN oder AUS geschaltet werden damit das Programm wieder läuft ?
Die UND Verknüpfung weiß doch gar nicht den wert vom Button AN/AUS oder sehe ich das auch falsch?
3893_stall.jpg -
Das ist richtig, nur dachte ich Du schaltest das auch immer an und aus.
Beim Trigger oben auch nichts anhängen, sondern das vordefinierte Feld verwenden, oder den anderen Trigger, der eh nur ein Objekt erlaubt verwenden. Alternativ kannst ein Zeitplan als Trigger nehmen. Da stellst im CRON einfach den ungefähren Zeitraum ein, wann die ganzen Aktionen überhaupt in Betracht kommen. Der wiederholt dann im vordefinierten Abstand das Script und führt auch alles aus.
Mit der Helligkeit als Trigger und Helligkeit als Falls ist eben blöd, wenn das durch Wolken oder sonst was mal true oder false sein kann, dann macht Dein Stalllicht eben auch an/aus und die Hühner haben Dico :lol:
Was noch gut wäre, eine zusätzliche Helligkeitsabfrage auf nicht größer als. So kannst Helligkeitsschwankungen ausgleichen. Welche Werte dafür in Frage kommen, muss testen.
-
Wenn einer zuhause ist der die Tür zu machen kann ist das Programm auch ausgeschaltet aber wenn nicht dann soll es so ablaufen.
Der Zeitplan ist ne gute Idee aber geht dann nicht auch jede Std das licht an und aus wegen dem Zeitplan ?
Das mit dem UND verstehe ich nicht so ganz, der WERT vom Schalter True/False (AN/AUS) muss doch auch verglichen werden.
Wenn das UND nur den WERT hat True/False woher weis er dann das es richtig ist?
Ich breche mir einen ab für so einen kleinen scheiß tut mir echt leid für den ganzen Stress, herzlichen dank noch mal für deine tolle Hilfe !!!!!!
3893_stall.jpg
3893_stall2.jpg -
Dadurch lernst aber auch die Zusammenhänge zu verstehen.
Also zum "falls" Block, der prüft immer auf "true", deshalb ist es nicht nötig das nochmal extra als "= wahr" zu fragen, da doppelt abgefragt. Kann man machen, ist aber überflüssig. Du darfst nicht das eingetragene Objekt bei der Betrachtung in den Vordergrund stellen, sondern dessen Wert und da steht ja in der Regel true oder false.
Das Licht wird nur an und ausgehen, wenn die UND Bedingung dementsprechend erfüllt oder eben nicht erfüllt ist. Hier liegt auch die Schwierigkeit in dem Scriptz, da die Helligkeit und deren eingestellte Grenzen eben so ihre Tücken hat.
Da hilft einfach, wenn man sich selber die Frage stellt kann das Licht bei einer bestimmten Konstellation ungewollt an oder aus gehen und das Szenario durchspielt. Bei Dir ist eben die Helligkeit die Variable und hier kann es hilfreich sein, wenn man eine ober und unter Grenze einfügt um etwas mehr Ruhe rein zu bekommen.
-
Ok, dann muss das ja komplett das Problem beheben.
3893_stall.jpg -
Ok das klappt auch nicht jetzt ist iobroker abgeschmiert :?
-
Da haste auch ne schöne Endlosschleife gebastelt :lol:
Das wiederhole ist ne böse Geschichte, wenn man das falsch verwendet. In der Fünktion gefört wenn überhaupt 1 rein und nicht 100, wobei das doch überflüssig ist. Die Tür geht doch zu, wenn man sie direkt auf 100 setzt, oder nicht?
-
Ich glaube das Licht einschalten lasse ich raus, dass wird nichts wenn ich das so umsetzte geht wenn man das licht normal einschaltet immer aus.
Danke noch mal für alles !!
-
Nicht aufgeben, so kompliziert ist das nicht.
Für mich ist es nur bisschen schwerer mit der Hilfe da ich Deine DPs dazu nicht wirklich kenne, wie die gesetzt und gesteuert werden. Die Tür z.B., warum hat die ein Level, was steckt da für eine HW dahinter, wie ist die in IOBroker überhaupt eingebunden. Das gleiche dann auch noch mit dem Licht.
Bei mir ist es egal, wie ich meine Lichter Schalte, wenn ich den Wandschalter betätige, dann toggelt er den aktuellen Zustand.
-
Guten Morgen, habe es nicht schneller geschafft das zusammen zu stellen liege mit einer Grippe im bett
Also hier mal Bilder wie das aufgebaut ist.
Zu der Tür, sie wird mit einem Rollladenmotor auf und zu gefahren, gesteuert wird es von HM-LC-Bl1PBU-FM deswegen das Level.
Wenn du noch mehr Infos Brauchst sag das, eine Lösung würde natürlich toll sein. Meine Frau ist von der ganzen Sache schon genervt :roll:
als wir das Projekt angefangen haben dachte ich das ist doch kein Problem naja war es wie man sieht doch.
3893_licht.jpg
3893_schalter_tuer.jpg
3893_helligkeit.jpg
3893_tuer.jpg
3893_schalter_tuer_visu.jpg -
Warum Du noch ein DP für "Stalltür auto auf" hast erschließt sich mir nicht, da das in dem Script nicht abgefragt wird.
Ichj hab das noch mal bisschen angepasst und das Licht nun in Abhängigkeit von der geschlossenen Stalltür eingebaut. den DP muss in der 2. falls noch einfügen.
<block xmlns="http://www.w3.org/1999/xhtml" type="schedule" id="iKu7PN9]2@mo1QWA}wC{" x="-112.23333358764751" y="-237.5"><field name="SCHEDULE">* 17-22 * * *</field> <statement name="STATEMENT"><block type="controls_if" id="3v{Hbuj23FRj/)3B`,g1"><value name="IF0"><block type="logic_operation" id="=(BUP}@X{zZd^x5vIU}R" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="MZ0,Iu+z]zc4dpLt1ekC"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="y{qiG5][odrL?A]EyK=*"><field name="ATTR">val</field> <field name="OID">Schalter.0.Stall.AutoStallTuerZU</field></block></value> <value name="B"><block type="logic_boolean" id="@i}LD?wd^uSs![i`qeAn"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="T~@~^gO?!Y,9[6%+ohb4"><field name="OP">LTE</field> <value name="A"><block type="get_value" id="UDS]Yjvab)]y1FGG*X[!"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1423569.1.BRIGHTNESS</field></block></value> <value name="B"><block type="math_number" id="_JFkb-+A^rB5k^PE?AY:"><field name="NUM">68</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="yY,cL/o9-Kb6NHI#:MS]"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.PEQ0095942.1.LEVEL</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="O`{I^#GR(30ba)VB!7zf"><field name="NUM">100</field></block></value> <next><block type="controls_if" id="6%5NI0R1.LllcLUtnY,?"><value name="IF0"><block type="logic_compare" id="_(}JN4EiA}27P.eOVNmZ"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="@/6u:`g4USwgjx2Q+Spl"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="math_number" id="iP70DCq7mZp@x9M0/}]h"><field name="NUM">100</field></block></value></block></value> <statement name="DO0"><block type="control" id="{_Km|iHD`F(YYpw_ELS~"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="3hgW8Qt{r3etFphYLII."><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="2~dNDSf-:~3/5ll]J;eX"><mutation delay_input="true"></mutation> <field name="OID">sonoff.0.Licht_Huehnerstall.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">179</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="8*Dwh3n%91SycVOW{TPV"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block></statement></block>
-
Oh danke das ist aber nett, der zweite DP ist für das andere Script für Stall Tür morgens auf da brauch auch kein Licht an gehen und alles ging ohne Probleme. Werde ich mal morgen Abend testen und Info geben ob alles geklappt hat.
-
Hat alles geklappt danke