Hauptmenü

Ecovacs Robots

Begonnen von Guybrush, 15 August 2026, 20:41:19

Vorheriges Thema - Nächstes Thema

Guybrush

Ich hab jetzt auch mal meine Ecovacs Schnittstelle bereinigt und auf github veröffentlicht:

https://github.com/next81/ecovacs2mqtt/

das Ganze ist dort als MQTT Bridge umgesetzt. Der Ecovacs2mqtt muss nur einmal installiert werden. Danach sollten in FHEM mit aktiviertem MQTT live Updates erfolgen und die Robots darüber zu steuern sein. Ich selbst hab nur die X12 und den Goat 1600 Lidar Pro. Deswegen ist feedback insbesondere bezüglich anderer Modelle willkommen  ;) Wichtig ist, dass Python3.14 vorhanden ist. das lässt sich als alternative Installation parallel zur vom System installierten Version betreiben.

Python3.14:
sudo apt update
sudo apt install -y   build-essential wget   libssl-dev zlib1g-dev libbz2-dev   libreadline-dev libsqlite3-dev   libffi-dev liblzma-dev   libgdbm-dev libncursesw5-dev   libexpat1-dev tk-dev uuid-dev
cd /tmp
wget https://www.python.org/ftp/python/3.14.6/Python-3.14.6.tgz
tar xzf Python-3.14.6.tgz
cd Python-3.14.6
./configure
make -j$(nproc)
sudo make altinstall

Dann weiter mit:
git clone https://github.com/next81/ecovacs2mqtt.git
cd ecovacs2mqtt
sudo ./install.sh

sudo PYTHON_BIN=python3.14 ./install.sh

sudo nano /etc/ecovacs2mqtt/config.yaml
sudo ecovacs2mqtt password
sudo ecovacs2mqtt devices
sudo ecovacs2mqtt auth
sudo systemctl enable --now ecovacs2mqtt

language: sollte man in der config auf DE stellen. ich hab hier DE/EN hinterlegt, wobei en default ist.

wenn ecovacs2mqtt läuft, müssen noch die fhem devices angepasst werden. hier mal ein beispiel meiner:
defmod Ecovacs.DG MQTT2_DEVICE ecovacs_7d758595-567f-4320-a8e8-7b3915a06667
attr Ecovacs.DG devStateIcon (0|1)\d?:measure_battery_0@red [2-3]\d+:measure_battery_25@orange [4-6]\d+:measure_battery_50@green [7-8]\d+:measure_battery_75@green (9\d+|100).*:measure_battery_100@green
attr Ecovacs.DG devicetopic ecovacs/<hier die deviceid rein>
attr Ecovacs.DG group Geräte
attr Ecovacs.DG oldreadings state,oldreadingsAlways
attr Ecovacs.DG readingList $DEVICETOPIC/json:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/battery:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/metadata:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/positions:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/availability:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/mapChanged:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/networkInfo:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/stats:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/continuousCleaning:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/cleanLog:.* cleanLog\
$DEVICETOPIC/event/cleanCount:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/error:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/fanSpeed:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/workMode:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/lifeSpan:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/cachedMapInfo:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/majorMap:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/multimapState:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/rooms:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/mapTrace:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/carpetAutoFanBoost:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/childLock:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/mopAutoWashFrequency:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/ota:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/trueDetect:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/voiceAssistantState:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/volume:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/autoEmpty:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/station:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/totalStats:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/waterCustomAmount:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/mopAttached:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/event/state:.* { json2nameValue($EVENT) }\
ecovacs/7d758595-567f-4320-a8e8-7b3915a06667/event/commandResult:.* { json2nameValue($EVENT) }
attr Ecovacs.DG room Dachgeschoss->Ankleide,Dachgeschoss->Bad groß,Dachgeschoss->Bad klein,Dachgeschoss->Flur,Dachgeschoss->Kinderzimmer groß,Dachgeschoss->Kinderzimmer klein,Dachgeschoss->Schlafen,Interfaces->Ecovacs,Interfaces->MQTT
attr Ecovacs.DG setList resume:noArg $DEVICETOPIC/resume 1\
stop:noArg $DEVICETOPIC/stop 1\
charge:noArg $DEVICETOPIC/charge 1\
dock:noArg $DEVICETOPIC/dock 1\
locate:noArg $DEVICETOPIC/locate 1\
refresh:noArg $DEVICETOPIC/refresh 1\
setFanSpeed:quiet,normal,max,max_plus $DEVICETOPIC/setFanSpeed\
setWaterAmount:slider,0,1,50 $DEVICETOPIC/setWaterAmount\
setVolume:slider,0,1,10 $DEVICETOPIC/setVolume\
setChildLock:off,on $DEVICETOPIC/setChildLock\
setTrueDetect:off,on $DEVICETOPIC/setTrueDetect\
setWorkMode:vacuum_and_mop,vacuum,mop,mop_after_vacuum $DEVICETOPIC/setWorkMode\
stationAction:empty_dustbin,dry_mop,wash_mop $DEVICETOPIC/stationAction\
clean:textField $DEVICETOPIC/clean \
cleanArea:textField $DEVICETOPIC/cleanArea\
custom:textField $DEVICETOPIC/custom\

attr Ecovacs.DG stateFormat battery\
state

im anschluss kann man die robots über fhem steuern, z.b.
set Ecovacs.DG clean Flur Schlafen Ankleide
Damit werden die Räume in der angegebenen Reihenfolge dann gereinigt. Steuerung über fhem ist ganz praktisch, wenn man das mit einer Anwesenheitserkennung versieht und die Reinigung starten lässt, wenn man das Haus verlässt etc.. Gibt ja viele Möglichkeiten :-)

Alles weitere steht in der Doku auf github

KölnSolar

Ist aber mit ecovacs-Cloud und Fremdsoftware Python.

Da haben wir schon lange cloudfree und reine FHEM-Unterstützung per MQTT.

Allerdings habe ich nur einen alten Deebot Slim und kann nicht beurteilen, ob umfangreichere Funktionalitäten und neuere Modelle überhaupt funktionieren.

Grüße Markus
RPi5/3/2 Trixie-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-ecovacs(mqtt2)-zigbee2mqtt

Guybrush

#2
Dann sag mir bitte wie, ich kenne keine Option die Ecovacs direkt per mqtt ansprechen zu können, außer den hacks bei der wlan installation, aber das ging irgendwie nicht. Vielleicht ging das früher mal, aber bei den jetzigen hab ich einfach nichts gefunden.

Soweit ich das sehe ist die Einbindung über deebot-client jedenfalls robust und apps etc funktionieren weiterhin. Cloudlösungen mag ich auch nicht, aber wenns nicht anders geht.. Und ja, es ist alles in Python gehalten, weil deebot-client in Python gehalten ist. Ich hab deswegen auch nur eine bridge deebot-client <> mqtt gebaut und die errorcodes etc vereinheitlicht. Insofern bleibt fhem sauber, da alles nur über mqtt passiert.

KölnSolar

hier https://forum.fhem.de/index.php?msg=974299 beginnts vor fast 7 Jahren mit bumper, pihole u. MQTT im LAN.
Am Ende blieben die Umleitung per pihole, die Zertifikate und MQTT in FHEM:
RPi5/3/2 Trixie-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-ecovacs(mqtt2)-zigbee2mqtt

Guybrush

den weg über bumper kannte ich. das lief aber nicht richtig bei mir. war mir offen gesagt auch zu kompliziert, zumal es dann wartung etc alles auf meine seite geschoben hätte. ich wollte nur eine möglichkeit den ecovacs per fhem steuern zu können ohne das ganze ökosystem umzustellen. aber ja, das wäre eine alternative möglichkeit ohne cloud, wenns denn funktioniert

KölnSolar

Zitatmöglichkeit ohne cloud, wenns denn funktioniert
bei mir bis heute....
RPi5/3/2 Trixie-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-ecovacs(mqtt2)-zigbee2mqtt

Guybrush

die app geht dann aber nicht mehr. die möglichkeit der appsteuerung wollte ich jedenfalls behalten.

peterboeckmann

Hallo Guybrush!

Zitat von: Guybrush am 15 August 2026, 20:41:19Ich selbst hab nur die X12 und den Goat 1600 Lidar Pro. Deswegen ist feedback insbesondere bezüglich anderer Modelle willkommen  ;)

Danke für das Modul!

Ich selbst habe einen Ecovacs Deebot T80 Omni.
Mit dem funktioniert Dein Modul auch tadellos!

Hier zur Info mein MQTT-Device:
define ecovacs2mqtt MQTT2_DEVICE ecovacs2mqtt
attr ecovacs2mqtt DbLogExclude .*
attr ecovacs2mqtt DbLogInclude state,battery
attr ecovacs2mqtt alias DEEBOT T80 OMNI
attr ecovacs2mqtt cmdIcon start:t80_start \
pause:t80_pause \
dock:t80_home \
Bad:t80_bath \
Kueche:t80_kitchen \
Flur:t80_door \
Wohnzimmer:t80_living \
Lagerraum:t80_storage \
locate:t80_locate
attr ecovacs2mqtt devStateIcon {\
my $state = ReadingsVal($name,"state","?");;\
my $bat = ReadingsVal($name,"battery","?");;\
my $station = ReadingsVal($name,"station","");;\
my $mode = ReadingsVal($name,"workMode","");;\
\
my $statusIcon = $state eq "cleaning" ? "t80_clean\@green" :\
                 $state eq "returning" ? "t80_return\@orange" :\
                 $state eq "paused" ? "t80_pause\@orange" :\
                 $state eq "error" ? "t80_error\@red" :\
                 $state eq "offline" ? "t80_offline\@red" :\
                 "t80_dock\@green";;\
\
my $status = FW_makeImage($statusIcon);;\
my $txt = "$state | Akku: $bat%";;\
$txt .= " | $station" if ($station ne "" && $station ne "idle");;\
\
my %modeMap = (\
  "0" => "vacuum_and_mop",\
  "1" => "vacuum",\
  "2" => "mop",\
  "3" => "mop_after_vacuum",\
  "vacuum_and_mop" => "vacuum_and_mop",\
  "vacuum" => "vacuum",\
  "mop" => "mop",\
  "mop_after_vacuum" => "mop_after_vacuum"\
);;\
\
my $currentMode = exists($modeMap{$mode}) ? $modeMap{$mode} : "";;\
\
my $selVM  = $currentMode eq "vacuum_and_mop"   ? " selected" : "";;\
my $selV   = $currentMode eq "vacuum"           ? " selected" : "";;\
my $selM   = $currentMode eq "mop"              ? " selected" : "";;\
my $selMAV = $currentMode eq "mop_after_vacuum" ? " selected" : "";;\
\
my $dropdown =\
"<select title='Reinigungsmodus wählen' ".\
"style='margin-left:6px;;padding:3px 6px;;border-radius:5px;;' ".\
"onchange=\\\"window.location.href='$FW_ME?cmd.$name=set%20$name%20setWorkMode%20'+this.value+'$FW_CSRF'\\\">".\
"<option value='vacuum_and_mop'$selVM>Saugen + Wischen</option>".\
"<option value='vacuum'$selV>Nur Saugen</option>".\
"<option value='mop'$selM>Nur Wischen</option>".\
"<option value='mop_after_vacuum'$selMAV>Erst Saugen, dann Wischen</option>".\
"</select>";;\
\
"<div style='display:flex;;align-items:center;;gap:14px;;'>".\
"<span>$status</span>".\
"<span>$txt</span>".\
$dropdown.\
"<a href=\"$FW_ME?cmd.$name=set $name start$FW_CSRF\" title=\"Reinigung starten\">".FW_makeImage("t80_start")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name pause$FW_CSRF\" title=\"Reinigung pausieren\">".FW_makeImage("t80_pause")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name dock$FW_CSRF\" title=\"Zur Station fahren\">".FW_makeImage("t80_home")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name Bad$FW_CSRF\" title=\"Badezimmer reinigen\">".FW_makeImage("t80_bath")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name Kueche$FW_CSRF\" title=\"Küche reinigen\">".FW_makeImage("t80_kitchen")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name Flur$FW_CSRF\" title=\"Flur reinigen\">".FW_makeImage("t80_door")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name Wohnzimmer$FW_CSRF\" title=\"Wohnzimmer reinigen\">".FW_makeImage("t80_living")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name Lagerraum$FW_CSRF\" title=\"Lagerraum reinigen\">".FW_makeImage("t80_storage")."</a>".\
"<a href=\"$FW_ME?cmd.$name=set $name locate$FW_CSRF\" title=\"DEEBOT lokalisieren\">".FW_makeImage("t80_locate")."</a>".\
"</div>"\
}
attr ecovacs2mqtt devicetopic ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f
attr ecovacs2mqtt group Schalten
attr ecovacs2mqtt icon t80_dock
attr ecovacs2mqtt readingList ecovacs2mqtt:ecovacs/_bridge/serviceState:.* serviceState\
ecovacs2mqtt:ecovacs/_bridge/json:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/metadata:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/stats:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/availability:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/positions:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/mapChanged:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/networkInfo:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/battery:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/cleanLog:.* cleanLog\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/continuousCleaning:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/cleanCount:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/workMode:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/error:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/fanSpeed:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/lifeSpan:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/cachedMapInfo:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/majorMap:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/multimapState:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/rooms:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/mapTrace:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/advancedMode:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/carpetAutoFanBoost:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/efficiencyMode:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/childLock:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/ota:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/sweepMode:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/trueDetect:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/voiceAssistantState:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/volume:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/autoEmpty:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/totalStats:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/waterCustomAmount:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/mopAttached:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/state:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/station:.* { json2nameValue($EVENT) }\
ecovacs2mqtt:ecovacs/a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f/event/commandResult:.* { json2nameValue($EVENT) }
attr ecovacs2mqtt room Erdgeschoss->Flur
attr ecovacs2mqtt setList start:noArg $DEVICETOPIC/start 1\
pause:noArg $DEVICETOPIC/pause 1\
stop:noArg $DEVICETOPIC/stop 1\
charge:noArg $DEVICETOPIC/charge 1\
dock:noArg $DEVICETOPIC/dock 1\
locate:noArg $DEVICETOPIC/locate 1\
refresh:noArg $DEVICETOPIC/refresh 1\
Bad:noArg $DEVICETOPIC/clean Badezimmer\
Kueche:noArg $DEVICETOPIC/clean Küche\
Flur:noArg $DEVICETOPIC/clean Flur\
Wohnzimmer:noArg $DEVICETOPIC/clean Wohnzimmer\
Lagerraum:noArg $DEVICETOPIC/clean Lagerraum\
setFanSpeed:quiet,normal,max,max_plus $DEVICETOPIC/setFanSpeed\
setWaterAmount:slider,0,1,50 $DEVICETOPIC/setWaterAmount\
setVolume:slider,0,1,10 $DEVICETOPIC/setVolume\
setChildLock:off,on $DEVICETOPIC/setChildLock\
setTrueDetect:off,on $DEVICETOPIC/setTrueDetect\
setWorkMode:vacuum_and_mop,vacuum,mop,mop_after_vacuum $DEVICETOPIC/setWorkMode\
stationAction:empty_dustbin,dry_mop,wash_mop $DEVICETOPIC/stationAction\
clean:textField $DEVICETOPIC/clean\
cleanArea:textField $DEVICETOPIC/cleanArea\
custom:textField $DEVICETOPIC/custom
attr ecovacs2mqtt stateFormat {\
  my $s=ReadingsVal($name,"state","?");;\
  my $st=ReadingsVal($name,"station","");;\
  my $bat=ReadingsVal($name,"battery","?");;\
  $st && $st ne "idle" ? "$s / $st | Akku: $bat%" : "$s | Akku: $bat%"\
}
#   CID        ecovacs2mqtt
#   DEF        ecovacs2mqtt
#   FUUID      6a8d7ced-f33f-326e-7cc9-185c4e0ad4e42fdd
#   FVERSION   10_MQTT2_DEVICE.pm:0.305090/2025-11-09
#   IODev      mqttServer
#   LASTInputDev mqttServer
#   MSGCNT     76
#   NAME       ecovacs2mqtt
#   NR         977
#   STATE      docked | Akku: 98%
#   TYPE       MQTT2_DEVICE
#   eventCount 82
#   mqttServer_CONN mqttServer_127.0.0.1_53283
#   mqttServer_MSGCNT 76
#   mqttServer_TIME 2026-08-25 15:04:34
#   Helper:
#     DBLOG:
#       battery:
#         logdb:
#           TIME       1787663074.36013
#           VALUE      98
#       state:
#         logdb:
#           TIME       1787662905.09575
#           VALUE      docked
#   READINGS:
#     2026-08-25 13:58:10   IODev           mqttServer
#     2026-08-25 13:30:54   UILogicId       keplerse_ww_h_keplerseh5
#     2026-08-25 13:30:55   advancedMode    false
#     2026-08-25 13:30:56   autoEmpty       true
#     2026-08-25 13:30:56   autoEmptyEnabled true
#     2026-08-25 13:30:56   autoEmptyFrequency smart
#     2026-08-25 13:30:54   availability    true
#     2026-08-25 15:04:34   battery         98
#     2026-08-25 13:30:54   botName         
#     2026-08-25 13:30:55   cachedMapInfo_1_angle RotationAngle.DEG_90
#     2026-08-25 13:30:55   cachedMapInfo_1_built true
#     2026-08-25 13:30:55   cachedMapInfo_1_id 683187553
#     2026-08-25 13:30:55   cachedMapInfo_1_name Erdgeschoss
#     2026-08-25 13:30:55   cachedMapInfo_1_using true
#     2026-08-25 13:30:55   carpetAutoFanBoost false
#     2026-08-25 13:30:56   childLock       false
#     2026-08-25 13:30:54   class           02qwum
#     2026-08-25 13:30:55   cleanCount      2
#     2026-08-25 13:30:55   cleanLog        {"cleanLog":[]}
#     2026-08-25 13:30:55   continuousCleaning true
#     2026-08-25 13:58:55   deebotClientVersion 18.5.1
#     2026-08-25 13:58:55   deviceCount     1
#     2026-08-25 13:30:54   deviceId        a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f
#     2026-08-25 13:30:54   deviceName      DEEBOT T80 OMNI
#     2026-08-25 13:30:54   deviceType      vacuum
#     2026-08-25 13:58:55   discoveryInterval 0
#     2026-08-25 13:30:55   efficiencyMode  1
#     2026-08-25 13:58:55   error           
#     2026-08-25 13:30:55   errorCode       0
#     2026-08-25 13:30:55   errorDescription Es wird kein aktiver Gerätefehler gemeldet.
#     2026-08-25 13:30:55   fanSpeed        2
#     2026-08-25 13:30:54   homeId          6807fb3c16956c0007f20ffa
#     2026-08-25 15:01:18   lastCommand     dock
#     2026-08-25 14:48:23   lastCommandData_count 1
#     2026-08-25 15:01:18   lastCommandData_id unBe
#     2026-08-25 15:01:18   lastCommandData_payloadType j
#     2026-08-25 14:26:31   lastCommandData_requested 31
#     2026-08-25 15:01:18   lastCommandData_resp_body_code 0
#     2026-08-25 15:01:18   lastCommandData_resp_body_msg ok
#     2026-08-25 15:01:18   lastCommandData_resp_header_fwVer 1.69.0
#     2026-08-25 15:01:18   lastCommandData_resp_header_hwVer 0.1.1
#     2026-08-25 15:01:18   lastCommandData_resp_header_pri 1
#     2026-08-25 15:01:18   lastCommandData_resp_header_ts 1787662878032
#     2026-08-25 15:01:18   lastCommandData_resp_header_tzm 480
#     2026-08-25 15:01:18   lastCommandData_resp_header_ver 0.0.1
#     2026-08-25 15:01:18   lastCommandData_resp_header_wkVer 0.1.54
#     2026-08-25 14:48:23   lastCommandData_response_id oBYP
#     2026-08-25 14:48:23   lastCommandData_response_payloadType j
#     2026-08-25 14:48:23   lastCommandData_response_resp_body_code 0
#     2026-08-25 14:48:23   lastCommandData_response_resp_body_msg ok
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_fwVer 1.69.0
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_hwVer 0.1.1
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_pri 1
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_ts 1787662102360
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_tzm 480
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_ver 0.0.1
#     2026-08-25 14:48:23   lastCommandData_response_resp_header_wkVer 0.1.54
#     2026-08-25 14:48:23   lastCommandData_response_ret ok
#     2026-08-25 15:01:18   lastCommandData_ret ok
#     2026-08-25 14:48:23   lastCommandData_rooms_1_id 2
#     2026-08-25 14:48:23   lastCommandData_rooms_1_name Flur
#     2026-08-25 15:01:18   lastCommandError
#     2026-08-25 15:01:18   lastCommandResult ok
#     2026-08-25 15:01:18   lastCommandTime 2026-08-25T13:01:18.673015+00:00
#     2026-08-25 15:02:10   lifeSpanPercent 93.89
#     2026-08-25 15:02:10   lifeSpanRemaining 3380
#     2026-08-25 15:02:10   lifeSpanType    waterSink
#     2026-08-25 13:31:55   majorMapMapId   683187553
#     2026-08-25 13:31:55   majorMapRequested true
#     2026-08-25 15:02:38   mapChanged      2026-08-25T13:01:44.988543+00:00
#     2026-08-25 15:01:44   mapTraceData    XQAABAAFAAAAACIADZcB7wgAAA==
#     2026-08-25 15:01:44   mapTraceStart   88
#     2026-08-25 15:01:44   mapTraceTotal   89
#     2026-08-25 13:30:54   materialNo      110-2488-0801
#     2026-08-25 13:30:54   model           KEPLER_SE_WHITE_INT
#     2026-08-25 13:30:56   mopAttached     true
#     2026-08-25 13:30:55   multimapState   true
#     2026-08-25 13:30:54   name            E02636288G1FPP760801
#     2026-08-25 14:27:27   networkInfoIp   192.168.178.43
#     2026-08-25 14:27:27   networkInfoMac  E8:5C:5F:8E:FE:67
#     2026-08-25 14:27:27   networkInfoRssi -56
#     2026-08-25 14:27:27   networkInfoSsid Torfmoorholm Ost
#     2026-08-25 13:30:56   ota             1.69.0
#     2026-08-25 13:30:56   otaAutoEnabled  true
#     2026-08-25 13:30:56   otaProgress     0
#     2026-08-25 13:30:56   otaStatus       done
#     2026-08-25 13:30:56   otaSupportAuto  true
#     2026-08-25 13:30:56   otaVersion      1.69.0
#     2026-08-25 15:01:57   positions_1_a   87
#     2026-08-25 15:01:57   positions_1_type PositionType.DEEBOT
#     2026-08-25 15:01:57   positions_1_x   -121
#     2026-08-25 15:01:57   positions_1_y   -679
#     2026-08-25 15:01:57   positions_2_a   87
#     2026-08-25 15:01:57   positions_2_type PositionType.CHARGER
#     2026-08-25 15:01:57   positions_2_x   -121
#     2026-08-25 15:01:57   positions_2_y   -679
#     2026-08-25 13:30:54   product_category DEEBOT
#     2026-08-25 13:30:54   profile         native
#     2026-08-25 13:58:55   publishInterval 60
#     2026-08-25 13:58:55   refreshInterval 0
#     2026-08-25 13:30:54   resource        FSxfKLAK
#     2026-08-25 13:30:55   roomsMapId      683187553
#     2026-08-25 13:30:55   roomsRooms_1_coordinates
#     2026-08-25 13:30:55   roomsRooms_1_id 0
#     2026-08-25 13:30:55   roomsRooms_1_name Badezimmer
#     2026-08-25 13:30:55   roomsRooms_2_coordinates
#     2026-08-25 13:30:55   roomsRooms_2_id 1
#     2026-08-25 13:30:55   roomsRooms_2_name Küche
#     2026-08-25 13:30:55   roomsRooms_3_coordinates
#     2026-08-25 13:30:55   roomsRooms_3_id 2
#     2026-08-25 13:30:55   roomsRooms_3_name Flur
#     2026-08-25 13:30:55   roomsRooms_4_coordinates
#     2026-08-25 13:30:55   roomsRooms_4_id 3
#     2026-08-25 13:30:55   roomsRooms_4_name Wohnzimmer
#     2026-08-25 13:30:55   roomsRooms_5_coordinates
#     2026-08-25 13:30:55   roomsRooms_5_id 4
#     2026-08-25 13:30:55   roomsRooms_5_name Lagerraum
#     2026-08-25 13:58:55   serviceState    online
#     2026-08-25 13:58:55   sets            devices,discover,requestVerification,rooms,verifyCode
#     2026-08-25 15:01:45   state           docked
#     2026-08-25 14:27:29   station         idle
#     2026-08-25 15:01:31   statsArea       3
#     2026-08-25 15:01:31   statsTime       60
#     2026-08-25 15:01:31   statsType       auto
#     2026-08-25 13:30:54   status          1
#     2026-08-25 13:59:06   subscriptions   ecovacs/+/charge ecovacs/+/clean ecovacs/+/cleanArea ecovacs/+/custom ecovacs/+/dock ecovacs/+/locate ecovacs/+/pause ecovacs/+/refresh ecovacs/+/resume ecovacs/+/setAdvancedMode ecovacs/+/setBorderSwitch ecovacs/+/setChildLock ecovacs/+/setCutDirection ecovacs/+/setFanSpeed ecovacs/+/setSafeProtect ecovacs/+/setTrueDetect ecovacs/+/setVolume ecovacs/+/setWaterAmount ecovacs/+/setWorkMode ecovacs/+/start ecovacs/+/stationAction ecovacs/+/stop ecovacs/_bridge/devices ecovacs/_bridge/discover ecovacs/_bridge/requestVerification ecovacs/_bridge/rooms ecovacs/_bridge/verifyCode
#     2026-08-25 13:30:54   supported       true
#     2026-08-25 13:58:55   supportedDeviceCount 1
#     2026-08-25 13:30:56   sweepMode       false
#     2026-08-25 15:00:30   totalStatsArea  4547
#     2026-08-25 15:00:30   totalStatsCleanings 271
#     2026-08-25 15:00:30   totalStatsTime  439200
#     2026-08-25 13:30:56   trueDetect      true
#     2026-08-25 13:58:55   version         0.2.2
#     2026-08-25 13:30:56   voiceAssistantState true
#     2026-08-25 13:30:56   volumeMaximum   10
#     2026-08-25 13:30:56   volumeVolume    5
#     2026-08-25 13:30:56   waterCustomAmount 30
#     2026-08-25 14:49:15   workMode        1
#   hmccu:
#
setstate ecovacs2mqtt docked | Akku: 98%
setstate ecovacs2mqtt 2026-08-25 13:58:10 IODev mqttServer
setstate ecovacs2mqtt 2026-08-25 13:30:54 UILogicId keplerse_ww_h_keplerseh5
setstate ecovacs2mqtt 2026-08-25 13:30:55 advancedMode false
setstate ecovacs2mqtt 2026-08-25 13:30:56 autoEmpty true
setstate ecovacs2mqtt 2026-08-25 13:30:56 autoEmptyEnabled true
setstate ecovacs2mqtt 2026-08-25 13:30:56 autoEmptyFrequency smart
setstate ecovacs2mqtt 2026-08-25 13:30:54 availability true
setstate ecovacs2mqtt 2026-08-25 15:04:34 battery 98
setstate ecovacs2mqtt 2026-08-25 13:30:54 botName
setstate ecovacs2mqtt 2026-08-25 13:30:55 cachedMapInfo_1_angle RotationAngle.DEG_90
setstate ecovacs2mqtt 2026-08-25 13:30:55 cachedMapInfo_1_built true
setstate ecovacs2mqtt 2026-08-25 13:30:55 cachedMapInfo_1_id 683187553
setstate ecovacs2mqtt 2026-08-25 13:30:55 cachedMapInfo_1_name Erdgeschoss
setstate ecovacs2mqtt 2026-08-25 13:30:55 cachedMapInfo_1_using true
setstate ecovacs2mqtt 2026-08-25 13:30:55 carpetAutoFanBoost false
setstate ecovacs2mqtt 2026-08-25 13:30:56 childLock false
setstate ecovacs2mqtt 2026-08-25 13:30:54 class 02qwum
setstate ecovacs2mqtt 2026-08-25 13:30:55 cleanCount 2
setstate ecovacs2mqtt 2026-08-25 13:30:55 cleanLog {"cleanLog":[]}
setstate ecovacs2mqtt 2026-08-25 13:30:55 continuousCleaning true
setstate ecovacs2mqtt 2026-08-25 13:58:55 deebotClientVersion 18.5.1
setstate ecovacs2mqtt 2026-08-25 13:58:55 deviceCount 1
setstate ecovacs2mqtt 2026-08-25 13:30:54 deviceId a9feb0ca-3f9e-48d7-9211-c95eddd9ee4f
setstate ecovacs2mqtt 2026-08-25 13:30:54 deviceName DEEBOT T80 OMNI
setstate ecovacs2mqtt 2026-08-25 13:30:54 deviceType vacuum
setstate ecovacs2mqtt 2026-08-25 13:58:55 discoveryInterval 0
setstate ecovacs2mqtt 2026-08-25 13:30:55 efficiencyMode 1
setstate ecovacs2mqtt 2026-08-25 13:58:55 error
setstate ecovacs2mqtt 2026-08-25 13:30:55 errorCode 0
setstate ecovacs2mqtt 2026-08-25 13:30:55 errorDescription Es wird kein aktiver Gerätefehler gemeldet.
setstate ecovacs2mqtt 2026-08-25 13:30:55 fanSpeed 2
setstate ecovacs2mqtt 2026-08-25 13:30:54 homeId 6807fb3c16956c0007f20ffa
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommand dock
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_count 1
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_id unBe
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_payloadType j
setstate ecovacs2mqtt 2026-08-25 14:26:31 lastCommandData_requested 31
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_body_code 0
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_body_msg ok
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_fwVer 1.69.0
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_hwVer 0.1.1
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_pri 1
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_ts 1787662878032
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_tzm 480
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_ver 0.0.1
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_resp_header_wkVer 0.1.54
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_id oBYP
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_payloadType j
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_body_code 0
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_body_msg ok
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_fwVer 1.69.0
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_hwVer 0.1.1
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_pri 1
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_ts 1787662102360
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_tzm 480
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_ver 0.0.1
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_resp_header_wkVer 0.1.54
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_response_ret ok
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandData_ret ok
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_rooms_1_id 2
setstate ecovacs2mqtt 2026-08-25 14:48:23 lastCommandData_rooms_1_name Flur
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandError
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandResult ok
setstate ecovacs2mqtt 2026-08-25 15:01:18 lastCommandTime 2026-08-25T13:01:18.673015+00:00
setstate ecovacs2mqtt 2026-08-25 15:02:10 lifeSpanPercent 93.89
setstate ecovacs2mqtt 2026-08-25 15:02:10 lifeSpanRemaining 3380
setstate ecovacs2mqtt 2026-08-25 15:02:10 lifeSpanType waterSink
setstate ecovacs2mqtt 2026-08-25 13:31:55 majorMapMapId 683187553
setstate ecovacs2mqtt 2026-08-25 13:31:55 majorMapRequested true
setstate ecovacs2mqtt 2026-08-25 15:02:38 mapChanged 2026-08-25T13:01:44.988543+00:00
setstate ecovacs2mqtt 2026-08-25 15:01:44 mapTraceData XQAABAAFAAAAACIADZcB7wgAAA==
setstate ecovacs2mqtt 2026-08-25 15:01:44 mapTraceStart 88
setstate ecovacs2mqtt 2026-08-25 15:01:44 mapTraceTotal 89
setstate ecovacs2mqtt 2026-08-25 13:30:54 materialNo 110-2488-0801
setstate ecovacs2mqtt 2026-08-25 13:30:54 model KEPLER_SE_WHITE_INT
setstate ecovacs2mqtt 2026-08-25 13:30:56 mopAttached true
setstate ecovacs2mqtt 2026-08-25 13:30:55 multimapState true
setstate ecovacs2mqtt 2026-08-25 13:30:54 name E02636288G1FPP760801
setstate ecovacs2mqtt 2026-08-25 14:27:27 networkInfoIp 192.168.178.43
setstate ecovacs2mqtt 2026-08-25 14:27:27 networkInfoMac E8:5C:5F:8E:FE:67
setstate ecovacs2mqtt 2026-08-25 14:27:27 networkInfoRssi -56
setstate ecovacs2mqtt 2026-08-25 14:27:27 networkInfoSsid Torfmoorholm Ost
setstate ecovacs2mqtt 2026-08-25 13:30:56 ota 1.69.0
setstate ecovacs2mqtt 2026-08-25 13:30:56 otaAutoEnabled true
setstate ecovacs2mqtt 2026-08-25 13:30:56 otaProgress 0
setstate ecovacs2mqtt 2026-08-25 13:30:56 otaStatus done
setstate ecovacs2mqtt 2026-08-25 13:30:56 otaSupportAuto true
setstate ecovacs2mqtt 2026-08-25 13:30:56 otaVersion 1.69.0
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_1_a 87
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_1_type PositionType.DEEBOT
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_1_x -121
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_1_y -679
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_2_a 87
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_2_type PositionType.CHARGER
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_2_x -121
setstate ecovacs2mqtt 2026-08-25 15:01:57 positions_2_y -679
setstate ecovacs2mqtt 2026-08-25 13:30:54 product_category DEEBOT
setstate ecovacs2mqtt 2026-08-25 13:30:54 profile native
setstate ecovacs2mqtt 2026-08-25 13:58:55 publishInterval 60
setstate ecovacs2mqtt 2026-08-25 13:58:55 refreshInterval 0
setstate ecovacs2mqtt 2026-08-25 13:30:54 resource FSxfKLAK
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsMapId 683187553
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_1_coordinates
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_1_id 0
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_1_name Badezimmer
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_2_coordinates
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_2_id 1
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_2_name Küche
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_3_coordinates
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_3_id 2
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_3_name Flur
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_4_coordinates
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_4_id 3
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_4_name Wohnzimmer
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_5_coordinates
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_5_id 4
setstate ecovacs2mqtt 2026-08-25 13:30:55 roomsRooms_5_name Lagerraum
setstate ecovacs2mqtt 2026-08-25 13:58:55 serviceState online
setstate ecovacs2mqtt 2026-08-25 13:58:55 sets devices,discover,requestVerification,rooms,verifyCode
setstate ecovacs2mqtt 2026-08-25 15:01:45 state docked
setstate ecovacs2mqtt 2026-08-25 14:27:29 station idle
setstate ecovacs2mqtt 2026-08-25 15:01:31 statsArea 3
setstate ecovacs2mqtt 2026-08-25 15:01:31 statsTime 60
setstate ecovacs2mqtt 2026-08-25 15:01:31 statsType auto
setstate ecovacs2mqtt 2026-08-25 13:30:54 status 1
setstate ecovacs2mqtt 2026-08-25 13:59:06 subscriptions ecovacs/+/charge ecovacs/+/clean ecovacs/+/cleanArea ecovacs/+/custom ecovacs/+/dock ecovacs/+/locate ecovacs/+/pause ecovacs/+/refresh ecovacs/+/resume ecovacs/+/setAdvancedMode ecovacs/+/setBorderSwitch ecovacs/+/setChildLock ecovacs/+/setCutDirection ecovacs/+/setFanSpeed ecovacs/+/setSafeProtect ecovacs/+/setTrueDetect ecovacs/+/setVolume ecovacs/+/setWaterAmount ecovacs/+/setWorkMode ecovacs/+/start ecovacs/+/stationAction ecovacs/+/stop ecovacs/_bridge/devices ecovacs/_bridge/discover ecovacs/_bridge/requestVerification ecovacs/_bridge/rooms ecovacs/_bridge/verifyCode
setstate ecovacs2mqtt 2026-08-25 13:30:54 supported true
setstate ecovacs2mqtt 2026-08-25 13:58:55 supportedDeviceCount 1
setstate ecovacs2mqtt 2026-08-25 13:30:56 sweepMode false
setstate ecovacs2mqtt 2026-08-25 15:00:30 totalStatsArea 4547
setstate ecovacs2mqtt 2026-08-25 15:00:30 totalStatsCleanings 271
setstate ecovacs2mqtt 2026-08-25 15:00:30 totalStatsTime 439200
setstate ecovacs2mqtt 2026-08-25 13:30:56 trueDetect true
setstate ecovacs2mqtt 2026-08-25 13:58:55 version 0.2.2
setstate ecovacs2mqtt 2026-08-25 13:30:56 voiceAssistantState true
setstate ecovacs2mqtt 2026-08-25 13:30:56 volumeMaximum 10
setstate ecovacs2mqtt 2026-08-25 13:30:56 volumeVolume 5
setstate ecovacs2mqtt 2026-08-25 13:30:56 waterCustomAmount 30
setstate ecovacs2mqtt 2026-08-25 14:49:15 workMode 1


Gerne stehe ich auch für Tests zur Verfügung, falls nötig.

Viele Grüße,
Peter
MQTT,Modbus,HTTPMod,DbLog,LaCrosse,SolarForecast,TelegramBot,Twilight,vitoconnect,withings
fhem,fhempy,debmatic
Debian
RaspberryPi5,HomeMatic,HomeMaticIP,Shelly,JeeLink,SignalDuino,ZWDongle,SONOS,alexa,Hue,tradfri,MobileAlerts,Siemens Home Connect,Roborock S50,Wallbox,Harmony,Tuya Smartlife