mrbungle64 / ioBroker.ecovacs-deebot

Control your Ecovacs Deebot and yeedi vacuum cleaner with ioBroker
MIT License
65 stars 11 forks source link

OZMO 950: Saugkraft einstellen möglich? #25

Closed volkerverkamp closed 4 years ago

volkerverkamp commented 4 years ago

Hallo,

erstmal vielen Dank für die super Arbeit und diesen gut funktionierenden Adapter! Ich stand kürzlich vor der Entscheidung zwischen einem XIAOMI S5 Max (für den es ja schon länger eine ioBroker-Unterstützung gibt) und dem OZMO 950 und bin angesichts der guten Steuerbarkeit per ioBroker sehr froh, mich für den Deebot entschieden zu haben!

Zu meiner Frage: Lässt die API für den Ozmo 950 auch das setzen der Saugkraft zu (Waterlevel funktioniert ja auch schon ganz gut)? Wenn ja, würde ich mich sehr über diese Funktion im Adapter freuen!

Danke schonmal!

mrbungle64 commented 4 years ago

Hallo,

erstmal vielen Dank für die super Arbeit und diesen gut funktionierenden Adapter! Ich stand kürzlich vor der Entscheidung zwischen einem XIAOMI S5 Max (für den es ja schon länger eine ioBroker-Unterstützung gibt) und dem OZMO 950 und bin angesichts der guten Steuerbarkeit per ioBroker sehr froh, mich für den Deebot entschieden zu haben!

Hallo @volkerverkamp

freut mich, dass Dir der Adapter gut gefällt :)

Zu meiner Frage: Lässt die API für den Ozmo 950 auch das setzen der Saugkraft zu (Waterlevel funktioniert ja auch schon ganz gut)? Wenn ja, würde ich mich sehr über diese Funktion im Adapter freuen!

Grundsätzlich sollte das möglich sein. Bisher wird beim Start der Reinigung noch die Standard-Saugkraft übergeben.

Bei meinen 2 Geräten von Ecovacs wird die Saugkraft autom. geregelt und ist damit meines Wissens nach auch nicht einstellbar - aber beim Ozmo 950 ist das soweit ich weiß möglich.

@boriswerner Hast Du das schon mal probiert direkt anzusteuern? Ein GetCleanSpeed ist in der Library ja vorhanden, aber bisher kein SetCleanSpeed ...

Danke schonmal!

boriswerner commented 4 years ago

Gibt es, nehm ich oben mit auf die Liste. Ich mach mich am Wochenende Mal wieder dran.

boriswerner commented 4 years ago

@volkerverkamp die neueste Version hier auf GitHub unterstützt nun u.a. auch die Steuerung der Saugkraft. Du darfst sehr gerne testen wenn du magst :-)

volkerverkamp commented 4 years ago

Super - danke! Erster Test heute morgen mit einer "lautlosen" Wartungsfahrt zum Mülleimer war erfolgreich ;-)

Mich wundert allerdings, dass "CleanSpeed" als "String-Enum" und nicht analog zu "WaterLevel" als numerischer Wert realisiert ist, aber ich gehe mal davon aus dass die Chinesen das in der API genauso umgesetzt haben. Das macht u.a. die Steuerung per Alexa ein kleines wenig komplizierter.

Ich werde weiter berichten...

boriswerner commented 4 years ago

Achso, nein. Das hab ich nur in der library so umgesetzt, damit man sprechende Namen hat. Beim Ozmo sind die Werte etwas verquer. Die Zahl 1000 steht z.B. für silent. Jan ich dann erst beim Einbau in den Adapter gemerkt, dass das nicht so günstig war. Wenn es Probleme macht können wir hier auch nochmal auf 1-4 standardisieren. Ich glaube andere Modelle unterstützen auch nur 2 Geschwindigkeiten. Apropos "lautlos" setVolume steht auch noch auf der Liste um dem Bot Sprechverbot zu erteilen :-D

boriswerner commented 4 years ago

Ich baue das heute wahrscheinlich noch auf numerische Werte um. Warte also mit deiner Alexa Integration noch kurz.

sourex commented 4 years ago

ist es richtig das man 4 Saugstufen wählen kann obwohl die App nur 3 zur Verfügung hat ? Edit: sorry, hatte tatsächlich vorher noch nie gesehen das da oben lautlos stand :)

Könnte man anstatt eines DropDown Menüs auch einzelne Datenpunkte anlegen oder muss man die Zuweisung der Datenpunkte mittels Blockly lösen ?

boriswerner commented 4 years ago

Könnte man anstatt eines DropDown Menüs auch einzelne Datenpunkte anlegen oder muss man die Zuweisung der Datenpunkte mittels Blockly lösen ?

Das verstehe ich nicht ganz. Du hättest gerne pro Geschwindigkeit einen Button mit true/false oder wie? Das wäre nicht so sinnvoll ehrlicherweise. Wenn du mit blockly arbeiten willst ist es ja relativ egal, ob du nun ein true setzt oder einen Wert setzt oder? Erklärt doch nochmal kurz, was du erreichen möchtest.

sourex commented 4 years ago

11

bin gerade dabei mir eine Visu zu basteln für den Deebot (bzw bastel eine Vorlage um) und habe wie du siehst hier jeweils 4 Buttons gemacht für die unterschiedlichen Stufen. Diese wollte ich halt belegen.

boriswerner commented 4 years ago

Cool. Magst du das auch irgendwo zur Verfügung stellen? Die anderen Infos bekommen wir bestimmt auch bald noch rein. Der Speed ist nun auf numerische Werte umgestellt und auf 1 (leise) bis 4 (Maximal+) "normiert"

sourex commented 4 years ago

Klar Ich bastle das ja auch nur um, das "echte" ist von Kuddel aus dem IOBroker Forum

https://forum.iobroker.net/topic/19611/vorstellung-meine-zweite-visualisierung

volkerverkamp commented 4 years ago

Ich nochmal: Danke erstmal für die schnelle Umsetzung der Änderung auf numerische Werte für "cleanSpeed"! Das Verhalten der (vom Wertebereich gleichen) Datenpunkte "cleanSpeed" und "waterLevel" ist noch etwas unterschiedlich. Beispiel: Wenn ich mittels Alexa/iot-adapter cleanSpeed/waterLevel auf "Minimum" setze, wird von Alexa bzw. dem iot.adapter der Wert 1.3 (warum nicht 1 würde ich auch gerne mal verstehen...). Der Unterschied zwischen cleanSpeed und waterLevel ist allerdings, dass der Deebot-Adapter (oder der Deebot-Server?)

Falls die Anpassung der gesetzten Werte in Eurem Adapter bzw. der Library stattfindet (und nicht serverseitig), ist da vermutlich noch ein kleiner Bug...

boriswerner commented 4 years ago

@volkerverkamp kannst du mal Alexa nach und nach die verschiedenen Werte setzen lassen und die Logs dazu posten? Bei mir sieht das im Log dann so aus:

       
ecovacs-deebot.0 2020-03-10 19:53:49.332 info (16935) set water level: 4
ecovacs-deebot.0 2020-03-10 19:53:45.283 info (16935) set water level: 3
ecovacs-deebot.0 2020-03-10 19:53:41.479 info (16935) set water level: 2
ecovacs-deebot.0 2020-03-10 19:53:37.136 info (16935) set water level: 1
ecovacs-deebot.0 2020-03-10 19:53:29.460 info (16935) set Clean Speed: 4
ecovacs-deebot.0 2020-03-10 19:53:26.335 info (16935) set Clean Speed: 3
ecovacs-deebot.0 2020-03-10 19:53:23.619 info (16935) set Clean Speed: 2
ecovacs-deebot.0 2020-03-10 19:53:19.411 info (16935) set Clean Speed: 1

Bekommst du da die 1.3 angezeigt?

volkerverkamp commented 4 years ago

@boriswerner Hast Du die Werte in dem Log oben mit Alexa gesetzt?? Wenn ja, wüsste ich gerne wie.. Meines Wissens kann man mit Alexa keine diskreten Werte sondern nur prozentuale Werte (bezogen auf den Wertebereich es jeweiligen Wertes) setzen:

image

Nachfolgend das Log eines Testlaufs, bei dem ich mit Alexa den Water Level von 0 bis 100% in 10%-Schritten hochgezählt habe. Wie man sieht, wird zuerst der "krumme" Wert von Alexa gesetzt, der dann vom Adapter durch abschneiden der Nachkommastellen "abgerundet" wird: image

Für die Saugstärke (Clean Level) sieht das Ganze wie gesagt anders aus, da wird ein für mich nicht erkennbarer Algorithmus zur Ermittlung des ganzzahligen Wertes verwendet: image

Das ganze ließe sich natürlich mit neuen virtuellen Datenpunkten (unter 0_userdata natürlich ;-)) und etwas Skripting fixen, aber wenn Clean Level sich genauso wie Water Level verhalten würde, wäre das schon ausreichend.

boriswerner commented 4 years ago

@volkerverkamp sorry für die späte Antwort. Ich hab das nicht mit Alexa gesetzt. Allerdings hab ich für einen anderen issue etwas am waterlevel umgestellt. Magst du die neue Version hier nochmal testen, ob der trotzdem noch mit Alexa funktioniert? Wenn nicht, weiß ich zumindest, woran es liegt. Ich würde wahrscheinlich im Adapter einfach noch eine Rundung einbauen.

volkerverkamp commented 4 years ago

Bitteschön - funktioniert noch genauso wie oben. Eine arithmetische Rundung statt abschneiden der Nachkommastellen fände ich besser, dann wird z.B. aus 90% (3,7) eine 4 und nicht 3: image

boriswerner commented 4 years ago

@volkerverkamp magst du Mal die neuste Version hier von GitHub testen, die Werte sollten jetzt bei beiden Settings gerundet werden

volkerverkamp commented 4 years ago

Sieht gut aus: image image

Danke und weiter so!