Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Schaltsteckdose am TV aus wenn nachts und im Standby

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Schaltsteckdose am TV aus wenn nachts und im Standby

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mading last edited by mading

      Hallo, ich habe eine Schaltsteckdose an unserem Fernseher. Nun möchte ich, dass wenn nachts keiner TV schaut und vergessen wurde, die Schaltsteckdose auszuschalten, dass diese automatisch ausgeschaltet wird. Nun möchte ich, dass die Logik nur einmal läuft wenn erkannt wird das ein Verbrauch unter 80 W (= Standby) und dann nach 5 Minuten die Steckdose ausgeschaltet wird außer es wird in der Zeit ein Verbrauch höher 80 W erkannt (= jemand schaut TV), dann soll das Ausschalten abgebrochen werden und beginnt ggf. wieder von vorne.

      Folgendes Blocky hab ich gebaut, ich bekomme aber ständig die Info über Debug dass der Verbrauch unter 80W erkannt wird.

      Um sicherzustellen, dass das Skript nur einmal läuft nachdem ein Stand-by Verbrauch erkannt wurde, habe ich ein eine bool variable angelegt.

      Hat mir jemand einen Tipp was zu verbessern wäre?

      D4C9B7BF-B2FF-4D27-B3BD-240165D9771F.jpeg

      
      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="B.$hC1B=n:rD|dz(bsed">TVsollaus</variable>
          <variable type="timeout" id="timeout">timeout</variable>
        </variables>
        <block type="on" id="ukY]*Fh7$._d5HMz^+I*" x="13" y="-262">
          <field name="OID">sonoff.0.TasmotaSchaltsteckTV.ENERGY_Power</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="variables_set" id="h}1,W0RU9JV$rIG~0y0G">
              <field name="VAR" id="B.$hC1B=n:rD|dz(bsed">TVsollaus</field>
              <value name="VALUE">
                <block type="get_value" id="!GWQA?}N=!*bukgNMDC*">
                  <field name="ATTR">val</field>
                  <field name="OID">0_userdata.0.EigeneDatenpunkte.Tasmota.TVSollAusErkannt</field>
                </block>
              </value>
              <next>
                <block type="controls_if" id="j?OQyC|G~GaNu@E*m81[">
                  <mutation else="1"></mutation>
                  <value name="IF0">
                    <block type="logic_operation" id="$VpY9[,Egn/:0ZYWD?ln">
                      <field name="OP">AND</field>
                      <value name="A">
                        <block type="logic_operation" id="B2`6vm`rTRv6E_dvwp+T">
                          <field name="OP">AND</field>
                          <value name="A">
                            <block type="time_compare_ex" id="T%mI!.ALO#HD}kiqV^J}">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                              <field name="USE_ACTUAL_TIME">TRUE</field>
                              <field name="OPTION">between</field>
                              <value name="START_TIME">
                                <shadow type="text" id="`9GoQ`N_?T9}R8u-(q?0">
                                  <field name="TEXT">22:30</field>
                                </shadow>
                              </value>
                              <value name="END_TIME">
                                <shadow type="text" id="0SRZC:1|9BNvcseWifM}">
                                  <field name="TEXT">06:00</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_compare" id="4//,I6IpV*Zdf)Lbd8~K">
                              <field name="OP">LTE</field>
                              <value name="A">
                                <block type="on_source" id="Bl_],oj=QiFik_t_8TXT">
                                  <field name="ATTR">state.val</field>
                                </block>
                              </value>
                              <value name="B">
                                <block type="math_number" id="A5olWpI{+?OHV!BUX:FJ">
                                  <field name="NUM">80</field>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_compare" id="8I~}^xDx%P1xfjIh)+49">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="variables_get" id="k,fL?M]lpw7vZ4Of}d59">
                              <field name="VAR" id="B.$hC1B=n:rD|dz(bsed">TVsollaus</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="/F`?{pWC_clN.18HhXi3">
                              <field name="BOOL">FALSE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="debug" id="Iz~V`4SlD{*P66{bPZ_/">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text" id="k?vDD0|z?|9A9WRJO@|`">
                          <field name="TEXT">-HausInfos- TV in 5 Minuten aus</field>
                        </shadow>
                        <block type="text_join" id="3oSuXX8GZ7t|lK6?Lo{M">
                          <mutation items="3"></mutation>
                          <value name="ADD0">
                            <block type="text" id="E5!exOc*%/b7iT,N]Gk(">
                              <field name="TEXT">-HausInfos- TV in 5 Minuten aus. Verbrauch aktuell </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="on_source" id="OSVOj~.8Q%Zr7~^v@4?Y">
                              <field name="ATTR">state.val</field>
                            </block>
                          </value>
                          <value name="ADD2">
                            <block type="text" id="^(wM*U6~L-bs{9Eo;qEe">
                              <field name="TEXT"> W</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <next>
                        <block type="telegram" id="O/CHfrj2Z:-{ZzzNIxM6">
                          <field name="INSTANCE"></field>
                          <field name="LOG"></field>
                          <field name="SILENT">FALSE</field>
                          <field name="PARSEMODE">default</field>
                          <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                          <value name="MESSAGE">
                            <shadow type="text" id="JWK=tW4No}Z_S@|jNEGy">
                              <field name="TEXT">TV in 5 Minuten aus!</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="update" id=".[_K8KclliGnicH+x*V3">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.EigeneDatenpunkte.Tasmota.TVSollAusErkannt</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="/wI_5)99=~K*}Z+d=u)S">
                                  <field name="BOOL">TRUE</field>
                                </block>
                              </value>
                              <next>
                                <block type="timeouts_cleartimeout" id="maJCxh]qNRo}RqD_tY`T">
                                  <field name="NAME">timeout</field>
                                  <next>
                                    <block type="timeouts_settimeout" id="m]w7J((m^b$K=;6kyIxV">
                                      <field name="NAME">timeout</field>
                                      <field name="DELAY">5</field>
                                      <field name="UNIT">min</field>
                                      <statement name="STATEMENT">
                                        <block type="control" id="MXDL3cTY(P$rlaZO?!R^">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">sonoff.0.TasmotaSchaltsteckTV.POWER</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="logic_boolean" id="1G0$k|j^X1qrw!gB{{rN">
                                              <field name="BOOL">FALSE</field>
                                            </block>
                                          </value>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                  <statement name="ELSE">
                    <block type="update" id=")5.=8Ul#|(bAgdn9NH~|">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.EigeneDatenpunkte.Tasmota.TVSollAusErkannt</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="#616`Vw0qHmJe(2?Cg55">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      
      
      Homoran DJMarc75 paul53 3 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @mading last edited by

        @mading du prüfst auf die Variable tv-aus. die wird direkt am Anfang geschrieben.
        je nachdem wie schnell neue Werte von der Dose kommen ist zu dem Zeitpunkt der Wert im Datenpunkt noch nicht fertig aktualisiert.

        wendy2702 1 Reply Last reply Reply Quote 1
        • wendy2702
          wendy2702 @Homoran last edited by

          @homoran Off-Topic: hoffe es ist kein Oled TV

          Homoran 1 Reply Last reply Reply Quote 1
          • Homoran
            Homoran Global Moderator Administrators @wendy2702 last edited by

            @wendy2702 sagte in Schaltsteckdose am TV aus wenn nachts und im Standby:

            @homoran Off-Topic: hoffe es ist kein Oled TV

            nur weil der nachts sein Display regeneriert? 😂

            1 Reply Last reply Reply Quote 0
            • DJMarc75
              DJMarc75 @mading last edited by

              @mading sagte in Schaltsteckdose am TV aus wenn nachts und im Standby:

              Hat mir jemand einen Tipp was zu verbessern wäre?

              probier mal so:

              Screenshot 2023-01-21 100807.png

              Natürlich musste da noch Deine gewünschten Aktionen wie Telegram ergänzen.

              I 1 Reply Last reply Reply Quote 1
              • M
                mading last edited by

                Danke euch, habs umgebaut und teste mal

                1 Reply Last reply Reply Quote 0
                • M
                  mading last edited by

                  Mein TV ist von 2010. Danke für den Hinweis. Ich mache das manuell schon seit 13 Jahren 😉

                  Habs erstmal so konfiguriert:

                  511D4829-2E46-460F-B0A3-490D99C06194.jpeg

                  1 Reply Last reply Reply Quote 0
                  • M
                    mading last edited by mading

                    Das funktioniert leider nicht, vermute dass die Variable "TVSollAusErkannt" nicht auf true gesetzt wird - warum auch immer. Das Resultat ist, dass er ständig in den falls Block geht, aber nie ausschaltet, da die Variable nicht auf true geht. Ich mache es nun anders über meinen Harmony Hub. Der ist eigentlich nicht so zuverlässig, da er im WLAN Probleme macht.

                    DJMarc75 paul53 2 Replies Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @mading last edited by

                      @mading sagte in Schaltsteckdose am TV aus wenn nachts und im Standby:

                      "TVSollAusErkannt" nicht auf true gesetzt wird - warum auch immer.

                      Funktionierendes Prinzip vom Skript hatte ich ja gepostet - warum setzt Du das nicht so um ?

                      M 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @mading last edited by paul53

                        @mading sagte: Das funktioniert leider nicht

                        Das Prinzip entspricht dem Erkennen von "Waschmaschine fertig", ergänzt um die Zeitspanne für Nacht.

                        Bild_2023-01-22_173925784.png

                        EDIT: Ab Javascript-Version 7.0.5 funktioniert es so nicht mehr, da die Variable fertig bei Ablauf der Verzögerung automatisch auf null gesetzt wird.
                        Alternative für "nicht Verzögerung fertig": "vorheriger Wert > 80".

                        1 Reply Last reply Reply Quote 0
                        • M
                          mading @DJMarc75 last edited by

                          @djmarc75 ich hatte es heute Mittag getestet: der Strom wurde nicht ausgeschaltet trotz Standby. Zum Verständnis: du setzt die Variable vor dem Trigger auf false. Wann ist der Teil aktiv? Nicht wenn der Trigger zieht, oder?

                          DJMarc75 1 Reply Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @mading last edited by

                            @mading sagte in Schaltsteckdose am TV aus wenn nachts und im Standby:

                            Wann ist der Teil aktiv?

                            sobald das Skript startet.

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @mading last edited by paul53

                              @mading sagte: Tipp was zu verbessern wäre?

                              Habe es mal umgebaut:

                              Blockly_temp.JPG

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <variables>
                                 <variable type="timeout" id="timeout">timeout</variable>
                               </variables>
                               <block type="on" id="ukY]*Fh7$._d5HMz^+I*" x="13" y="-262">
                                 <field name="OID">sonoff.0.TasmotaSchaltsteckTV.ENERGY_Power</field>
                                 <field name="CONDITION">ne</field>
                                 <field name="ACK_CONDITION"></field>
                                 <statement name="STATEMENT">
                                   <block type="controls_if" id="AR}5J:9bJS?Ktj%;lb`C">
                                     <mutation elseif="1"></mutation>
                                     <value name="IF0">
                                       <block type="logic_compare" id="4//,I6IpV*Zdf)Lbd8~K">
                                         <field name="OP">GT</field>
                                         <value name="A">
                                           <block type="on_source" id="Bl_],oj=QiFik_t_8TXT">
                                             <field name="ATTR">state.val</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="A5olWpI{+?OHV!BUX:FJ">
                                             <field name="NUM">80</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="timeouts_cleartimeout" id="maJCxh]qNRo}RqD_tY`T">
                                         <field name="NAME">timeout</field>
                                       </block>
                                     </statement>
                                     <value name="IF1">
                                       <block type="logic_operation" id="[INQx{{.r+m;%{HV1,7E" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="time_compare_ex" id="T%mI!.ALO#HD}kiqV^J}">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                                             <field name="USE_ACTUAL_TIME">TRUE</field>
                                             <field name="OPTION">between</field>
                                             <value name="START_TIME">
                                               <shadow type="text" id="`9GoQ`N_?T9}R8u-(q?0">
                                                 <field name="TEXT">22:30</field>
                                               </shadow>
                                             </value>
                                             <value name="END_TIME">
                                               <shadow type="text" id="0SRZC:1|9BNvcseWifM}">
                                                 <field name="TEXT">06:00</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_negate" id="0=Rsr,IbTmHO9EXFn/XQ">
                                             <value name="BOOL">
                                               <block type="timeouts_gettimeout" id="?8HxLYA:%Mp~vbZiSC|T">
                                                 <field name="NAME">timeout</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO1">
                                       <block type="debug" id="Iz~V`4SlD{*P66{bPZ_/">
                                         <field name="Severity">log</field>
                                         <value name="TEXT">
                                           <shadow type="text" id="k?vDD0|z?|9A9WRJO@|`">
                                             <field name="TEXT">-HausInfos- TV in 5 Minuten aus</field>
                                           </shadow>
                                           <block type="text_join" id="3oSuXX8GZ7t|lK6?Lo{M">
                                             <mutation items="3"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="E5!exOc*%/b7iT,N]Gk(">
                                                 <field name="TEXT">-HausInfos- TV in 5 Minuten aus. Verbrauch aktuell </field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="on_source" id="OSVOj~.8Q%Zr7~^v@4?Y">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="^(wM*U6~L-bs{9Eo;qEe">
                                                 <field name="TEXT"> W</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="telegram" id="RPu33NF6aYP:q$K{08!I">
                                             <field name="INSTANCE"></field>
                                             <field name="LOG"></field>
                                             <field name="SILENT">FALSE</field>
                                             <field name="PARSEMODE">default</field>
                                             <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                             <value name="MESSAGE">
                                               <shadow type="text" id=",-p#wR9fJ-$$L}z%6klc">
                                                 <field name="TEXT">TV in 5 Minuten aus!</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="timeouts_settimeout" id="m]w7J((m^b$K=;6kyIxV">
                                                 <field name="NAME">timeout</field>
                                                 <field name="DELAY">5</field>
                                                 <field name="UNIT">min</field>
                                                 <statement name="STATEMENT">
                                                   <block type="control" id="MXDL3cTY(P$rlaZO?!R^">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">sonoff.0.TasmotaSchaltsteckTV.POWER</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="logic_boolean" id="1G0$k|j^X1qrw!gB{{rN">
                                                         <field name="BOOL">FALSE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </statement>
                               </block>
                              </xml>
                              

                              Anmerkung: Die Timer-Variable wird als Sperre verwendet.

                              1 Reply Last reply Reply Quote 0
                              • I
                                iobroker_napf @DJMarc75 last edited by

                                @djmarc75 said in Schaltsteckdose am TV aus wenn nachts und im Standby:

                                @mading sagte in Schaltsteckdose am TV aus wenn nachts und im Standby:

                                Hat mir jemand einen Tipp was zu verbessern wäre?

                                probier mal so:

                                Screenshot 2023-01-21 100807.png

                                Natürlich musste da noch Deine gewünschten Aktionen wie Telegram ergänzen.

                                Hi,

                                kann mir mal einer Erklären wofür immer die Blöcke Stop timeout und
                                ausführen timeout in 5min gesetzt werden?
                                Ich habe das bisher immer mit dem Haken Verzögerung bei einem Steuere Block gelöst.

                                Danke euch

                                M 1 Reply Last reply Reply Quote 0
                                • M
                                  mading @iobroker_napf last edited by

                                  @iobroker_napf die Idee ist, falls in den 5Minuten jemand doch den TV einschaltet (Verbrauch höher als 80W), dass das Ausschalten gestoppt wird 😉

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  875
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  6
                                  15
                                  664
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo