NEWS
Adapter mihome-vacuum anpassungen
-
@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. -
@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 überaddRoom
angelegt werden, das wusste ich nicht. -
@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.
-
@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 wiesendTo("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? -
@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); });
-
@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 -
@dirkhe Moin! So ungefährt?! > https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/issues/620
-
@rkccorian ja genau, ich habs nochmal kommentiert. Bin aber nächste Woche im Urlaub, danach mache ich mich daran
-
@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 -
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.... -
@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:
Was mache ich falsch?
Admin 6.2.22
Roborock S7 Pro Ultra
Danke für die HilfeNoch 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?
-
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..
-
@ilovegym
Super - danke, hat so funktioniert. Glaub da wäre ich so nicht draufgekommen. Hatte immer auf den Text oder die Checkbox geklickt.Hier hierzu was bekannt? --> 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?
-
@mp_trixi sagte in Adapter mihome-vacuum anpassungen:
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?
Ist das evtl. Der waterboxmode? Hadt du mal das o.g. feature branch getestet?
-
@dirkhe
Danke für die Antwort. Hier ein Screenshoot aus der App:
Die "Wischintensität" findet sich im Datenpunkt waterboxmode wieder. Ändert man "Wischroute" passiert da nichts. Scheint also ein eigener Datenpunkt zu sein. Zumindest keine neue Stati im Datenpunkt waterboxmode.Welches Feature Branch? Habe dazu nichts gefunden (auch kein Datenpunkt).
Wenn man einen Raum mit Zonenkoordinaten mit addRoom anlegt. Kann man da auch mehrere Zonen(koordinaten) angeben? Habe die Zone [18300,32000,29000,24900,1] und [21300,24900,25000,15000,1] und hätte gerne in einem Channel/Raum. Habs mit [18300,32000,29000,24900,1],[21300,24900,25000,15000,1] versucht. Da legt er aber nur den ersten an. Bei [[18300,32000,29000,24900,1],[21300,24900,25000,15000,1]] macht er gar nichts.
-
@mp_trixi probiere mal https://github.com/iobroker-community-adapters/ioBroker.mihome-vacuum/issues/620 da ist waterboxmode auf jeden fall verfügbar.
Mehrere zonen in einem raum geht nicht. Du kannst aber 2 anlegen und die dann gemeinsam reinigen lassen, oder du machst es per script, zb via sendto und clean segments -
Hallo @dirkhe
danke - ich habs mir angeschaut und es so angelegt (2 Zonen). Die werden getriggert und beide nacheinander abgefertigt Das funktioniert.
Die Parameter water_box_mode habe ich und kann diese auch setzen. Allerdings bekomme ich damit "nur" die Wischintensität (Aus=Off=200,Sanft=Low=201, Mittel=Medium=202 und High=Intensiv=203) hin. Die Wischroute habe ich so noch nicht geschafft zu setzen (s. Bild oben). Was mir auch aufgefallen ist: Ihm ist egal welche Werte für fan_power und water_box_mode in den Räumen/Zonen gesetzt sind. Er nimmt immer die unter control. So habe ich z.B. in den zwei Zonen den water_box_mode auf off, er wischt aber wenn man diese Zonen triggert:
-
@mp_trixi kannst du deinen adapter mal auf debug stellen.
- Was die intensitivität angeht, müsstedt du mal die get status abfragen beobachten, wenn du die in der app verstellst. Wenn du den parameter rausgefunden hast und welche werte es gibt, wäre es gut, wenn du einen neuen feature request erstellen könntest. Dann kann ich das einbauen.
- Was die anderen beiden parameter angeht. Wenn man genau einen raum oder zone antriggert, wird versucht, den passenden datenpunkt rauszufinden und dann dessen einstellungen zu nehmen. Bei mehreren gleichzeitig geht das natürlich nicht, da nimmt er die werte aus control. Mit dem neuen feature kannst du die werte aber direkt mitgeben. Wenn du das gemacht hattest, dann ist da noch ein bug drin, müsste ich mir dann nochmal anschauen
-
doppelpost
-
@dirkhe
zu 1:
Du meinst das, richtig?
setGetStatus {"msg_ver":2,"msg_seq":2903,"state":8,"battery":100,"clean_time":1624,"clean_area":17307500,"error_code":0,"map_present":true,"in_cleaning":false,"in_returning":0,"in_fresh_state":1,"lab_status":3,"water_box_status":1,"back_type":-1,"wash_phase":0,"wash_ready":0,"fan_power":105,"dnd_enabled":false,"map_status":3,"is_locating":0,"lock_status":0,"water_box_mode":203,"water_box_carriage_status":1,"mop_forbidden_enable":1,"adbumper_status":[0,0,0],"water_shortage_status":0,"dock_type":3,"dust_collection_status":0,"auto_dust_collection":1,"mop_mode":303,"debug_mode":0,"switch_map_mode":0,"dock_error_status":0,"charge_status":1,"error_text":"No error"}
Wenn ja, glaube habe ich den Wert gefunden: mop_mode
300=Standard
301=Gründlich
303=Gründlich+
komischerweise gibt es kein 302?!? Ist es das was Du meintest?zu 2)
ich habe die Werte in die Datenpunkte der Räume geschrieben, in der Annahme dass die beim "Aufbau" der Queue verwendet werden. Wenn ich das jetzt richtig verstanden habe, geht das nur via Script/Blockly mit Sendto, richtig? Ich versuche mal im nächsten Durchlauf die zwei Werte (fan und waterbox) im Control Channel zu schreiben, bevor ich die Räume trigger, das sollte ja auch gehen, oder nicht?