Deebot Slim 2 - Integration möglich!

Begonnen von retikulum, 02 August 2018, 12:05:11

Vorheriges Thema - Nächstes Thema

KölnSolar

kannst Du mal testen, ob das an Mindestinformationen bei einem einfachen getrequest reicht.
attr Ozmo950 getList Battery:noarg BatteryState iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/2001/j {}reading getBattery_p müsste sich (zumindest der timestamp) ändern, wenn Du get Ozmo950 Battery ausführst.
RPi3/2 buster/stretch-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)-zigbee2mqtt

schwatter

#76
Es kommt zwar wie erwartet ein Timeout, aber es wird aktualisiert.

attr Ozmo950 getList Battery:noArg BatteryState iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/2001/j {}

2020-06-11 17:02:49   getBattery_p    {"header":{"pri":1,"tzm":480,"ts":"1591887765751","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"value":100,"isLow":0}}}
2020-06-11 17:02:49   getBattery_q    {}

KölnSolar

prima, dann schieb ich Dir gleich mal einen 1. vollständigen Draft rein.
RPi3/2 buster/stretch-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)-zigbee2mqtt

KölnSolar

attr Ozmo950 devicetopic bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
attr Ozmo950 jsonMap header_pri:0 header_tzm:0 header_ts:0 header_ver:Version header_fwVer:Firmware header_hwVer:Hardware body_data_value:BatteryState body_data_isLow:0 body_data_isCharging:Charging body_data_mode:0 body_data_trigger:Trigger body_data_state:0 body_data_speed:Speed body_data_area:CleaningArea body_data_time:0 body_data_cid:0 body_data_start:LastStart body_data_type:CleaningMode body_data_code:Systemcode body_data_left:Lifetime body_data_left:Lifetime_total body_data_enable:SleepState body_data_amount:Water

attr Ozmo950 readingList \$SYS/broker/version:.* version\
\$SYS/#:.* BrokerMessage\
\x5c\x24SYS/broker/version:.* version
iot/atr/onPos/$DEVICETOPIC/j:.* onPos
iot/atr/onMapTrace/$DEVICETOPIC/j:.* onMapTrace
iot/atr/onMajorMap/$DEVICETOPIC/j:.* onMajorMap
iot/atr/onMinorMap/$DEVICETOPIC/j:.* onMinorMap
iot/atr/onStats/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onBattery/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onCachedMapInfo/$DEVICETOPIC/j:.* onCachedMapInfo
iot/atr/onSched/$DEVICETOPIC/j:.* onSched
iot/atr/onMapState/$DEVICETOPIC/j:.* onMapState
iot/atr/reportStats/$DEVICETOPIC/j:.* reportStats
iot/atr/reportPos/$DEVICETOPIC/j:.* reportPos
iot/atr/reportMajorMap/$DEVICETOPIC/j:.* reportMajorMap
iot/atr/reportMinorMap/$DEVICETOPIC/j:.* reportMinorMap
iot/atr/reportMapTrace/$DEVICETOPIC/j:.* reportMapTrace
iot/atr/onSpeed/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onCleanInfo/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onChargeState/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onRelocationState/$DEVICETOPIC/j:.* onRelocationState
iot/atr/onEvt/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/[^/]+/helperbot/bumper/helperbot/$DEVICETOPIC/q/[^/]+/j:.* LastRequest
iot/p2p/[^/]+/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* LastResponse
iot/p2p/getAdvancedMode/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getAdvancedMode_p
iot/p2p/getBattery/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getBlock/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getBlock_p
iot/p2p/getBreakPoint/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getBreakPoint_p
iot/p2p/getCachedMapInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getCachedMapInfo_p
iot/p2p/getChargeState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getCleanInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getError/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getLifeSpan/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getMajorMap/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMajorMap_p
iot/p2p/getMapSet/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapSet_p
iot/p2p/getMapState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapState_p
iot/p2p/getMapSubSet/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapSubSet_p
iot/p2p/getMapTrace/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapTrace_p
iot/p2p/getMinorMap/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMinorMap_p
iot/p2p/getPos/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getPos_p
iot/p2p/getRelocationState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getRelocationState_p
iot/p2p/getSched/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getSched_p
iot/p2p/getSleep/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getStats/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getStats_p
iot/p2p/getWaterInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getSpeed/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }

attr Ozmo950 setList Cleaning:auto,border,spot,stop,pause,resume iot/p2p/clean/helperbot/bumper/helperbot/$DEVICETOPIC/q/1001/j {"body": {"data": {"act": "$EVTPART1", "type": "auto"}}}
Charging:noArg iot/p2p/charge/helperbot/bumper/helperbot/$DEVICETOPIC/q/1002/j {"body": {"data": {"act": "go"}}}
speed:strong,standard,quiet,max iot/p2p/setCleanSpeed/helperbot/bumper/helperbot/$DEVICETOPIC/q/1003/j {"body": {"data": {"act": "$EVTPART1"}}}
beep:noArg iot/p2p/PlaySound/helperbot/bumper/helperbot/$DEVICETOPIC/q/1004/j {}

attr Ozmo950 getList Battery:noArg BatteryState iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/2001/j {}
Charging:noArg Charging iot/p2p/getChargeState/helperbot/bumper/helperbot/$DEVICETOPIC/q/2002/j {}
Cleaning:noArg CleaningState iot/p2p/getCleanInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/2003/j {}
Speed:noArg iot/p2p/getCleanSpeed/helperbot/bumper/helperbot/$DEVICETOPIC/q/2004/j {}
Error:noArg Error iot/p2p/getError/helperbot/bumper/helperbot/$DEVICETOPIC/q/2005/j {}
LifeSpan:noArg LifeSpan iot/p2p/getLifeSpan/helperbot/bumper/helperbot/$DEVICETOPIC/q/2006/j {"body": {"data": ["brush", "sideBrush", "heap"]}
Schedule:noArg getSched_p iot/p2p/getSched/helperbot/bumper/helperbot/$DEVICETOPIC/q/2007/j {}
Sleep:noArg SleepState iot/p2p/getSleep/helperbot/bumper/helperbot/$DEVICETOPIC/q/2008/j {}
Statistic:noArg getStats_p iot/p2p/getStats/helperbot/bumper/helperbot/$DEVICETOPIC/q/2009+/j {}
Water:noArg Water iot/p2p/getWaterInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/2010/j {}

Ich hoffe es sind nicht viele Fehler. :-\ :-[ Ist langsam arg unübersichtlich.

ZitatEs kommt zwar wie erwartet ein Timeout
Ja, der kommt immer, wenn der 2.Parameter des Befehls nicht mit einem reading der readingList matched. Da muss man dann am Ende gucken, wie man das in den Griff bekommt. :(

Ziel ist nun, dass alle requests in LastRequest landen. Ebenso die responses in LastResponse. Diese zusätzlich bei allen (vorerst) uninteressanten Befehlen aus der App in ..._p-readings. Die interessanten sollen zusätzlich konkrete readings befüllen. Das wird nicht komplett richtig funktionieren, weil sich manche readings(Variablenname aus dem Json) überschneiden. Ähnlich werden sich vor allen Dingen die sets falsch verhalten. Insbesondere beim Cleaning ist mir noch nicht klar, wie wir Befehle auto,spot,border gg. stop,pause,resume abgrenzen müssen.

Wenn autocreate etwas in readingList ablegt, dann hab ich das nicht bzw. noch falsch berücksichtigt. Ebenso sollten keine body_..../header_readings mehr auftauchen.

Have fun
RPi3/2 buster/stretch-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)-zigbee2mqtt

schwatter

Super, teste gleich. Kurze Frage zu autocreate. Das habe ich im MQTT2_DEVICE Ozmo950 deaktiviert.
Da sonst die readingList stetig erweitert wird. Und dann wieder nicht formatierte Readings auftauchen.
Würde ich dann aus lassen. Oder bestehst du auf autocreate 1?

KölnSolar

Kannst es ja erst einmal aus lassen, um Übersicht zu haben. Irgendwann wieder einschalten, da so Fehler aufgedeckt werden. Wir sind dann fertig, wenn weder in der readinglist neue Einträge, noch unformatierte readings auftauchen.
RPi3/2 buster/stretch-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)-zigbee2mqtt

schwatter

#81
Ok, ich schaue.

Zum Thema Spot. Das sieht so aus.

variable=PublishVariableHeader(topic=iot/atr/onStats/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j, packet_id=None), payload=PublishPayload(data='bytearray(b\'{"header":{"pri":1,"tzm":480,"ts":"1591904199527","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"area":1,"time":10,"cid":"111","start":"1591904189","type":"spotArea","content":"0,2"}}}

Area gibt den Spot an. Ich habe gerade 3 = 0,1,2. Also in Etwa so, klappt aber noch nicht

spotAreaCleaning:0,1,2 iot/p2p/clean/helperbot/bumper/helperbot/$DEVICETOPIC/q/1002/j {"body": {"data":{"area":$EVTPART1,"time":10,"cid":"111","start":"1591904189","type":"spotArea","content":"0,2"}}}

Frage zu der Zahl 1002. Die habe ich jetzt vergeben, da deine fortlaufend sind. Ist die frei oder sind die vererbt im subscribe?

edit:

Ja die Zahl, da brauch ich eine Erklärung dazu. Da sie wichtig ist.

playSound funktionert nicht, playSound1 funktioniert.
playSound:noArg iot/p2p/PlaySound/helperbot/bumper/helperbot/$DEVICETOPIC/q/1005/j {"body": {"data": {"count": 1, "sid": 30}}}
playSound1:noArg iot/p2p/playSound/helperbot/bumper/helperbot/$DEVICETOPIC/q/srtF/j {"body": {"data": {"count": 1, "sid": 30}}}


Audioausgabe ist "Ich bin hier".



KölnSolar

#82
ZitatIst die frei oder sind die vererbt im subscribe?
Die sind grundsätzlich frei. Wird beim request gesetzt und kommt dann bei der response zurück. Dient eigentlich der eindeutigen Zuordnung von response zu request. Meines Erachtens irrelevant. Ich hab die bewusst numerisch als zusätzliche Kennzeichnung gemacht. Liest sich irgendwie einfacher.

ZitatArea gibt den Spot an. Ich habe gerade 3 = 0,1,2.
Ich seh schon, ist dann doch alles ne nummer komplizierter als bei mir. Meiner kennt keine Areas. Ich muss ihn wie einen Hund zur area tragen u. dann starte ich spot-cleaning.  ;D Die Größe der area kann ich vorher setzen: 1x1, 2x2, 3x2
(Ok, ich trage ihn nicht, mit FHEM fahre ihn hin. Das probieren wir dann am Schluss mit Deinem. Ist wie Spielzeugeisenbahn spielen. Die App kann das nicht. Edit: die Fb natürlich schon. Und besser  :'()
RPi3/2 buster/stretch-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)-zigbee2mqtt

schwatter

Oben Ergänzung zu der Zahl. irgendwie doch wichtig?

schwatter

#84
Also zu der Area. Die hat er Bot gebaut. Wenn ich drauf gehe, ist die Karte in 3 Areas von ihm unterteilt.
Möglich das es noch mehr werden können. je nach Größe.
Ich kann dann eine klicken und die fährt er dann auch automatisch an.
Dann gibt es noch customArea. Da muss man dann in der App den Bereich markieren auf der Karte.
Durch ziehen mit dem Finger bildet sich dann eine Area. X,Y egal.

KölnSolar

Zitatirgendwie doch wichtig?
Ähmmm
ZitatDie sind grundsätzlich frei. Wird beim request gesetzt und kommt dann bei der response zurück. Dient eigentlich der eindeutigen Zuordnung von response zu request. Meines Erachtens irrelevant. Ich hab die bewusst numerisch als zusätzliche Kennzeichnung gemacht. Liest sich irgendwie einfacher.
RPi3/2 buster/stretch-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)-zigbee2mqtt

schwatter

okey......es geht....GroßkleinSchreibung  ::)

Abends werden die Augen immer kleiner... :) also ja, dann stimmt frei
playSound:noArg iot/p2p/playSound/helperbot/bumper/helperbot/$DEVICETOPIC/q/1005/j {"body": {"data": {"count": 1, "sid": 30}}}

schwatter

So, optimierte setList.

spotArea funktioniert gut. Man könnte auch mehrere Spots kombinieren über "content". Ich habe erstmal feste Zahlen gesetzt.
{"body": {"data": {"act": "start", "content": "0,1,2", "type": "spotArea"}}}

customArea, würde vorschlagen, lassen wir weg.

Internals:
   CFGFN     
   CID        fhemuser_bumper_GLBbe7d18eG9
   DEF        fhemuser_bumper_GLBbe7d18eG9
   DEVICETOPIC bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   FUUID      5edff09c-f33f-86cf-6be4-109fdc00d79bf438
   IODev      myEcovacsClient
   LASTInputDev myEcovacsClient
   MSGCNT     9152
   NAME       Ozmo950
   NR         430
   STATE      ActualStatus: {"body": {"data": {"act": "go"}}}
   TYPE       MQTT2_DEVICE
   myEcovacsClient_MSGCNT 9152
   myEcovacsClient_TIME 2020-06-12 12:43:44
   JSONMAP:
     body_data_amount Water
     body_data_area CleaningArea
     body_data_cid 0
     body_data_code Systemcode
     body_data_enable SleepState
     body_data_isCharging Charging
     body_data_isLow 0
     body_data_left Lifetime_total
     body_data_mode 0
     body_data_speed Speed
     body_data_start LastStart
     body_data_state 0
     body_data_time 0
     body_data_trigger Trigger
     body_data_type CleaningMode
     body_data_value BatteryState
     header_fwVer Firmware
     header_hwVer Hardware
     header_pri 0
     header_ts  0
     header_tzm 0
     header_ver Version
   OLDREADINGS:
   READINGS:
     2020-06-12 12:41:32   BatteryState    99
     2020-06-12 12:43:43   Charging        1
     2020-06-12 12:41:41   CleaningArea    1
     2020-06-12 12:41:41   CleaningMode    spotArea
     2020-06-12 12:43:44   Firmware        1.7.9
     2020-06-12 12:43:44   Hardware        0.1.1
     2020-06-12 12:42:56   LastRequest     {"body": {"data": {"act": "go"}}}
     2020-06-12 12:42:57   LastResponse    {"header":{"pri":1,"tzm":480,"ts":"1591958573547","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok"}}
     2020-06-12 12:41:41   LastStart       1591958443
     2020-06-12 12:43:44   Speed           0
     2020-06-12 12:43:44   Trigger         app
     2020-06-12 12:43:44   Version         0.0.1
     2020-06-12 12:41:55   body_data_cid   1468221942
     2020-06-12 12:40:52   body_data_cleanState_content 2
     2020-06-12 12:40:52   body_data_cleanState_id 122
     2020-06-12 12:40:52   body_data_cleanState_motionState working
     2020-06-12 12:40:52   body_data_cleanState_router plan
     2020-06-12 12:40:52   body_data_cleanState_type spotArea
     2020-06-12 12:41:41   body_data_content 2
     2020-06-12 12:41:55   body_data_mssid 2
     2020-06-12 12:41:55   body_data_saOrder
     2020-06-12 12:41:55   body_data_subType 0
     2020-06-12 12:41:55   body_data_type  ar
     2020-06-12 12:41:55   body_data_value 5400,-2000;5450,-100;5600,150;5750,200;6550,150;6400,0;6300,-300;6300,-3050;6100,-3150;5950,-3000;5650,-2900;5450,-2050;5400,-2000
     2020-06-12 12:41:55   header_fwVer    1.7.9
     2020-06-12 12:41:55   header_hwVer    0.1.1
     2020-06-12 12:41:55   header_pri      1
     2020-06-12 12:41:55   header_ts       1591958511422
     2020-06-12 12:41:55   header_tzm      480
     2020-06-12 12:41:55   header_ver      0.0.1
     2020-06-12 12:43:43   onMajorMap      {"header":{"pri":1,"tzm":480,"ts":"1591958620369","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50,"value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,229369830,4234561734,1295764014,1295764014,1295764014,1295764014,1295764014,4265112824,3773122295,4032897944,1295764014,1295764014,1295764014,1295764014,1295764014,1814140792,2014408815,2860435665,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
     2020-06-12 12:41:55   onMapTrace      {"header":{"pri":1,"tzm":480,"ts":"1591958511374","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"151438","totalCount":113,"traceStart":110,"pointCount":3,"traceValue":"XQAABAAPAAAAACkAgy4kBZUwIDxs0+EQAIpHAA=="}}}
     2020-06-12 12:43:44   onMinorMap      {"header":{"pri":1,"tzm":480,"ts":"1591958620372","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":36,"pieceValue":"XQAABAAQJwAAAADr/JAPiKYid/UhxbsNr0+4I5Awja7FsNc1CVsu5hDM5pBqiz2XxVRQHIr39d5Vnk56J/DIkIsNM1C9Qch9UpduJ6v7wEwUVoHvsR2pXF31jBAJ1Lgo4/Q/+krmrv1JI/ytSKEunuJUxcG95W/LduWSM4YGW6qks0wBkNzxMA87KqgkVdXbbiyHWEDLoMpnuq/wEoUyLK82fKM7Wpl8yU3d/bGBVBHU/4v5RskiAd6SleRU4c9LnrBeNFarsVA5TVpIp4BWBIuK10rBSukw+Q1jhPTLxqGcScD8Vb//lcEA2/XyogYJpJoClkDsG0xcTKDqDhgkuf8vNIW/yfyRAwmEagF0zg2uI7ciPKceuYxOehxCml91MUfkEEvZEa5lG6WK0KdFx5noQk8WaDplc/ip+cQbGlFeToCzTvLpVOuKi4TxGzZPjR5W0F3RB92dv4o="}}}
     2020-06-12 12:43:40   onPos           {"header":{"pri":1,"tzm":480,"ts":"1591958617374","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"deebotPos":{"x":205,"y":215,"a":82,"invalid":0}}}}
     2020-06-12 12:41:55   reportMajorMap  {"header":{"pri":1,"tzm":480,"ts":"1591958511394","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1468221942","value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3046533663,851547748,1295764014,1295764014,1295764014,1295764014,1295764014,2707922836,1968182298,2300312982,1295764014,1295764014,1295764014,1295764014,1295764014,4079716952,707369540,2019465932,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50}}}
     2020-06-12 12:41:55   reportMapTrace  {"header":{"pri":1,"tzm":480,"ts":"1591958511421","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1468221942","tid":"151438","totalCount":113,"traceStart":0,"pointCount":113,"traceValue":"XQAABAA1AgAAACu/wMAERV7XhR2hmxrJeIFeMTY2zdBDNmX8ROLE40p6uDoU7K5vRZ8JSoOJDbeGGxfZ1neVdDkfIJTmhY7+GgpBKfpqAIzuCla3IUMBPsxVBN7D1U4Scc3Pt4GzC3/uB6zD6lhkuHFguu8v1eNvOwFc2auPGGKKQiGrkBhE3g91Rz6UovqTlVzQ54nHQwM0j8P5+UmVRCHR3Ukup2oLp3DQ4hdQby9yIKiYhyPLSVqRswBT7ok38hncbg3UIu4ViFLIkN/YrvmhLK6krdlsOHVFgMjNN26tWbeaflSV4Y7I6e7RwebWH2BIMLQCxlFZJv3Tr8S6R0AcCvwu9o64Yx0eh8Xuh/sUEUZqlK/QXVynu80yOPhkebiyhHxdOg7tm5xO8rOOvhtS7ngcn1AAKgkIHoitxNIuewuYvriZdmd8UcQS/pP+fct8id2MFC3gWBPHxcJV6u+xOcwPYcvBK6uxIUhUtsUTc9ID/3b9PRSBVg=="}}}
     2020-06-12 12:41:55   reportMinorMap  {"header":{"pri":1,"tzm":480,"ts":"1591958511406","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1468221942","pieceIndex":44,"pieceValue":"XQAABAAQJwAAAADn/IIPLMU8VPh/ykiO9Xcz6ugDG7m8BAMjXhuwhDg3L5MjHvLK1laWSf5aiyRX2XjGqP8+FJFpi/YYM885p04IdIGUMywA4l/nbwhttHhdiPcfKsdAJd/zXwXqhEV4gnMBWuSXh7aAlANFQwg68FkT3gEHFxaWYtKt44PywLKOIJ3B5NrG9A=="}}}
     2020-06-12 12:41:55   reportPos       {"header":{"pri":1,"tzm":480,"ts":"1591958511392","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1468221942","chargePos":[{"x":217,"y":311,"a":-100}],"deebotPos":{"x":6083,"y":-2016,"a":-2}}}}
     2020-06-12 12:41:55   reportStats     {"header":{"pri":1,"tzm":480,"ts":"1591958511389","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1468221942","type":"spotArea","stop":1,"mapCount":8,"area":1,"time":69,"start":"1591958443","content":"2","stopReason":2}}}
     2020-06-12 12:42:56   state           03_Charging
Attributes:
   IODev      myEcovacsClient
   autocreate 1
   devicetopic bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   getList    Battery:noArg BatteryState iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/2001/j {}
Charging:noArg Charging iot/p2p/getChargeState/helperbot/bumper/helperbot/$DEVICETOPIC/q/2002/j {}
Cleaning:noArg CleaningState iot/p2p/getCleanInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/2003/j {}
Speed1:noArg iot/p2p/setSpeed/helperbot/bumper/helperbot/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/q/TUfV/j {}
Speed:noArg iot/p2p/getSpeed/$DEVICETOPIC/helperbot/bumper/helperbot/g/2004/j {}
Error:noArg Error iot/p2p/getError/helperbot/bumper/helperbot/$DEVICETOPIC/q/2005/j {}
LifeSpan:noArg LifeSpan iot/p2p/getLifeSpan/helperbot/bumper/helperbot/$DEVICETOPIC/q/2006/j {"body": {"data": ["brush", "sideBrush", "heap"]}
Schedule:noArg getSched_p iot/p2p/getSched/helperbot/bumper/helperbot/$DEVICETOPIC/q/2007/j {}
Sleep:noArg SleepState iot/p2p/getSleep/helperbot/bumper/helperbot/$DEVICETOPIC/q/2008/j {}
Statistic:noArg getStats_p iot/p2p/getStats/helperbot/bumper/helperbot/$DEVICETOPIC/q/2009+/j {}
Water:noArg Water iot/p2p/getWaterInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/2010/j {}


   icon       Botvac_VR200
   jsonMap    header_pri:0 header_tzm:0 header_ts:0 header_ver:Version header_fwVer:Firmware header_hwVer:Hardware body_data_value:BatteryState body_data_isLow:0 body_data_isCharging:Charging body_data_mode:0 body_data_trigger:Trigger body_data_state:0 body_data_speed:Speed body_data_area:CleaningArea body_data_time:0 body_data_cid:0 body_data_start:LastStart body_data_type:CleaningMode body_data_code:Systemcode body_data_left:Lifetime body_data_left:Lifetime_total body_data_enable:SleepState body_data_amount:Water
   readingList \$SYS/broker/version:.* version
\$SYS/#:.* BrokerMessage
\x5c\x24SYS/broker/version:.* version
iot/atr/onPos/$DEVICETOPIC/j:.* onPos
iot/atr/onMapTrace/$DEVICETOPIC/j:.* onMapTrace
iot/atr/onMajorMap/$DEVICETOPIC/j:.* onMajorMap
iot/atr/onMinorMap/$DEVICETOPIC/j:.* onMinorMap
iot/atr/onStats/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onBattery/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onCachedMapInfo/$DEVICETOPIC/j:.* onCachedMapInfo
iot/atr/onSched/$DEVICETOPIC/j:.* onSched
iot/atr/onMapState/$DEVICETOPIC/j:.* onMapState
iot/atr/reportStats/$DEVICETOPIC/j:.* reportStats
iot/atr/reportPos/$DEVICETOPIC/j:.* reportPos
iot/atr/reportMajorMap/$DEVICETOPIC/j:.* reportMajorMap
iot/atr/reportMinorMap/$DEVICETOPIC/j:.* reportMinorMap
iot/atr/reportMapTrace/$DEVICETOPIC/j:.* reportMapTrace
iot/atr/onSpeed/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onCleanInfo/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onChargeState/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onRelocationState/$DEVICETOPIC/j:.* onRelocationState
iot/atr/onEvt/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/[^/]+/helperbot/bumper/helperbot/$DEVICETOPIC/q/[^/]+/j:.* LastRequest
iot/p2p/[^/]+/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* LastResponse
iot/p2p/getAdvancedMode/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getAdvancedMode_p
iot/p2p/getBattery/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getBlock/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getBlock_p
iot/p2p/getBreakPoint/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getBreakPoint_p
iot/p2p/getCachedMapInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getCachedMapInfo_p
iot/p2p/getChargeState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getCleanInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getError/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getLifeSpan/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getMajorMap/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMajorMap_p
iot/p2p/getMapSet/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapSet_p
iot/p2p/getMapState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapState_p
iot/p2p/getMapSubSet/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapSubSet_p
iot/p2p/getMapTrace/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapTrace_p
iot/p2p/getMinorMap/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMinorMap_p
iot/p2p/getPos/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getPos_p
iot/p2p/getRelocationState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getRelocationState_p
iot/p2p/getSched/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getSched_p
iot/p2p/getSleep/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getStats/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getStats_p
iot/p2p/getWaterInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getSpeed/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
fhemuser_bumper_GLBbe7d18eG9:iot/atr/reportMapSubSet/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
   room       Saugroboter
   setList    01_CleaningAuto:start,stop iot/p2p/clean/helperbot/bumper/helperbot/$DEVICETOPIC/q/1001/j {"body": {"data": {"act": "$EVTPART1", "type": "auto"}}}
02_CleaningSpot:0,1,2 iot/p2p/clean/helperbot/bumper/helperbot/$DEVICETOPIC/q/1002/j {"body": {"data": {"act": "start", "content": "$EVTPART1", "type": "spotArea"}}}
03_Charging:noArg iot/p2p/charge/helperbot/bumper/helperbot/$DEVICETOPIC/q/1003/j {"body": {"data": {"act": "go"}}}
04_Speed:1000,0,1,2 iot/p2p/setSpeed/helperbot/bumper/helperbot/$DEVICETOPIC/q/1004/j {"body": {"data": {"speed": $EVTPART1}}}
05_SetWater:1,2,3,4 iot/p2p/setWaterInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/1005/j {"body": {"data": {"amount": $EVTPART1, "enable": 0}}}
06_PlaySound:noArg iot/p2p/playSound/helperbot/bumper/helperbot/$DEVICETOPIC/q/1006/j {"body": {"data": {"count": 1, "sid": 30}}}
   stateFormat ActualStatus: LastRequest

KölnSolar

die gets hast Du aber jetzt noch gar nicht ausprobiert, oder ? Mich wundern die body-,header-readings. Z.B. ist body_data_cid über die Jsonmap ausgeschlossen u.  body_data_type müsste in einem reading CleaningMode erscheinen. War attr Jsonmap um 12:40/12:41 nicht gesetzt ?
RPi3/2 buster/stretch-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)-zigbee2mqtt

schwatter

#89
Die gets hatte ich kurz durch. Nicht alle funktinonieren. Hier jetzt im Detail.

gelist
Battery = BatteryState 100
Charging = Charging 1
Cleaning = Timeout...
Error = Timeout
LifeSpan = Timeout
Schedule = etSched_p {"header":{"pri":1,"tzm":480,"ts":"1591979602645","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":[]}}
Sleep = SleepState 1
Speed = Timeout reading answer for HASH(0x4828788)
Statistic = Timeout...
Water = Water 4


edit:
setList erweitert.

Internals:
   CFGFN     
   CID        fhemuser_bumper_GLBbe7d18eG9
   DEF        fhemuser_bumper_GLBbe7d18eG9
   DEVICETOPIC bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   FUUID      5edff09c-f33f-86cf-6be4-109fdc00d79bf438
   IODev      myEcovacsClient
   LASTInputDev myEcovacsClient
   MSGCNT     14733
   NAME       Ozmo950
   NR         430
   STATE      ActualStatus: {"body": {"data": {"total": 10, "volume": 10}}, "header": {"tzm": 120}}
   TYPE       MQTT2_DEVICE
   myEcovacsClient_MSGCNT 14733
   myEcovacsClient_TIME 2020-06-12 18:04:51
   JSONMAP:
     body_data_amount Water
     body_data_area CleaningArea
     body_data_cid 0
     body_data_code Systemcode
     body_data_enable SleepState
     body_data_isCharging Charging
     body_data_isLow 0
     body_data_left Lifetime_total
     body_data_mode 0
     body_data_speed Speed
     body_data_start LastStart
     body_data_state 0
     body_data_time 0
     body_data_trigger Trigger
     body_data_type CleaningMode
     body_data_value BatteryState
     header_fwVer Firmware
     header_hwVer Hardware
     header_pri 0
     header_ts  0
     header_tzm 0
     header_ver Version
   OLDREADINGS:
   READINGS:
     2020-06-12 17:48:05   BatteryState    100
     2020-06-12 17:48:10   Charging        1
     2020-06-12 13:23:24   CleaningArea    20
     2020-06-12 13:23:24   CleaningMode    spotArea
     2020-06-12 17:48:53   Firmware        1.7.9
     2020-06-12 17:48:53   Hardware        0.1.1
     2020-06-12 18:04:51   LastRequest     {"body": {"data": {"total": 10, "volume": 10}}, "header": {"tzm": 120}}
     2020-06-12 18:04:51   LastResponse    {"header":{"pri":1,"tzm":480,"ts":"1591977888274","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok"}}
     2020-06-12 13:23:24   LastStart       1591960002
     2020-06-12 17:48:53   SleepState      0
     2020-06-12 17:48:53   Speed           0
     2020-06-12 13:24:15   Systemcode      1021
     2020-06-12 17:48:09   Trigger         app
     2020-06-12 17:48:53   Version         0.0.1
     2020-06-12 17:48:53   Water           4
     2020-06-12 17:48:53   body_code       0
     2020-06-12 17:48:07   body_data_1_left 8511
     2020-06-12 17:48:07   body_data_1_total 9000
     2020-06-12 17:48:07   body_data_1_type sideBrush
     2020-06-12 17:48:07   body_data_2_left 17555
     2020-06-12 17:48:07   body_data_2_total 18000
     2020-06-12 17:48:07   body_data_2_type brush
     2020-06-12 17:48:07   body_data_3_left 6755
     2020-06-12 17:48:07   body_data_3_total 7200
     2020-06-12 17:48:07   body_data_3_type heap
     2020-06-12 13:24:15   body_data_cid   53069793
     2020-06-12 13:06:52   body_data_cleanState_content 1
     2020-06-12 13:06:52   body_data_cleanState_id 122
     2020-06-12 13:06:52   body_data_cleanState_motionState working
     2020-06-12 13:06:52   body_data_cleanState_router plan
     2020-06-12 13:06:52   body_data_cleanState_type spotArea
     2020-06-12 13:23:24   body_data_content 1
     2020-06-12 13:24:15   body_data_mssid 1
     2020-06-12 13:24:15   body_data_saOrder 1
     2020-06-12 13:24:15   body_data_subType 0
     2020-06-12 13:24:15   body_data_type  ar
     2020-06-12 13:24:15   body_data_value 300,-2000;300,-1800;650,-750;1100,-700;1250,-550;1300,-300;1500,-300;1600,-150;1800,-150;1900,0;2250,-50;2400,100;2300,250;2200,200;2250,400;2450,350;2450,-100;2600,-250;2750,0;3750,-50;4000,-400;4400,-400;4250,-400;4100,-600;3950,-600;3800,-750;3800,-1250;3900,-1350;4200,-1300;4300,-1400;4450,-1400;4550,-1600;4700,-1600;4650,-1700;4800,-1850;5100,-1800;5200,-1600;5500,-2750;5650,-3000;5400,-3200;5500,-3350;5200,-3450;5200,-4300;5400,-4450;5750,-4450;5750,-5600;4800,-5600;4700,-5450;4400,-5800;4400,-6100;4300,-5700;3900,-5700;3750,-5950;3750,-6250;3700,-6200;3100,-6250;2950,-6550;2550,-6500;2550,-3650;2450,-3550;2450,-3400;2550,-3450;2550,-3950;2700,-4100;2900,-4100;3050,-3950;3050,-3500;2900,-3350;3100,-3200;3150,-2900;2950,-2700;2700,-2950;2250,-2950;2150,-2400;800,-2350;500,-2150;350,-2150;300,-2000
     2020-06-12 17:48:53   body_msg        ok
     2020-06-12 17:48:53   getAdvancedMode_p {"header":{"pri":1,"tzm":480,"ts":"1591976929430","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"enable":1}}}
     2020-06-12 17:48:53   getBlock_p      {"header":{"pri":1,"tzm":480,"ts":"1591976929616","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"enable":1,"start":"21:0","end":"7:0"}}}
     2020-06-12 17:48:53   getBreakPoint_p {"header":{"pri":1,"tzm":480,"ts":"1591976929598","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"enable":1},"code":0,"msg":"ok"}}
     2020-06-12 17:48:07   getCachedMapInfo_p {"header":{"pri":1,"tzm":480,"ts":"1591976883362","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"enable":0,"info":[{"mid":"409307405","index":2,"status":0,"using":1,"built":1,"name":""}]}}}
     2020-06-12 17:48:07   getMajorMap_p   {"header":{"pri":1,"tzm":480,"ts":"1591976883512","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"mid":"409307405","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50,"value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1952812461,3807156320,1295764014,1295764014,1295764014,1295764014,1295764014,4027665616,3574850270,2438907905,1295764014,1295764014,1295764014,1295764014,1295764014,596305144,1146047133,2523234380,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014"}}}
     2020-06-12 17:48:09   getMapSet_p     {"header":{"pri":1,"tzm":480,"ts":"1591976885784","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"type":"mw","count":0,"mid":"409307405","subsets":[]}}}
     2020-06-12 17:48:05   getMapState_p   {"header":{"pri":1,"tzm":480,"ts":"1591976881786","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"state":"built"}}}
     2020-06-12 17:48:10   getMapSubSet_p  {"header":{"pri":1,"tzm":480,"ts":"1591976886567","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"type":"ar","mssid":"2","value":"5400,-2000;5450,-100;5600,150;5750,200;6550,150;6400,0;6300,-300;6300,-3050;6100,-3150;5950,-3000;5650,-2900;5450,-2050;5400,-2000","subtype":"0","connections":"1","mid":"409307405"}}}
     2020-06-12 17:48:11   getMapTrace_p   {"header":{"pri":1,"tzm":480,"ts":"1591976887808","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"tid":"315795","totalCount":1280,"traceStart":1200,"pointCount":80,"traceValue":"XQAABACQAQAAABmAhCo2HMY81PAwrlDLtCQFasittmFi/7aOGbWvXsEhsGzU0UzLqugvO+72clySO0bkhewZ5G9DZITbFX6zut0jI5jfMIdNnCc2a76uhTEmPZywTUCbgWe7m7gvhEzVIZoMPspwyCDy9Ffniohw0Sx3csX++PrDzAyiP38HR+tS6VMdmFh5MGt3Tt+5nWXSca9kv3DUdLmS5umkAqus0e5xVTuPhnqBM52g+PpZG1XuBe+tkhCd32obpdX1lynNm8iq5xJxL3DOecMoo88FycE3Dmmn5n8wOvGW5H0oczGdG0I+AODGXdRfnNpEwQ=="}}}
     2020-06-12 17:48:08   getMinorMap_p   {"header":{"pri":1,"tzm":480,"ts":"1591976885090","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"mid":"409307405","pieceIndex":44,"pieceValue":"XQAABAAQJwAAAADn/IIPLMU8VPh/ykiO9Xcz6ugDJueDrVOUyauBofqGxDw3yVnrXvSgyqA+TrGI01ksnKuZeOWTsdI0VIn0UNkL/5o21AiJ+LF9PJPRtXsr5TqPblch0F3DCI6YcHT/ZBaLt+zFK1WAFTz5mV5Hzv4aVuaCHb2HSJJFKYl3mrIpQojeJ/4A","type":"ol"}}}
     2020-06-12 17:48:10   getPos_p        {"header":{"pri":1,"tzm":480,"ts":"1591976886332","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":{"chargePos":[{"x":224,"y":306,"a":-99}],"deebotPos":{"x":224,"y":306,"a":80,"invalid":0}}}}
     2020-06-12 17:48:06   getRelocationState_p {"header":{"pri":1,"tzm":480,"ts":"1591976882697","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":20003,"msg":"device do not support get,temporarily"}}
     2020-06-12 17:48:07   getSched_p      {"header":{"pri":1,"tzm":480,"ts":"1591976883311","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"code":0,"msg":"ok","data":[]}}
     2020-06-12 17:48:05   getStats_p      {"header":{"pri":1,"tzm":480,"ts":"1591976881978","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"area":20,"time":1047,"cid":"111","start":"1591960002","type":"spotArea","content":"1"},"code":0,"msg":"ok"}}
     2020-06-12 13:24:15   header_fwVer    1.7.9
     2020-06-12 13:24:15   header_hwVer    0.1.1
     2020-06-12 13:24:15   header_pri      1
     2020-06-12 13:24:15   header_ts       1591961051442
     2020-06-12 13:24:15   header_tzm      480
     2020-06-12 13:24:15   header_ver      0.0.1
     2020-06-12 13:24:54   onMajorMap      {"header":{"pri":1,"tzm":480,"ts":"1591961091562","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50,"value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1952812461,3807156320,1295764014,1295764014,1295764014,1295764014,1295764014,4027665616,3574850270,2438907905,1295764014,1295764014,1295764014,1295764014,1295764014,596305144,1146047133,2523234380,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
     2020-06-12 13:24:10   onMapTrace      {"header":{"pri":1,"tzm":480,"ts":"1591961048090","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"315795","totalCount":1280,"traceStart":1279,"pointCount":1,"traceValue":"XQAABAAFAAAAAFaAQA5wgAAAAA=="}}}
     2020-06-12 13:24:55   onMinorMap      {"header":{"pri":1,"tzm":480,"ts":"1591961091568","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":35,"pieceValue":"XQAABAAQJwAAAABuPkkBG+yB68V/xnGuynyywX4rrPXMTR7XFMIrN1fOF0NIMA5z7X0wAqBanD3wnt8ApXLJc9R6Tup4VsqeQxsHuEZWNusmsQ6MuBQf0OlRX2QF5zFkJkaxHNVKxrVRDwrdQLAC3N8xbpRnAqGwFas0luqllxqWDDnnC+FAbwWIbECBUuk/0/O70orNibp8+REIzqVNjyy426BQ0+wuKvanGRzwBAQRy4DaND0y7vQYRKsyYaGMJt6MEiRraVvY7A7q8UszGP4nDqg1JWhYGB/1uwvoyRdKA5nw/jjw/ZRUWxPeYeuL26TuF233mnxbosU6TBtfdB25wlwi4W3SaWF02EHL+drFoxqTuXqaoLb0h02UDPCmWqxUSfIm1THyHJ/T20o2cilBv1Y/UZrAWphWp5lS3GRKJ06yX/2d7Y8UEShOYwiGgKmVQ2cEwesTqg02CdeAu2hHbh1c3tojaNtXmkrAW0StoXjwbbEAsbScbO+Ayd4CQb4Qo0vxBMrJej4hotIKODsupTymn1V/1tclEg+goH5h9583xQYHbuSmA7sDyjej8uO+eHxWmg0QIhFXtVr9UdojhK1KZMBWjbtwd7xfdggPGVV6y+iUd9ozVIseyi+8uPnADq3t4jXuqLSIuKArJtOikm/R46chUzNKgAmpgQ/IOacj4SnAqpjsoDdPdiPlIlXl6sVGIdjqr1SYaToUDJ/i/k+coWbBrb75pwnkKCxcgTYh72J1mSnSdIV1KpgdXEWrRmIgUz2e/wJdZDJEXjwFl60fSCfJZVZLzOPBibqTxs5Jw/01QcckNsPsjzsoXXZy3a+GMZ1cGydnmDcADn/JNgSghIdyx9v/AyLa69g0SK7Iq/QB4KBBC/ulgbCxrwxqqP7TPCwRPACIfsmIChnu4LyXUdIJVGxx8kh8Z3OLdR/hnK7hC61pj5+IyACfqolWEbDEgLp8yKCfYeM="}}}
     2020-06-12 13:24:41   onPos           {"header":{"pri":1,"tzm":480,"ts":"1591961078558","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"deebotPos":{"x":183,"y":117,"a":79,"invalid":0}}}}
     2020-06-12 13:24:15   reportMajorMap  {"header":{"pri":1,"tzm":480,"ts":"1591961051272","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"53069793","value":"1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3398908715,461772479,1295764014,1295764014,1295764014,1295764014,1295764014,4125794899,1078559635,2866255765,1295764014,1295764014,1295764014,1295764014,1295764014,596305144,3437646504,2523234380,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","pieceWidth":100,"pieceHeight":100,"cellWidth":8,"cellHeight":8,"pixel":50}}}
     2020-06-12 13:24:15   reportMapTrace  {"header":{"pri":1,"tzm":480,"ts":"1591961051437","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"53069793","tid":"315795","totalCount":1280,"traceStart":1200,"pointCount":80,"traceValue":"XQAABACQAQAAABmAhCo2HMY81PAwrlDLtCQFasittmFi/7aOGbWvXsEhsGzU0UzLqugvO+72clySO0bkhewZ5G9DZITbFX6zut0jI5jfMIdNnCc2a76uhTEmPZywTUCbgWe7m7gvhEzVIZoMPspwyCDy9Ffniohw0Sx3csX++PrDzAyiP38HR+tS6VMdmFh5MGt3Tt+5nWXSca9kv3DUdLmS5umkAqus0e5xVTuPhnqBM52g+PpZG1XuBe+tkhCd32obpdX1lynNm8iq5xJxL3DOecMoo88FycE3Dmmn5n8wOvGW5H0oczGdG0I+AODGXdRfnNpEwQ=="}}}
     2020-06-12 13:24:15   reportMinorMap  {"header":{"pri":1,"tzm":480,"ts":"1591961051284","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"53069793","pieceIndex":44,"pieceValue":"XQAABAAQJwAAAADn/IIPLMU8VPh/ykiO9Xcz6ugDJueDrVOUyauBofqGxDw3yVnrXvSgyqA+TrGI01ksnKuZeOWTsdI0VIn0UNkL/5o21AiJ+LF9PJPRtXsr5TqPblch0F3DCI6YcHT/ZBaLt+zFK1WAFTz5mV5Hzv4aVuaCHb2HSJJFKYl3mrIpQojeJ/4A"}}}
     2020-06-12 13:24:15   reportPos       {"header":{"pri":1,"tzm":480,"ts":"1591961051271","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"53069793","chargePos":[{"x":222,"y":318,"a":-99}],"deebotPos":{"x":4251,"y":-2229,"a":-178}}}}
     2020-06-12 13:24:15   reportStats     {"header":{"pri":1,"tzm":480,"ts":"1591961051268","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"53069793","type":"spotArea","stop":1,"mapCount":8,"area":20,"time":1047,"start":"1591960002","content":"1","stopReason":1}}}
     2020-06-12 18:04:51   state           10_SetVolume
     2020-06-12 17:50:56   version         HBMQTT version 0.9.5
Attributes:
   IODev      myEcovacsClient
   autocreate 1
   devicetopic bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   getList    Battery:noArg BatteryState iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/2001/j {}
Charging:noArg Charging iot/p2p/getChargeState/helperbot/bumper/helperbot/$DEVICETOPIC/q/2002/j {}
Cleaning:noArg CleaningState iot/p2p/getCleanInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/2003/j {}
Speed1:noArg iot/p2p/setSpeed/helperbot/bumper/helperbot/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/q/TUfV/j {}
Speed:noArg iot/p2p/getSpeed/$DEVICETOPIC/helperbot/bumper/helperbot/g/2004/j {}
Error:noArg Error iot/p2p/getError/helperbot/bumper/helperbot/$DEVICETOPIC/q/2005/j {}
LifeSpan:noArg LifeSpan iot/p2p/getLifeSpan/helperbot/bumper/helperbot/$DEVICETOPIC/q/2006/j {"body": {"data": ["brush", "sideBrush", "heap"]}
Schedule:noArg getSched_p iot/p2p/getSched/helperbot/bumper/helperbot/$DEVICETOPIC/q/2007/j {}
Sleep:noArg SleepState iot/p2p/getSleep/helperbot/bumper/helperbot/$DEVICETOPIC/q/2008/j {}
Statistic:noArg getStats_p iot/p2p/getStats/helperbot/bumper/helperbot/$DEVICETOPIC/q/2009+/j {}
Water:noArg Water iot/p2p/getWaterInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/2010/j {}


   icon       Botvac_VR200
   jsonMap    header_pri:0 header_tzm:0 header_ts:0 header_ver:Version header_fwVer:Firmware header_hwVer:Hardware body_data_value:BatteryState body_data_isLow:0 body_data_isCharging:Charging body_data_mode:0 body_data_trigger:Trigger body_data_state:0 body_data_speed:Speed body_data_area:CleaningArea body_data_time:0 body_data_cid:0 body_data_start:LastStart body_data_type:CleaningMode body_data_code:Systemcode body_data_left:Lifetime body_data_left:Lifetime_total body_data_enable:SleepState body_data_amount:Water
   readingList \$SYS/broker/version:.* version
\$SYS/#:.* BrokerMessage
\x5c\x24SYS/broker/version:.* version
iot/atr/onPos/$DEVICETOPIC/j:.* onPos
iot/atr/onMapTrace/$DEVICETOPIC/j:.* onMapTrace
iot/atr/onMajorMap/$DEVICETOPIC/j:.* onMajorMap
iot/atr/onMinorMap/$DEVICETOPIC/j:.* onMinorMap
iot/atr/onStats/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onBattery/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onCachedMapInfo/$DEVICETOPIC/j:.* onCachedMapInfo
iot/atr/onSched/$DEVICETOPIC/j:.* onSched
iot/atr/onMapState/$DEVICETOPIC/j:.* onMapState
iot/atr/reportStats/$DEVICETOPIC/j:.* reportStats
iot/atr/reportPos/$DEVICETOPIC/j:.* reportPos
iot/atr/reportMajorMap/$DEVICETOPIC/j:.* reportMajorMap
iot/atr/reportMinorMap/$DEVICETOPIC/j:.* reportMinorMap
iot/atr/reportMapTrace/$DEVICETOPIC/j:.* reportMapTrace
iot/atr/onSpeed/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onCleanInfo/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onChargeState/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/atr/onRelocationState/$DEVICETOPIC/j:.* onRelocationState
iot/atr/onEvt/$DEVICETOPIC/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/[^/]+/helperbot/bumper/helperbot/$DEVICETOPIC/q/[^/]+/j:.* LastRequest
iot/p2p/[^/]+/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* LastResponse
iot/p2p/getAdvancedMode/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getAdvancedMode_p
iot/p2p/getBattery/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getBlock/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getBlock_p
iot/p2p/getBreakPoint/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getBreakPoint_p
iot/p2p/getCachedMapInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getCachedMapInfo_p
iot/p2p/getChargeState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getCleanInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getError/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getLifeSpan/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getMajorMap/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMajorMap_p
iot/p2p/getMapSet/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapSet_p
iot/p2p/getMapState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapState_p
iot/p2p/getMapSubSet/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapSubSet_p
iot/p2p/getMapTrace/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMapTrace_p
iot/p2p/getMinorMap/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getMinorMap_p
iot/p2p/getPos/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getPos_p
iot/p2p/getRelocationState/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getRelocationState_p
iot/p2p/getSched/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getSched_p
iot/p2p/getSleep/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getStats/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* getStats_p
iot/p2p/getWaterInfo/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
iot/p2p/getSpeed/$DEVICETOPIC/helperbot/bumper/helperbot/p/[^/]+/j:.* { json2nameValue($EVENT,"",$JSONMAP) }
fhemuser_bumper_GLBbe7d18eG9:iot/atr/reportMapSubSet/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
fhemuser_bumper_GLBbe7d18eG9:HASH\x5c\x280x783fe50\x5c\x29:.* HASH_0x783fe50_
fhemuser_bumper_GLBbe7d18eG9:HASH\x5c\x280x7975330\x5c\x29:.* HASH_0x7975330_
fhemuser_bumper_GLBbe7d18eG9:HASH\x5c\x280x781ee30\x5c\x29:.* HASH_0x781ee30_
   room       Saugroboter
   setList    01_CleaningAuto:start,stop iot/p2p/clean/helperbot/bumper/helperbot/$DEVICETOPIC/q/1001/j {"body": {"data": {"act": "$EVTPART1", "type": "auto"}}}
02_CleaningSpot:0,1,2 iot/p2p/clean/helperbot/bumper/helperbot/$DEVICETOPIC/q/1002/j {"body": {"data": {"act": "start", "content": "$EVTPART1", "type": "spotArea"}}}
03_Charging:noArg iot/p2p/charge/helperbot/bumper/helperbot/$DEVICETOPIC/q/1003/j {"body": {"data": {"act": "go"}}}
04_BackToWorkOnOff:0,1 iot/p2p/setBreakPoint/helperbot/bumper/helperbot/$DEVICETOPIC/q/1004/j {"body": {"data": {"enable": $EVTPART1}}}
05_Speed:1000,0,1,2 iot/p2p/setSpeed/helperbot/bumper/helperbot/$DEVICETOPIC/q/1005/j {"body": {"data": {"speed": $EVTPART1}}}
06_AutoSpeedOnOff:0,1 iot/p2p/setCarpertPressure/helperbot/bumper/helperbot/$DEVICETOPIC/q/1006/j {"body": {"data": {"enable": $EVTPART1}}}
07_SetWater:1,2,3,4 iot/p2p/setWaterInfo/helperbot/bumper/helperbot/$DEVICETOPIC/q/1007/j {"body": {"data": {"amount": $EVTPART1, "enable": 0}}}
08_RestTimeOnOff:0,1 iot/p2p/setBlock/helperbot/bumper/helperbot/$DEVICETOPIC/q/1008/j {"body": {"data": {"enable": $EVTPART1}}, "header": {"tzm": 120}}
09_RestTime:noArg iot/p2p/setBlock/helperbot/bumper/helperbot/$DEVICETOPIC/q/1009/j {"body": {"data": {"end": "7:0", "start": "21:0"}}, "header": {"tzm": 120}}
10_SetVolume:0,1,2,3,4,5,6,7,8,9,10 iot/p2p/setVolume/helperbot/bumper/helperbot/$DEVICETOPIC/q/1010/j {"body": {"data": {"total": 10, "volume": $EVTPART1}}, "header": {"tzm": 120}}
11_PlaySound:noArg iot/p2p/playSound/helperbot/bumper/helperbot/$DEVICETOPIC/q/1011/j {"body": {"data": {"count": 1, "sid": 30}}}
   stateFormat ActualStatus: LastRequest