Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter mihome-vacuum anpassungen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Adapter mihome-vacuum anpassungen

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dirkhe Developer @Ashuan last edited by dirkhe

      @ashuan sobald der status kommt, dass er zurück zur ladestation will, bekommt er den nächsten aus der queue. Während des saugens wird der status auch häufiger abgefragt.
      ob der status zur mobreinigung ein anderer ist, wie zur ladestion zurückfahrebn ist, weiss ich gerade nicgt, müsste man mal ausprobieren

      1 Reply Last reply Reply Quote 0
      • R
        RkcCorian @Ashuan last edited by

        @ashuan Der aktuelle Adapter macht das bereits korrekt, d.h. während der Roboter zur Ladestation zurück fährt wird aus der Adapter Queue der nächste Befehl geschickt.
        Probleme aus meiner Sicht:

        • Man kann die Saug-/Wischleistung nur global steuern. Diese sind im Adapter bislang nicht Bestandteil der Queue. Ich möchte aber über Alexa die Räume unterschiedlich ansteuern können. Damit muss er sich für jeden Raum / jede Zone aber merken, welcher Modus kommandiert wurde
        • Verwirrende Sprachansagen: "Fahre zur Ladestation zurück" > "Starte Raumreinigung"
        • Darüber hinaus (Problem mit Alexa für mich bislang): Das Kommandieren von unterschiedlichen Modi, mit mehreren Räumen klappt nicht gut (bin ebenfalls Perfektionist).
          • Über Alexa2 gibt es das Problem, dass vor meiner Antwort fast immer erstmal kommt, dass der Befehl nicht verstanden wurde, da es zu viel Zeit braucht
          • Über iot Adapter klappt das Kommandieren nur eingeschränkt, vgl. auch https://github.com/ioBroker/ioBroker.iot/issues/442

        Ich habe für mich inzw. eine Queue programmiert. Jetzt kommt noch die Abarbeitung und für das Alexa-Problem habe ich die Idee eines Workarounds, bei welchem ich Alexa2 und iot Adapter beide benötige. Ich melde mich sobald ich was Neues fertig habe und teile meine Implementierung hier, falls interessant für Dich/Euch. Evtl. kann diese auch in den Adapter kommen 🙂

        RkcCorian created this issue in ioBroker/ioBroker.iot

        closed Commands will not be recognized correctly (reordered + missing content) #442

        1 Reply Last reply Reply Quote 0
        • R
          RkcCorian @dirkhe last edited by RkcCorian

          @dirkhe Vielen Dank! Das mit jedem Raum einzeln finde ich nicht so gut gelöst, da mein Roboter dann zw. jedem einzelnen Raum erst sagt, dass er fertig ist und zur Station zurück fährt und dann kurz darauf sagt, reinige nächsten Raum. Das funktioniert bereits besser, ich teile meinen Code später.

          Bzgl. Alexa kommt etwas Bewegung rein. Schaut Euch doch mal Folgendes an und teilt Eure Gedanken für eine 2022 Version der Alexa-Unterstützung (über iot-Adapter und ioBroker Custom Skill): https://forum.iobroker.net/topic/56304/wie-spricht-man-mit-iobroker-iobroker-custom-skill-2022. Ich werde auch drüber nachdenken und meine Gedanken dort diskutieren 🙂
          Grundidee: ioBroker Custom Skill (Alexa) > iot Adapter (ab hier ioBroker) > text2command Adapter > eigene Skripte > mihome-vacuum Adapter

          1 Reply Last reply Reply Quote 0
          • D
            dirkhe Developer last edited by

            @rkccorian Zu der Custom Skill GEschichte finde ich persönlich "frage iobroker...." oder ähbliches eher kontraproduktiv, da hänge ich dann lieber das wort "an" hinterher, aber jedem das seine.
            Dass er erst zur Ladestation zurückfährt und dann neu beginnt, kann ich so nicht bestätigen, bei mir klappt das vorher (aber ja, er quatscht erst dumm rum "Fahre zur Ladestation zurück" > "Starte Raumreinigung" -> stört mich aber nicht.

            Das man den Reinigunsmodus noch mit in die Queue speichert, wäre sicherlich eine Option, aber da müsste man überlegen, wie man die mit übermittelt. Aktuell ist das ja am Raum selber gespeichert, sprich du kannst ja erst den Saugmodus vom Raum einstellen und dann den Raum saugen. Wenn nämlich das Raumreinigen über den Adapter gestartet wird, wird zuerst der eingestellte Modus des Raumes übermittelt und dann der Raum gereinigt.

            R 2 Replies Last reply Reply Quote 0
            • R
              RkcCorian @dirkhe last edited by

              @dirkhe Bzgl. "Sage ioBroker..." verstehe ich, das ist Geschmackssache. Für mich ist wichtig direkt in einem Befehl alle zu reinigenden Räume zu übergeben. Leider sehe ich aktuell technisch keine andere Möglichkeit als den ioBroker Custom Skill.
              Bei mir fährt er auch nicht komplett zurück zur Ladestation, allerdings quatsch er halt zw. jedem einzelnen Raum, das er es jetzt macht und dann kommt aber direkt danach, dass der nächste Raum gereinigt wird. Das ist recht verwirrend / nervig.
              Bzgl. der Queue... ich versuche es über die Alexa Kommandos "Sauge", "Wische," Reinige" zu unterscheiden. Bzgl. Raumeinstellungen... das hat bei mir nicht so gut geklappt. Bei mir stimmen die Adapterinfos nicht mit denen der in der App hinterlegten Daten zusammen.

              R 1 Reply Last reply Reply Quote 0
              • R
                RkcCorian @dirkhe last edited by RkcCorian

                @dirkhe Moin! Hab jetzt mal passende Skripte in Blockly erstellt. Für den JS code ggf. importieren und die Ansicht auf JS ändern.

                Vorbedingungen

                DPs anlegen wie folgt
                26a8fdef-e7a3-4634-af8a-f04117139189-image.png
                alias.0.Wohnung.Saugwischroboter.ROOM_START_COMMAND mit

                {
                  "common": {
                    "name": "ROOM_START_COMMAND",
                    "desc": "Manuell erzeugt",
                    "role": "text",
                    "type": "string",
                    "read": true,
                    "write": true,
                    "def": "",
                    "alias": {
                      "id": "mihome-vacuum.0.control.X_send_command",
                      "write": "\"app_segment_clean;[\"+val+\"]\""
                    }
                  },
                  "type": "state",
                  "_id": "alias.0.Wohnung.Saugwischroboter.ROOM_START_COMMAND",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1656176031942
                }
                

                alias.0.Wohnung.Saugwischroboter.ZONE_START_COMMAND mit

                {
                  "common": {
                    "name": "ZONE_START_COMMAND",
                    "desc": "Manuell erzeugt",
                    "role": "text",
                    "type": "string",
                    "read": true,
                    "write": true,
                    "def": "",
                    "alias": {
                      "id": "mihome-vacuum.0.control.X_send_command",
                      "write": "\"app_zoned_clean;[\"+val+\"]\""
                    }
                  },
                  "type": "state",
                  "_id": "alias.0.Wohnung.Saugwischroboter.ZONE_START_COMMAND",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1657567662511
                }
                

                Raumzuordnung über enum "rooms"
                bbcbfc8a-d782-449d-a56a-13483d5519fe-image.png

                Blockly

                Blockly.zip

                R 1 Reply Last reply Reply Quote 0
                • R
                  RkcCorian @RkcCorian last edited by RkcCorian

                  Gerne feedback was ich noch besser machen kann.
                  Änderungen inzw.:

                  • BUGFIX: Initialer Start der Queue-Abarbeitung geändert
                  • COSMETIC: CLEANING_QUEUE in COMMAND_QUEUE umbenannt > Geschmackssache

                  Bin aber mit dem initialen Start/Trigger immer noch nicht zufrieden. Muss da nochmal überlegen. Es gehen Befehle verloren, wenn das nächste Kommando bspw. während dem Absaugen kommt.

                  Version 2:
                  Blockly_v2.zip

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    RkcCorian @RkcCorian last edited by RkcCorian

                    @dirkhe : Falls Du reinschaust... denkst Du, Du könntest im Adapter was anpassen, sodass weite Teile meines eigenen Skripts nicht mehr notwendig wären?

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      dirkhe Developer @RkcCorian last edited by

                      @rkccorian Ich habe mal reingeschaut (musste mir das in JS wandeln, weil Blocky mir zu kompliziert ist), sehe aber den Unterschied nicht wirklich zum Adapter.
                      Was du brauchst ist die alexa Geschichte, weil du da ja spezielle Fälle für reinigen, saugen usw. abfängst, das ist eh individuell, das bekommen wir so nicht in den Adapter.
                      Was du aber auf jeden Fall machen kannst, ist ja die roomFanPower und roomWaterBoxMode einstellen und dann roomclean triggern, dann kannst du dir das mit der queue sparen.
                      Was halt nicht geht, ist den selben Raum erst saugen und dann wischen, weil er FanPower und WaterboxMode halt beim starten abfragt. -> das könnte man vlt. nochmal einbauen, dass es zb sowas wie addToQueue(RoomOrZone, FanPower,WaterBoxMode) gibt. Könnte man dann auch bei den Timern setzten.
                      Für die Zonen kannst du übrigens per "addRoom" einen eigenen Raum anlegen, indem du die ZonenKoordinaten angibst.

                      R 2 Replies Last reply Reply Quote 0
                      • R
                        RkcCorian @dirkhe last edited by RkcCorian

                        @dirkhe Danke Dir!
                        roomFanPower und roomWaterBoxMode speichere ich zusammen mit dem Raum / der Zone. Unabhängig (so wie jetzt) bekomme ich das aktuell mit dem Adapter nicht hin.
                        Bzgl. Timer... die laufen nach einer bestimmten Zeit?! Sind also kein Ersatz für eine Queue?!
                        Ahhh, Zone kann über addRoom angelegt werden, das wusste ich nicht.

                        1 Reply Last reply Reply Quote 0
                        • R
                          RkcCorian @dirkhe last edited by

                          @dirkhe Wenn Du roomFanPower und roomWaterBoxMode mit in der Queue speicherst könnte ich auch das Reinigen des Essbereich 2 mal triggern. Einmal mit der Einstellung max. Saugen und einmal mit der Einstellung max. Wischen.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            dirkhe Developer @RkcCorian last edited by

                            @rkccorian Timer kannst du anlegen, die dann zu einer bestimmten Zeit laufen, dort kannst du dann auch sofort mehr als einen Raum zuweisen. Diesen Timer kann dann man disablen, einmalig aussetzr oder auch direkt starten, geht dann sehr gut mit einer VIS.
                            Wenn ich das hunzufügen würden, wäre es wahrscheinlich erstmal nur ein customcommand, welches du mit sendTo senden könntest, also sowas wie

                             sendTo("mihome-vacuum.0", "addToQueue", {cleanRooms:'enum.rooms.wohnzimmer', FanPower:102, WaterBoxMode:5}
                            , async function (result) {
                                console.log(result);
                              });
                            

                            oder

                             sendTo("mihome-vacuum.0", "addToQueue", {cleanSegments: '12', FanPower:102, WaterBoxMode:5}
                            , async function (result) {
                                console.log(result);
                              });
                            

                            oder

                             sendTo("mihome-vacuum.0", "addToQueue", {cleanZone: '24117,26005,25767,27205,1', FanPower:102, WaterBoxMode:5}
                            , async function (result) {
                                console.log(result);
                              });
                            

                            also quasi ein wrapper für die 3 zielobjekte.
                            Würdest du dafür ein Issue auf github aufmachen?

                            R 1 Reply Last reply Reply Quote 1
                            • R
                              RkcCorian @dirkhe last edited by RkcCorian

                              @dirkhe Nichts was mir lieber wäre 🙂
                              Als Bug oder als Geräte-Request?
                              Hinweis: cleanZone müsste m.W. als Array übergeben werden...

                               sendTo("mihome-vacuum.0", "addToQueue", {cleanZone: '[24117,26005,25767,27205,1]', FanPower:102, WaterBoxMode:5}
                              , async function (result) {
                                  console.log(result);
                                });
                              

                              Dann geht auch bspw. ...

                               sendTo("mihome-vacuum.0", "addToQueue", {cleanZone: '[24117,26005,25767,27205,1],[24223,26777,25767,27205,1]', FanPower:102, WaterBoxMode:5}
                              , async function (result) {
                                  console.log(result);
                                });
                              

                              Bzgl. cleanRoom würde dann auch Folgendes gehen?!

                               sendTo("mihome-vacuum.0", "addToQueue", {cleanRooms:'enum.rooms.wohnzimmer, enum.rooms.esszimmer', FanPower:102, WaterBoxMode:5}
                              , async function (result) {
                                  console.log(result);
                                });
                              
                              D 1 Reply Last reply Reply Quote 0
                              • D
                                dirkhe Developer @RkcCorian last edited by

                                @rkccorian ist ja ein feature request, weiß gerade gar nicht, was genau du da auswählen kannst. Im Zweifel labeln wir die sowoeso entsprechend.
                                Also im Prinzip würde ich dasselbe wie bei den originären command cleanzone gehen und da wird nur ein String erwartet, weil der dann anschlissend in ein [] gepackt wird. Ich könnte aber auch abfragen, ob es ein array ist, aber dann müsste es ohne die ' übergeben werden

                                R 1 Reply Last reply Reply Quote 1
                                • R
                                  RkcCorian @dirkhe last edited by

                                  @dirkhe Moin! So ungefährt?! > https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/issues/620

                                  RkcCorian created this issue in iobroker-community-adapters/ioBroker.mihome-vacuum

                                  closed Feature Request: Queue shall contain fan_power and water_box_mode for each command given #620

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    dirkhe Developer @RkcCorian last edited by

                                    @rkccorian ja genau, ich habs nochmal kommentiert. Bin aber nächste Woche im Urlaub, danach mache ich mich daran

                                    1 Reply Last reply Reply Quote 1
                                    • R
                                      RkcCorian @RkcCorian last edited by RkcCorian

                                      @rkccorian Ein letztes Update, bevor es ein Adapter-Update von dirkhe gibt...

                                      Änderungen inzw.:

                                      • BUGFIX: Initialer Start der Queue-Abarbeitung geändert
                                      • BUGFIX: Semaphore für konkurrierenden Zugriff
                                      • BUGFIX: Div. kl. Bugfixes

                                      Version 3:
                                      Blockly_v3.zip

                                      D 1 Reply Last reply Reply Quote 0
                                      • D
                                        dirkhe Developer @RkcCorian last edited by

                                        So, ich habe mal eine Testverion auf github geladen, siehe https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/issues/620
                                        Wer testen möchte....

                                        RkcCorian created this issue in iobroker-community-adapters/ioBroker.mihome-vacuum

                                        closed Feature Request: Queue shall contain fan_power and water_box_mode for each command given #620

                                        M 1 Reply Last reply Reply Quote 1
                                        • M
                                          MP_Trixi @dirkhe last edited by MP_Trixi

                                          @dirkhe
                                          Kurze Frage: Irgendwie bin ich zu blöd timer in der Adapterinstanz zu setzen. Gefunden habe ich dazu nichts. Ich kann keine Tage und keine Räume auswählen (beide Dropdownlisten sind ausgeraut). Ein channel ist vorausgewählt, weitere gehen nicht. Enable/Disable geht. Ebenso h und min:
                                          b5791fa2-162a-4fc7-9bbb-add9e8a1b1c8-image.png
                                          Was mache ich falsch?
                                          0202f89e-5704-4bda-bce6-aa22db51d624-image.png
                                          fa26fc2d-843f-480d-aa32-4403f13b67b9-image.png
                                          Admin 6.2.22
                                          Roborock S7 Pro Ultra
                                          Danke für die Hilfe

                                          Noch ne kurze Frage (evtl. ein Feature request): Beim o.g. S7 kann man noch in der App eine "Wischroute" definieren: Standard, Gründlich und Gründlich+. Das habe ich in den Objekten nicht gefunden. Ist hierzu etwas geplant?

                                          Neuschwansteini D 2 Replies Last reply Reply Quote 0
                                          • Neuschwansteini
                                            Neuschwansteini @MP_Trixi last edited by

                                            @mp_trixi

                                            Hi,
                                            klick mal bei dem Wochentag NEBEN die Schrift, also rechts davon, dann wird der Haken gesetzt.
                                            Genauso wie beim Raum etc... n bisserl bloed gemacht.. glaub da gabs mal beim Admin n Issuee...

                                            @dirkhe kannst du da mal schauen, bitte ? Ist nachvollziehbar und ich fahr Node 16.x und latest Relaeses..

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            818
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter entwicklung raumreinigung roborock test vacuum zeitplan
                                            67
                                            511
                                            94507
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo