Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [PROJEKT] Xiaomi Roborock S50 Staubsaugersteuerung mit Alexa

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

[PROJEKT] Xiaomi Roborock S50 Staubsaugersteuerung mit Alexa

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
39 Beiträge 15 Kommentatoren 12.5k Aufrufe 32 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F furchtlos76

    @Diginix ja der Robi funzt - hab ich getestet über "Schalter auslösen" (sorry ganz neu in iOBroker) oder wie das heißt im iOBroker menü, dann läuft er auch los usw. Bei den objekten habe ich das oberste aus dem video angeklickt und es war mit alexa verbunden. Muss ich das denn für EINEN speziellen echo verbinden? Habe 6 oder so im Haus. Rest habe ich alles mit dem Video hinbekommen. Komme mit den Warning: meldungen aber nicht klar was die bedeuten oder gibt es da nochmal wo n Log wo ich evtl. eher sehe was falsch ist?

    DiginixD Offline
    DiginixD Offline
    Diginix
    schrieb am zuletzt editiert von
    #24

    @furchtlos76 Ich nutze das Skript von hier nicht selbst. Kann also zur finalen Einrichtung und was man persönlich alles anpassen muss nichts sagen. Hatte nur im Screenshot gesehen dass mind. der Datenpunkt für die Echo Sprachausgabe nicht deiner sein dürfte.
    Das Log findest du als extra Menüpunkt links wo du auch "Adapter", "Instanzen" , "Objekte" und "Skripte" wählst.
    Dort steht aber ggf. nicht mehr als in dem kleinen Log Fenster unter dem Skript.
    In deinem Screenshot sind dort aber gerade diese Zeilen nicht lesbar.

    ..:: So long! Tom ::..

    NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

    1 Antwort Letzte Antwort
    0
    • DiginixD Diginix

      @kaiserm Das geht. Ich habe eine globale Blockly Funktion an die ich meine Ausgaben im Skript übergebe.
      Diese überprüft ob ich ein spezifischen Echo gewählt habe. Falls nicht wird geschaut welcher Echo das Kommando empfangen hat und auf diesem wird die Ausgabe gemacht. Im history Knoten gibt es dazu einen Datenpunkt mit dem Namen des Echo Gerätes oder der ID. Ich überprüfe den Namen.

      Hier mal ein reduziertes Beispiel. Eigentlich sind es noch 2 Echos mehr. Deswegen ist "alle" und "überall" das gleiche.

      778894f5-7f44-4eb1-a188-20945fdfebb6-image.png

      K Offline
      K Offline
      kaiserm
      schrieb am zuletzt editiert von
      #25

      @Diginix Na das hört sich doch schon mal gut an.

      Wie implementiert man jetzt das ganze in das Original Blockly Script?

      Sorry, bin nicht so der Programmierer.

      LG Martin

      DiginixD 1 Antwort Letzte Antwort
      0
      • K kaiserm

        @Diginix Na das hört sich doch schon mal gut an.

        Wie implementiert man jetzt das ganze in das Original Blockly Script?

        Sorry, bin nicht so der Programmierer.

        LG Martin

        DiginixD Offline
        DiginixD Offline
        Diginix
        schrieb am zuletzt editiert von
        #26

        @kaiserm
        Ähm, so wie im Bild zu sehen. Man legt sich eine Funktion an in der alle Echo Geräte mit ihrem Speak oder SSML Objekt enthalten sind und im Skript in dem die Ausgabe sonst direkt an den Speak oder SSML Datenpunkt gesendet wird ruft man die Funktion auf und übergibt ihr den Text usw.
        Links im Bild ist die Funktion und rechts sind 3 Beispielaufrufe. Diese kleinen Blöcke kämen dann in das Sauger-Skript statt "Steuere speak...".

        ..:: So long! Tom ::..

        NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

        K 1 Antwort Letzte Antwort
        0
        • DiginixD Diginix

          @kaiserm
          Ähm, so wie im Bild zu sehen. Man legt sich eine Funktion an in der alle Echo Geräte mit ihrem Speak oder SSML Objekt enthalten sind und im Skript in dem die Ausgabe sonst direkt an den Speak oder SSML Datenpunkt gesendet wird ruft man die Funktion auf und übergibt ihr den Text usw.
          Links im Bild ist die Funktion und rechts sind 3 Beispielaufrufe. Diese kleinen Blöcke kämen dann in das Sauger-Skript statt "Steuere speak...".

          K Offline
          K Offline
          kaiserm
          schrieb am zuletzt editiert von
          #27

          @Diginix Klasse, vielen Dank!

          Könntest Du das Script hier noch zum Import bereitstellen?

          LG Martin

          DiginixD 1 Antwort Letzte Antwort
          0
          • K kaiserm

            @Diginix Klasse, vielen Dank!

            Könntest Du das Script hier noch zum Import bereitstellen?

            LG Martin

            DiginixD Offline
            DiginixD Offline
            Diginix
            schrieb am zuletzt editiert von
            #28

            @kaiserm
            Das nützt sehr wenig weil eigentlich alle Objekte nutzerspezifische Datenpunkte sind. Ich müsste für den Export erst alle Objekte anonymisieren. Also das Skript quasi noch mal bauen.
            Generisch sind ja nur die paar Falls/Sonst Blöcke. Das kann man sich eigentlich auch schnell selbst zusammen klicken und lernt dabei noch wo die Blöcke zu finden sind.
            Aber wer sich wirklich nicht in der Lage sieht, für den kann ich bei Gelegenheit mal einen Export bauen.

            ..:: So long! Tom ::..

            NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

            K 1 Antwort Letzte Antwort
            0
            • DiginixD Diginix

              @kaiserm
              Das nützt sehr wenig weil eigentlich alle Objekte nutzerspezifische Datenpunkte sind. Ich müsste für den Export erst alle Objekte anonymisieren. Also das Skript quasi noch mal bauen.
              Generisch sind ja nur die paar Falls/Sonst Blöcke. Das kann man sich eigentlich auch schnell selbst zusammen klicken und lernt dabei noch wo die Blöcke zu finden sind.
              Aber wer sich wirklich nicht in der Lage sieht, für den kann ich bei Gelegenheit mal einen Export bauen.

              K Offline
              K Offline
              kaiserm
              schrieb am zuletzt editiert von
              #29

              @Diginix Das wäre Klasse.

              Ich such mir jedes Mal den Hund in Blockly.

              Warum müsstest Du alles anonymisieren?

              Mit den Datenpunkten fängt doch keiner was an, oder?

              LG Martin

              K 1 Antwort Letzte Antwort
              0
              • K kaiserm

                @Diginix Das wäre Klasse.

                Ich such mir jedes Mal den Hund in Blockly.

                Warum müsstest Du alles anonymisieren?

                Mit den Datenpunkten fängt doch keiner was an, oder?

                LG Martin

                K Offline
                K Offline
                kaiserm
                schrieb am zuletzt editiert von
                #30

                @kaiserm Nur nochmal zu meinem Verständnis:

                Ich möchte folgendes erreichen:

                Alexa, saug die Wohnung - Der S50 soll alles saugen
                Alexa, saug das ***zimmer - Der S50 soll das angegebene Zimmer saugen
                Alexa, schick Hugo zum Mülleimer - Der S50 (Hugo) fährt zum Mülleimer
                Alexa, schick Hugo zum laden - Der S50 (Hugo) fährt zurück zur Ladestation
                Alxea, Hugo Pause - Der S50 bleibt stehen
                Alexa, Hugo Weiter - Der S50 saugt weiter
                Alexa, Hugo Stop - Der S50 stoppt und fährt zurück in die Ladestation

                Ich benötige ausser dem Bestätigungston von Alexa eigentlich kein weiteres Gelaber.
                Der S50 labert ja selbst auch wenn ihm was nicht passen sollte.

                Ich muss also Summary im ersten Fall auf saug UND die UND Wohnung abfragen.

                Wenn das wahr ist soll der Sauger die Koordinate ansteuern und lossaugen.

                Wie steuert man dann die Koordinaten aus dem Script an?
                Habe gelesen das man die Koordinaten über eine Szene übergeben muss?!
                In diesem Fall (Wohnung) müsste man nacheinander die Koordinaten aller Zimmer hintereinander in die Szene schreiben.

                Kann man per Script dann STEUERE SZENE Sauge_Wohnung mit WAHR ansprechen?

                Was muss man für Pausieren, Weiter und Stop ansteuern damit der S50 dies auch macht ?

                Danke im Voraus

                LG Martin

                1 Antwort Letzte Antwort
                0
                • nurChrisN nurChris

                  Hallo allerseits!

                  Nachdem ich mir hier im Forum bereits viel Hilfe erhalten, mir so einiges abgeguckt, Erfolge gehabt und natürlich auch mal gescheitert bin möchte ich mich doch auch mal für das Forum etwas nützlich machen und mein (noch WIP) Blockly Script zur Steuerung vom Roborock S50 per Alexa zur Verfügung stellen.
                  Da der offizielle Alexa Skill bisher nur "An/Aus" kann war dies mein erstes "größeres" IOBroker Projekt.
                  Ich nenne den Roborock ab hier manchmal "Saugi". (Ganz trivial und nach Inspiration meiner Tante hab ich meinen so getauft.)

                  Also was kann das Skript bisher?

                  • Saugvorgang starten / pausieren / wieder aufnehmen mit Alexa
                  • Saugkraft steuern (in 4 Stufen. dazu später mehr)
                  • Saugi aufspüren
                  • Alexa informiert vor dem Saugstart über eingestellte Saugkraft und Saugi's Akkustand als auch erfolgt eine
                    Prüfung der Wartungszustände (Sensoren, Haupt-/Nebenbürste, HEPA-Filter)
                    damit einhergehende Warnung bei niedrigem Zustand bzw. Arbeitsverweigerung bei kritischem Zustand.
                  • Störung/Fehler vom Saugi quittieren (z. B. "Alexa, ich habe Saugi's Störung behoben)
                  • Automatisches (einmaliges!) quittieren einer bestimmten Störung (dazu später mehr)

                  Und was wird dafür gebraucht?

                  • Selbstredend eine Alexa sowie den Roborock
                  • Laufende IOBroker Installation sowie den installierten und konfigurierten "mihome-vacuum" Adapter
                  • Installierter Cloud / Alexa Adapter
                  • Laufende javascript Instanz
                  • Ein wenig Geduld beim Erstellen der Datenpunkte und umbauen des Skripts für den korrekten Zugriff der Blockly's.
                  • Spaß an der Freude :-)

                  Bevor es nun an die Sache geht will ich noch sagen, ich habe noch ein Video gemacht was das alles hier verdeutlicht. Ein Bild sagt ja bekanntlich mehr als tausend Worte.

                  Also dann, legen wir los und erstellen erstmal die benötigten Datenpunkte!

                  Schritt 1:
                  Legt folgende Datenpunkte an:

                  alt text

                  Erklärung zu den Datenpunkten:

                  • Pausiert - switch - informiert das Skript dass der Roborock Pausiert wurde
                  • Störung - switch - informiert das Skript dass der Robo eine Störung hat(te)
                  • StörungQuittieren - switch - Wichtig für die automatische (und nur einmalige!) Quittierung einer Störung!
                    Wenn die Störung einmalig automatisch quittiert wurde ist der Switch auf true. Sonst false bis zur automatischen quittierung.
                  • SucPowerLevelName - zeichenkette - Stufe der Saugkraft als Name!
                    (vordefinierte Werte: "Leise:Leise;Standard:Standard;Stark:Stark;Turbo:Turbo")
                  • SucPowerLevelNr - switch - dient als Info auf welcher Stufe sich die Saugkraft befindet
                    (vordefinierte Werte: "1:Stufe 1;2:Stufe 2;3:Stufe 3;4:Stufe 4")
                  • SucPowerLevelPercent -switch- dient als Info auf wieviel Prozent Kraft die Saugkraft steht

                  Schritt 2:
                  Legt zwei Blockly Skripte an. Der Übersicht halber habe ich sie aufgeteilt in eines für die vollautomatische Steuerung und DP Änderungen und eines für die Steuerung mit Alexa.

                  alt text

                  Skript 1 Saugersteuerung mit Alexa:

                  Als Blockly:

                  um das ganze Blockly zu sehen hier klicken!
                  Das ganze Blockly

                  Für den Import:

                  https://pastebin.com/FZfdYtdv
                  

                  Skript 2 Saugereinstellungen:

                  Als Blockly:

                  um das ganze Blockly zu sehen hier klicken!
                  Das ganze Blockly

                  Für den Import:

                  https://pastebin.com/pC7ifhgk
                  

                  Wie funktioniert die Alexa Ansprache?:

                  Das Skript überwacht Alexa's "summary" welches immer das zuletzt gesprochene anzeigt. Es reagiert dann nicht auf feste vordefinierte Sätze sondern auf Schlüsselwörter.

                  Beispiel:
                  Zum Starten des Skripts reicht die Aussage "Alexa, staubsaugen" da Alexa hier das Schlüsselwort "staubsaugen" in der summary entdeckt hat.
                  Alternativ sucht Alexa nach den Wörtern "mach" und "sauber". Man könnte jetzt also sagen "Alexa, bitte die Wohnung sauber machen." oder "Alexa, mach bitte sauber".

                  Daraus ergibt sich allerdings ein kleines Problem und somit kommen wir zu

                  Schritt 3:

                  Das Skript wird reagieren aber die eigentliche Alexa weiß nicht was sie tun soll!
                  Das heißt sie spuckt immer wieder als Antwort so etwas wie "Das weiß ich leider nicht". Oder "Ich kann kein Gerät mit dem Namen ... finden" aus.

                  Dazu gab es mehrere Lösungsansätze wie wir in diesem Thread diskutiert haben klicke hier

                  Die derzeit wohl anscheinend einzige funktionierende Lösung ist in diesem Fall also dass wir zur Cloud Instanz navigieren und unter den "Smart Geräten" einen "Dummy" hinzufügen. Ich habe ihn bei mir Ghost genannt.

                  Konfigurationssymbol Cloud Instanz

                  Smart Geräte und Ghost Gerät

                  Diesen Dummy müssen wir aber jetzt noch steuern. Dazu nehme ich meine Android-Alexa App und füge Routinen hinzu.

                  NavigationZuRoutinen

                  VorhandeneRoutinen

                  GhostSchalten

                  Nun kann für jeden gesagten Satz definiert werden, dass Alexa das Dummy Gerät "Ghost" einschaltet. Puff .... und das wars mit der Flexibilität in der Ansprache. Zumindest so lange bis es eine bessere Lösung gibt. Alexa wird jetzt nurnoch einen Signalton senden oder "Okay" sagen.

                  Nun kann man sich überlegen welche Sätze man am häufigsten sagt und sich mit solchen Routinen dann vor "Fehlalarmen" schützen. Ich ergänze einfach im Laufe der Zeit immer wieder Sätze, wenn mir auffällt, dass Alexa wieder anfängt Blödsinn zu antworten.

                  Außerdem ist es bei mir sowieso nicht so störend, da die Sprachausgabe aus Skripten über einen bestimmten Echo Dot im Raum läuft, der selbst nicht angesprochen wird. (Der Angesprochene und damit selbstständig reagierende/antwortende Dot ist meistens sehr leise eingestellt)

                  Was hat es mit dem automatischen Störung quittieren auf sich? :helmet_with_white_cross:

                  Mein Saugi hat immer wieder mal Probleme mit meinem Teppich. Hier meldet er, dass die Hauptbürste verstopft ist und geht dann auf Störung. Manuell behebe ich das in dem ich nachschaue und ihn einfach wieder starte. Damit ich das umgehe hab ich eingebaut, dass der Roborock sich selbst ein mal quittiert (nur bei Störung der Hauptbürste / Error 5).

                  Um zu verhindern, dass er sich immer wieder selbst quittiert, auch wenn die Bürste wirklich verstopft ist bleibt er beim wiederholten melden des Fehlers (selber Saugvorgang, reset in Ladestation) stehen und lässt sich jetzt nur noch via manueller quittierung ("Alexa, Störung behoben!") starten.

                  Das lässt sich natürlich entsprechend umbauen wenn man die automatische quittierung bei jeder Art von Error wünscht.

                  Welche Befehle / Schlüsselwörter gibt es bisher? :lips: :ear:

                  Starten / saugen fortführen - "staubsaugen", "sauber" + "mach"
                  Pausieren - "saug" + "pause", "halt", "warte"
                  Stoppen und zur Station - "saug" + "stop", "ende", "lade", "brech"
                  Störung bereinigt - "fehler" / "störung" + "behoben", "weg"
                  Sauger finden - "saug" + "wo ist", "finde", "lokal", "suche"
                  Saugkraft verringern - "weniger" + "saug"
                  Saugkraft erhöhen - "mehr" + "saug"
                  Saugkraft auf Stufe einstellen - "saugkraft" + "stufe", "level" + "eins", "zwei", "drei", "vier"

                  Was noch geplant ist / TODO Liste: :writing_hand:

                  • Wischmodus über Alexa einstellen
                  • Zonen anlegen zu können und zu reinigen - "Alexa, mach das Wohnzimmer sauber"
                  • Staubbehälter Füllstand prüfen (Berechnung wann dieser das letzte mal entfernt wurde und nach x weiteren Reinigungen warnen)
                  • Alexa optional immer mit dem Dot antworten zu lassen der angesprochen wurde.

                  BUGS :hammer_and_wrench:

                  Zurzeit keine bekannt! :hankey:

                  Ich würde mich über Anregungen, Kritik, Tipps und alles weitere sehr freuen!

                  Ich weiß nicht ob das so angebracht ist hier danach zu fragen aber wenn mir der ein oder andere auf Youtube ein Abo dalassen würde, würd mir das den Start dort sehr vereinfachen. Zum Thema IoBroker und co. werde ich demnächst weitere Videos veröffentlichen.

                  Wer es noch nicht gesehen hat, hier gehts entlang zum Video: youtu.be/_x7Dn5cYb4k

                  Vielen Dank und beste Grüße

                  Chris

                  Patchwork 3001P Offline
                  Patchwork 3001P Offline
                  Patchwork 3001
                  schrieb am zuletzt editiert von
                  #31

                  @nurChris
                  hallo habe alle deine viedeos befolgt aber ich bekomme immer wieder die selben fehler meldungen

                  warn javascript.0 (1075) at Object.<anonymous> (script.js.Saugroboter.Saugereinstellungen:17:5)
                  warn javascript.0 (1075) at Object.<anonymous> (script.js.Saugroboter.Saugereinstellungen:16:5)

                  ich weis nicht mehr weiter den rest habe ich angepasst aber was findet er den nicht
                  Ghost ordner habe ich gemacht unter Eigene datenpunkte wie im video.
                  weis nur micht wie ich diesen zuweisen kann.

                  DiginixD 1 Antwort Letzte Antwort
                  0
                  • Patchwork 3001P Patchwork 3001

                    @nurChris
                    hallo habe alle deine viedeos befolgt aber ich bekomme immer wieder die selben fehler meldungen

                    warn javascript.0 (1075) at Object.<anonymous> (script.js.Saugroboter.Saugereinstellungen:17:5)
                    warn javascript.0 (1075) at Object.<anonymous> (script.js.Saugroboter.Saugereinstellungen:16:5)

                    ich weis nicht mehr weiter den rest habe ich angepasst aber was findet er den nicht
                    Ghost ordner habe ich gemacht unter Eigene datenpunkte wie im video.
                    weis nur micht wie ich diesen zuweisen kann.

                    DiginixD Offline
                    DiginixD Offline
                    Diginix
                    schrieb am zuletzt editiert von
                    #32

                    @Patchwork-3001 Die Zahlen am Ende stehen für die Zeilen und Spaltennummer im Skript.
                    Bei Blockly einfach temporär auf Javascript umschalten und schauen was was in der Zeile und Spalte steht.
                    Sieht für mich so aus als wäre noch ein Objekt referenziert was es bei dir nicht gibt, also auf die korrekte ID deiner Objekte umgestellt werden müsste.

                    ..:: So long! Tom ::..

                    NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                    Patchwork 3001P 1 Antwort Letzte Antwort
                    0
                    • DiginixD Diginix

                      @Patchwork-3001 Die Zahlen am Ende stehen für die Zeilen und Spaltennummer im Skript.
                      Bei Blockly einfach temporär auf Javascript umschalten und schauen was was in der Zeile und Spalte steht.
                      Sieht für mich so aus als wäre noch ein Objekt referenziert was es bei dir nicht gibt, also auf die korrekte ID deiner Objekte umgestellt werden müsste.

                      Patchwork 3001P Offline
                      Patchwork 3001P Offline
                      Patchwork 3001
                      schrieb am zuletzt editiert von
                      #33

                      @Diginix Danke hat geholfen

                      1 Antwort Letzte Antwort
                      0
                      • nurChrisN nurChris

                        Hallo allerseits!

                        Nachdem ich mir hier im Forum bereits viel Hilfe erhalten, mir so einiges abgeguckt, Erfolge gehabt und natürlich auch mal gescheitert bin möchte ich mich doch auch mal für das Forum etwas nützlich machen und mein (noch WIP) Blockly Script zur Steuerung vom Roborock S50 per Alexa zur Verfügung stellen.
                        Da der offizielle Alexa Skill bisher nur "An/Aus" kann war dies mein erstes "größeres" IOBroker Projekt.
                        Ich nenne den Roborock ab hier manchmal "Saugi". (Ganz trivial und nach Inspiration meiner Tante hab ich meinen so getauft.)

                        Also was kann das Skript bisher?

                        • Saugvorgang starten / pausieren / wieder aufnehmen mit Alexa
                        • Saugkraft steuern (in 4 Stufen. dazu später mehr)
                        • Saugi aufspüren
                        • Alexa informiert vor dem Saugstart über eingestellte Saugkraft und Saugi's Akkustand als auch erfolgt eine
                          Prüfung der Wartungszustände (Sensoren, Haupt-/Nebenbürste, HEPA-Filter)
                          damit einhergehende Warnung bei niedrigem Zustand bzw. Arbeitsverweigerung bei kritischem Zustand.
                        • Störung/Fehler vom Saugi quittieren (z. B. "Alexa, ich habe Saugi's Störung behoben)
                        • Automatisches (einmaliges!) quittieren einer bestimmten Störung (dazu später mehr)

                        Und was wird dafür gebraucht?

                        • Selbstredend eine Alexa sowie den Roborock
                        • Laufende IOBroker Installation sowie den installierten und konfigurierten "mihome-vacuum" Adapter
                        • Installierter Cloud / Alexa Adapter
                        • Laufende javascript Instanz
                        • Ein wenig Geduld beim Erstellen der Datenpunkte und umbauen des Skripts für den korrekten Zugriff der Blockly's.
                        • Spaß an der Freude :-)

                        Bevor es nun an die Sache geht will ich noch sagen, ich habe noch ein Video gemacht was das alles hier verdeutlicht. Ein Bild sagt ja bekanntlich mehr als tausend Worte.

                        Also dann, legen wir los und erstellen erstmal die benötigten Datenpunkte!

                        Schritt 1:
                        Legt folgende Datenpunkte an:

                        alt text

                        Erklärung zu den Datenpunkten:

                        • Pausiert - switch - informiert das Skript dass der Roborock Pausiert wurde
                        • Störung - switch - informiert das Skript dass der Robo eine Störung hat(te)
                        • StörungQuittieren - switch - Wichtig für die automatische (und nur einmalige!) Quittierung einer Störung!
                          Wenn die Störung einmalig automatisch quittiert wurde ist der Switch auf true. Sonst false bis zur automatischen quittierung.
                        • SucPowerLevelName - zeichenkette - Stufe der Saugkraft als Name!
                          (vordefinierte Werte: "Leise:Leise;Standard:Standard;Stark:Stark;Turbo:Turbo")
                        • SucPowerLevelNr - switch - dient als Info auf welcher Stufe sich die Saugkraft befindet
                          (vordefinierte Werte: "1:Stufe 1;2:Stufe 2;3:Stufe 3;4:Stufe 4")
                        • SucPowerLevelPercent -switch- dient als Info auf wieviel Prozent Kraft die Saugkraft steht

                        Schritt 2:
                        Legt zwei Blockly Skripte an. Der Übersicht halber habe ich sie aufgeteilt in eines für die vollautomatische Steuerung und DP Änderungen und eines für die Steuerung mit Alexa.

                        alt text

                        Skript 1 Saugersteuerung mit Alexa:

                        Als Blockly:

                        um das ganze Blockly zu sehen hier klicken!
                        Das ganze Blockly

                        Für den Import:

                        https://pastebin.com/FZfdYtdv
                        

                        Skript 2 Saugereinstellungen:

                        Als Blockly:

                        um das ganze Blockly zu sehen hier klicken!
                        Das ganze Blockly

                        Für den Import:

                        https://pastebin.com/pC7ifhgk
                        

                        Wie funktioniert die Alexa Ansprache?:

                        Das Skript überwacht Alexa's "summary" welches immer das zuletzt gesprochene anzeigt. Es reagiert dann nicht auf feste vordefinierte Sätze sondern auf Schlüsselwörter.

                        Beispiel:
                        Zum Starten des Skripts reicht die Aussage "Alexa, staubsaugen" da Alexa hier das Schlüsselwort "staubsaugen" in der summary entdeckt hat.
                        Alternativ sucht Alexa nach den Wörtern "mach" und "sauber". Man könnte jetzt also sagen "Alexa, bitte die Wohnung sauber machen." oder "Alexa, mach bitte sauber".

                        Daraus ergibt sich allerdings ein kleines Problem und somit kommen wir zu

                        Schritt 3:

                        Das Skript wird reagieren aber die eigentliche Alexa weiß nicht was sie tun soll!
                        Das heißt sie spuckt immer wieder als Antwort so etwas wie "Das weiß ich leider nicht". Oder "Ich kann kein Gerät mit dem Namen ... finden" aus.

                        Dazu gab es mehrere Lösungsansätze wie wir in diesem Thread diskutiert haben klicke hier

                        Die derzeit wohl anscheinend einzige funktionierende Lösung ist in diesem Fall also dass wir zur Cloud Instanz navigieren und unter den "Smart Geräten" einen "Dummy" hinzufügen. Ich habe ihn bei mir Ghost genannt.

                        Konfigurationssymbol Cloud Instanz

                        Smart Geräte und Ghost Gerät

                        Diesen Dummy müssen wir aber jetzt noch steuern. Dazu nehme ich meine Android-Alexa App und füge Routinen hinzu.

                        NavigationZuRoutinen

                        VorhandeneRoutinen

                        GhostSchalten

                        Nun kann für jeden gesagten Satz definiert werden, dass Alexa das Dummy Gerät "Ghost" einschaltet. Puff .... und das wars mit der Flexibilität in der Ansprache. Zumindest so lange bis es eine bessere Lösung gibt. Alexa wird jetzt nurnoch einen Signalton senden oder "Okay" sagen.

                        Nun kann man sich überlegen welche Sätze man am häufigsten sagt und sich mit solchen Routinen dann vor "Fehlalarmen" schützen. Ich ergänze einfach im Laufe der Zeit immer wieder Sätze, wenn mir auffällt, dass Alexa wieder anfängt Blödsinn zu antworten.

                        Außerdem ist es bei mir sowieso nicht so störend, da die Sprachausgabe aus Skripten über einen bestimmten Echo Dot im Raum läuft, der selbst nicht angesprochen wird. (Der Angesprochene und damit selbstständig reagierende/antwortende Dot ist meistens sehr leise eingestellt)

                        Was hat es mit dem automatischen Störung quittieren auf sich? :helmet_with_white_cross:

                        Mein Saugi hat immer wieder mal Probleme mit meinem Teppich. Hier meldet er, dass die Hauptbürste verstopft ist und geht dann auf Störung. Manuell behebe ich das in dem ich nachschaue und ihn einfach wieder starte. Damit ich das umgehe hab ich eingebaut, dass der Roborock sich selbst ein mal quittiert (nur bei Störung der Hauptbürste / Error 5).

                        Um zu verhindern, dass er sich immer wieder selbst quittiert, auch wenn die Bürste wirklich verstopft ist bleibt er beim wiederholten melden des Fehlers (selber Saugvorgang, reset in Ladestation) stehen und lässt sich jetzt nur noch via manueller quittierung ("Alexa, Störung behoben!") starten.

                        Das lässt sich natürlich entsprechend umbauen wenn man die automatische quittierung bei jeder Art von Error wünscht.

                        Welche Befehle / Schlüsselwörter gibt es bisher? :lips: :ear:

                        Starten / saugen fortführen - "staubsaugen", "sauber" + "mach"
                        Pausieren - "saug" + "pause", "halt", "warte"
                        Stoppen und zur Station - "saug" + "stop", "ende", "lade", "brech"
                        Störung bereinigt - "fehler" / "störung" + "behoben", "weg"
                        Sauger finden - "saug" + "wo ist", "finde", "lokal", "suche"
                        Saugkraft verringern - "weniger" + "saug"
                        Saugkraft erhöhen - "mehr" + "saug"
                        Saugkraft auf Stufe einstellen - "saugkraft" + "stufe", "level" + "eins", "zwei", "drei", "vier"

                        Was noch geplant ist / TODO Liste: :writing_hand:

                        • Wischmodus über Alexa einstellen
                        • Zonen anlegen zu können und zu reinigen - "Alexa, mach das Wohnzimmer sauber"
                        • Staubbehälter Füllstand prüfen (Berechnung wann dieser das letzte mal entfernt wurde und nach x weiteren Reinigungen warnen)
                        • Alexa optional immer mit dem Dot antworten zu lassen der angesprochen wurde.

                        BUGS :hammer_and_wrench:

                        Zurzeit keine bekannt! :hankey:

                        Ich würde mich über Anregungen, Kritik, Tipps und alles weitere sehr freuen!

                        Ich weiß nicht ob das so angebracht ist hier danach zu fragen aber wenn mir der ein oder andere auf Youtube ein Abo dalassen würde, würd mir das den Start dort sehr vereinfachen. Zum Thema IoBroker und co. werde ich demnächst weitere Videos veröffentlichen.

                        Wer es noch nicht gesehen hat, hier gehts entlang zum Video: youtu.be/_x7Dn5cYb4k

                        Vielen Dank und beste Grüße

                        Chris

                        Patchwork 3001P Offline
                        Patchwork 3001P Offline
                        Patchwork 3001
                        schrieb am zuletzt editiert von
                        #34

                        @nurChris hallo ich hebe ja die pro Version für 1 jahr

                        habe 4 Skills in Alexa aktiv und zwar Custom , Pro , Home , Iot

                        welche sollen jetzt deaktiviert werden benutze das Skript von Dir für den Xiaomi s5.

                        bin grade ein wenig durch einander was jetzt weg soll und was nicht.
                        ich bitte um Hilfe in dieser Sache

                        Läuft super aber ich habe angst das ich den falschen Iotbroker abwähle in den Skills

                        DiginixD 1 Antwort Letzte Antwort
                        0
                        • Patchwork 3001P Patchwork 3001

                          @nurChris hallo ich hebe ja die pro Version für 1 jahr

                          habe 4 Skills in Alexa aktiv und zwar Custom , Pro , Home , Iot

                          welche sollen jetzt deaktiviert werden benutze das Skript von Dir für den Xiaomi s5.

                          bin grade ein wenig durch einander was jetzt weg soll und was nicht.
                          ich bitte um Hilfe in dieser Sache

                          Läuft super aber ich habe angst das ich den falschen Iotbroker abwähle in den Skills

                          DiginixD Offline
                          DiginixD Offline
                          Diginix
                          schrieb am zuletzt editiert von
                          #35

                          @Patchwork-3001 Zum Schalten/Steuern wird ab sofort der iot Adapter genutzt.
                          In diesem sollten also die Objekte/Schalter/smarten Geräten für den Saugroboter eingerichtet werden.

                          ..:: So long! Tom ::..

                          NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                          1 Antwort Letzte Antwort
                          0
                          • Z Offline
                            Z Offline
                            zokkai
                            schrieb am zuletzt editiert von
                            #36

                            Super, funktioniert bestens.
                            Ich habe bereits Zonen definiert, die ich per Sprache anstsuern kann (..., Wohnzimmer saugen starten)
                            Ich muss mal sehen, wie ich dies in deine Scripte einbauen kann.
                            Danke dafür erstmal!

                            1 Antwort Letzte Antwort
                            0
                            • E Offline
                              E Offline
                              extbingh
                              schrieb am zuletzt editiert von Jey Cee
                              #37

                              Hat hier jemand ein Script für eine Einzelraumreinigung?

                              Valetudo RE vorhanden, Räume sind auch benannt etc. "roomClean" auswählen geht jedoch nicht über den IoT Adapter

                              DiginixD 1 Antwort Letzte Antwort
                              0
                              • E extbingh

                                Hat hier jemand ein Script für eine Einzelraumreinigung?

                                Valetudo RE vorhanden, Räume sind auch benannt etc. "roomClean" auswählen geht jedoch nicht über den IoT Adapter

                                DiginixD Offline
                                DiginixD Offline
                                Diginix
                                schrieb am zuletzt editiert von
                                #38

                                @BlackRed Schau dir doch mal den Adapter in Version 2 an:
                                https://forum.iobroker.net/topic/30137/test-adapter-mihome-vacuum-v2-0-x/

                                Der unterstützt Einzel-/Mehrraum für alle gängigen Modelle ohne Skripte usw.

                                ..:: So long! Tom ::..

                                NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                                1 Antwort Letzte Antwort
                                0
                                • KrisiunK Offline
                                  KrisiunK Offline
                                  Krisiun
                                  schrieb am zuletzt editiert von
                                  #39

                                  Hallo Chris
                                  Wo kann ich den Namen von Roborock definieren? Die aufrufe "Alexa wo ist oder Finde gehen ins leere.
                                  Kannst Du mir helfen?
                                  Du hast deinen Saugi genannt, meiner heißt anderes und das funtz nicht.

                                  Gruß
                                  Murk Murk

                                  1 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  743

                                  Online

                                  32.5k

                                  Benutzer

                                  81.7k

                                  Themen

                                  1.3m

                                  Beiträge
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                  ioBroker Community 2014-2025
                                  logo
                                  • Anmelden

                                  • Du hast noch kein Konto? Registrieren

                                  • Anmelden oder registrieren, um zu suchen
                                  • Erster Beitrag
                                    Letzter Beitrag
                                  0
                                  • Home
                                  • Aktuell
                                  • Tags
                                  • Ungelesen 0
                                  • Kategorien
                                  • Unreplied
                                  • Beliebt
                                  • GitHub
                                  • Docu
                                  • Hilfe