Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. AutoStart von Neato in verbindung mit Homematic

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    716

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

AutoStart von Neato in verbindung mit Homematic

Scheduled Pinned Locked Moved Unsolved Blockly
33 Posts 6 Posters 2.7k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Thomas BerkermannT Offline
    Thomas BerkermannT Offline
    Thomas Berkermann
    wrote on last edited by
    #11

    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
    0
    • Thomas BerkermannT Thomas Berkermann

      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 Offline
      J Offline
      Jan1
      wrote on last edited by
      #12

      @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
      0
      • Thomas BerkermannT Offline
        Thomas BerkermannT Offline
        Thomas Berkermann
        wrote on last edited by
        #13

        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
        0
        • Thomas BerkermannT Thomas Berkermann

          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 Offline
          J Offline
          Jan1
          wrote on last edited by
          #14

          @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
          0
          • Thomas BerkermannT Offline
            Thomas BerkermannT Offline
            Thomas Berkermann
            wrote on last edited by
            #15

            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
            0
            • Thomas BerkermannT Offline
              Thomas BerkermannT Offline
              Thomas Berkermann
              wrote on last edited by
              #16

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

              1 Reply Last reply
              0
              • Thomas BerkermannT Offline
                Thomas BerkermannT Offline
                Thomas Berkermann
                wrote on last edited by
                #17

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

                1 Reply Last reply
                0
                • Thomas BerkermannT Offline
                  Thomas BerkermannT Offline
                  Thomas Berkermann
                  wrote on last edited by
                  #18

                  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
                  0
                  • Thomas BerkermannT Thomas Berkermann

                    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 Offline
                    J Offline
                    Jan1
                    wrote on last edited by
                    #19

                    @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
                    0
                    • Thomas BerkermannT Offline
                      Thomas BerkermannT Offline
                      Thomas Berkermann
                      wrote on last edited by
                      #20

                      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
                      0
                      • Thomas BerkermannT Thomas Berkermann

                        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 Offline
                        J Offline
                        Jan1
                        wrote on last edited by
                        #21

                        @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
                        0
                        • Thomas BerkermannT Offline
                          Thomas BerkermannT Offline
                          Thomas Berkermann
                          wrote on last edited by
                          #22

                          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
                          0
                          • Thomas BerkermannT Thomas Berkermann

                            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 Offline
                            J Offline
                            Jan1
                            wrote on last edited by
                            #23

                            @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
                            0
                            • Thomas BerkermannT Offline
                              Thomas BerkermannT Offline
                              Thomas Berkermann
                              wrote on last edited by
                              #24

                              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
                              0
                              • Thomas BerkermannT Thomas Berkermann

                                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 Offline
                                H Offline
                                HeliosFan
                                wrote on last edited by
                                #25

                                @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
                                0
                                • Thomas BerkermannT Thomas Berkermann

                                  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?

                                  J Offline
                                  J Offline
                                  Jan1
                                  wrote on last edited by
                                  #26

                                  @Thomas-Berkermann
                                  Das Script macht das was ich will und deshalb habe ich da auch nicht weiter Verbesserungen gearbeitet 😊
                                  Dann will ich mal Deine Fragen beantworten.
                                  Der Timeout wird immer so aufgebaut, damit es nicht zum Start mehrere Timeouts kommen kann, wird der vorher eben gestoppt (falls schon einer läuft). Der ist auch nur drin , damit es die Variable nicht zurücksetzt bevor die abgearbeitet ist, könnte auch ohne funktionieren, aber so ist es einfach sicherer.

                                  Man kann Trigger verwenden so viel man will, oder benötigt, nur Trigger im Trigger ist eben blöd, weil der interne eben nur aktiv werden kann wenn der äußere bereits aktiv ist, sonst macht der nichts. Deshalb nimmt man für interne Zwecke eben den Falls Block und kein Trigger, ist eben so und wenn Du die Logik durchspielst, merkst auch wann was überhaupt ablaufen kann.

                                  Anwesenheit ist bei mir ein DP den ich mit einem anderen Script über die WLAN Erkennung von Handy erstelle und geändert deshalb, damit die Aktion erst gestartet wird, wenn ich weg bin, da sich dann der Statuts von Anwesend auf "false" ÄNDERT. Sonst bräuchte ich noch ein Trigger der auf die Änderung reagiert und darin dann eine Auswertung ob "true" oder "false". Ist so eben wesentlich einfacher.

                                  Für was sollte ich den "Latest Action" Status denn abfragen? Zumal ich den DP nicht habe. Bei mir gibts eben nur "action" und der zeigt auch an was gemacht wurde. 6 sagt eben aus, das gereinigt wurde und somit kann ich auch eine "ausstehende Reinigung" löschen, weil zweimal ist unnötig.

                                  Das Script macht folgendes:
                                  3 mal die Woche um 11Uhr (Mo, Mi, Fr) eine Reinigung, wenn niemand da ist.
                                  Ist jemand zu Hause wird die Reinigung so lange verschoben, bis der Letzte gegangen ist und in der Zwischenzeit keine manuelle Reinigung gestartet wurde.

                                  Das ist schon alles was das Script macht. Den Ladezustand abfragen, ist überflüssig, weil er eh nicht loslegt, bevor der voll ist und da nur 3 mal die Woche man davon ausgehen kann, dass er voll ist.
                                  Das zurück zur Basis fahren ist beim VR200 zwar möglich aber etwas komplizierter zu erledigen, deshalb mach ich das nicht (wäre aber möglich).

                                  1 Reply Last reply
                                  0
                                  • Thomas BerkermannT Offline
                                    Thomas BerkermannT Offline
                                    Thomas Berkermann
                                    wrote on last edited by
                                    #27

                                    Hallo @Jan1 ,

                                    Danke für die Erklärung..
                                    JETZT kommt ich langsam dahinter.
                                    Jetzt verstehe ich auch die 6 :-)

                                    Alles klar..
                                    vielen Dank für die Erleuchtung :-)
                                    Ich lasse dein Script einfach mal jetzt laufen und gucke was passiert :-)
                                    Ich hoffe ich darf mich nach der vielen Kommunikation immer noch bei dir melden :-) :-) :-)
                                    Danke
                                    Thomas

                                    1 Reply Last reply
                                    0
                                    • Thomas BerkermannT Offline
                                      Thomas BerkermannT Offline
                                      Thomas Berkermann
                                      wrote on last edited by
                                      #28

                                      Hi @Jan1
                                      dann muss ich dein Script leider umbauen.
                                      weil der Status 6 ist bei mir so nicht vorhanden.

                                      <u>NeatoBotvacAction</u>
                                      
                                      ! createState('Neato.BotvacAction', 'Nichts'); ! var codesToMessage = { '0' : "Keine Aktion", '1' : "Haus-Reinigung", '2' : "Spot-Reinigung", '3' : "Manuelle Reinigung", '4' : "Docking", '5' : "User Menu aktiv", '6' : "Reinigung ausgesetzt", '7' : "Updating", '8' : "Logs kopieren", '9' : "Position ermitteln", '10' : "IEC Test", }; ! on("botvac.0.flusi.status.action"/*action*/, function (obj) { log(obj.state.val); if (codesToMessage.hasOwnProperty(obj.state.val)) { log('->' + codesToMessage[obj.state.val]); setState('Neato.BotvacAction', codesToMessage[obj.state.val], true); } else { setState('Neato.BotvacAction', obj.state.val); } }); !
                                      

                                      Kann ich statt dessen "lastResult" mit Antwort OK einsetzten?
                                      Sollte ja klappen.
                                      Ich hab das mal geändert mit "text" ich hoffe das klappt:
                                      448659b5-1603-4906-90c0-c20b151d642e-image.png

                                      J 1 Reply Last reply
                                      0
                                      • Thomas BerkermannT Thomas Berkermann

                                        Hi @Jan1
                                        dann muss ich dein Script leider umbauen.
                                        weil der Status 6 ist bei mir so nicht vorhanden.

                                        <u>NeatoBotvacAction</u>
                                        
                                        ! createState('Neato.BotvacAction', 'Nichts'); ! var codesToMessage = { '0' : "Keine Aktion", '1' : "Haus-Reinigung", '2' : "Spot-Reinigung", '3' : "Manuelle Reinigung", '4' : "Docking", '5' : "User Menu aktiv", '6' : "Reinigung ausgesetzt", '7' : "Updating", '8' : "Logs kopieren", '9' : "Position ermitteln", '10' : "IEC Test", }; ! on("botvac.0.flusi.status.action"/*action*/, function (obj) { log(obj.state.val); if (codesToMessage.hasOwnProperty(obj.state.val)) { log('->' + codesToMessage[obj.state.val]); setState('Neato.BotvacAction', codesToMessage[obj.state.val], true); } else { setState('Neato.BotvacAction', obj.state.val); } }); !
                                        

                                        Kann ich statt dessen "lastResult" mit Antwort OK einsetzten?
                                        Sollte ja klappen.
                                        Ich hab das mal geändert mit "text" ich hoffe das klappt:
                                        448659b5-1603-4906-90c0-c20b151d642e-image.png

                                        J Offline
                                        J Offline
                                        Jan1
                                        wrote on last edited by
                                        #29

                                        @Thomas-Berkermann
                                        Da musst in der Doku von Deinem Adapter schauen, was da der 6 bei meinem entspricht, wobei ich erst noch mal bei meinem Adapter schauen müsste was 6 war😎
                                        War irgendwas mit Reinigung gerade beendet, oder eben etwas mit dem man feststellen kann, das gereinigt wurde.
                                        Den Anwesenheits DP musst natürlich auch an Deine Anwesenheitserkennung anpassen,genau so wie der clean Befehl.

                                        1 Reply Last reply
                                        0
                                        • Thomas BerkermannT Offline
                                          Thomas BerkermannT Offline
                                          Thomas Berkermann
                                          wrote on last edited by
                                          #30

                                          Ja, das habe ich glaube ich ich alles gemacht.
                                          Ich habe nur das Mathe feld gegen ein textfeld ausgetauscht...
                                          was dann auf "LastResult" state State zugreift.
                                          Meine Frage, war, ob ich das so machen kann.

                                          Danke

                                          J A 2 Replies Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          518

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe