NEWS
Lichter dimmen
-
Nachdem ich mich jetzt doch mal mit Blockly befasst haben,bin ich ja schon mal froh das der Script läuft.
Nur hab ich das Problem das ich unmengen Fehlermeldungen bekomme.
Könnte sich das einer der Profis mal bitte anschauen.
Fehler
<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on" id="0?yo4)owdA)AJkH,5lkI" x="88" y="-462"> <field name="OID">0_userdata.0.schalter</field> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="control" id=".;c|Dvp3=z]n,D)haT]K"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="v5(jV8}mj)IRPu[uNpE}"> <field name="TEXT">100</field> </block> </value> <next> <block type="update" id="q*vs5UTNN*A0UYix82uF"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="v2j-vsy~!9|ENXpK8jd8"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="on" id="bD)zg|:!d*E-4-]pY7:+"> <field name="OID">0_userdata.0.schalter</field> <field name="CONDITION">false</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="control" id="_.bQ~6tCcKbE.ebIHyL1"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="MW*EL^|vo|v5#hH:,wq*"> <field name="TEXT">90</field> </block> </value> <next> <block type="timeouts_wait" id="5k!SE5UufRPYQzCW19h|"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="YlTjFPJ*Y$LcZO$xfD^O"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="DFW@}uP[yWK4sn*Y`Fwi"> <field name="TEXT">80</field> </block> </value> <next> <block type="timeouts_wait" id="khhc=2*A~DYX]K}N;nU~"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="JIx45#Kv{ko8A:raYBTs"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="pCt7pL);`wi`L,`t_fj}"> <field name="TEXT">70</field> </block> </value> <next> <block type="timeouts_wait" id="cg+sYL`8GLN%0+?nBDB;"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="jOe].,CstvYngi0eh3(:"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="7,6E/wQD)a!w;p*oSvy?"> <field name="TEXT">60</field> </block> </value> <next> <block type="timeouts_wait" id="IJ}T][d[5l_YQ|hRTI+6"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="R,ErQsc8fEsS(R.JRvJN"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="V#TeP/?b+lW8GZ_8hwXx"> <field name="TEXT">50</field> </block> </value> <next> <block type="timeouts_wait" id=";iva_)@~e/);C`%V=juc"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="=Yx1t=[Ty?:,N8zhdeIe"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="oCu3!*yYE0GCB8UM8}#y"> <field name="TEXT">40</field> </block> </value> <next> <block type="timeouts_wait" id="~pyht()C_y$a{vZv.=A("> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="cL7V/TFJPrW60-7z9a51"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="i=O(W(99d1(d+vNz`S/W"> <field name="TEXT">30</field> </block> </value> <next> <block type="timeouts_wait" id="uZMMFJ,^WP%khB`GfxH#"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="N^iVDuM$xRdx/i3B^xM2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="H6MbK%T~r/E1[W?pGSpB"> <field name="TEXT">20</field> </block> </value> <next> <block type="timeouts_wait" id="x%%8kqkzZBFH,|;j(CZ0"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="K$EDr?|Conq,Q=#nA!(t"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="^WOUMxKdh2M/QE/XwF]1"> <field name="TEXT">10</field> </block> </value> <next> <block type="timeouts_wait" id="4S-Rrw,(V]O^Pakt|g;j"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="control" id="#tk.)o$N)6y{1v3B%K,L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.brightness</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="`^@T{Ba7A#3xw7i9}{(n"> <field name="TEXT">0</field> </block> </value> <next> <block type="timeouts_wait" id="e[{DJ;^LE9#]jF0zY2.!"> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <next> <block type="update" id="+s`4^:Nwp/@+xu]E4B])"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tradfri.0.L-65544.lightbulb.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Tp4~BliPC=3L395;Sq#!"> <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> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
@enrico-fischer Die Fehler kommen weil Du Textbausteine anstatt Zahlenbausteine verwendest.
-
@djmarc75 oh man dank dir. Und wieder was gelernt.
-
-
Das Skript hat 3 Probleme:
- das erste Problem hat @DJMarc75 bereits beschrieben. Du steuerst numerische Datenpunkte mit Texten an.
- das zweite Problem sind die Trigger. Durch einen Trigger auf "ist wahr" und "ist Falsch" werden die trigger auch dann aktiv wenn die Datenpunkte "nur" aktualisiert werden. das ist im Zweifelsfall zu oft. Wenn du die Struktur des Skriptes beibehalten willst empfiehlt sich ein Trägern auf "ist grösser als vorher" an Stelle von "Ist Wahr", bzw. "ist kleiner als vorher" an Stelle von "ist Falsch"
- das dritte Problem betrifft die Logik. Nehmen wir an jemand schaltet das Licht aus, und entscheidet sich das Licht wieder einzuschalten bevor es ganz auf "dunkel" gedimmt hat. Dann wird am Ende das Licht trotzdem aus sein. (Das kannst du ja mal ausprobieren) Die Lösung dafür ist aber auch einfach:
Dabei musst du natürlich die Stellen wo noch "Objekt id" drin steht durch die entsprechenden Datenpunkte von Dir ersetzen, sonst geht es nicht. Innerhalb des Triggers den Datenpunkt für die Helligkeit, Im trigger selber den deines Auslösers.
Als letztes noch ein Hinweis zu dem Baustein "State Value" - dieses ist ein besonderer Baustein aus dem Trigger Bereich - er hat immer genau den Wert des Datenpunktes der den Trigger in dem er sich befindet ausgelöst hat.
Durch das arbeiten mit dem Intervall wird eine Schleife gebaut die von alleine aufhört sobald die Helligkeit auf 0 sinkt. Sie hört aber auch dann auf wenn der Trigger erneut angestossen wird, z.Bsp. wenn jemand das licht wieder an macht.
Hinter dem Spoiler findest Du auch den Export.
A.
-
@djmarc75 sagte in Lichter dimmen:
@enrico-fischer etwas kompakter:
Diese Variante mag kompakter und ressourcenschonend sein, ist aber ansonsten eher schlecht. Eine Ablaufsteuerung mit Pausen hat so seine Risiken.
A.
-
@asgothian said in Lichter dimmen:
Eine Ablaufsteuerung mit Pausen hat so seine Risiken.
Da hast Du recht. Ich war grad auch am Intervall-basteln, aber Du warst eindeutig flinker
-
Okay danke erstmal an alle. Jetzt hab ich wieder was zu tun. Aber so langsam komme ich dahinter.