NEWS
[gelöst] Lampe leuchten lassen in Farbe bei Anruf
-
Hallo,
ich habe mal wieder ein Problem mit Blockly. Ichhabe versucht ein skript zu erstellen, dass eine Lampe aufleuchten lassen soll in rot, wenn jemand an der Fritzbox anruft. Das funktioniert soweit auch. jedoch hätte ich es jetzt gerne, dass es wieder ausgeht, wenn das Klingeln aufgehört hat. Sozusagen ein optisches Klingeln. Momentan scheitere ich daran, dass das Licht wieder ausgeht. Ein i-Tüpfelchen wäre natürlich, wenn die Lampe vorher an war, wieder in ihren vorherigen Status zurück geht.
-
@horido
Dann pack nen Falls Block in den Trigger, den Trigger auf wurde geändert und bei sonst schaltest das eben wieder aus. So ist der Standard um so was umzusetzen. -
danke, das hat funktioniert. Jetzt nur noch die Frage, wie ich das hinbekomme, dass die Lampe wie vorher wieder leuchtet
-
@horido
Auch einfach, schreib zu Beginn den aktuellen Stand in eine Variable und anstatt aus, schaltest einfach in den Status der Variable.Dann gleich noch ein Tipp, bei falls kommt oben nur aus den Trigger Blöcken "Wert" rein (steht default auf "Objekt ID") und sonst nichts
-
Danke hat geklappt
-
@horido
Zeig mal bitte das Blockly -
Moin Jan,
ich bin noch relativ neu im Thema. Kannst du evtl einmal zeigen wie du das mit der Variable meinst? Ich hab das ganze bisher so gelöst, dass ich ein Objekt erstelle mit Zahlenwert in den ich den Wert schreibe um ihm nach dem Anruf wieder von dort zu holen. Langsam vermute ich aber, dass dies ein etwas umständlicher weg ist.Bei mir sieht das so aus. Ich frage allerdings noch den Status meiner Sonos ab. So blinkt es nur dann, wenn es in der Wohnung laut ist.
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="oS$,8kqUlsEbm_0BIKFK" x="38" y="-262"> <field name="OID">tr-064.0.callmonitor.ringing</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id=".BRubUH`OurWCn$!)qhd"> <value name="IF0"> <block type="logic_operation" id="q[nuuMx/pSCDjfH~;#UU" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="#Tv`|mgfG=X%#,.U!L#."> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="*l8ZHGgIxxBeQ4ORpm08"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.ringing</field> </block> </value> <value name="B"> <block type="logic_boolean" id="e%wA8]DWvZZOEvihLv@D"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="b^(~fM%YI(QZL;wKf+/{"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5oiXDaqwcRD~,G8kh]lf"> <field name="ATTR">val</field> <field name="OID">tempor.0.music</field> </block> </value> <value name="B"> <block type="logic_boolean" id="VVb?iMbu}B,OC1lxfc5k"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="cPFQ}O6giUka$uz^3!08"> <mutation delay_input="false"></mutation> <field name="OID">tempor.0.Helligkeit_Flur_vor_Klingeln</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="yzOauCX]feur~S+qh(Er"> <field name="ATTR">val</field> <field name="OID">hue.0.Das_Licht_an_Kommode.level</field> </block> </value> <next> <block type="update" id="G)}9K4Nns%3)$,YbhD-P"> <mutation delay_input="false"></mutation> <field name="OID">tempor.0.Helligkeit_Wohnzimmer_vor_Klingeln</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="nW.Z#69!m3R4^:VDIbB2"> <field name="ATTR">val</field> <field name="OID">hue.0.Esstisch_2.level</field> </block> </value> <next> <block type="update" id="k0p}kNXJHKyxA`PiVwex"> <mutation delay_input="false"></mutation> <field name="OID">tempor.0.Helligkeit_Schlafzimmer_vor_Klingeln</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id=":s`/}|B*O=q(d@9$9nY{"> <field name="ATTR">val</field> <field name="OID">hue.0.Schlafzimmer_1.level</field> </block> </value> <next> <block type="control" id="lJE/ST-lK/P(U6#2i5gf"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Das_Licht_an_Kommode.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="O_~X-ja^c9ura0xhm7c."> <field name="NUM">100</field> </block> </value> <next> <block type="control" id="m0LV}H.ogZW_2LN[}|,z"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Esstisch_2.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="r_M*bSeBpnCRr9Ghccb5"> <field name="NUM">100</field> </block> </value> <next> <block type="control" id="f{/)+7RA?[7}deKz8zZ^"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Schlafzimmer_1.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="8Z:8o`8VUz=sw]JNm{WC"> <field name="NUM">100</field> </block> </value> <next> <block type="control" id="uP_9f}$H$F~3e=e^wV,h"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Das_Licht_an_Kommode.alert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="uZCb2{8d)osQk(rQ906L"> <field name="TEXT">lselect</field> </block> </value> <next> <block type="control" id="Rl?ix7Sm41ny~zFE1S8P"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Esstisch_2.alert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="@bm91B#u8y|q|6o,^pNR"> <field name="TEXT">lselect</field> </block> </value> <next> <block type="control" id="vcW:b9BXt4!y4|}kaHMj"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Schlafzimmer_1.alert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="V-*5B2V-Y+R7DO~uTFKC"> <field name="TEXT">lselect</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="H.q`maernQLM[JRz~O$v"> <value name="IF0"> <block type="logic_operation" id="mH+F13iSCL:jTHb9[B,}" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="W.0pA5|O$@#8b{6o^SmJ"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="x;N{jvOmw`Z65)2guBQ}"> <field name="ATTR">val</field> <field name="OID">tr-064.0.callmonitor.ringing</field> </block> </value> <value name="B"> <block type="logic_boolean" id="d~^)ewflch^Xv]%yJc$M"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="$/ZP~f4{si^3+G,5!S8i"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="AU%l3AkVTP)O:MBG~4*!"> <field name="ATTR">val</field> <field name="OID">tempor.0.music</field> </block> </value> <value name="B"> <block type="logic_boolean" id="VfrC_C}q]VLhYZBCSBKK"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Sxe-YZCg=1K}n;AJe~gK"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Das_Licht_an_Kommode.alert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="A=(vfmCr@Cnd)O.=yU{Z"> <field name="TEXT">none</field> </block> </value> <next> <block type="control" id="g~peNLJU|[~4f~016gSW"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Esstisch_2.alert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="-qjf3==J6!E}jQuUpnOx"> <field name="TEXT">none</field> </block> </value> <next> <block type="control" id="xz#mb/?VV8N6~YM|qL~:"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Schlafzimmer_1.alert</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="M}2cBDWGEg6BClthXQPS"> <field name="TEXT">none</field> </block> </value> <next> <block type="control" id="$Fv=.W[HCBxgJ?7V@znI"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Das_Licht_an_Kommode.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="(ci,_gjPU,=db%elW7]="> <field name="ATTR">val</field> <field name="OID">tempor.0.Helligkeit_Flur_vor_Klingeln</field> </block> </value> <next> <block type="control" id="U%]+.s`g80(Nyrpq0+WE"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Esstisch_2.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="Rt[m8{]C/Ii_(L-*S*(n"> <field name="ATTR">val</field> <field name="OID">tempor.0.Helligkeit_Wohnzimmer_vor_Klingeln</field> </block> </value> <next> <block type="control" id="d;6#OKUx_6oc/}l`Bs)i"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Schlafzimmer_1.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="A$+=w9aKVyK1o3tH)~L2"> <field name="ATTR">val</field> <field name="OID">tempor.0.Helligkeit_Schlafzimmer_vor_Klingeln</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>
-
@roddor
Na einfach eine Variable aus dem Block "Variablen" setzten und bennen wie gewünscht. Erklärt sich eigentlich selber, wenn man da mal rein schaut und Dein Screenshot ist Mist, kann keiner lesen -
@Jan1 sagte in Lampe leuchten lassen in Farbe bei Anruf:
Dein Screenshot ist Mist, kann keiner lesen
Das ist mit ein Grund warum keine externen Hoster verwendet dürfen.
@roddor bitte Link löschen und hier lokal hochladen
-
War Beitrag #1.
Hatte während des Tippen im Editor einfach nur auf Picture geklickt. Da wurde ein Link gefordert - warum auch immer der Knopf dann da ist.
Habs nun aber gefunden, danke!! -
@roddor
Passt jetzt und Du verwendest eigentlich den "falschen" TR064 Adapter. Es wird die community Version empfohlen weil Deiner nicht weiter geführt wird und Probleme berieten kann.Ich bastle gerade Deim Blockly um.
-
Nein, genau das ist leider nicht selbsterklärend für mich.
Ich kann wählen: Setze variable NAME auf "..."
Nun kann ich später sagen "Steuere Objekt mit "TEST"...soweit ist mir das klar. Ich kann nach meinem Verständnis nun aber in die Variable nur True und False setzen oder wie kann ich ein Zahlenwert - zb den der Hue Light.Level in die Variable schreiben? Oder seh ich den Wald vor lauter Bäumen nicht?
-
@roddor
Und was ist mit "erstelle"?
-
Oh Gott ist das einfach, wenn man es einmal irgendwo gesehen hat.
1000 Dank!
PS: Den anderen Adapter muss ich mir dann nochmal mal anschauen. Hatte den meiner Meinung nach schon drauf, da ich gesehen hatte, das bei meinem nichts mehr geht, aber hatte im anderen deutlich weniger Funktionen oder ich hab da in meiner Woche 1 irgendwie mal wieder was übersehen.
-
@roddor
die Community Version gibts über Github und ist mittlerweile eigentlich vom Funktionsumfang gleich mit dem alten, nur eben aktueller. Wenn Deiner läuft kannst den auch lassen, nur im Hinterkopf behalten, wenn er mal Zicken macht, nicht lange fackeln, sondern umsteigen.Sag ich doch, dass es einfach ist. Du hast das Selbe über DPs gelöst, was sogar ein Vorteil hat, wenn ein Reboot zwischendurch erfolgt, bleiben die Werte erhalten, bei den Variablen sind die futsch. Der Rest ist Kosmetik und einfach die gleiche Funktionen etwas verkürzt und doppelte Sachen wie z.B. "= wahr" beim Falls Block entfernt, weil das die Grundfunktion des Block ist und schon sieht das sehr einfach aus, was es auch ist
-
Ach das heisst ich brauch nie "=WAHR" sondern nur den Datenpunkt? Oder eben nicht "Datenpunkt = falsch" sondern "Nicht Datenpunkt"?
-
@roddor
Richtig, hast die Logik gleich verstanden. Wie in der Elektrotechnisch "nicht wahr" ist automatisch "falsch" und "wahr" prüft der Block eh schon. Sau einfach. -
Ich komm aus der Elektrotechnik. Baue Brandmeldesysteme. SPS und Co sind mir nicht Fremd, wenn auch eher selten geworden. Ich bin erst 2-3 Tage dran an dem Thema hier, weshalb man sich wohl zumindest zum jetztigen Zeitpunkt manchmal noch Wege beibringt, die nicht die effektivsten sind. Mein Problem ist aber auch, immer gleich zu viel zu wollen.
In so einer Endlosschleife steck ich zum Beispiel auch grade mit meinen Bewegungsmeldern die nur Tagsüber arbeiten sollen, wenn es zu dunkel im Raum ist. Nachts jedoch immer, aber in anderer Helligkeit. Zusätzlich möchte ich die ganze Bewegungsmelder aber auch deaktivieren können. Lampen die in dem Moment an sind sollen an bleiben. Lampen die aus sind, sollen aus bleiben. Nach dem wieder aktivieren soll alles wieder laufen. Vielleicht einfach zu viel für Tag 3, weil ich schon nicht damit klar komme, dass die Hue Motion erst bei Bewegung auch den Lichtsensor aktualisieren. Wird der Raum also zu dunkel, muss der Motionsensor erst zweimal auf True, weil er erst nach dem ersten Mal weiss dass es zu dunkel ist... ich kann nichtmal mehr erklären, aber evtl. wird das zu einem Suizidgrund :))
...is aber auch Offtopic. Muss mir da mal 'nen eigenes Thema zu bauen bei Zeiten.
-
Ach eins noch! In deinem Blockly der oberste rote Block "Wert" - wie ist der zu verstehen? Nimmt das Bezug auf das Objekt des Triggers? Sprich "Wert" = "tr-064.0.callmonitor.ringing = wahr" ??
-
@roddor
Bist ebnen ein Elektroniker und das merkt man sofort. Ja Wert bezieht sich direkt auf den Trigger, da das auch ein Bock aus dem Trigger Bereich ist und S7 vergisst hier gleich mal, sonst fällst auch so wie ich auf die Nase wenn es um "global" geht. Das ist hier was ganz anderes und lass da einfach die Finger von