Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. AutoStart von Neato in verbindung mit Homematic

    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

    UNSOLVED AutoStart von Neato in verbindung mit Homematic

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

      Ich hab das mal versucht umzubauen:
      Wäre es so richtig?
      2019-10-22_11h10_32.png

      H 1 Reply Last reply Reply Quote 0
      • H
        HeliosFan @Thomas Berkermann last edited by HeliosFan

        @Thomas-Berkermann

        Der untere Block ja, der obere ist immer noch falsch

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

          @Thomas-Berkermann
          schau mal ich habe was in der Richtung mit meinem Vorwerk am Laufen.
          Der reinigt 3 mal die Woche was vollkommen reicht und nur wenn keiner zu Hause ist. Es fehlt eigentlich nur die Unterbrechung die DU willst, wenn einer nach Hause kommt während er reinigt.
          Ich habe dann noch mit drin, dass wenn ich manuell starte, die geplante Reinigung aussetzt, weil ja nicht mehr nötig.
          2d9490ff-6e50-4ed7-9fb9-01807a6704d5-grafik.png

          H 1 Reply Last reply Reply Quote 0
          • H
            HeliosFan @Jan1 last edited by

            @Jan1
            Nicht ich, aber trotzdem Danke.
            Die Frage war von @THOMAS BERKERMANN

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

              @HeliosFan
              hatte ich schon geändert

              1 Reply Last reply Reply Quote 0
              • Thomas Berkermann
                Thomas Berkermann last edited by

                Hallo @Jan1 ,

                ich komme mit deiner Beschreibung nicht ganz klar.
                a740b9f7-337e-46b4-88d6-fbce356aaf9f-image.png
                Wie bekomme ich denn im mittleren Abschnitt das Und mit den 2 Ausgängen und worauf bezieht sich "wert" ?
                Was macht das Timeout da?
                Und was ist das Object Action?

                Entschuldigt, wenn ich so viele Fragen stelle, aber ich kann mittlerweile Homematic ganz gut und verstehe die Logig. Aber hier in Blockly.. Puh!
                Ich bräuchte eine genauere Erklärung bitte.
                Und wie lasse ich den Roboter bei Anwesenhiet auf die Station fahren und anschließen weiter machen? Bzw. neu starten.
                Das Konzept mit der manuellen Reinigung finde ich super. das hätte ich auch gern da noch drin.
                Danke für eure Unterstützung

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

                  @Thomas-Berkermann
                  Beim UND sind das 2 Eingänge und die bekommt man mit rechts Klick auf den Block und externe Eingänge, ist nur ne andere Darstellung wegen der Übersucht.
                  Wert bezieht sich immer auf das Objekt welches triggert, deshalb ist der Block auch unter Trigger zu finden.
                  Den Timeout habe ich nur, damit zu 100% die Variable erst zurück gesetzt wird, wenn sie abgearbeitet ist, könnte auch ohne laufen.
                  An die Basis fahren ist beim Vorwerk recht blöd,da man das nicht direkt machen kann und erst warten muss bis ein Stop fertig ist und der Robo die Station gefunden hat. Da musst mal schauen ob der Adapter für Dein Robo das eleganter macht.

                  1 Reply Last reply Reply Quote 0
                  • Thomas Berkermann
                    Thomas Berkermann last edited by

                    Hallo @Jan1
                    Ich hab das jetzt mal wie du probiert,
                    Was trage ich denn in die letzte zeile ein.. was ist das für eine 6?

                    a737508c-99a6-4a82-a138-62f0adc3b0a8-image.png

                    Meinst du das könnte so klappen?
                    Danke

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

                      @Thomas-Berkermann
                      Nein klappt nicht.
                      Der letzete Trigger sitzt falsch, muss drunter.
                      Ist ne 6 und bei mir im Adapter eben der DP action. Da musst schauen was Dein Adapter da hat und wie der DP dazu heißt.

                      1 Reply Last reply Reply Quote 0
                      • Thomas Berkermann
                        Thomas Berkermann last edited by

                        Hi @Jan1
                        was, was was??
                        DP Action?
                        Welcher trigger ist falsch?
                        Kannst du das mal anzeigen?
                        Und womit füge ich die 6 ein?
                        Sorry, ist mein erstes Script mit Blockly...

                        1 Reply Last reply Reply Quote 0
                        • Thomas Berkermann
                          Thomas Berkermann last edited by

                          Hi @Jan1
                          die 6 Hab ich gefunden unter Mathematik..
                          Aber was ist die 6 ?

                          1 Reply Last reply Reply Quote 0
                          • Thomas Berkermann
                            Thomas Berkermann last edited by

                            warum machst du erst eiun Stop Timeout und dann den Ausführen?
                            Welchen Sinn hat das bei Blockly?

                            1 Reply Last reply Reply Quote 0
                            • Thomas Berkermann
                              Thomas Berkermann last edited by

                              hi @Jan1 ,

                              ichhab es für mich erstmal reduziert:

                              8ff0a735-753c-4dcd-b398-60c07873d2dd-image.png

                              Das werde ich morgen erstmal testen. und dann gucken wir mal.

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

                                @Thomas-Berkermann
                                Das wird nix, ein Trigger im Trigger ist schlecht, weil der nie aktiv wird.
                                Der Aufbau bei nem Blockly ist im Prinzip immer gleich. Außen kommt der Trigger der das ganze starte, darin was passieren soll. Wenn die Aktion noch Bedingungen enthält, dann kommen die eben als FALLS darein.

                                Zeig doch mal die DPs von Deinem Neato Adapter. Dann sieht nan ja ob Du das von mir übernehmen kannst, oder anpassen musst. Ich denke es wird sehr ähnlich sein, da mein Vorwerk eh von Neato gebaut wird.

                                1 Reply Last reply Reply Quote 0
                                • Thomas Berkermann
                                  Thomas Berkermann last edited by

                                  meinst du das?
                                  Ich versteh das mit den Triggern noch nicht so recht...
                                  warum kann ich nix doppelt triggern?

                                  849c1d68-202c-46a4-bc7d-1f6ccd445864-image.png

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

                                    @Thomas-Berkermann
                                    Ja genau das und bei action dürften bei Dir auch Zahlen drin stehen. Was da was ist sollte in der Doku des Adapter zu finden sein.
                                    Das mit dem Trigger ist eigentlich einfach, spiel doch mal durch was da abläuft, dann merkst, dass der innere Trigger nur funktionieren kann wenn gleichteitig das äußere Trigger Signal und das innere kommen, sehr enge bis unmögliche Geschichte.

                                    1 Reply Last reply Reply Quote 0
                                    • Thomas Berkermann
                                      Thomas Berkermann last edited by

                                      Hi @Jan1,

                                      ich komme mit dem Blockly nicht zurecht.
                                      ich möchte folgendes:

                                      wenn ich Abwesend bin, also dir Anwesenheitsvariable der Homeatic auf Abwesend springt,
                                      und das Änderungsdatum von Action ist älter als 20h
                                      und "Action ungleich 1 (clean) ist
                                      und state = 1 (bereit) dann clean; oder wenn state = 3 (pause) dann resume
                                      If state = 4 dann Message via pushover mit Fehlertext

                                      Wenn ich abwesend bin und die Homematic "Anwesenheit" von abwesend auf anwesend springt
                                      und der Akku (charge) größer als 30%
                                      dann Pause
                                      Wenn ich abwesend bin und die Homematic "Anwesenheit" von abwesend auf anwesend springt
                                      und der Akku (charge) kleiner als 30%
                                      dann stop & return to Base

                                      Wenn ich Anwesend bin, und sich der Statuts 24h nicht geändert hat
                                      dann state = clean
                                      If state = 4 dann Message via pushover mit Fehlertext

                                      Kannst du mir dabei helfen?
                                      Ich schnall das nicht...

                                      Danke

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

                                        @Thomas-Berkermann
                                        Das bekommen wir hin, obwohl @paul53 hier der fittere wäre, was Blockly schnell und elegant angeht.

                                        Du willst reichlich viel und ich habe ein anderes Gerät, was schon mal bisschen komplizierter wird.
                                        Deshalb meine Empfehlung, eins nach dem anderen. Mein Blockly wie ich es gepostet habe, macht schon einiges von dem was Du haben möchtest.
                                        Bau das einfach mal mit Deinen DPs nach und schau ob es läuft, wenn das funktioniert, dann gehts an die nächste Funktion.
                                        hier mal mein Blockly zum im portieren:

                                        <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">FALSE</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="T`R~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">FALSE</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)mc*dqt]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
                                        • Thomas Berkermann
                                          Thomas Berkermann last edited by

                                          Danke @Jan1 ,

                                          ich hab das jetzt mal importiert und gucke mir das mal an.
                                          b1614d0e-d46c-4c21-8df4-74177a5aa3c1-image.png
                                          wobei ich immer noch nicht weiß warum das aufgebaut ist, wie es aufgebaut ist.
                                          Warum macht mach erst ein Stop Timeout und dann ein Timeout?
                                          Warum gehen keine 2 Trigger?
                                          Und warum macht su Anwesenheit Ändern? Statt an und abwesend?

                                          Und warum fragst du nicht den Last Acrion Status ab?
                                          Ach.. so viele Fragen.. sorry..
                                          Ich muss erst Blockly lernen. gibt da irgendwo ein Tutorial?

                                          H J 2 Replies Last reply Reply Quote 0
                                          • H
                                            HeliosFan @Thomas Berkermann last edited by

                                            @Thomas-Berkermann said in AutoStart von Neato in verbindung mit Homematic:

                                            Ich muss erst Blockly lernen. gibt da irgendwo ein Tutorial?

                                            Zu Blockly gibt es viele Tutorials.
                                            Einfach mal googeln. Du findest sowohl Text als auch Video Anleitungen zu Blockly. (YouTube)

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            538
                                            Online

                                            31.9k
                                            Users

                                            80.3k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            33
                                            1670
                                            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