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.
    04790fc1-05a2-460a-9ffd-918db78d8ac7-image.png


  • @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 😀
    bac8e197-1a84-4540-9a69-4749d690a2a2-image.png


  • @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


  • @Jan1 @horido

    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

  • Forum Testing Most Active Global Moderator Administrators

    @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


  • @Homoran

    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!!

    Bildschirmfoto 2020-01-05 um 13.36.03.png


  • @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.


  • @Jan1

    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"?
    686680b3-3376-4398-907b-45f780e27aed-grafik.png


  • @Jan1

    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😁


  • @Jan1

    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.


  • @Jan1

    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.


  • @Jan1

    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😁

Suggested Topics

1.4k
Online

38.3k
Users

43.8k
Topics

611.8k
Posts