Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. TR064-Saugroboter starten bei Abwesenheit

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    TR064-Saugroboter starten bei Abwesenheit

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

      Hallo,
      Ich habe bei mir den Tr064 Adapter am laufen um die Abwesenheit bzw. Anwesenheit zu erkennen.
      Ich hab mir ein Script zuammengebastelt, das wenn keiner Zuhause Anwesend ist mein Saugroboter automatisch nach einem Coundown von 10 min. startet
      Nun ist mir aber aufgefallen wenn ich in der arbeit bin und meine Frau öfters das Haus am Tag verlässt das er des öfteren startet und saugt, was mich ziemlich stört weil 1. am Tag ausreichen würde. Gibt es eine möglichkeit das das script nur 1 mal am Tag ausgeführt wird?

      Vielen Dank schon mal...

      Mfg
      Chris

      J 1 Reply Last reply Reply Quote 0
      • J
        Jan1 @chris877 last edited by Jan1

        @chris877
        so in etwa, saugt 3 mal die Woche, wenn keiner da ist:
        cb4a95e2-54a1-4020-8703-77b1f44f3e42-grafik.png

        Der 3. Block sorgt dafür, dass wenn eine Reinigung statt gefunden hat, keine erneute gestartet wird auch wenn eine ausstehen würde.

        1 Reply Last reply Reply Quote 0
        • C
          chris877 last edited by chris877

          Könntest du mir vll. das Script hier rein Posten?

          Leuft ja trotz allem weiter über den Tr064 oder?

          Vielen Dank

          J 1 Reply Last reply Reply Quote 0
          • J
            Jan1 @chris877 last edited by Jan1

            @chris877
            Die Anwesenheitserkennung ja. Ist ein VR200 Sauger.

            ```
            <xml xmlns="http://www.w3.org/1999/xhtml">
            <variables>
            <variable type="" id="(3zQ(:otG,Xx5wM{8H;">Reinigung_ausstehend</variable>
            <variable type="undefined" id="timeout">timeout</variable>
            <variable type="undefined" id="timeout2">timeout2</variable>
            </variables>
            <block type="schedule" id=":@XSrK:A(xs4_+#/[[%k" x="-462" y="-537">
            <field name="SCHEDULE">0 11 * * 1,3,5</field>
            <statement name="STATEMENT">
            <block type="controls_if" id="p|OX526Dn{+[N6y2g~7z">
            <mutation else="1"></mutation>
            <value name="IF0">
            <block type="get_value" id=",K0)C[~c
            UU+M;(oAz^M">
            <field name="ATTR">val</field>
            <field name="OID">javascript.0.Anwesenheit</field>
            </block>
            </value>
            <statement name="DO0">
            <block type="variables_set" id="o/G:d!SfBY?%Z-L_OBv">
            <field name="VAR" id="
            (3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field>
            <value name="VALUE">
            <block type="logic_boolean" id="Jd@)x1Y.}BGFQuT[|q8h">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            </block>
            </statement>
            <statement name="ELSE">
            <block type="control" id="dTG?zbRRO,^Bsv5TG_,K">
            <mutation delay_input="false"></mutation>
            <field name="OID">vr200.0.Staubie.commands.eco</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="|d]{=OEa=erb]NeGC]k}">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            <next>
            <block type="control" id="8)T6=-yaHVA.PDy_bp1-">
            <mutation delay_input="true"></mutation>
            <field name="OID">vr200.0.Staubie.commands.clean</field>
            <field name="WITH_DELAY">TRUE</field>
            <field name="DELAY_MS">1</field>
            <field name="UNIT">sec</field>
            <field name="CLEAR_RUNNING">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="cFJIdo7t:bh:;yiLn]UU">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </statement>
            <next>
            <block type="on" id="TR~VHnVS1QaN*L-ABC-"> <field name="OID">javascript.0.Anwesenheit</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="MKLMUkQ]Haz0~8ZGo0W%"> <value name="IF0"> <block type="logic_operation" id="KX?!f8@wF51noA,%j]+#" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="=mt-4B:lb00[cx*6]YuY"> <value name="BOOL"> <block type="on_source" id="kap(jom7~m6i~?W,{TKz"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="rs9KhRBz-},Ggmx)fL|x"> <field name="VAR" id="*(3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="^}*p/Wcca1[Q}[u%+iOL"> <mutation delay_input="false"></mutation> <field name="OID">vr200.0.Staubie.commands.eco</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@%m^zkFQPwR%~Y26/C*a"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="84TurGVzBe31AfrpaE,t"> <mutation delay_input="true"></mutation> <field name="OID">vr200.0.Staubie.commands.clean</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="l83dH~^1;M=r746ipFW*"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="kr3-UX[uNVVt0#xR,f%*"> <field name="NAME">timeout2</field> <next> <block type="timeouts_settimeout" id="JJ/F?%r}B=~X5(Zy]5yc"> <field name="NAME">timeout2</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="iz~kMR,^HvZgyDjr.m+v"> <field name="VAR" id="*(3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field> <value name="VALUE"> <block type="logic_boolean" id="NDjKYM~mc4}6?LvgfFVL"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id=".PujgfHwbO1)xewiH{uF"> <field name="OID">vr200.0.Staubie.status.action</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="aL)d9b[Xg%Oj)}w8xj">
            <field name="NAME">timeout</field>
            <next>
            <block type="timeouts_settimeout" id="`wib25F
            %wCMDzf=U)Ll">
            <field name="NAME">timeout</field>
            <field name="DELAY">1000</field>
            <field name="UNIT">ms</field>
            <statement name="STATEMENT">
            <block type="controls_if" id="rVlNwz0oQS)mcdqt]Lg">
            <value name="IF0">
            <block type="logic_compare" id="my+-JZH}NozBae(ctdLA">
            <field name="OP">EQ</field>
            <value name="A">
            <block type="on_source" id="wvsI
            Y6_D|u5~cG_JI/G">
            <field name="ATTR">state.val</field>
            </block>
            </value>
            <value name="B">
            <block type="math_number" id="6?rvbP=eF~z}Lw(I#LTd">
            <field name="NUM">6</field>
            </block>
            </value>
            </block>
            </value>
            <statement name="DO0">
            <block type="variables_set" id="yuQD?kZ0iy1BKDQtwB4P">
            <field name="VAR" id="*(3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field>
            <value name="VALUE">
            <block type="logic_boolean" id="eLlnlv}E=CsZyX.oM?pj">
            <field name="BOOL">FALSE</field>
            </block>
            </value>
            </block>
            </statement>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </next>
            </block>
            </xml>

            <xml xmlns="http://www.w3.org/1999/xhtml">
            <variables>
            <variable type="" id="(3zQ(:otG,Xx5wM{8H;">Reinigung_ausstehend</variable>
            <variable type="undefined" id="timeout">timeout</variable>
            <variable type="undefined" id="timeout2">timeout2</variable>
            </variables>
            <block type="schedule" id=":@XSrK:A(xs4_+#/[[%k" x="-462" y="-537">
            <field name="SCHEDULE">0 11 * * 1,3,5</field>
            <statement name="STATEMENT">
            <block type="controls_if" id="p|OX526Dn{+[N6y2g~7z">
            <mutation else="1"></mutation>
            <value name="IF0">
            <block type="get_value" id=",K0)C[~c
            UU+M;(oAz^M">
            <field name="ATTR">val</field>
            <field name="OID">javascript.0.Anwesenheit</field>
            </block>
            </value>
            <statement name="DO0">
            <block type="variables_set" id="o/G:d!SfBY?%Z-L_OBv">
            <field name="VAR" id="
            (3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field>
            <value name="VALUE">
            <block type="logic_boolean" id="Jd@)x1Y.}BGFQuT[|q8h">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            </block>
            </statement>
            <statement name="ELSE">
            <block type="control" id="dTG?zbRRO,^Bsv5TG_,K">
            <mutation delay_input="false"></mutation>
            <field name="OID">vr200.0.Staubie.commands.eco</field>
            <field name="WITH_DELAY">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="|d]{=OEa=erb]NeGC]k}">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            <next>
            <block type="control" id="8)T6=-yaHVA.PDy_bp1-">
            <mutation delay_input="true"></mutation>
            <field name="OID">vr200.0.Staubie.commands.clean</field>
            <field name="WITH_DELAY">TRUE</field>
            <field name="DELAY_MS">1</field>
            <field name="UNIT">sec</field>
            <field name="CLEAR_RUNNING">FALSE</field>
            <value name="VALUE">
            <block type="logic_boolean" id="cFJIdo7t:bh:;yiLn]UU">
            <field name="BOOL">TRUE</field>
            </block>
            </value>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </statement>
            <next>
            <block type="on" id="TR~VHnVS1QaN*L-ABC-"> <field name="OID">javascript.0.Anwesenheit</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="MKLMUkQ]Haz0~8ZGo0W%"> <value name="IF0"> <block type="logic_operation" id="KX?!f8@wF51noA,%j]+#" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="=mt-4B:lb00[cx*6]YuY"> <value name="BOOL"> <block type="on_source" id="kap(jom7~m6i~?W,{TKz"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="variables_get" id="rs9KhRBz-},Ggmx)fL|x"> <field name="VAR" id="*(3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="^}*p/Wcca1[Q}[u%+iOL"> <mutation delay_input="false"></mutation> <field name="OID">vr200.0.Staubie.commands.eco</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="@%m^zkFQPwR%~Y26/C*a"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="84TurGVzBe31AfrpaE,t"> <mutation delay_input="true"></mutation> <field name="OID">vr200.0.Staubie.commands.clean</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="l83dH~^1;M=r746ipFW*"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="kr3-UX[uNVVt0#xR,f%*"> <field name="NAME">timeout2</field> <next> <block type="timeouts_settimeout" id="JJ/F?%r}B=~X5(Zy]5yc"> <field name="NAME">timeout2</field> <field name="DELAY">10</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="iz~kMR,^HvZgyDjr.m+v"> <field name="VAR" id="*(3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field> <value name="VALUE"> <block type="logic_boolean" id="NDjKYM~mc4}6?LvgfFVL"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id=".PujgfHwbO1)xewiH{uF"> <field name="OID">vr200.0.Staubie.status.action</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="aL)d9b[Xg%Oj)}w8xj">
            <field name="NAME">timeout</field>
            <next>
            <block type="timeouts_settimeout" id="`wib25F
            %wCMDzf=U)Ll">
            <field name="NAME">timeout</field>
            <field name="DELAY">1000</field>
            <field name="UNIT">ms</field>
            <statement name="STATEMENT">
            <block type="controls_if" id="rVlNwz0oQS)mcdqt]Lg">
            <value name="IF0">
            <block type="logic_compare" id="my+-JZH}NozBae(ctdLA">
            <field name="OP">EQ</field>
            <value name="A">
            <block type="on_source" id="wvsI
            Y6_D|u5~cG_JI/G">
            <field name="ATTR">state.val</field>
            </block>
            </value>
            <value name="B">
            <block type="math_number" id="6?rvbP=eF~z}Lw(I#LTd">
            <field name="NUM">6</field>
            </block>
            </value>
            </block>
            </value>
            <statement name="DO0">
            <block type="variables_set" id="yuQD?kZ0iy1BKDQtwB4P">
            <field name="VAR" id="*(3zQ(:otG,Xx5wM{8H;" variabletype="">Reinigung_ausstehend</field>
            <value name="VALUE">
            <block type="logic_boolean" id="eLlnlv}E=CsZyX.oM?pj">
            <field name="BOOL">FALSE</field>
            </block>
            </value>
            </block>
            </statement>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </statement>
            </block>
            </next>
            </block>
            </next>
            </block>
            </xml>

            1 Reply Last reply Reply Quote 0
            • C
              chris877 last edited by

              Ich bestitze eben nur einen Tesvor x500 , den ich über Alexa 2.0 adapter ansteure .
              Hab leider keine andere möglichkeit in einzubinden .. glaub ich zumindest...

              J 1 Reply Last reply Reply Quote 0
              • J
                Jan1 @chris877 last edited by

                @chris877
                Dann musst eben die DPs anpassen. Wird dann so wie ich das im 3.Block habe nicht funktionieren, wenn keine Zustands DP mit im Alexa Adapter rüber kommt. Ich kenn den nicht, deshalb kann ich da auch nicht viel zu sagen.

                1 Reply Last reply Reply Quote 0
                • C
                  chris877 last edited by

                  1b560ab4-f56d-4390-81bb-37bdd71ea2ba-grafik.png

                  So sieht mein schript aus... wie würdest du das am besten lösen?

                  J 1 Reply Last reply Reply Quote 0
                  • J
                    Jan1 @chris877 last edited by

                    @chris877
                    Also ich würde beide Handys schon mal so wie ich es habe über eine allgemeine Anwesenheiterkennung zusammen fassen, da wenn jemand da ist das schon nervt, wenn der Bot rum fährt. Dann das ganze nach Zeitplan, da 3 mal die Woche eigentlich mehr als ausreicht (der VR200 navigiert und fährt somit wirklich jeden cm ab). Dann kannst die ersten 2 Blöcke von mir schon fast 1:1 übernehmen.

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      chris877 @Jan1 last edited by

                      @Jan1 Ich hab ein 2tes Script am laufen das wenn jemand Anwesend ist er sofort in die Ladestation zurück fährt, funktioniert auch super!
                      Blos wie mach ich das das er nur 3 mal oder 4 mal die Woche los fährt?
                      Am liebstens wär mir ja nur 1 mal am Tag, aber ich weis nicht wie ich das am besten umsetze ...
                      Steh irgendwie auf dem schlauch...

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        Jan1 @chris877 last edited by

                        @chris877
                        Du kannst wie ich ein CRON Trigger nehmen und den eben 1 mal am Tag zu einer bestimmten Uhrzeit. Wenn einer zu Hause ist soll das verschoben werden und wenn einer kommt unterbrochen. Setzt ein DP als Merker ein, den man auswertet, ob Unterbrochen oder ausstehend. Eigentlich ist das bei mir alles schon so drin, musst nur mal anschauen und etwas umbauen.

                        1 Reply Last reply Reply Quote 0
                        • C
                          chris877 last edited by

                          @Jan1 said in TR064-Saugroboter starten bei Abwesenheit:

                          Wenn einer zu Hause ist soll das verschoben werden und wenn einer kommt unterbrochen. Setzt ein DP als Merker ein, den man auswertet, ob Unterbrochen oder ausstehend.

                          Könntest du mir da mal ein beispiel bringen?
                          Bin noch nicht so lang dabei und versteh grad nicht was du genau meinst bzw wie ich das am besten umsetzte ?

                          J 1 Reply Last reply Reply Quote 0
                          • J
                            Jan1 @chris877 last edited by

                            @chris877
                            Schau mein Blockly an, das macht das und ist wirklich nicht so groß.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            439
                            Online

                            31.7k
                            Users

                            79.8k
                            Topics

                            1.3m
                            Posts

                            2
                            12
                            887
                            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