NEWS
[PROJEKT] Xiaomi Roborock S50 Staubsaugersteuerung mit Alexa
-
@nurChris Jetzt hab ich doch etwas seltsames gefunden:
Wenn der Sauger in Pause ist muss ich ihn erst wieder in die Station zurückholen, sonst läuft er nicht mehr.
Deweiteren habe ich scheinbar einen Fehler im Saugereinstelllungsscript, ich be´komme lauter Fehler:
javascript.0 at Object.<anonymous> (script.js.common.Saugroboter.Einstellungen:16:5)
Und mein Log läuft mit warnungen voll; wahrscheinlich weil das Script alles blockiert.
Dieser Fehler läuft mir auch nach:You are assigning a number to the state <td class="log-column-4" title="You are assigning a number to the state 'javascript.0.Eigene_Datenpunkte.ROBOROCK.SucPowerLevelNr' which expects a boolean. Please fix your code to use a boolean or change the state type to number. This warning might become an error in future versions.">You are assigning a number to the state "javascript.0.Eigene_Datenpunkte.ROBOROCK.SucPowerLevelNr" which expects a boolean. Please fix your code to use a boolean or change the state type to number.
Was kann das sein?
-
@guergen Hey,
ich schau nicht so oft hier ins Forum darum sorry für die späte Antwort. Ich versuchs mal... Zu deinem ersten Problem. Ich kann es nicht rekonstruieren, wenn ich meinen Sauger pausiere kann ich ihm mit dem Befehl "Alexa, weiter saugen" wieder starten.
Vielleicht beobachtest du da mal die Datenpunkte ob die nach Spracheingabe richtig schalten."javascript.0 at Object.<anonymous> (script.js.common.Saugroboter.Einstellungen:16:5)", ehrlich gesagt: Keine Ahnung. Auch diesen Fehler erhalte ich nicht. Deine npm Version ist aber nicht outdatet oder?
Zu dem letzter Fehler (bzw der warning) sieht das danach aus als ob dein Datenpunkt "SucPowerLevelNr" als state nicht auf "level" festgelegt ist?
Ehrlich gesagt bin ich auch ziemlich ratlos, vielleicht hilfts ja trotzdem.
Viele Grüße
Chris -
Ob dein Sceipt auch mit dem S6 laufen würde. Leider habe ich noch keinen bin aber am überlegen mir diesen zuzulegen.
Wäre schön wenn dieses möglich wäre.MFG Maggi
-
@csamaggi sagte in [PROJEKT] Xiaomi Roborock S50 Staubsaugersteuerung mit Alexa:
Ob dein Sceipt auch mit dem S6 laufen würde. Leider habe ich noch keinen bin aber am überlegen mir diesen zuzulegen.
Wäre schön wenn dieses möglich wäre.MFG Maggi
Hallo,
dazu müsste man wissen ob der s6 über den roborock Adapter angesteuert werden kann. Wenn das wie beim s50 gleichermaßen möglich ist sollte das Skript auch für den s6 funktionieren.
Viele Grüße
Chris -
Vorab vielen Dank für die tolle Arbeit und auch dass du uns alle daran teilhaben lässt.
Hat alles super geklappt. Anleitung ist wirklich sehr gut und super gemacht.Bezüglich deiner ToDu-Liste und "Zonen" gibt es ein gute Anleitung hier im Forum.
Vielleicht kannst du es ja irgendwie integrieren, ist halt etwas komplexer die Zonen zu ermitteln...
Setze mal den Link (ist ab #291):
https://www.roboter-forum.com/index.php?thread/26292-zonen-reinigung-per-iobroker-alexa-steuern-schritt-für-schritt-anleitung/&pageNo=15Hat bei mir auch wunderbar geklappt und das Szenen anlegen kannte ich gar nicht ... und dass es so einfach rübergeht zu Alexa!
Super wäre noch Punkt 4 auf deiner Liste, also die Zuordnung eines beliebigen, gerade angesprochenen Echos!
Damit es dir nicht langweilig wirdGruß
Wolfgang -
Hi, mittlerweile habe ich den Sauge schon gut im Griff, ich frage mich allerdings, was die Werte Vacuum State =5 und ungleich 5 zu sagen haben (siehe Bild)
-
Jupp - habe ich auch gesehen, aber keine Ahnung. Gibt ja nur 4 Saugstufen. Vielleicht für „nur wischen“?!
Mich hat immer gestört, dass der Sauger nach dem reinigen eines Bereichs immer zum Dock gefahren ist, obwohl ich noch einen anderen Bereich saugen wollte. Er hat einfach nicht gehört.
Habe jetzt rausgefunden, wenn man ihn auf dem Rückweg pausieren lässt und dann den neuen Bereich über Alexa aufruft, klappt es wunderbar. Aber nicht stoppen, dann fährt er autom. immer zum Dock. -
Hallo nurChris,
Das Anlegen der Datenpunkte kann man auch mit einem Script erledigen.
Fügst du bitte noch ein Script ein, um die Datenpunkte anzulegen.
Dann wird es noch einfacher das nach zu bauen. Das müsste dann nur einmal Laufen.Bitte beschreibe auch das anlegen des Ghosts noch etwas besser.
Danke
-
@guergen @smoker Ich schaue leider zu selten hier rein, habe zuviel anderes um die Ohren in der letzten Zeit! Freut mich sehr dass euch das Skript gefällt und euer Feedback gefällt mir auch.
Der Status "ungleich 5" bzw "gleich 5" ist wie vermutet nur dafür da die richtige Aussage zu treffen da es ja maximal 4 Saugstufen gibt. Um ganz ehrlich zu sein ist es schon zu lange her als ich das geschrieben habe, so dass ich mir da selbst nicht mehr 100%ig sicher binBezüglich der Zonen... Ja das ist eine Sache die ich schon lange auf dem Schirm habe und gerne bald umsetzen möchte, ich hoffe ich finde dazu bald Zeit.
@Tibo
Danke für deine gut gemeinten Ratschläge und Tipps. Ich selbst beherrsche kein Javascript so dass ich mich da sehr schwer tun würde, vielleicht kann das ja jemand hier der auch noch Lust dazu hat und uns das zur Verfügung zu stellen.Zum Ghost muss ich sagen, dass ich den gut beschrieben finde da es wirklich sehr sehr einfache Steps sind die durchzuführen sind, hast du vielleicht den Spoiler für die Alexa-Seitige Einrichtung übersehen?
Viele Grüße an alle und danke für euer Feedback
-
@nurChris Habe Probleme mit dem Improtieren des Blocklyscriptes.
Habe die Datei aus dem Link heruntergeladen und dann geöffnet und den Quelltext kopiert.
Folgender Fehler.Kann mir einer weiterhelfen?
Danke. -
@crabs geh auf Javascript Adapter 4.3.1 da ist der Fehler weg. Die höheren bis 4.3.4 haben den Bug..
-
@ilovegym said in [PROJEKT] Xiaomi Roborock S50 Staubsaugersteuerung mit Alexa:
t der Fehler weg. Die höheren
Habe 4.1.12 woher bekomme ich den höheren?
Bei den Adaptern wird mir kein höherer angezeigt. -
Erstmal vielen Dank dass du dein Script mit uns teilst! Habe heute IO Broker installiert und dies zu meinem ersten Projekt erklärt leider habe ich wohl noch irgendwo was übersehen. Wenn ich sage Alexa mach sauer reagiert das script schon mal, aber es zeigt diese Warnungen an und startet auch keinen Robi. Was mache ich falsch? Oder geht es erst wenn man den Schritt mit Ghost Dummi usw. auch erledigt hat? Hatte es so verstanden, das alexa einfach noch nicht antwortet das Script aber startet. Oder muss ich noch wo die IP Adresse vom Rockrobo festlegen? Oder liegt es an den Datenpunkten? Muss ich die Werte unter Wert dort selbst festlegen? Bei mir steht überall no(false) drin?!
-
@furchtlos76
Hast du den mihome vacuum Adapter korrekt mit Token für deinen S50 eingerichtet?
In deinem Screenshot ist noch der selbe Alexa Datenpunkt wie bei anderen zuvor. Ihr könnt schlecht alle das selbe Echo Gerät mit der selben ID besitzen. Am wahrscheinlichsten ist dass du die Objekte im Skript noch nicht auf deine eigenen umgestellt hast. -
Herzlichen Dank für das Skript.
Das Speak Command gibt ja die Antworten auf einem im Skript vorherbestimmten Echo aus.
Mir wäre es natürlich lieber wenn die Ausgabe auf dem zuletzt gewählten Echo wäre.
Blos wie?
Es gibt ja sogar den Datenpunkt name im Alexa2 Adapter der das angesprochene Gerät beinhaltet.
Wie müsste man das Skript umbauen das er es statt des fest vergebenen speak auf dem angesprochenen Echo ausgibt?
LG Martin
-
@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.
-
@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?
-
@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. -
@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
-
@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...".