Deebot Slim 2 - Integration möglich!

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

Vorheriges Thema - Nächstes Thema

KölnSolar

Mir scheint, wir ticken sehr ähnlich.  8)

ZitatCloudfree
ist jetzt ja schon erreicht. Die Verbindung ist tot(lokal umgeleitet).

ZitatOk, dann gehts nun weiter mit der App 
Die funktioniert nun natürlich nur noch im (W)LAN.

ZitatIch wollte erst wissen, wie es bei anderen ist und wie gesprächig der Bot ist.
Du kannst ja auch erst weiter recherchieren. Wg. 950 kannst Du halt mit meinen Ergebnissen wenig anfangen.  :'( Außer mal vergleichend gucken.

Ich hab mich mal weitergebildet u. Dir ein "Template" gebastelt. Einfach beim +Zeichen in der FHEM-Oberfläche ins Fenster kopieren u. execute klicken.

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

attr OZMO950 getList BatteryInfo:noArg GetBatteryInfo iot/p2p/GetBatteryInfo/helperbot/bumper/helperbot/$DEVICETOPIC/j
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) }


Ich hoffe das klappt. Kanns ja nicht testen.
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

#46
Nabend, danke für die Arbeit, gerade getestet. Hab nur "OZMO950" zu "Ozmo950" geändert.

setstate Ozmo950 2020-06-06 22:02:53 BatteryState 98
setstate Ozmo950 2020-06-06 22:00:06 Charging 0
setstate Ozmo950 2020-06-06 22:03:48 CleaningArea 3
setstate Ozmo950 2020-06-06 22:03:48 CleaningMode auto
setstate Ozmo950 2020-06-06 22:04:54 Firmware 1.7.9
setstate Ozmo950 2020-06-06 22:04:54 Hardware 0.1.1
setstate Ozmo950 2020-06-06 22:03:48 LastStart 1591473610
setstate Ozmo950 2020-06-06 22:04:54 Speed 0
setstate Ozmo950 2020-06-06 21:56:03 Systemcode 1064
setstate Ozmo950 2020-06-06 22:04:54 Trigger button
setstate Ozmo950 2020-06-06 22:04:54 Version 0.0.1
setstate Ozmo950 2020-06-06 22:03:54 body_data_cleanState_id 122
setstate Ozmo950 2020-06-06 22:03:54 body_data_cleanState_motionState pause
setstate Ozmo950 2020-06-06 22:03:54 body_data_cleanState_router plan
setstate Ozmo950 2020-06-06 22:03:54 body_data_cleanState_type auto
setstate Ozmo950 2020-06-06 21:57:12 j
setstate Ozmo950 2020-06-06 21:56:02 onCachedMapInfo {"header":{"pri":1,"tzm":480,"ts":"1591473360971","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"enable":0,"info":[{"mid":"1180777719","status":0,"index":2,"using":0,"built":1,"name":""},{"mid":"409307405","status":0,"index":3,"using":1,"built":0,"name":""}]}}}
setstate Ozmo950 2020-06-06 22:05:46 onMajorMap {"header":{"pri":1,"tzm":480,"ts":"1591473945100","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,2499877879,4204053046,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,707705472,2686758486,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,2516952962,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
setstate Ozmo950 2020-06-06 21:56:02 onMapState {"header":{"pri":1,"tzm":480,"ts":"1591473360469","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"state":"building"}}}
setstate Ozmo950 2020-06-06 22:03:54 onMapTrace {"header":{"pri":1,"tzm":480,"ts":"1591473833105","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"33197","totalCount":246,"traceStart":244,"pointCount":2,"traceValue":"XQAABAAKAAAAADAAFvlwgW5NlAbnZoAAAA=="}}}
setstate Ozmo950 2020-06-06 22:05:46 onMinorMap {"header":{"pri":1,"tzm":480,"ts":"1591473945106","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":35,"pieceValue":"XQAABAAQJwAAAABuPkkBHIO7VspPkgKPRcFvrwk7ICUuoWF+2KmEh4f/HiNfDwRfzkaZAOUqbHM2SzsCys1Y+LtsDbN36MVd5HcR5dwpXTpZF2A5I3K7v5UuEDnsOWQGE8AgR3NN+zvUtn93apk++OAVq81B53mOdb/g71pQeQJcDQiz6shqccC9qIJem5vvibElpTNFsT7wXFSNtO3WSVuZATFw/xCVPZK3sahHorIGizL7sBKNyd6C3wvVvuTKYu8n+OibV2VHFQdVsAssHs8WpKQpHq5udxYbUMKFh0bJ9wVt5HeoUn+8kkSQiiTDkm4k5ojNHZm22V5RUot+m+2y7vWfqgPaIdd0cYyjB5YzoqgLgLvtYidCUS3bpCloZvX1oqetHgL/cuwkNeJgJvmwSuLu4WR/MX7vopzbLBMPKfemxJSdOd2faIw25fC64YiH7j2UviuZ3CO/Niraay3qjQXv+qSSRTw0SxFZ2L03mg1jdfmRrjZ4Hdw/6gvOMVdYIYAYYTPj3FutW/a3tk8RDlpfZyFZkp8lS5lD8jpbGpeOB9IcZiBbbYRFq+lGpr4aJeICx6MyrP1YdS3cwWa6NF4UYARtMGsXwRuP59pJwSe2DqhA9OjGvhYO2o54aSDJzX0Nyhzt71tMSZpZMOzTO2XLs5VPBlntLU/vERumFiVrvAQrnVCHKERsYFLxluoigkaVfNn9whFvhTho3xhFAxlarpJ8MESiUtyGgZCzNkz/cu1r/PVlsTUpJhIeDFTujUvXOn0istrPcWVndR6wnwz2FDPafOptNc4RcVQUHowGEwteNhFMzgkj4RcsiO5qwsqRsQA="}}}
setstate Ozmo950 2020-06-06 22:05:47 onPos {"header":{"pri":1,"tzm":480,"ts":"1591473946094","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"deebotPos":{"x":-2900,"y":-1046,"a":84,"invalid":0}}}}
setstate Ozmo950 2020-06-06 21:56:02 onRelocationState {"header":{"pri":1,"tzm":480,"ts":"1591473359867","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mode":"recover","state":"ok","isHasMap":1}}}
setstate Ozmo950 2020-06-06 21:56:02 onSched {"header":{"pri":1,"tzm":480,"ts":"1591473360973","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":[]}}
setstate Ozmo950 2020-06-06 22:04:54 reportMajorMap {"header":{"pri":1,"tzm":480,"ts":"1591473892962","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"867933730","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,4084319698,1483512012,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1191934485,3377126947,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1010895077,1295764014,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}}}
setstate Ozmo950 2020-06-06 22:04:54 reportMapTrace {"header":{"pri":1,"tzm":480,"ts":"1591473892998","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"867933730","tid":"33197","totalCount":246,"traceStart":0,"pointCount":246,"traceValue":"XQAABADOBAAAAAIAH2xVanXpwEMp8ZsEnHPoy8EYPKJyQx8kKNcZGwA0IIxz8Nbn+ZisVFsjIVwSZh6hsWJFbx/V0k2YcxXDm9L8euw8mfY86aJ2UQ9DWMj3757MzWx/t7debXrw6wdxXK9F4nfVYRZw+vjV11lr+sxrdqMmmsgNMqrWjT18P2P4Pyt2qIXuqJTrRIGQOum0E07qYI4aNtvxbqCSimPkgtW8LaMX1uah4820VQtR2Hx20VSRggC9q0ftL5mPM4FjUYCPucAbMoUx4SyxCNTLa9Rh2X+kRBgZpruX5A1cAEFqWuM7mcHE47TnZnnTnvZszqQ39co2Osk50lWcq4aX4wTeygG5FLeWKJQtsEMe3aGyKdqpBCvvOru4Un5yEgjC69H9hUFxlQU+Oj9ywxMrU0RlrJyxYxbMd5E3GlDugue+bmt26xLkBiGjS6DoFE+33xXL/8goOaX2dNkNKkqmKFghCxsUDJu+Bwhx5uJU2CcgCPxmuQxzJ5INrjDC+E4n4sE0DYoUij7ORO0xDspSk4Hq8AFsGW6Fizri+HEgXr2/Kmn2u8qp69HnV6uhFcnH41itPViYlfcrIrpKxoIqPAW3osY8DgGBIijBr6NGWZKkJweluZ6b25sW0Y7d3cLP/ouslU9Yu9lS0Lr8dLVt3UeXRDtSAT2mx8EzlJ0mBduEV7YvB2zwLD9MFLh7lnAOoUtkM3Jwr6DIaJTs1FzdJSzd3FSPRsCEKYupioqp/Gl8ZOK2GbVEeBIE3UKNZLquiwagAzwGroUftIL8twoY/ofyw3F3vCHyhesicvX85zLZ0cvJe3xDfLpOYT6WcLMo8WnUhuE5EYMm5ri27CgPdT9iFayNLA=="}}}
setstate Ozmo950 2020-06-06 22:04:54 reportMinorMap {"header":{"pri":1,"tzm":480,"ts":"1591473892971","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"867933730","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABtfoUiLVymd7uXuVRGCsmIFyrd8IvMEzXrGy+mWJN91qMyDpDoSaayR1ewTGG7BLvwsiJ+iKxLMsgpsrNN/pdp1Wm9McG2D+KWyXJNVJP8d58pPq1xWscIgO2LNRcGYz6DWXkr5tsEh6vTCYjR6zYXWY+cNiTrI6/cbaOU+MgcCDpuw2wiPuKYhTYpfEL1KHoanoKbyC8t1fc+qA0/XV5fJ/IzrFF3GHbX7WLLDHK4uRekXrjTcAWASQ7qAknrTN8dM3ZQIqLynWuISphOqb+VBDhnD517GhpTPs/ealQRvA8sra3AR6JbhPo2cwkxT86I8mO2J20UBlWeAA=="}}}
setstate Ozmo950 2020-06-06 22:04:54 reportPos {"header":{"pri":1,"tzm":480,"ts":"1591473892959","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"867933730","chargePos":[{"x":100,"y":250,"a":-97}],"deebotPos":{"x":873,"y":-497,"a":-152}}}}
setstate Ozmo950 2020-06-06 22:04:54 reportStats {"header":{"pri":1,"tzm":480,"ts":"1591473892957","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"867933730","type":"auto","stop":1,"mapCount":5,"area":3,"time":172,"start":"1591473610","content":"","stopReason":2}}}


Internals:
   CID        bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth
   DEF        bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth
   DEVICETOPIC bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   FUUID      5eda5bf2-f33f-86cf-60c0-29e319834f250515
   IODev      myEcovacsClient
   LASTInputDev myEcovacsClient
   MSGCNT     5169
   NAME       Ozmo950
   NR         314
   STATE      clean
   TYPE       MQTT2_DEVICE
   myEcovacsClient_MSGCNT 5169
   myEcovacsClient_TIME 2020-06-06 22:06:39
   JSONMAP:
     body_data_area CleaningArea
     body_data_cid 0
     body_data_code Systemcode
     body_data_isCharging Charging
     body_data_isLow 0
     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-06 22:02:53   BatteryState    98
     2020-06-06 22:06:19   Charging        1
     2020-06-06 22:03:48   CleaningArea    3
     2020-06-06 22:03:48   CleaningMode    auto
     2020-06-06 22:06:39   Firmware        1.7.9
     2020-06-06 22:06:39   Hardware        0.1.1
     2020-06-06 22:03:48   LastStart       1591473610
     2020-06-06 22:06:21   Speed           0
     2020-06-06 22:06:39   Systemcode      1064
     2020-06-06 22:06:39   Trigger         button
     2020-06-06 22:06:39   Version         0.0.1
     2020-06-06 22:03:54   body_data_cleanState_id 122
     2020-06-06 22:03:54   body_data_cleanState_motionState pause
     2020-06-06 22:03:54   body_data_cleanState_router plan
     2020-06-06 22:03:54   body_data_cleanState_type auto
     2020-06-06 21:57:12   j               
     2020-06-06 22:06:39   onCachedMapInfo {"header":{"pri":1,"tzm":480,"ts":"1591473997672","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"enable":0,"info":[{"mid":"1180777719","status":0,"index":2,"using":0,"built":1,"name":""},{"mid":"409307405","status":0,"index":3,"using":1,"built":0,"name":""}]}}}
     2020-06-06 22:06:39   onMajorMap      {"header":{"pri":1,"tzm":480,"ts":"1591473997679","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,993085281,3297354404,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3112566266,1725028596,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,239731261,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
     2020-06-06 22:06:39   onMapState      {"header":{"pri":1,"tzm":480,"ts":"1591473997198","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"state":"building"}}}
     2020-06-06 22:06:39   onMapTrace      {"header":{"pri":1,"tzm":480,"ts":"1591473997677","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"368748","totalCount":0,"traceStart":0,"pointCount":0,"traceValue":""}}}
     2020-06-06 22:06:39   onMinorMap      {"header":{"pri":1,"tzm":480,"ts":"1591473997683","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABtfoURq1UrME+DohWpVZrbmwcxzplzX+I3F49Zw92ujgMRbLQUNGiywe1KOfPbv/gK4I+8xriiETA6Ef6FQbHFgcNnGRqMk8D0yxurFLpUPvmBe61pdfi7x92STFLGUOh0X4hEpDHSRBJZvY88w8OUIS0rYjpO5FJ6IPnaH7oQrPEN61Syy0sj1w7A5FS0syr6CVlhDBq406Nj/v8CgZ1faC8rqf27vgFIZf+wBZPHMDNTl9wZ4OO9p6S1KL1iUpSllDnwWb6oaDc4AcePmeMSbuYqz3bU0MpA5RJuz+52aAkMUVOOJ49I6u6Tx39rjYqklcWxFxHgQb7Wli6MZwA="}}}
     2020-06-06 22:06:39   onPos           {"header":{"pri":1,"tzm":480,"ts":"1591473997677","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"chargePos":[{"x":100,"y":250,"a":-100}],"deebotPos":{"x":100,"y":250,"a":79,"invalid":0},"mid":"409307405"}}}
     2020-06-06 22:06:39   onRelocationState {"header":{"pri":1,"tzm":480,"ts":"1591473996627","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mode":"recover","state":"ok","isHasMap":1}}}
     2020-06-06 22:06:39   onSched         {"header":{"pri":1,"tzm":480,"ts":"1591473997674","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":[]}}
     2020-06-06 22:04:54   reportMajorMap  {"header":{"pri":1,"tzm":480,"ts":"1591473892962","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"867933730","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,4084319698,1483512012,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1191934485,3377126947,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1010895077,1295764014,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-06 22:04:54   reportMapTrace  {"header":{"pri":1,"tzm":480,"ts":"1591473892998","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"867933730","tid":"33197","totalCount":246,"traceStart":0,"pointCount":246,"traceValue":"XQAABADOBAAAAAIAH2xVanXpwEMp8ZsEnHPoy8EYPKJyQx8kKNcZGwA0IIxz8Nbn+ZisVFsjIVwSZh6hsWJFbx/V0k2YcxXDm9L8euw8mfY86aJ2UQ9DWMj3757MzWx/t7debXrw6wdxXK9F4nfVYRZw+vjV11lr+sxrdqMmmsgNMqrWjT18P2P4Pyt2qIXuqJTrRIGQOum0E07qYI4aNtvxbqCSimPkgtW8LaMX1uah4820VQtR2Hx20VSRggC9q0ftL5mPM4FjUYCPucAbMoUx4SyxCNTLa9Rh2X+kRBgZpruX5A1cAEFqWuM7mcHE47TnZnnTnvZszqQ39co2Osk50lWcq4aX4wTeygG5FLeWKJQtsEMe3aGyKdqpBCvvOru4Un5yEgjC69H9hUFxlQU+Oj9ywxMrU0RlrJyxYxbMd5E3GlDugue+bmt26xLkBiGjS6DoFE+33xXL/8goOaX2dNkNKkqmKFghCxsUDJu+Bwhx5uJU2CcgCPxmuQxzJ5INrjDC+E4n4sE0DYoUij7ORO0xDspSk4Hq8AFsGW6Fizri+HEgXr2/Kmn2u8qp69HnV6uhFcnH41itPViYlfcrIrpKxoIqPAW3osY8DgGBIijBr6NGWZKkJweluZ6b25sW0Y7d3cLP/ouslU9Yu9lS0Lr8dLVt3UeXRDtSAT2mx8EzlJ0mBduEV7YvB2zwLD9MFLh7lnAOoUtkM3Jwr6DIaJTs1FzdJSzd3FSPRsCEKYupioqp/Gl8ZOK2GbVEeBIE3UKNZLquiwagAzwGroUftIL8twoY/ofyw3F3vCHyhesicvX85zLZ0cvJe3xDfLpOYT6WcLMo8WnUhuE5EYMm5ri27CgPdT9iFayNLA=="}}}
     2020-06-06 22:04:54   reportMinorMap  {"header":{"pri":1,"tzm":480,"ts":"1591473892971","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"867933730","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABtfoUiLVymd7uXuVRGCsmIFyrd8IvMEzXrGy+mWJN91qMyDpDoSaayR1ewTGG7BLvwsiJ+iKxLMsgpsrNN/pdp1Wm9McG2D+KWyXJNVJP8d58pPq1xWscIgO2LNRcGYz6DWXkr5tsEh6vTCYjR6zYXWY+cNiTrI6/cbaOU+MgcCDpuw2wiPuKYhTYpfEL1KHoanoKbyC8t1fc+qA0/XV5fJ/IzrFF3GHbX7WLLDHK4uRekXrjTcAWASQ7qAknrTN8dM3ZQIqLynWuISphOqb+VBDhnD517GhpTPs/ealQRvA8sra3AR6JbhPo2cwkxT86I8mO2J20UBlWeAA=="}}}
     2020-06-06 22:04:54   reportPos       {"header":{"pri":1,"tzm":480,"ts":"1591473892959","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"867933730","chargePos":[{"x":100,"y":250,"a":-97}],"deebotPos":{"x":873,"y":-497,"a":-152}}}}
     2020-06-06 22:04:54   reportStats     {"header":{"pri":1,"tzm":480,"ts":"1591473892957","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"867933730","type":"auto","stop":1,"mapCount":5,"area":3,"time":172,"start":"1591473610","content":"","stopReason":2}}}
Attributes:
   IODev      myEcovacsClient
   autocreate 1
   devicetopic bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   getList    BatteryInfo:noArg GetBatteryInfo iot/p2p/GetBatteryInfo/helperbot/bumper/helperbot/$DEVICETOPIC/j
   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
   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) }
   room       Saugroboter



Im ganzen wird es jetzt schon klarer.

schwatter

#47
Ich habe jetzt ca.crt unter Android10 und Android5 probiert, Verbindungsfehler. So wie es aussieht, muss ich noch mehr Domains umleiten.
Hast du die App rennen? Kannst du mir sagen welche es sind? Im moment habe ich nur die 3 Standard umgeleitet.

edit:

Ah ne ich hatte schon 4 umgeleitet. In Pihole hatte ich noch diese "mq-ww.ecouser.net" mit vielen Hits, welche ich auch
zu Bumper umgeleitet habe.

edit2:

MQTT
Example Model: Deebot 600/900/901

The robot utilizes MQTT for control. On startup it connects to an MQTT broker (mq-{countrycode}.ecovacs.com) and subscribes to a p2p topic where commands are issued.
The app also connects to the MQTT broker and subscribes to a attr topic where the robot will periodically post status and location updates.

The app receives status updates, for example battery status or robot position information, periodically via the attr topic.

However, commands issued via the app/client are not published directly to the p2p topic that the robot subscribes to. When the app sends a command such as "Clean", this is sent via a Rest API to the server at portal-{countrycode}.ecouser.net.

The Rest API provided by portal-{countrycode}.ecouser.net receives the command and passes it to a "helper" bot that has permission to publish to the p2p topic the robot is subscribed to. The "helper" bot waits for a response to be published by the robot and then passes that response back to the server for the Rest API to send back as a response.

Bumper provides a simulated RestAPI and "helper" bot, performing the same function as the central server above.


Danach sieht meine 02-custom.conf jetzt so aus

address=/ecouser.net/192.168.178.40
address=/ecovacs.com/192.168.178.40
address=/ecovacs.net/192.168.178.40
address=/mq-ww.ecouser.net/192.168.178.40
address=/portal-ww.ecouser.net/192.168.178.40


Noch kein Erfolg...

KölnSolar

Zitat2020-06-06 22:03:54   body_data_cleanState_id 122
     2020-06-06 22:03:54   body_data_cleanState_motionState pause
     2020-06-06 22:03:54   body_data_cleanState_router plan
     2020-06-06 22:03:54   body_data_cleanState_type auto
Das war nicht geplant.  ??? Den motionState würd ich als reading auch reinnehmen
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_cleanState_id:0 body_data_cleanState_motionState:CleaningState body_data_cleanState_router:0 body_data_cleanState_type:0

Zitat
Im ganzen wird es jetzt schon klarer.
Ja, schon schön übersichtlich die wesentlichen Infos. Hast Du mal das get probiert ? Ich erhoffe mir wenigstens eine Fehlermeldung, die die topic-Struktur bei Befehlen "offenlegt".

ZitatHast du die App rennen? Kannst du mir sagen welche es sind?
Ich hatte die App in einer Windows-Android-Emulation laufen und habe nur die 3 top-level-domains ecouser.net ecovacs.com ecovacs.net umgeleitet. schließt
Zitatmq-ww.ecouser.net
ja eigentlich ein ?!  :-\ ???
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

Siehe oben, noch eine Ergänzung.

Ja, get funktioniert leider nicht.Timeout.
Timeout reading answer for iot/p2p/GetBatteryInfo/helperbot/bumper/helperbot/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j

KölnSolar

ZitatTimeout
ist erwartet. kein neuer Eintrag unter readingslist ?

ZitatNoch kein Erfolg...
Dann schau mal in die bumper logs. Ich erinnere mich, dass zu meiner aktiven bumper-Zeit viel diskutiert wurde. Ging aber davon aus, dass Brian das gelöst hat.
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

Nabend.

Doch Readingslist wurde erweitert.

$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) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onSleep/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/p2p/GetBatteryInfo/helperbot/bumper/helperbot/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* j
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:\x5c\x24SYS/broker/version:.* version



Aktueller Stand der Readings

setstate Ozmo950 2020-06-06 23:31:36 Charging 1
setstate Ozmo950 2020-06-06 23:31:04 CleaningArea 0
setstate Ozmo950 2020-06-06 23:31:04 CleaningMode auto
setstate Ozmo950 2020-06-06 23:31:00 CleaningState working
setstate Ozmo950 2020-06-06 23:31:56 Firmware 1.7.9
setstate Ozmo950 2020-06-06 23:31:56 Hardware 0.1.1
setstate Ozmo950 2020-06-06 23:31:04 LastStart 1591478853
setstate Ozmo950 2020-06-06 23:31:38 Speed 0
setstate Ozmo950 2020-06-06 23:31:56 Systemcode 1064
setstate Ozmo950 2020-06-06 23:31:56 Trigger button
setstate Ozmo950 2020-06-06 23:31:56 Version 0.0.1
setstate Ozmo950 2020-06-06 23:27:22 body_data_enable 0
setstate Ozmo950 2020-06-06 23:27:22 header_fwVer 1.7.9
setstate Ozmo950 2020-06-06 23:27:22 header_hwVer 0.1.1
setstate Ozmo950 2020-06-06 23:27:22 header_pri 1
setstate Ozmo950 2020-06-06 23:27:22 header_ts 1591478840686
setstate Ozmo950 2020-06-06 23:27:22 header_tzm 480
setstate Ozmo950 2020-06-06 23:27:22 header_ver 0.0.1
setstate Ozmo950 2020-06-06 23:31:56 onCachedMapInfo {"header":{"pri":1,"tzm":480,"ts":"1591479114988","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"enable":0,"info":[{"mid":"1180777719","status":0,"index":2,"using":0,"built":1,"name":""},{"mid":"409307405","status":0,"index":3,"using":1,"built":0,"name":""}]}}}
setstate Ozmo950 2020-06-06 23:31:56 onMajorMap {"header":{"pri":1,"tzm":480,"ts":"1591479114995","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,993085281,3297354404,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3112566266,1725028596,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,239731261,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
setstate Ozmo950 2020-06-06 23:31:56 onMapState {"header":{"pri":1,"tzm":480,"ts":"1591479114510","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"state":"building"}}}
setstate Ozmo950 2020-06-06 23:31:56 onMapTrace {"header":{"pri":1,"tzm":480,"ts":"1591479114994","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"589177","totalCount":0,"traceStart":0,"pointCount":0,"traceValue":""}}}
setstate Ozmo950 2020-06-06 23:31:56 onMinorMap {"header":{"pri":1,"tzm":480,"ts":"1591479114998","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":36,"pieceValue":"XQAABAAQJwAAAADr/JAPma0cu5FrsOjGhJtpHJwDkMRe9d4Scp4EhD7kfW1zr79Z2SKDqvzEKqWKvTCO8ctWVxBVvgYQeJDkb601bR7OjVf3IBK9psPOkEYTEN4Qi5OVc9GwiUpTuWdAMfVUihWUmSrGiQhCFCb7meIkjZB2DmC1dq4sYjJ58H0IM7jp4Hbh1y0DaDgCXDCm4+bZELmMtVghYhUjdaVargSnckQGSKzn9t2iLmudUYmjCq4DlEqb1UkbLdkAFtIA"}}}
setstate Ozmo950 2020-06-06 23:31:56 onPos {"header":{"pri":1,"tzm":480,"ts":"1591479114993","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"chargePos":[{"x":100,"y":350,"a":-99}],"deebotPos":{"x":100,"y":350,"a":80,"invalid":0},"mid":"409307405"}}}
setstate Ozmo950 2020-06-06 23:31:56 onRelocationState {"header":{"pri":1,"tzm":480,"ts":"1591479113926","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mode":"recover","state":"ok","isHasMap":1}}}
setstate Ozmo950 2020-06-06 23:31:56 onSched {"header":{"pri":1,"tzm":480,"ts":"1591479114990","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":[]}}
setstate Ozmo950 2020-06-06 23:31:14 reportMajorMap {"header":{"pri":1,"tzm":480,"ts":"1591479073549","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1388457782","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,411578288,1330573709,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3796217608,3544299830,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,239731261,1295764014,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}}}
setstate Ozmo950 2020-06-06 23:31:14 reportMapTrace {"header":{"pri":1,"tzm":480,"ts":"1591479073576","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1388457782","tid":"422974","totalCount":80,"traceStart":0,"pointCount":80,"traceValue":"XQAABACQAQAAAAGAIKuTgZOwsCzi6ItvsUMTTOphCmm5jIAGH5DoTBN2Pb2RMZ0pOJBaqaVvoU1h8nOPjmKp7qEGvJWdzHoYG71v4WzM1uPPzSwN333SupyM9MkdXG9q/2lJY2JF6yRYD40czPlXcTVW95Odc6tuSTszta1fiBjqplViVDPIJm1I5jeI3hOSbTKxqn/Hoq82JUMsB6cPtMc34MX33tzn0x/kZTsTTlsNXpgfShO/MjdXIhsaqeN0W6jArRQFIQdsuk+qkhGn+QA="}}}
setstate Ozmo950 2020-06-06 23:31:14 reportMinorMap {"header":{"pri":1,"tzm":480,"ts":"1591479073555","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1388457782","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABtfoURq1UrME+DohWpVZrbmwcxzplzX+I3F49Zw92ujgMRbLQUNGiywe1KOfPbv/gK4I+8xriiETA6Ef6FQbHFgcNnGRqMk8D0yxurFLpUPvmBe61pdfi7x92STFLGUOh0X4hEpDHSRBJZvY88w8OUIS0rYjpO5FJ6IPnaH7oQrPEN61Syy0sj1w7A5FS0syr6CVlhDBq406Nj/v8CgZ1faC8rqf27vgFIZf+wBZPHMDNTl9wZ4OO9p6S1KL1iUpSllDnwWb6oaDc4AcePmeMSbuYqz3bU0MpA5RJuz+52aAkMUVOOJ49I6u6Tx39rjYqklcWxFxHgQb7Wli6MZwA="}}}
setstate Ozmo950 2020-06-06 23:31:14 reportPos {"header":{"pri":1,"tzm":480,"ts":"1591479073546","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1388457782","chargePos":[{"x":100,"y":250,"a":-100}],"deebotPos":{"x":-1807,"y":305,"a":-133}}}}
setstate Ozmo950 2020-06-06 23:31:14 reportStats {"header":{"pri":1,"tzm":480,"ts":"1591479073544","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1388457782","type":"auto","stop":1,"mapCount":5,"area":0,"time":70,"start":"1591478853","content":"","stopReason":2}}}



Internals:
   CID        bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth
   DEF        bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth
   DEVICETOPIC bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   FUUID      5eda5bf2-f33f-86cf-60c0-29e319834f250515
   IODev      myEcovacsClient
   LASTInputDev myEcovacsClient
   MSGCNT     5417
   NAME       Ozmo950
   NR         314
   STATE      clean
   TYPE       MQTT2_DEVICE
   myEcovacsClient_MSGCNT 5417
   myEcovacsClient_TIME 2020-06-06 23:31:56
   JSONMAP:
     body_data_area CleaningArea
     body_data_cid 0
     body_data_cleanState_id 0
     body_data_cleanState_motionState CleaningState
     body_data_cleanState_router 0
     body_data_cleanState_type 0
     body_data_code Systemcode
     body_data_isCharging Charging
     body_data_isLow 0
     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-06 23:31:36   Charging        1
     2020-06-06 23:31:04   CleaningArea    0
     2020-06-06 23:31:04   CleaningMode    auto
     2020-06-06 23:31:00   CleaningState   working
     2020-06-06 23:31:56   Firmware        1.7.9
     2020-06-06 23:31:56   Hardware        0.1.1
     2020-06-06 23:31:04   LastStart       1591478853
     2020-06-06 23:31:38   Speed           0
     2020-06-06 23:31:56   Systemcode      1064
     2020-06-06 23:31:56   Trigger         button
     2020-06-06 23:31:56   Version         0.0.1
     2020-06-06 23:27:22   body_data_enable 0
     2020-06-06 23:27:22   header_fwVer    1.7.9
     2020-06-06 23:27:22   header_hwVer    0.1.1
     2020-06-06 23:27:22   header_pri      1
     2020-06-06 23:27:22   header_ts       1591478840686
     2020-06-06 23:27:22   header_tzm      480
     2020-06-06 23:27:22   header_ver      0.0.1
     2020-06-06 23:31:56   onCachedMapInfo {"header":{"pri":1,"tzm":480,"ts":"1591479114988","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"enable":0,"info":[{"mid":"1180777719","status":0,"index":2,"using":0,"built":1,"name":""},{"mid":"409307405","status":0,"index":3,"using":1,"built":0,"name":""}]}}}
     2020-06-06 23:31:56   onMajorMap      {"header":{"pri":1,"tzm":480,"ts":"1591479114995","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,993085281,3297354404,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3112566266,1725028596,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,239731261,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014","type":"ol"}}}
     2020-06-06 23:31:56   onMapState      {"header":{"pri":1,"tzm":480,"ts":"1591479114510","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"state":"building"}}}
     2020-06-06 23:31:56   onMapTrace      {"header":{"pri":1,"tzm":480,"ts":"1591479114994","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"tid":"589177","totalCount":0,"traceStart":0,"pointCount":0,"traceValue":""}}}
     2020-06-06 23:31:56   onMinorMap      {"header":{"pri":1,"tzm":480,"ts":"1591479114998","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","pieceIndex":36,"pieceValue":"XQAABAAQJwAAAADr/JAPma0cu5FrsOjGhJtpHJwDkMRe9d4Scp4EhD7kfW1zr79Z2SKDqvzEKqWKvTCO8ctWVxBVvgYQeJDkb601bR7OjVf3IBK9psPOkEYTEN4Qi5OVc9GwiUpTuWdAMfVUihWUmSrGiQhCFCb7meIkjZB2DmC1dq4sYjJ58H0IM7jp4Hbh1y0DaDgCXDCm4+bZELmMtVghYhUjdaVargSnckQGSKzn9t2iLmudUYmjCq4DlEqb1UkbLdkAFtIA"}}}
     2020-06-06 23:31:56   onPos           {"header":{"pri":1,"tzm":480,"ts":"1591479114993","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"chargePos":[{"x":100,"y":350,"a":-99}],"deebotPos":{"x":100,"y":350,"a":80,"invalid":0},"mid":"409307405"}}}
     2020-06-06 23:31:56   onRelocationState {"header":{"pri":1,"tzm":480,"ts":"1591479113926","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mode":"recover","state":"ok","isHasMap":1}}}
     2020-06-06 23:31:56   onSched         {"header":{"pri":1,"tzm":480,"ts":"1591479114990","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":[]}}
     2020-06-06 23:31:14   reportMajorMap  {"header":{"pri":1,"tzm":480,"ts":"1591479073549","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1388457782","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,411578288,1330573709,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,3796217608,3544299830,1295764014,1295764014,1295764014,1295764014,1295764014,1295764014,239731261,1295764014,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-06 23:31:14   reportMapTrace  {"header":{"pri":1,"tzm":480,"ts":"1591479073576","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1388457782","tid":"422974","totalCount":80,"traceStart":0,"pointCount":80,"traceValue":"XQAABACQAQAAAAGAIKuTgZOwsCzi6ItvsUMTTOphCmm5jIAGH5DoTBN2Pb2RMZ0pOJBaqaVvoU1h8nOPjmKp7qEGvJWdzHoYG71v4WzM1uPPzSwN333SupyM9MkdXG9q/2lJY2JF6yRYD40czPlXcTVW95Odc6tuSTszta1fiBjqplViVDPIJm1I5jeI3hOSbTKxqn/Hoq82JUMsB6cPtMc34MX33tzn0x/kZTsTTlsNXpgfShO/MjdXIhsaqeN0W6jArRQFIQdsuk+qkhGn+QA="}}}
     2020-06-06 23:31:14   reportMinorMap  {"header":{"pri":1,"tzm":480,"ts":"1591479073555","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"mid":"409307405","cid":"1388457782","pieceIndex":43,"pieceValue":"XQAABAAQJwAAAABtfoURq1UrME+DohWpVZrbmwcxzplzX+I3F49Zw92ujgMRbLQUNGiywe1KOfPbv/gK4I+8xriiETA6Ef6FQbHFgcNnGRqMk8D0yxurFLpUPvmBe61pdfi7x92STFLGUOh0X4hEpDHSRBJZvY88w8OUIS0rYjpO5FJ6IPnaH7oQrPEN61Syy0sj1w7A5FS0syr6CVlhDBq406Nj/v8CgZ1faC8rqf27vgFIZf+wBZPHMDNTl9wZ4OO9p6S1KL1iUpSllDnwWb6oaDc4AcePmeMSbuYqz3bU0MpA5RJuz+52aAkMUVOOJ49I6u6Tx39rjYqklcWxFxHgQb7Wli6MZwA="}}}
     2020-06-06 23:31:14   reportPos       {"header":{"pri":1,"tzm":480,"ts":"1591479073546","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1388457782","chargePos":[{"x":100,"y":250,"a":-100}],"deebotPos":{"x":-1807,"y":305,"a":-133}}}}
     2020-06-06 23:31:14   reportStats     {"header":{"pri":1,"tzm":480,"ts":"1591479073544","ver":"0.0.1","fwVer":"1.7.9","hwVer":"0.1.1"},"body":{"data":{"cid":"1388457782","type":"auto","stop":1,"mapCount":5,"area":0,"time":70,"start":"1591478853","content":"","stopReason":2}}}
Attributes:
   IODev      myEcovacsClient
   autocreate 1
   devicetopic bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth
   getList    BatteryInfo:noArg GetBatteryInfo iot/p2p/GetBatteryInfo/helperbot/bumper/helperbot/$DEVICETOPIC/j
   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_cleanState_id:0 body_data_cleanState_motionState:CleaningState body_data_cleanState_router:0 body_data_cleanState_type:0
   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) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/atr/onSleep/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* { json2nameValue($EVENT) }
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:iot/p2p/GetBatteryInfo/helperbot/bumper/helperbot/bb5d3df7-0ec5-4f38-b930-b6e0ed03b963/yna5xi/GMth/j:.* j
bb5d3df7_0ec5_4f38_b930_b6e0ed03b963_yna5xi_GMth:\x5c\x24SYS/broker/version:.* version
   room       Saugroboter



Ich habe bei Github gestöbert. Viele nutzen nur

iot/atr/+/.....

Ein Beispiel hier

https://github.com/mrbungle64/ecovacs-deebot.js/blob/master/library/ecovacsMQTT.js

this.client.on('connect', function () {
            tools.envLog('[EcovacsMQTT] client connected');
            this.subscribe('iot/atr/+/' + vacuum_did + '/' + vacuum_class + '/' + vacuum_resource + '/+', (error, granted) => {
                if (!error) {
                    ecovacsMQTT.emit('ready', 'Client connected. Subscribe successful');
                } else {
                    tools.envLog('[EcovacsMQTT] subscribe err: %s', error.toString());
                }
            });
        });


Und ein anderes Beispiel hier

https://github.com/And3rsL/Deebotozmo/blob/master/deebotozmo/ecovacsiotmq.py

else:
            _LOGGER.debug("EcoVacsMQTT - Connected with result code "+str(rc))
            _LOGGER.debug("EcoVacsMQTT - Subscribing to all")       

            self.subscribe('iot/atr/+/' + self.vacuum['did'] + '/' + self.vacuum['class'] + '/' + self.vacuum['resource'] + '/+', qos=0)           
            self.ready_flag.set()



Für die App hatte ich noch keine Zeit.

schwatter

#52
Oh, die App funktioniert plötzlich (Android 5). Darüber kann sogar der Bumperstatus geöffnet werden.
Deebot wird als offline angezeigt. Model ist aber richtig.

edit:
Und nu wieder nich :D mal sehen wo der Wurm ist...

KölnSolar

Dieses Phänomen hatte ich auch häufig. Hatte es aber auf die Win-Emulation geschoben.

Stell bitte mal das list vom mqtt2-client-device ein.
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

#54
Internals:
   BUF       
   DEF        192.168.178.40:8883
   DeviceName 192.168.178.40:8883
   FD         72
   FUUID      5eda41c4-f33f-86cf-1f90-589bc22bbfaffcbc
   NAME       myEcovacsClient
   NR         313
   PARTIAL   
   SSL        1
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth
   lastMsgTime 1591562232.82525
   nextOpenDelay 5
   READINGS:
     2020-06-07 22:27:42   state           opened
Attributes:
   SSL        1
   autocreate simple
   clientId   bb5d3df7-0ec5-4f38-b930-b6e0ed03b963@yna5xi/GMth
   mqttVersion 3.1.1
   room       Saugroboter
   username   meine@geheimemail.de


edit:
Was mir einfällt. Nachdem in der App die Verbindung weg war und ich auf Bumper geklickt hatte,
wurde da sowas wie "bumper.ecovacs.net nicht erreichbar" angezeigt. Vielleicht ein DNS-Fehler seitens Bumper.

edit2:
Pihole hat mir die Adresse offenbart. "   bumper.ecovacs.com"

edit3:
Beides im Browser funktioniert aber...mhhh

http://bumper.ecovacs.com:8007/
http://192.168.178.40:8007/

KölnSolar

Beim list gings mir insbesondere um die subscription, aber die ist dann default=#

Hattest Du eigentlich Zertifikat(e) u./o. key(s) fürs SSL noch irgendwo hinkopiert ? Also auf dem FHEM-Rpi.

Zitatbumper.ecovacs.net
Da guckst Du besser in die bumper logs. Ich hatte in den Anfängen bumper immer mit debug-option in der Konsole laufen. Da kann man das "Geschehen" recht gut verfolgen. Aber die Logs sind auch recht informativ.
Zitatbumper.ecovacs.net
ist vermutlich der Server, mit dem Brian Infos von bumper in der App bereitstellt.

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

Ja, debug durchstöbere ich auch immer. Denke das hier könnte der Fehler sein. Als wenn der Apiserver immer aussteigt?

[2020-06-07 21:54:38,035] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "portal_api_neng_getShareMsgs", "method": "POST", "path": "/api/neng/message/getShareMsgs", "query_string": "td=&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_path": "/api/neng/message/getShareMsgs?td=&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_headers": "(b'Content-Type', b'application/json'),(b'User-Agent', b'Dalvik/2.1.0 (Linux; U; Android 5.0; SM-G900F Build/LRX21T)'),(b'Host', b'portal-ww.ecouser.net'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'Content-Length', b'197')", "body": "{'lang': 'de', 'defaultLang': 'en', 'auth': {'with': 'users', 'userid': 'fuid_tmpuser', 'realm': 'ecouser.net', 'token': 'us_50ec81508a434d979fa3e3ea6cc039ed', 'resource': 'GLB206aae1G6'}, 'beforets': 0, 'count': 1}"}, "response": {"response_body": "{'code': 0, 'data': {'hasNext': False, 'msgs': []}}", "status": "200"}}
[2020-06-07 21:54:38,095] :: DEBUG :: confserver :: confserver :: log_all_requests :: 278 :: Request path /Global_APPBuried/Global_BigDataDomainForwardAPI not found
[2020-06-07 21:54:38,096] :: DEBUG :: confserver :: confserver :: log_all_requests :: 290 :: {"request": {"route_name": "None", "method": "POST", "path": "/Global_APPBuried/Global_BigDataDomainForwardAPI", "query_string": "", "raw_path": "/Global_APPBuried/Global_BigDataDomainForwardAPI", "raw_headers": "(b'Content-Type', b'application/json; charset=utf-8'),(b'Content-Length', b'212'),(b'Host', b'bigdata-international.ecovacs.com'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'User-Agent', b'okhttp/3.12.8')", "body": "{'header': {'data_category': 'Global-BigDataDomainForwardAPI', 'data_method': 'ADD', 'data_charset': 'utf-8', 'phone_timezone': 'GMT+2', 'data_encrypt': 'false'}, 'body': [{'app_country_code': 'DE', 'app_language_code': 'DE'}]}"}}
[2020-06-07 21:54:39,531] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "portal_api_neng_hasUnreadMessage", "method": "POST", "path": "/api/neng/message/hasUnreadMsg", "query_string": "td=&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_path": "/api/neng/message/hasUnreadMsg?td=&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_headers": "(b'Content-Type', b'application/json'),(b'User-Agent', b'Dalvik/2.1.0 (Linux; U; Android 5.0; SM-G900F Build/LRX21T)'),(b'Host', b'portal-ww.ecouser.net'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'Content-Length', b'154')", "body": "{'auth': {'with': 'users', 'userid': 'fuid_tmpuser', 'realm': 'ecouser.net', 'token': 'us_50ec81508a434d979fa3e3ea6cc039ed', 'resource': 'GLB206aae1G6'}, 'count': 20}"}, "response": {"response_body": "{'code': 0, 'data': {'hasUnRead': True}}", "status": "200"}}
[2020-06-07 21:54:39,531] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "portal_api_dim_devmanager", "method": "POST", "path": "/api/dim/devmanager.do", "query_string": "td=HasUnreadMsg&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_path": "/api/dim/devmanager.do?td=HasUnreadMsg&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_headers": "(b'Content-Type', b'application/json'),(b'User-Agent', b'Dalvik/2.1.0 (Linux; U; Android 5.0; SM-G900F Build/LRX21T)'),(b'Host', b'portal-ww.ecouser.net'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'Content-Length', b'174')", "body": "{'td': 'HasUnreadMsg', 'auth': {'with': 'users', 'userid': 'fuid_tmpuser', 'realm': 'ecouser.net', 'token': 'us_50ec81508a434d979fa3e3ea6cc039ed', 'resource': 'GLB206aae1G6'}, 'count': 20}"}, "response": {"response_body": "{'ret': 'ok', 'unRead': False}", "status": "200"}}
[2020-06-07 21:54:39,562] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "v1_message_hasUnreadMsg", "method": "GET", "path": "/v1/private/DE/DE/b7718daa9116f2d81af7a81869d70fc4/global_e/1.4.5/google_play/1/message/hasUnreadMsg", "query_string": "uid=fuid_tmpuser&accessToken=ed36a0a8d65b4757a665b534e69de75b&requestId=794d14d69806505c90bd705a93f11995&authTimespan=1591559693119&authTimeZone=GMT%2B2&authAppkey=1520391301804&authSign=186e420f91abfc182d96d38dfe61cd5d", "raw_path": "/v1/private/DE/DE/b7718daa9116f2d81af7a81869d70fc4/global_e/1.4.5/google_play/1/message/hasUnreadMsg?uid=fuid_tmpuser&accessToken=ed36a0a8d65b4757a665b534e69de75b&requestId=794d14d69806505c90bd705a93f11995&authTimespan=1591559693119&authTimeZone=GMT%2B2&authAppkey=1520391301804&authSign=186e420f91abfc182d96d38dfe61cd5d", "raw_headers": "(b'Host', b'gl-de-api.ecovacs.com'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'User-Agent', b'okhttp/3.12.8')", "body": "None"}, "response": {"response_body": "{'code': '0000', 'data': 'N', 'msg': '\u64cd\u4f5c\u6210\u529f', 'success': True, 'time': 1591552479562}", "status": "200"}}
[2020-06-07 21:54:39,671] :: DEBUG :: confserver :: confserver :: log_all_requests :: 278 :: Request path /Global_APPBuried/Global_BigDataDomainForwardAPI not found
[2020-06-07 21:54:39,671] :: DEBUG :: confserver :: confserver :: log_all_requests :: 290 :: {"request": {"route_name": "None", "method": "POST", "path": "/Global_APPBuried/Global_BigDataDomainForwardAPI", "query_string": "", "raw_path": "/Global_APPBuried/Global_BigDataDomainForwardAPI", "raw_headers": "(b'Content-Type', b'application/json; charset=utf-8'),(b'Content-Length', b'212'),(b'Host', b'bigdata-international.ecovacs.com'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'User-Agent', b'okhttp/3.12.8')", "body": "{'header': {'data_category': 'Global-BigDataDomainForwardAPI', 'data_method': 'ADD', 'data_charset': 'utf-8', 'phone_timezone': 'GMT+2', 'data_encrypt': 'false'}, 'body': [{'app_country_code': 'DE', 'app_language_code': 'DE'}]}"}}
[2020-06-07 21:54:40,180] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "portal_api_users_user", "method": "POST", "path": "/api/users/user.do", "query_string": "td=GetAuthCode&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_path": "/api/users/user.do?td=GetAuthCode&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_headers": "(b'Content-Type', b'application/json'),(b'User-Agent', b'Dalvik/2.1.0 (Linux; U; Android 5.0; SM-G900F Build/LRX21T)'),(b'Host', b'portal-ww.ecouser.net'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'Content-Length', b'194')", "body": "{'todo': 'GetAuthCode', 'clientId': 'ecovacsForLiving', 'auth': {'with': 'users', 'userid': 'fuid_tmpuser', 'realm': 'ecouser.net', 'token': 'us_50ec81508a434d979fa3e3ea6cc039ed', 'resource': 'GLB206aae1G6'}}"}, "response": {"response_body": "{}", "status": "200"}}
[2020-06-07 21:54:40,493] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "portal_api_iot_devmanager", "method": "POST", "path": "/api/iot/devmanager.do", "query_string": "mid=yna5xi&did=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963&td=q&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_path": "/api/iot/devmanager.do?mid=yna5xi&did=bb5d3df7-0ec5-4f38-b930-b6e0ed03b963&td=q&u=fuid_tmpuser&cv=1.68.1&t=a&av=1.4.5", "raw_headers": "(b'Content-Type', b'application/json'),(b'User-Agent', b'Dalvik/2.1.0 (Linux; U; Android 5.0; SM-G900F Build/LRX21T)'),(b'Host', b'portal-ww.ecouser.net'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'Content-Length', b'298')", "body": "{'td': 'q', 'toId': 'bb5d3df7-0ec5-4f38-b930-b6e0ed03b963', 'toType': 'yna5xi', 'toRes': 'GMth', 'cmdName': 'GetWKVer', 'payloadType': 'j', 'auth': {'with': 'users', 'userid': 'fuid_tmpuser', 'realm': 'ecouser.net', 'token': 'us_50ec81508a434d979fa3e3ea6cc039ed', 'resource': 'GLB206aae1G6'}, 'payload': {'td': 'GetWKVer'}}"}, "response": {"response_body": "{'id': 'OYLZ', 'errno': 500, 'ret': 'fail', 'debug': 'wait for response timed out'}", "status": "200"}}
[2020-06-07 21:54:41,319] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "v1_user_getUserAccountInfo", "method": "GET", "path": "/v1/private/DE/DE/b7718daa9116f2d81af7a81869d70fc4/global_e/1.4.5/google_play/1/user/getUserAccountInfo", "query_string": "uid=fuid_tmpuser&accessToken=ed36a0a8d65b4757a665b534e69de75b&requestId=7182951ac940a20d34cb609bf9e67aed&authTimespan=1591559694830&authTimeZone=GMT%2B2&authAppkey=1520391301804&authSign=dfacc563900f3083286618d1ddf939d6", "raw_path": "/v1/private/DE/DE/b7718daa9116f2d81af7a81869d70fc4/global_e/1.4.5/google_play/1/user/getUserAccountInfo?uid=fuid_tmpuser&accessToken=ed36a0a8d65b4757a665b534e69de75b&requestId=7182951ac940a20d34cb609bf9e67aed&authTimespan=1591559694830&authTimeZone=GMT%2B2&authAppkey=1520391301804&authSign=dfacc563900f3083286618d1ddf939d6", "raw_headers": "(b'Host', b'gl-de-api.ecovacs.com'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'User-Agent', b'okhttp/3.12.8')", "body": "None"}, "response": {"response_body": "{'code': '0000', 'data': {'email': 'null@null.com', 'hasMobile': 'N', 'hasPassword': 'Y', 'uid': 'fuid_tmpuser', 'userName': 'fusername_tmpuser', 'obfuscatedMobile': None, 'mobile': None, 'loginName': 'fusername_tmpuser'}, 'msg': '\u64cd\u4f5c\u6210\u529f', 'time': 1591552481320}", "status": "200"}}
[2020-06-07 21:54:41,351] :: DEBUG :: confserver :: confserver :: log_all_requests :: 273 :: {"request": {"route_name": "v1_user_getUserMenuInfo", "method": "GET", "path": "/v1/private/DE/DE/b7718daa9116f2d81af7a81869d70fc4/global_e/1.4.5/google_play/1/user/getUserMenuInfo", "query_string": "uid=fuid_tmpuser&accessToken=ed36a0a8d65b4757a665b534e69de75b&requestId=771cd8c1b7e58d938ee7b1461b8844dd&authTimespan=1591559694851&authTimeZone=GMT%2B2&authAppkey=1520391301804&authSign=0be7fea6f90f8ca6f3f620f1dfabf7b1", "raw_path": "/v1/private/DE/DE/b7718daa9116f2d81af7a81869d70fc4/global_e/1.4.5/google_play/1/user/getUserMenuInfo?uid=fuid_tmpuser&accessToken=ed36a0a8d65b4757a665b534e69de75b&requestId=771cd8c1b7e58d938ee7b1461b8844dd&authTimespan=1591559694851&authTimeZone=GMT%2B2&authAppkey=1520391301804&authSign=0be7fea6f90f8ca6f3f620f1dfabf7b1", "raw_headers": "(b'Host', b'gl-de-api.ecovacs.com'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'User-Agent', b'okhttp/3.12.8')", "body": "None"}, "response": {"response_body": "{'code': '0000', 'data': [{'menuItems': [{'clickAction': 1, 'clickUri': 'https://ecovacs.zendesk.com/hc/en-us', 'menuIconUrl': 'https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/2019121603180741b73907046e742b80e8fe4a90fe2498.png', 'menuId': '20191216031849_4d744630f7ad2f5208a4b8051be61d10', 'menuName': 'Help & Feedback', 'paramsJson': ''}], 'menuPositionKey': 'A_FIRST'}, {'menuItems': [{'clickAction': 3, 'clickUri': 'robotShare', 'menuIconUrl': 'https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/2019121603284185e632ec6c5da10bd82119d7047a1f9e.png', 'menuId': '20191216032853_5fac4cc9cbd0e166dfa951485d1d8cc4', 'menuName': 'Share Robot', 'paramsJson': ''}], 'menuPositionKey': 'B_SECOND'}, {'menuItems': [{'clickAction': 3, 'clickUri': 'config', 'menuIconUrl': 'https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/201912160325324068da4e4a09b8c3973db162e84784d5.png', 'menuId': '20191216032545_ebea0fbb4cb02d9c2fec5bdf3371bc2d', 'menuName': 'Settings', 'paramsJson': ''}], 'menuPositionKey': 'C_THIRD'}, {'menuItems': [{'clickAction': 1, 'clickUri': 'https://bumper.ecovacs.com/', 'menuIconUrl': 'https://gl-us-pub.ecovacs.com/upload/global/2019/12/16/201912160325324068da4e4a09b8c3973db162e84784d5.png', 'menuId': '20191216032545_ebea0fbb4cb02d9c2fec5bdf3371bc2c', 'menuName': 'Bumper Status', 'paramsJson': ''}], 'menuPositionKey': 'D_FOURTH'}], 'msg': '\u64cd\u4f5c\u6210\u529f', 'success': True, 'time': 1591552481351}", "status": "200"}}
[2020-06-07 21:54:44,680] :: DEBUG :: confserver :: confserver :: log_all_requests :: 278 :: Request path /Global_APPBuried/Global_BigDataDomainForwardAPI not found
[2020-06-07 21:54:44,680] :: DEBUG :: confserver :: confserver :: log_all_requests :: 290 :: {"request": {"route_name": "None", "method": "POST", "path": "/Global_APPBuried/Global_BigDataDomainForwardAPI", "query_string": "", "raw_path": "/Global_APPBuried/Global_BigDataDomainForwardAPI", "raw_headers": "(b'Content-Type', b'application/json; charset=utf-8'),(b'Content-Length', b'212'),(b'Host', b'bigdata-international.ecovacs.com'),(b'Connection', b'Keep-Alive'),(b'Accept-Encoding', b'gzip'),(b'User-Agent', b'okhttp/3.12.8')", "body": "{'header': {'data_category': 'Global-BigDataDomainForwardAPI', 'data_method': 'ADD', 'data_charset': 'utf-8', 'phone_timezone': 'GMT+2', 'data_encrypt': 'false'}, 'body': [{'app_country_code': 'DE', 'app_language_code': 'DE'}]}"}}
[2020-06-07 21:54:45,227] :: DEBUG :: confserver :: confserver :: log_all_requests :: 278 :: Request path /favicon.ico not found


Ich habe keine Zertifikate zum Fhemserver kopiert. Nur zu Android.

KölnSolar

ZitatIch habe keine Zertifikate zum Fhemserver kopiert. Nur zu Android.
Interessant(oder auch gerade nicht so wirklich für mich verständlich). FHEM braucht weder key, noch Zertifikat, um als client die messages zu empfangen. Das Handy aber schon ?  :-\  Ich könnt wetten, dass ich damals kopiert hatte. Ich war ja den Weg gegangen, erst einmal mit mqtt.fx als Universal-mqtt-Tool die messages zu empfangen u. dort hatte ich das ca.crt für die SSL-Verbindung angegeben. Ich muss dann doch mal irgendwann wieder auf 0 zurück und mich mit dem heutigen Wissen Schritt-für-Schritt durch die Installation hangeln.  ???

ZitatAls wenn der Apiserver immer aussteigt?
Das ist der confserver. Der wird zu Beginn für die Berechtigungsprüfung genutzt. Ich sah da jetzt nur 200er, also OK, Statuscodes. Ich bin da nicht wirklich eine Hilfe. :'( Ich kann mich nur daran erinnern, dass die App immer wieder Probleme hatte sich zu verbinden. Das lag aber damals bestimmt auch daran, dass es einen Mini-Bug in bumper gab, den ich dann mühsam gefunden hatte u. Brian es dann korrigiert hatte.
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

#58
Ich habe Mqtt.fx ausprobiert. Ca.crt will es haben. Ohne geht es einfach nicht. User Credentials müssen angegeben werden, sind aber
völlig wahllos. z.B. s@d.net/123456. Kann also das Verhalten bestätigen.

Jetzt gerade habe ich dnsmasq.d/02-custom.conf wieder geändert.

#address=/ecouser.net/169.254.133.212
#address=/ecovacs.com/169.254.133.212
#address=/ecovacs.net/169.254.133.212
address=/ecouser.net/192.168.178.40
address=/ecovacs.com/192.168.178.40
address=/ecovacs.net/192.168.178.40
#address=/mq-ww.ecouser.net/192.168.178.40
#address=/portal-ww.ecouser.net/192.168.178.40
#address=/msg-ww.ecouser.net/192.168.178.40
#address=/gl-de-api.ecovacs.com/192.168.178.40
#address=/recommender.ecovacs.com/192.168.178.40
#address=/portal-ww.ecouser.net/192.168.178.40
address=/bumper.ecovacs.com/192.168.178.40


Also nur noch 4 Adressen aktiv. Danach wie immer sudo service pihole-FTL reload. Bumper gestartet. Unter Android5 bei der EcovacsApp
alle Daten gelöscht, Stop erzwingen und wieder gestartet. Bam.....läuft....  ;D Bot online, alles funktioniert. Als ich dann in Fhem MQTT2_CLIENT
aktivierte, wurde die App sofort rausgeschmissen.

Daher gibt es jetzt 2 Möglichkeiten. Beide zusammen vertragen sich nicht. Oder Beide müssen die gleichen User Credentials benutzen.
Ich versuche das nochmal zu reproduzieren.

Im Anhang die Logs

edit:

Auf dem Android5 Device kann ich die IP 192.168.178.40:8007 vom Bumper im Browser öffnen. http://bumper.ecovacs.com:8007/
funktioniert aber nicht???
Da sollte der Hund begraben sein...

KölnSolar

Hab die Logs runtergeladen. Detach sie besser. Wer weiß was alles für Geheimnisse drin stehen.

ZitatIch habe Mqtt.fx ausprobiert. Ca.crt will es haben. Ohne geht es einfach nicht. User Credentials müssen angegeben werden, sind aber
völlig wahllos. z.B. s@d.net/123456. Kann also das Verhalten bestätigen.
Mir ist das gerade immer noch ein Rätsel. Nehmen wir es mal so hin. Bei den user-credentials war ich auch immer unsicher, was da nun wie genau sein muss.
Aber egal... ich schlage etwas anderes vor:

In den Logs stehen ja jetzt Befehle.  :)
Wir machen mal einen Test. Wir nehmen das beliebte "Battery".
Zitat[2020-06-08 18:04:49,734] :: DEBUG :: helperbot :: mqttserver :: handle_helperbot_msg :: 366 :: Send Command - Topic: iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/qYEk/j - Message: {"header": {"ts": "1591632289765", "ver": "0.0.22", "pri": 2, "tzm": 120}}
(Blöd, dass der timestamp(ts) da drin steckt, aber Versuch macht kluch;qYEK ist ein randomized identifier. den hatte ich vorher schon in Deinen topics vermisst)
wenn Du das mit mqtt.fx publishst(also $DEVICETOPIC natürlich mit Deinen Daten ersetzt)
iot/p2p/getBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/qYEk/j {"header": {"ts": "1591632289765", "ver": "0.0.22", "pri": 2, "tzm": 120}}bekommst Du eine Antwort ? Wenn nicht, mit einem annähernd aktuellen timestamp ?
Wenn es klappt, müsste das über FHEM mit
attr Ozmo950 getList BatteryState:noArg BatteryState iot/p2p/GetBattery/helperbot/bumper/helperbot/$DEVICETOPIC/q/1121/j {"header": {"ts": "1591632289765", "ver": "0.0.22", "pri": 2, "tzm": 120}}und dann get Ozmo950 BatteryState auch klappen.  :-\Oder es scheitert dann doch am fehlenden Zertifikat.


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