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. JavaScript
  5. Roborock Adapter tester gesucht

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Roborock Adapter tester gesucht

Scheduled Pinned Locked Moved JavaScript
766 Posts 51 Posters 248.5k Views 52 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.
  • David G.D David G.

    @copystring

    Danke.

    Hab grad nochmal eine Raumreinigung über app_segment_clean gestartet.
    2 Räume waren ausgewählt. Der Adapter ist wieder abgestürzt.

    roborock.0
    2023-02-26 18:24:48.671	info	terminating
    
    roborock.0
    2023-02-26 18:24:48.663	error	Cannot read properties of null (reading 'val')
    
    roborock.0
    2023-02-26 18:24:48.662	error	TypeError: Cannot read properties of null (reading 'val') at /opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js:159:20 at async vacuum.command (/opt/iobroker/node_modules/iobroker.roborock/lib/vacuum.js:155:4)
    
    roborock.0
    2023-02-26 18:24:48.660	error	unhandled promise rejection: Cannot read properties of null (reading 'val')
    
    roborock.0
    2023-02-26 18:24:48.650	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
    
    copystringC Offline
    copystringC Offline
    copystring
    wrote on last edited by
    #347

    @david-g Okay. Welche version ist installiert? Falls noch nicht geschehen die aktuelle dev Version (https://github.com/copystring/ioBroker.roborock/tree/dev) installieren und neu testen. Dann ein neues log hier posten.
    Es gab gerade eben noch einige Änderungen. Damit ich weiß in welcher Zeile ich genau schauen muss ist es wichtig zu wissen auf welcher Version der Fehler kommt. Daher wäre es am idealsten wenn du die dev Version von gerade eben verwenden würdest.

    Unterstütze meine Arbeit gerne mit einer Spende über PayPal:
    https://paypal.me/copystring

    David G.D 2 Replies Last reply
    0
    • copystringC copystring

      @david-g Okay. Welche version ist installiert? Falls noch nicht geschehen die aktuelle dev Version (https://github.com/copystring/ioBroker.roborock/tree/dev) installieren und neu testen. Dann ein neues log hier posten.
      Es gab gerade eben noch einige Änderungen. Damit ich weiß in welcher Zeile ich genau schauen muss ist es wichtig zu wissen auf welcher Version der Fehler kommt. Daher wäre es am idealsten wenn du die dev Version von gerade eben verwenden würdest.

      David G.D Online
      David G.D Online
      David G.
      wrote on last edited by
      #348

      @copystring

      Hab die Dev Version vom 25 Feb installiert.
      Aktualisiere jetzt mal teste morgen.

      Vorhin hab ich nochmal probiert und da hat es geklappt, allerdings in einer anderen Etage.

      Melde mich

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      1 Reply Last reply
      0
      • copystringC copystring

        @david-g Okay. Welche version ist installiert? Falls noch nicht geschehen die aktuelle dev Version (https://github.com/copystring/ioBroker.roborock/tree/dev) installieren und neu testen. Dann ein neues log hier posten.
        Es gab gerade eben noch einige Änderungen. Damit ich weiß in welcher Zeile ich genau schauen muss ist es wichtig zu wissen auf welcher Version der Fehler kommt. Daher wäre es am idealsten wenn du die dev Version von gerade eben verwenden würdest.

        David G.D Online
        David G.D Online
        David G.
        wrote on last edited by David G.
        #349

        @copystring

        So,

        habe getestet. Es klappt.
        Allerdings war es wohl ein Fehler meinerseits.

        Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
        Das bekomme ich aber leicht in einem Skript eingebaut.

        EDIT:
        Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.

        Screenshot_20230227_073612_Chrome.jpg

        So kann man in der Visu nichts falsch machen:
        Screenshot_20230227_073743_Fully Kiosk Browser.jpg

        Aber eine andere Frage:
        Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
        Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.

        Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.

        Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?

        So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.

        Zeigt eure Lovelace-Visualisierung klick
        (Auch ideal um sich Anregungen zu holen)

        Meine Tabellen für eure Visualisierung klick

        S copystringC 2 Replies Last reply
        2
        • David G.D David G.

          @copystring

          So,

          habe getestet. Es klappt.
          Allerdings war es wohl ein Fehler meinerseits.

          Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
          Das bekomme ich aber leicht in einem Skript eingebaut.

          EDIT:
          Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.

          Screenshot_20230227_073612_Chrome.jpg

          So kann man in der Visu nichts falsch machen:
          Screenshot_20230227_073743_Fully Kiosk Browser.jpg

          Aber eine andere Frage:
          Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
          Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.

          Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.

          Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?

          So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.

          S Offline
          S Offline
          simplyclever
          wrote on last edited by
          #350

          @david-g Könntest Du Blockly und VIS (Widgets?) teilen?

          David G.D 1 Reply Last reply
          0
          • S simplyclever

            @david-g Könntest Du Blockly und VIS (Widgets?) teilen?

            David G.D Online
            David G.D Online
            David G.
            wrote on last edited by
            #351

            @simplyclever

            Anbei das Skript:

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="m*1}PM*vX/e5QPUWCX/~">raume_og</variable>
               <variable id="HGnKiadUT}LlnVPI#)V5">raume_ug</variable>
               <variable id="WF[nL{a)J(;8bBQ3kw,Q">j</variable>
             </variables>
             <block type="variables_set" id="LJG9IQ:;c(+_sG54Nbpv" x="563" y="-1213">
               <field name="VAR" id="m*1}PM*vX/e5QPUWCX/~">raume_og</field>
               <value name="VALUE">
                 <block type="selector" id="YMrJZw87j]=8);ry1@f]">
                   <field name="TEXT">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.floors.1.*</field>
                 </block>
               </value>
               <next>
                 <block type="variables_set" id="H8H5NrBhth.kWD,lWmWC">
                   <field name="VAR" id="HGnKiadUT}LlnVPI#)V5">raume_ug</field>
                   <value name="VALUE">
                     <block type="selector" id="+9@TR[f{`qLJ+Gt$L4f9">
                       <field name="TEXT">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.floors.0.*</field>
                     </block>
                   </value>
                   <next>
                     <block type="on_ext" id="/[tZ4DhA:zBka)VD;oq:">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">true</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id=")9tNYU]I]2zJRDL$yJ!L">
                           <field name="oid">default</field>
                         </shadow>
                         <block type="variables_get" id="f{{]lfXFJ7}HcU;T%14x">
                           <field name="VAR" id="m*1}PM*vX/e5QPUWCX/~">raume_og</field>
                         </block>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_forEach" id="Y,;q@xe$2!LnUQcP)|Yy">
                           <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                           <value name="LIST">
                             <block type="variables_get" id="DU8hj`D=P}-_8~k~*fTS">
                               <field name="VAR" id="HGnKiadUT}LlnVPI#)V5">raume_ug</field>
                             </block>
                           </value>
                           <statement name="DO">
                             <block type="control_ex" id="zD?!9SShbd,Ky#a%!AJ%">
                               <field name="TYPE">false</field>
                               <field name="CLEAR_RUNNING">FALSE</field>
                               <value name="OID">
                                 <shadow type="field_oid" id="Vqmc=1_*}x+nX$AOsaRb">
                                   <field name="oid">Object ID</field>
                                 </shadow>
                                 <block type="variables_get" id="G9:X=`u[])`|5aU8+=Dw">
                                   <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                                 </block>
                               </value>
                               <value name="VALUE">
                                 <shadow type="logic_boolean" id="[L!m2~:ZWQxe8@yU[7NP">
                                   <field name="BOOL">FALSE</field>
                                 </shadow>
                               </value>
                               <value name="DELAY_MS">
                                 <shadow type="math_number" id="N.HMqS+m/3H14%B3F[1|">
                                   <field name="NUM">0</field>
                                 </shadow>
                               </value>
                             </block>
                           </statement>
                           <next>
                             <block type="update" id="T5Nr6)3:_o*4OwlC,kkB">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.commands.load_multi_map</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="math_number" id="lbmY(vKPJw?rI3Ly9ZVT">
                                   <field name="NUM">1</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <next>
                         <block type="on_ext" id="`yx429a:d#})9*}K:x5?">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                           <field name="CONDITION">true</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid">
                               <field name="oid">default</field>
                             </shadow>
                             <block type="variables_get" id="[M6zXe5%J(zRl=5D6@AI">
                               <field name="VAR" id="HGnKiadUT}LlnVPI#)V5">raume_ug</field>
                             </block>
                           </value>
                           <statement name="STATEMENT">
                             <block type="controls_forEach" id="9b[KI}p/Vcqmi;AIOvoP">
                               <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                               <value name="LIST">
                                 <block type="variables_get" id="^iD/8)NBfbWNoi)a1xWA">
                                   <field name="VAR" id="m*1}PM*vX/e5QPUWCX/~">raume_og</field>
                                 </block>
                               </value>
                               <statement name="DO">
                                 <block type="control_ex" id="W5yI0~~A}BRZ;w]H-M5y">
                                   <field name="TYPE">false</field>
                                   <field name="CLEAR_RUNNING">FALSE</field>
                                   <value name="OID">
                                     <shadow type="field_oid">
                                       <field name="oid">Object ID</field>
                                     </shadow>
                                     <block type="variables_get" id="[Tr|(mpClG/-*BP,,SfZ">
                                       <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                                     </block>
                                   </value>
                                   <value name="VALUE">
                                     <shadow type="logic_boolean" id="j}b57r;.pBj=*o$_ZC^Y">
                                       <field name="BOOL">FALSE</field>
                                     </shadow>
                                   </value>
                                   <value name="DELAY_MS">
                                     <shadow type="math_number" id="ArP;CZy8xNW6dzENFQ[A">
                                       <field name="NUM">0</field>
                                     </shadow>
                                   </value>
                                 </block>
                               </statement>
                               <next>
                                 <block type="update" id="Wwrb?1viM#Hn+RTHv:J4">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.commands.load_multi_map</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="7/b3!/qa$]8DV[^/_HXa">
                                       <field name="NUM">0</field>
                                     </block>
                                   </value>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            Als Visu nutze ich Lovelace.
            Hast du das auch?

            Zeigt eure Lovelace-Visualisierung klick
            (Auch ideal um sich Anregungen zu holen)

            Meine Tabellen für eure Visualisierung klick

            S 1 Reply Last reply
            1
            • David G.D David G.

              @simplyclever

              Anbei das Skript:

              <xml xmlns="https://developers.google.com/blockly/xml">
               <variables>
                 <variable id="m*1}PM*vX/e5QPUWCX/~">raume_og</variable>
                 <variable id="HGnKiadUT}LlnVPI#)V5">raume_ug</variable>
                 <variable id="WF[nL{a)J(;8bBQ3kw,Q">j</variable>
               </variables>
               <block type="variables_set" id="LJG9IQ:;c(+_sG54Nbpv" x="563" y="-1213">
                 <field name="VAR" id="m*1}PM*vX/e5QPUWCX/~">raume_og</field>
                 <value name="VALUE">
                   <block type="selector" id="YMrJZw87j]=8);ry1@f]">
                     <field name="TEXT">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.floors.1.*</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="H8H5NrBhth.kWD,lWmWC">
                     <field name="VAR" id="HGnKiadUT}LlnVPI#)V5">raume_ug</field>
                     <value name="VALUE">
                       <block type="selector" id="+9@TR[f{`qLJ+Gt$L4f9">
                         <field name="TEXT">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.floors.0.*</field>
                       </block>
                     </value>
                     <next>
                       <block type="on_ext" id="/[tZ4DhA:zBka)VD;oq:">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                         <field name="CONDITION">true</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id=")9tNYU]I]2zJRDL$yJ!L">
                             <field name="oid">default</field>
                           </shadow>
                           <block type="variables_get" id="f{{]lfXFJ7}HcU;T%14x">
                             <field name="VAR" id="m*1}PM*vX/e5QPUWCX/~">raume_og</field>
                           </block>
                         </value>
                         <statement name="STATEMENT">
                           <block type="controls_forEach" id="Y,;q@xe$2!LnUQcP)|Yy">
                             <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                             <value name="LIST">
                               <block type="variables_get" id="DU8hj`D=P}-_8~k~*fTS">
                                 <field name="VAR" id="HGnKiadUT}LlnVPI#)V5">raume_ug</field>
                               </block>
                             </value>
                             <statement name="DO">
                               <block type="control_ex" id="zD?!9SShbd,Ky#a%!AJ%">
                                 <field name="TYPE">false</field>
                                 <field name="CLEAR_RUNNING">FALSE</field>
                                 <value name="OID">
                                   <shadow type="field_oid" id="Vqmc=1_*}x+nX$AOsaRb">
                                     <field name="oid">Object ID</field>
                                   </shadow>
                                   <block type="variables_get" id="G9:X=`u[])`|5aU8+=Dw">
                                     <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                                   </block>
                                 </value>
                                 <value name="VALUE">
                                   <shadow type="logic_boolean" id="[L!m2~:ZWQxe8@yU[7NP">
                                     <field name="BOOL">FALSE</field>
                                   </shadow>
                                 </value>
                                 <value name="DELAY_MS">
                                   <shadow type="math_number" id="N.HMqS+m/3H14%B3F[1|">
                                     <field name="NUM">0</field>
                                   </shadow>
                                 </value>
                               </block>
                             </statement>
                             <next>
                               <block type="update" id="T5Nr6)3:_o*4OwlC,kkB">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.commands.load_multi_map</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_number" id="lbmY(vKPJw?rI3Ly9ZVT">
                                     <field name="NUM">1</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <next>
                           <block type="on_ext" id="`yx429a:d#})9*}K:x5?">
                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                             <field name="CONDITION">true</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid">
                                 <field name="oid">default</field>
                               </shadow>
                               <block type="variables_get" id="[M6zXe5%J(zRl=5D6@AI">
                                 <field name="VAR" id="HGnKiadUT}LlnVPI#)V5">raume_ug</field>
                               </block>
                             </value>
                             <statement name="STATEMENT">
                               <block type="controls_forEach" id="9b[KI}p/Vcqmi;AIOvoP">
                                 <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                                 <value name="LIST">
                                   <block type="variables_get" id="^iD/8)NBfbWNoi)a1xWA">
                                     <field name="VAR" id="m*1}PM*vX/e5QPUWCX/~">raume_og</field>
                                   </block>
                                 </value>
                                 <statement name="DO">
                                   <block type="control_ex" id="W5yI0~~A}BRZ;w]H-M5y">
                                     <field name="TYPE">false</field>
                                     <field name="CLEAR_RUNNING">FALSE</field>
                                     <value name="OID">
                                       <shadow type="field_oid">
                                         <field name="oid">Object ID</field>
                                       </shadow>
                                       <block type="variables_get" id="[Tr|(mpClG/-*BP,,SfZ">
                                         <field name="VAR" id="WF[nL{a)J(;8bBQ3kw,Q">j</field>
                                       </block>
                                     </value>
                                     <value name="VALUE">
                                       <shadow type="logic_boolean" id="j}b57r;.pBj=*o$_ZC^Y">
                                         <field name="BOOL">FALSE</field>
                                       </shadow>
                                     </value>
                                     <value name="DELAY_MS">
                                       <shadow type="math_number" id="ArP;CZy8xNW6dzENFQ[A">
                                         <field name="NUM">0</field>
                                       </shadow>
                                     </value>
                                   </block>
                                 </statement>
                                 <next>
                                   <block type="update" id="Wwrb?1viM#Hn+RTHv:J4">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">roborock.0.Devices.7UreppMhwYr4WlSbCtcsno.commands.load_multi_map</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="math_number" id="7/b3!/qa$]8DV[^/_HXa">
                                         <field name="NUM">0</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
              </xml>
              

              Als Visu nutze ich Lovelace.
              Hast du das auch?

              S Offline
              S Offline
              simplyclever
              wrote on last edited by
              #352

              @david-g Danke! Ich benutze VIS. Aber evtl. hilft es anderen.

              David G.D 1 Reply Last reply
              0
              • S simplyclever

                @david-g Danke! Ich benutze VIS. Aber evtl. hilft es anderen.

                David G.D Online
                David G.D Online
                David G.
                wrote on last edited by
                #353

                @simplyclever

                Gerne,

                das was du auf dem Bild siehst ist easy und "nicht wert zu posten" in Lovelace.

                Das hier ist eher interessant.
                Screenshot_20230227_100259_Fully Kiosk Browser.jpg

                Wenn man auf "Los" drückt öffnen sich das vorherige Bild. Oben links der Status der Basis als Popup. Oben rechts der Adapterstatus.
                Bei den unteren Icons klappen die entsprechenden Dinge aus.
                Das Poste ich, wenn ich mit allem fertig bin, im Lovelace Thread.
                Da wird sich immer schön ausgetauscht.

                Zeigt eure Lovelace-Visualisierung klick
                (Auch ideal um sich Anregungen zu holen)

                Meine Tabellen für eure Visualisierung klick

                1 Reply Last reply
                0
                • David G.D Online
                  David G.D Online
                  David G.
                  wrote on last edited by David G.
                  #354

                  Ich habe den Adapter heute mal auf der Arbeit in einer Ubuntu VM (über vmware esxi) installiert (den-version von vor 10min) um mir die Funktionen anzuschauen die am RPI nicht klappen.

                  Hier möchte sich der Adapter nicht verbinden:

                  
                  roborock.0
                  2023-02-27 14:04:35.458	info	Terminated (NO_ERROR): Without reason
                  
                  roborock.0
                  2023-02-27 14:04:35.457	info	terminating
                  
                  roborock.0
                  2023-02-27 14:04:35.453	warn	Restart initiated
                  
                  roborock.0
                  2023-02-27 14:04:35.436	error	Connection timed out! Deleting UserData and trying again
                  
                  roborock.0
                  2023-02-27 14:04:30.435	info	MQTT initialized
                  
                  roborock.0
                  2023-02-27 14:04:29.442	info	starting. Version 0.0.10-alpha.0 (non-npm: copystring/ioBroker.roborock#dev) in /opt/iobroker/node_modules/iobroker.roborock, node: v14.19.3, js-controller: 4.0.21
                  

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  wendy2702W 1 Reply Last reply
                  0
                  • David G.D David G.

                    Ich habe den Adapter heute mal auf der Arbeit in einer Ubuntu VM (über vmware esxi) installiert (den-version von vor 10min) um mir die Funktionen anzuschauen die am RPI nicht klappen.

                    Hier möchte sich der Adapter nicht verbinden:

                    
                    roborock.0
                    2023-02-27 14:04:35.458	info	Terminated (NO_ERROR): Without reason
                    
                    roborock.0
                    2023-02-27 14:04:35.457	info	terminating
                    
                    roborock.0
                    2023-02-27 14:04:35.453	warn	Restart initiated
                    
                    roborock.0
                    2023-02-27 14:04:35.436	error	Connection timed out! Deleting UserData and trying again
                    
                    roborock.0
                    2023-02-27 14:04:30.435	info	MQTT initialized
                    
                    roborock.0
                    2023-02-27 14:04:29.442	info	starting. Version 0.0.10-alpha.0 (non-npm: copystring/ioBroker.roborock#dev) in /opt/iobroker/node_modules/iobroker.roborock, node: v14.19.3, js-controller: 4.0.21
                    
                    wendy2702W Online
                    wendy2702W Online
                    wendy2702
                    wrote on last edited by
                    #355

                    @david-g sagte in Roborock Adapter tester gesucht:

                    Arbeit in einer Ubuntu VM (über vmware esxi)

                    Zu wenig infos.

                    Welche Ubuntu Version?
                    NodeJS?
                    NPM?
                    Log im Debug mode

                    Bitte keine Fragen per PN, die gehören ins Forum!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1 Reply Last reply
                    0
                    • David G.D Online
                      David G.D Online
                      David G.
                      wrote on last edited by David G.
                      #356

                      @wendy2702

                      Bleibt nun grün.
                      Die Firewall hat den Adapter irgendwie geblockt. Mal sehen warum (hab Sie grad zum Test kurz deaktiviert).

                      Zeigt eure Lovelace-Visualisierung klick
                      (Auch ideal um sich Anregungen zu holen)

                      Meine Tabellen für eure Visualisierung klick

                      1 Reply Last reply
                      0
                      • David G.D David G.

                        @copystring

                        So,

                        habe getestet. Es klappt.
                        Allerdings war es wohl ein Fehler meinerseits.

                        Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
                        Das bekomme ich aber leicht in einem Skript eingebaut.

                        EDIT:
                        Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.

                        Screenshot_20230227_073612_Chrome.jpg

                        So kann man in der Visu nichts falsch machen:
                        Screenshot_20230227_073743_Fully Kiosk Browser.jpg

                        Aber eine andere Frage:
                        Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
                        Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.

                        Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.

                        Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?

                        So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.

                        copystringC Offline
                        copystringC Offline
                        copystring
                        wrote on last edited by
                        #357

                        @david-g said in Roborock Adapter tester gesucht:

                        @copystring

                        So,

                        habe getestet. Es klappt.
                        Allerdings war es wohl ein Fehler meinerseits.

                        Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
                        Das bekomme ich aber leicht in einem Skript eingebaut.

                        Genau. Die Karte muss ausgewählt sein damit dort entsprechenden gesaugt wird.

                        EDIT:
                        Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.

                        Es reicht tatsächlich aus nur die Karte auszuwählen. Den Rest macht der Adapter automatisch. Das bedeutet es werden nur die Räume zum Reinigen abgeschickt, welche auf auf der aktuellen Karte verfügbar sind. Dadurch muss man nicht jedes mal die zu reinigenden Räume ändern.

                        Screenshot_20230227_073612_Chrome.jpg

                        So kann man in der Visu nichts falsch machen:
                        Screenshot_20230227_073743_Fully Kiosk Browser.jpg

                        Aber eine andere Frage:
                        Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
                        Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.

                        Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.

                        Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?

                        So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.

                        Ähm nein. Das baue ich bewusst nicht ein da die commands, wie der Name schon verrät, einfach nur Befehle sind. Dort wird absichtlich nichts gelesen weil der echte wert von z.B. water_box_custom_mode unter deviceStatus zu finden ist. Synchron ist also alles unter deviceStatus. Diese nehmen auch die Daten aus der App entsprechend an. Wenn du dann über den Adapter set_water_box_custom_mode ausführst taucht genau so unter deviceStatus auf wie aus der App.

                        Unterstütze meine Arbeit gerne mit einer Spende über PayPal:
                        https://paypal.me/copystring

                        David G.D 2 Replies Last reply
                        0
                        • copystringC Offline
                          copystringC Offline
                          copystring
                          wrote on last edited by copystring
                          #358

                          Ich brauche mal eure Hilfe.
                          Es geht darum, die echten Werte der Verbrauchsmaterialien des Saugroboters zu bekommen.
                          Bei mir sind das diese: Filter, Main Brush, Side Brush.
                          In der aktuellen dev branch von gerade eben wird nicht mehr wie zuvor HomeData nur ein mal beim Einrichten des Adapters aktualisiert, sondern bei jedem Reconnect. Dadurch werden selbstverständlich einige weitere Daten zur Verfügung gestellt.
                          In diesem Fall geht es um drei Werte im JSON String unter deviceStatus von HomeData.: 125, 126,127
                          Diese haben bei mir folgende Bedeutung:

                          • 125 = Main Brush
                          • 126 = Side Brush
                          • 127 = Filter

                          Von jedem Wert dann jeweils 1 abziehen. Das sollte dann dem Wert in der App entsprechen.
                          Klappt das bei euch auch würde ich das tatsächlich einbauen. Dadurch erhalten wir alle drei Stunden (oder bei Reconnect) die echten Werte in Prozent der Verbrauchsmaterialien, ohne für jeden Roboter eine eigene Berechnung durchführen zu müssen.

                          Unterstütze meine Arbeit gerne mit einer Spende über PayPal:
                          https://paypal.me/copystring

                          1 Reply Last reply
                          0
                          • copystringC copystring

                            @david-g said in Roborock Adapter tester gesucht:

                            @copystring

                            So,

                            habe getestet. Es klappt.
                            Allerdings war es wohl ein Fehler meinerseits.

                            Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
                            Das bekomme ich aber leicht in einem Skript eingebaut.

                            Genau. Die Karte muss ausgewählt sein damit dort entsprechenden gesaugt wird.

                            EDIT:
                            Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.

                            Es reicht tatsächlich aus nur die Karte auszuwählen. Den Rest macht der Adapter automatisch. Das bedeutet es werden nur die Räume zum Reinigen abgeschickt, welche auf auf der aktuellen Karte verfügbar sind. Dadurch muss man nicht jedes mal die zu reinigenden Räume ändern.

                            Screenshot_20230227_073612_Chrome.jpg

                            So kann man in der Visu nichts falsch machen:
                            Screenshot_20230227_073743_Fully Kiosk Browser.jpg

                            Aber eine andere Frage:
                            Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
                            Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.

                            Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.

                            Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?

                            So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.

                            Ähm nein. Das baue ich bewusst nicht ein da die commands, wie der Name schon verrät, einfach nur Befehle sind. Dort wird absichtlich nichts gelesen weil der echte wert von z.B. water_box_custom_mode unter deviceStatus zu finden ist. Synchron ist also alles unter deviceStatus. Diese nehmen auch die Daten aus der App entsprechend an. Wenn du dann über den Adapter set_water_box_custom_mode ausführst taucht genau so unter deviceStatus auf wie aus der App.

                            David G.D Online
                            David G.D Online
                            David G.
                            wrote on last edited by
                            #359

                            @copystring sagte in Roborock Adapter tester gesucht:

                            Ähm nein. Das baue ich bewusst nicht ein da die commands......

                            Okay, danke für die Info. Dann schaue ich mal, wie man das in der Visu schlau umsetzt um sich nicht von den "falschen" Werten irritieren zu lassen.

                            @copystring sagte in Roborock Adapter tester gesucht:

                            Ich brauche mal eure Hilfe.
                            Es geht darum, die echten Werte der Verbrauchsmaterialien des Saugroboters zu bekommen.

                            Gibt es die Werte schon irgendwo?
                            In der Json hab ich was stehen, hier exemplarisch ein Wert.

                                      "id": "125",
                                      "name": "主刷寿命",
                                      "code": "main_brush_life",
                                      "mode": "rw",
                                      "type": "VALUE",
                                      "property": "{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}",
                                      "desc": null
                            

                            Zeigt eure Lovelace-Visualisierung klick
                            (Auch ideal um sich Anregungen zu holen)

                            Meine Tabellen für eure Visualisierung klick

                            1 Reply Last reply
                            0
                            • copystringC Offline
                              copystringC Offline
                              copystring
                              wrote on last edited by
                              #360

                              @david-g said in Roborock Adapter tester gesucht:

                              Gibt es die Werte schon irgendwo?
                              In der Json hab ich was stehen, hier exemplarisch ein Wert.

                                        "id": "125",
                                        "name": "主刷寿命",
                                        "code": "main_brush_life",
                                        "mode": "rw",
                                        "type": "VALUE",
                                        "property": "{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}",
                                        "desc": null
                              

                              Ja weiter unten im deviceStatus

                              Unterstütze meine Arbeit gerne mit einer Spende über PayPal:
                              https://paypal.me/copystring

                              David G.D 1 Reply Last reply
                              0
                              • copystringC copystring

                                @david-g said in Roborock Adapter tester gesucht:

                                Gibt es die Werte schon irgendwo?
                                In der Json hab ich was stehen, hier exemplarisch ein Wert.

                                          "id": "125",
                                          "name": "主刷寿命",
                                          "code": "main_brush_life",
                                          "mode": "rw",
                                          "type": "VALUE",
                                          "property": "{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": null, \"scale\": 1}",
                                          "desc": null
                                

                                Ja weiter unten im deviceStatus

                                David G.D Online
                                David G.D Online
                                David G.
                                wrote on last edited by David G.
                                #361

                                @copystring

                                Gefunden

                                      "deviceStatus": {
                                        "120": 0,
                                        "121": 8,
                                        "122": 79,
                                        "123": 102,
                                        "124": 203,
                                        "125": 99,
                                        "126": 99,
                                        "127": 98,
                                        "128": 0,
                                        "133": 1
                                      },
                                

                                Stimmt bei mir aber nicht mit den Daten in der App überein (auch nicht mit -1).
                                Screenshot_20230227_234401_Roborock.jpg

                                Zeigt eure Lovelace-Visualisierung klick
                                (Auch ideal um sich Anregungen zu holen)

                                Meine Tabellen für eure Visualisierung klick

                                copystringC 1 Reply Last reply
                                0
                                • David G.D David G.

                                  @copystring

                                  Gefunden

                                        "deviceStatus": {
                                          "120": 0,
                                          "121": 8,
                                          "122": 79,
                                          "123": 102,
                                          "124": 203,
                                          "125": 99,
                                          "126": 99,
                                          "127": 98,
                                          "128": 0,
                                          "133": 1
                                        },
                                  

                                  Stimmt bei mir aber nicht mit den Daten in der App überein (auch nicht mit -1).
                                  Screenshot_20230227_234401_Roborock.jpg

                                  copystringC Offline
                                  copystringC Offline
                                  copystring
                                  wrote on last edited by
                                  #362

                                  @david-g OK. Mal bitte in ioBroker checken, wann HomeData zuletzt geschrieben wurden. Sind das vielleicht alte Daten?

                                  Unterstütze meine Arbeit gerne mit einer Spende über PayPal:
                                  https://paypal.me/copystring

                                  David G.D 1 Reply Last reply
                                  0
                                  • copystringC copystring

                                    @david-g OK. Mal bitte in ioBroker checken, wann HomeData zuletzt geschrieben wurden. Sind das vielleicht alte Daten?

                                    David G.D Online
                                    David G.D Online
                                    David G.
                                    wrote on last edited by
                                    #363

                                    @copystring sagte in Roborock Adapter tester gesucht:

                                    @david-g OK. Mal bitte in ioBroker checken, wann HomeData zuletzt geschrieben wurden. Sind das vielleicht alte Daten?

                                    In der Tat.
                                    Ist vom 19.2

                                    Zeigt eure Lovelace-Visualisierung klick
                                    (Auch ideal um sich Anregungen zu holen)

                                    Meine Tabellen für eure Visualisierung klick

                                    copystringC 1 Reply Last reply
                                    0
                                    • David G.D David G.

                                      @copystring sagte in Roborock Adapter tester gesucht:

                                      @david-g OK. Mal bitte in ioBroker checken, wann HomeData zuletzt geschrieben wurden. Sind das vielleicht alte Daten?

                                      In der Tat.
                                      Ist vom 19.2

                                      copystringC Offline
                                      copystringC Offline
                                      copystring
                                      wrote on last edited by
                                      #364

                                      @david-g aber die aktuelle dev branch ist installiert? Die schreibt bei jedem Start die Daten neu.

                                      Unterstütze meine Arbeit gerne mit einer Spende über PayPal:
                                      https://paypal.me/copystring

                                      David G.D 1 Reply Last reply
                                      0
                                      • copystringC copystring

                                        @david-g aber die aktuelle dev branch ist installiert? Die schreibt bei jedem Start die Daten neu.

                                        David G.D Online
                                        David G.D Online
                                        David G.
                                        wrote on last edited by David G.
                                        #365

                                        @copystring

                                        Ja, gestern Abend nach deinem Post mit der Bitte zu testen installiert.

                                        Installiere gleich nochmal drüber.

                                        EDIT
                                        Jetzt stimmen die Werte.
                                        Braucht das auf git ggf kurz bis die aktuellste Version ausgeliefert wird?

                                           "deviceStatus": {
                                                "120": 0,
                                                "121": 8,
                                                "122": 22,
                                                "123": 104,
                                                "124": 201,
                                                "125": 96,
                                                "126": 94,
                                                "127": 92,
                                                "128": 0,
                                                "133": 1
                                              },
                                        

                                        Die Werte sind zum Screenshot oben wirklich was gesunken.

                                        Zeigt eure Lovelace-Visualisierung klick
                                        (Auch ideal um sich Anregungen zu holen)

                                        Meine Tabellen für eure Visualisierung klick

                                        1 Reply Last reply
                                        0
                                        • copystringC copystring

                                          @david-g said in Roborock Adapter tester gesucht:

                                          @copystring

                                          So,

                                          habe getestet. Es klappt.
                                          Allerdings war es wohl ein Fehler meinerseits.

                                          Ich muss (wie ich jetzt gemerkt habe) erst die Multimap der Etage laden, und dann die Reinigung starten.
                                          Das bekomme ich aber leicht in einem Skript eingebaut.

                                          Genau. Die Karte muss ausgewählt sein damit dort entsprechenden gesaugt wird.

                                          EDIT:
                                          Hab mir ein Blockly geschrieben, um sicherzugehen, dass ich nur Räume in einer Etage aktiv habe und wähle dementsprechend die entsprechende Map aus.

                                          Es reicht tatsächlich aus nur die Karte auszuwählen. Den Rest macht der Adapter automatisch. Das bedeutet es werden nur die Räume zum Reinigen abgeschickt, welche auf auf der aktuellen Karte verfügbar sind. Dadurch muss man nicht jedes mal die zu reinigenden Räume ändern.

                                          Screenshot_20230227_073612_Chrome.jpg

                                          So kann man in der Visu nichts falsch machen:
                                          Screenshot_20230227_073743_Fully Kiosk Browser.jpg

                                          Aber eine andere Frage:
                                          Bei jedem Start sende ich vorab noch die Saugleistung und Wassermenge über set_water_box_custom_mode und set_custom_mode.
                                          Die Beiden Datenpunkte stehen in meiner Visualisierung zum dropdown bereit.

                                          Das mache ich, da meine Frau das ggf zwischenzeitlich per App geändert haben könnte.

                                          Ist es möglich die beiden Datenpunkte unter commands vom Adapter aus mit dem Roboter synchron zu halten?

                                          So müsste man/ich es nicht immer mit senden und man sieht die aktuelle Einstellung in seiner Auswahl.

                                          Ähm nein. Das baue ich bewusst nicht ein da die commands, wie der Name schon verrät, einfach nur Befehle sind. Dort wird absichtlich nichts gelesen weil der echte wert von z.B. water_box_custom_mode unter deviceStatus zu finden ist. Synchron ist also alles unter deviceStatus. Diese nehmen auch die Daten aus der App entsprechend an. Wenn du dann über den Adapter set_water_box_custom_mode ausführst taucht genau so unter deviceStatus auf wie aus der App.

                                          David G.D Online
                                          David G.D Online
                                          David G.
                                          wrote on last edited by
                                          #366

                                          @copystring sagte in Roborock Adapter tester gesucht:

                                          Ähm nein. Das baue ich bewusst nicht ein da die commands, wie der Name schon verrät, einfach nur Befehle sind.

                                          Da habe ich doch nochmal eine Frage zu.
                                          Wie würdest du einen parallelen Betrieb der App und Iobroker dann in einer Visualisierung umsetzen?

                                          Ich sehe mehrere Varianten, die aber alle Nachteile haben.

                                          Man zeigt in der Visu den Wert unter commands und steuert auch darüber. Diese Werte sind aber veraltet, falls zuvor die App genutzt wurde

                                          Ich zeige den Wert von deviceStatus und mache zusätzlich ein dropdown mit den Werten aus commands. Sieht aber a nicht gut aus und kann b zu Problemen führen wenn ich die Saugleistung zb in der App aktuell auf stark stehen habe, diese über den Adapter auf leise stellen möchte und diese unter commands bereits auf leise steht. Dann müsste man immer erst was anderes auswählen und dann wieder auf leise gehen.

                                          Wie ich es jetzt mache. In der VIS wie unter 1 und ein Blockly was commands mit deviceStatus syncon hält. Der Nachteil ist, dass man jede akustische Meldung doppelt bekommt mit einigen Sekunden Versatz. Ist von der Bedienung her die beste Variante,abgesehen von dem doppelten Geräusch.

                                          Zeigt eure Lovelace-Visualisierung klick
                                          (Auch ideal um sich Anregungen zu holen)

                                          Meine Tabellen für eure Visualisierung klick

                                          copystringC 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          844

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          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