homebridge-plugins / homebridge-roomba2

Homebridge plugin to connect iRobot Roomba devices with Homebridge/HomeKit.
MIT License
143 stars 17 forks source link

Does not work with Braava Jet m6 #53

Closed cloudhoster closed 2 years ago

cloudhoster commented 3 years ago

Hi, I am using the newest version of the plugin (v1.2.0) and it works perfectly fine with Roomba i7, but I cannot control Braava Jet m6 - although I can connect it with the plugin (get BLID and PW). Is there any reason why it's not working with Braava? Is there any upgrade to support the device planned? Thanks

karlvr commented 2 years ago

@cloudhoster sorry about the long wait for a response. Of course I don't have a Braava Jet M6 so this is going to be a little tricky! This plugin relies on https://github.com/koalazak/dorita980 for talking to Roomba... it lists Braava as supported, and in fact specifically mentions the M6 (if a little weirdly), so I think the plugin should work.

So... please let us know what you're doing, what is or isn't happening, and include all of the logs from Homebridge that are related to the plugin.

(A reminder for myself about this issue, which is about J7, but may end up being related https://github.com/koalazak/dorita980/issues/142)

jdgorelick commented 2 years ago

@karlvr Just updated and tested. Log returns [22/09/2021, 12:22:38] [Braava Jet m6] Connected to Roomba [22/09/2021, 12:22:43] [Braava Jet m6] Unable to determine state of Roomba

karlvr commented 2 years ago

@jdgorelick thank you! Could you please try upgrading to the beta (using the install previous versions option on the plugin in the Homebridge UI) and paste in some of the logs?

There should be logging of the raw status that we read from Roomba, if it gets that far.

jdgorelick commented 2 years ago

Here's everything related just to the Braava:

[22/09/2021, 14:02:43] [Braava Jet m6] Initializing Roomba2 accessory... [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Running status requested [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Connecting to Roomba… [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Low Battery status requested [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 26ms [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Battery level requested [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 33ms [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Charging status requested [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 41ms [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Bin status requested [22/09/2021, 14:03:02] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 51ms [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Running status: timeout returning no result [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Low Battery status: timeout returning no result [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Battery level: timeout returning no result [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Charging status: timeout returning no result [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Bin status: timeout returning no result [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Running status requested [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 4043ms [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Low Battery status requested [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 4052ms [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Battery level requested [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 4062ms [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Charging status requested [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 4071ms [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Bin status requested [22/09/2021, 14:03:06] [Braava Jet m6] DEBUG: Queueing status request with status request that's been running for 4080ms [22/09/2021, 14:03:07] [Braava Jet m6] DEBUG: Running status: timeout returning no result [22/09/2021, 14:03:07] [Braava Jet m6] DEBUG: Low Battery status: timeout returning no result [22/09/2021, 14:03:07] [Braava Jet m6] DEBUG: Battery level: timeout returning no result [22/09/2021, 14:03:07] [Braava Jet m6] DEBUG: Charging status: timeout returning no result [22/09/2021, 14:03:07] [Braava Jet m6] DEBUG: Bin status: timeout returning no result [22/09/2021, 14:03:11] [Braava Jet m6] DEBUG: Connected to Roomba in 8331ms

karlvr commented 2 years ago

@jdgorelick thank you. It just started to get interesting at the end when the connection succeeded… did anything happen next?

jdgorelick commented 2 years ago

Nope, after that successful connection there's no more lines about it at all.

jdgorelick commented 2 years ago

With my two roombas, there's a large block that intermittently comes up, but not for the braava

karlvr commented 2 years ago

@jdgorelick okay. Interesting. Let's double-check the IP, blid and password. As if they're all good, then it might be an upstream issue with dorita980, the library that talks to the Roomba.

jdgorelick commented 2 years ago

The IP, blid, and password are all correct

karlvr commented 2 years ago

@jdgorelick okay. Could you please insta the latest beta (use Install Previous Version in the spanner/wrench button on the plugin) and then post some logs? We should hopefully see what kind of status comes back…

Actually I think we probably won't, but if you can upgrade those logs will help us move forward.

jdgorelick commented 2 years ago

[22/09/2021, 20:54:08] [Braava Jet m6] Initializing Roomba2 accessory... [22/09/2021, 20:54:31] [Braava Jet m6] Running status: Returning no value due to timeout [22/09/2021, 20:54:31] [Braava Jet m6] Low Battery status: Returning no value due to timeout [22/09/2021, 20:54:31] [Braava Jet m6] Battery level: Returning no value due to timeout [22/09/2021, 20:54:31] [Braava Jet m6] Charging status: Returning no value due to timeout [22/09/2021, 20:54:31] [Braava Jet m6] Bin status: Returning no value due to timeout [22/09/2021, 20:54:35] [Braava Jet m6] DEBUG: Connected to Roomba in 5875ms [22/09/2021, 20:54:59] [Braava Jet m6] DEBUG: Refreshing Roomba's status (repeating in 30s, idle timeout in 570s) [22/09/2021, 20:54:59] [Braava Jet m6] DEBUG: Reusing connected Roomba [22/09/2021, 20:55:29] [Braava Jet m6] DEBUG: Refreshing Roomba's status (repeating in 30s, idle timeout in 539s) [22/09/2021, 20:55:29] [Braava Jet m6] DEBUG: Reusing connected Roomba

karlvr commented 2 years ago

@jdgorelick thank you... OK, that's as I expected. Could you please upgrade your version again and report more logs? What hoping we'll see is another log about 60 seconds after "Connected to Roomba in ..."

kozarski commented 2 years ago

@karlvr chiming in to report your last beta build just resolved this issue for my m6 (mostly).

The device seems to be offline more often than not, but after a few reloads of Home, device and sensors come online

jdgorelick commented 2 years ago

@karlvr seems to be working for me. Great job!

karlvr commented 2 years ago

@kozarski @jdgorelick well now that makes sense. I guess the M6 doesn't have a bin eh? Previously we waited for information about the bin.

Please send me a snippet of the logs that includes the state object (a big piece of JSON) so I can see what we get instead. And I'm hoping to see from "Connected to Roomba..." through to "Releasing ...", so that should also have a "Timeout waiting for full state ..."

Then we can tidy this up so it works properly.

jdgorelick commented 2 years ago

[23/09/2021, 08:01:36] [Braava Jet m6] Initializing Roomba2 accessory... [23/09/2021, 08:01:59] [Braava Jet m6] DEBUG: Connecting to Roomba (0 others waiting)... [23/09/2021, 08:02:02] [Braava Jet m6] Running status: Returning no value due to timeout [23/09/2021, 08:02:02] [Braava Jet m6] Low Battery status: Returning no value due to timeout [23/09/2021, 08:02:02] [Braava Jet m6] Battery level: Returning no value due to timeout [23/09/2021, 08:02:02] [Braava Jet m6] Charging status: Returning no value due to timeout [23/09/2021, 08:02:02] [Braava Jet m6] Bin status: Returning no value due to timeout [23/09/2021, 08:02:05] [Braava Jet m6] DEBUG: Connected to Roomba in 6165ms [23/09/2021, 08:02:09] [Braava Jet m6] DEBUG: Updating Braava Jet m6 On from undefined to 0 [23/09/2021, 08:02:09] [Braava Jet m6] DEBUG: Updating Braava Jet m6 Charging State from undefined to 1 [23/09/2021, 08:02:09] [Braava Jet m6] DEBUG: Updating Braava Jet m6 Battery Level from undefined to 100 [23/09/2021, 08:02:09] [Braava Jet m6] DEBUG: Updating Braava Jet m6 Status Low Battery from undefined to 0 [23/09/2021, 08:02:29] [Braava Jet m6] DEBUG: Refreshing Roomba's status (repeating in 30s, idle timeout in 570s) [23/09/2021, 08:02:29] [Braava Jet m6] DEBUG: Reusing connected Roomba [23/09/2021, 08:02:59] [Braava Jet m6] DEBUG: Refreshing Roomba's status (repeating in 30s, idle timeout in 539s) [23/09/2021, 08:02:59] [Braava Jet m6] DEBUG: Reusing connected Roomba [23/09/2021, 08:03:05] [Braava Jet m6] DEBUG: Timeout waiting for full state from Roomba ({}ms). Last state received was: 60002 {"batPct":100,"batteryType":"F12432784","batInfo":{"mDate":"2020-10-15","mName":"Panasonic","mDaySerial":823,"mData":"303030393034303200000000000000000000000000","mLife":"0BE10B3510080C36337A000903BDF5E3006FFED01F0E000000000E1200000000","cCount":27,"afCount":0},"batAuthEnable":true,"bbchg":{"nChatters":0,"nKnockoffs":2,"nLithF":0,"nChgOk":105,"aborts":[0,0,0],"chgErr":[0,0,0,0,0],"smberr":0,"nChgErr":0},"bbchg3":{"estCap":1810,"nAvail":197,"hOnDock":3408,"avgMin":64},"bbmssn":{"aCycleM":80,"nMssnF":18,"nMssnC":27,"nMssnOk":69,"aMssnM":97,"nMssn":118},"bbnav":{"aMtrack":0,"nGoodLmrks":62,"aGain":6,"aExpo":31},"bbpause":{"pauses":[18,17,19,6,18,46,18,17,9,9]},"bbrstinfo":{"nNavRst":45,"nMapLoadRst":0,"nSafRst":3,"nMobRst":6,"safCauses":[21,21,18,17,0,0,0,0,0,0]},"bbrun":{"nCBump":2,"nWStll":1,"nPanics":322,"nOvertemps":0,"nPicks":73,"sqft":153,"min":41,"nStuck":29,"hr":98,"nCliffsF":2081,"nCliffsR":0},"bbswitch":{"nBumper":198466,"nDrops":197,"nDock":0,"nSpot":0,"nClean":15},"bbsys":{"min":35,"hr":3618},"behaviorFwk":true,"cap":{"oMode":4,"edge":0,"maps":3,"pmaps":5,"tHold":1,"tLine":2,"area":1,"eco":1,"multiPass":2,"pose":1,"team":1,"pp":0,"lang":2,"5ghz":1,"prov":3,"sched":1,"svcConf":1,"ota":2,"log":2,"langOta":0,"tileScan":1},"carpetBoost":false,"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":0,"expireTm":0,"rechrgTm":0,"mssnStrtTm":1632355743,"operatingMode":0,"initiator":"team","nMssn":118,"missionId":"0001GMQHCZ0000000000000000"},"cleanSchedule2":[],"cloudEnv":"prod","connected":true,"country":"US","deploymentState":0,"detectedPad":"reusableWet","dock":{"known":true},"ecoCharge":false,"featureFlags":{"quietNav":false,"clearHaz":true,"hibLed":0,"covPlan":0,"ros2SptLvl":true},"hwPartsRev":{"mobBrd":11,"mobBlid":"63D3BFD85811FECD90316864E59C162E","imuPartNo":"BMI055","navSerialNo":"CD00C11LR","wlan0HwAddr":"50:14:79:75:54:74","NavBrd":1},"hwDbgr":null,"langs2":{"sVer":"1.0","dLangs":{"ver":"0.24","langs":["ar-SA","cs-CZ","da-DK","de-DE","en-GB","en-US","es-ES","es-XL","fi-FI","fr-CA","fr-FR","he-IL","it-IT","ja-JP","ko-KR","nb-NO","nl-NL","pl-PL","pt-BR","pt-PT","ru-RU","sv-SE","zh-CN","zh-HK","zh-TW"]},"sLang":"en-US","aSlots":0},"lastCommand":{"command":"dock","initiator":"rmtApp","time":1632360812,"ordered":null,"user_pmapv_id":null,"pmap_id":null,"regions":null,"params":null},"lastDisconnect":2,"mapUploadAllowed":true,"missionTelemetry":{"aux_comms":1,"bat_stats":1,"behaviors_report":1,"camera_settings":1,"coverage_report":1,"map_hypotheses":1,"map_load":1,"map_save":1,"pmap_navigability":1,"sensor_stats":1,"tumor_classifier_report":1,"vital_stats":1,"vslam_report":1},"mopReady":{"tankPresent":true,"lidClosed":true},"mssnNavStats":{"nMssn":118,"missionId":"0001GMQHCZ0000000000000000","gLmk":62,"lmk":11,"reLc":0,"plnErr":"none","mTrk":0,"kdp":1,"sfkdp":0,"nmc":1,"nmmc":2,"nrmc":1,"mpSt":"idle","l_drift":0,"h_drift":0,"l_squal":100,"h_squal":0},"name":"Braava Jet M6","noAutoPasses":false,"noPP":false,"openOnly":false,"padWetness":{"disposable":2,"reusable":2},"pmapLearningAllowed":true,"pmaps":[{"cM66c7XyQwWp_gcKxWdyJw":"210923T013621"}],"pmapCL":true,"pmapFmt":"3","pmapShare":{"copy":[3]},"rankOverlap":67,"reflexSettings":{"rlWheelDrop":{"enabled":0}},"sceneRecog":1,"schedHold":false,"secureBoot":{"log":2,"flip":0,"sbl1Ver":"B3.2.02_PPUB","stublVer":"B3.2.02_PPUB","efuse":1,"blType":1,"enforce":2,"lastRst":"200000001","recov":"linux+3.8.6.1+sanmarino-release-121+20","idSwitch":0,"permReq":0,"perm":"none"},"sku":"m611220","softwareVer":"sanmarino+3.18.11+sanmarino-release-rt321+12","subModSwVer":{"nav":"sanmarino-nav+3.18.11+ubuntu-HEAD-c0da6db4870+12","mob":"3.18.11+ubuntu-HEAD-c0da6db4870+12","pwr":"0.3.0+ubuntu-HEAD-c0da6db4870+12","sft":"1.4.0+ubuntu-HEAD-9a9a5d0c891+29","mobBtl":"4.3","linux":"linux+3.9.8.2-adb-hf+sanmarino-release-rt321+12","con":"3.10.0.3-tags/release-3.10.0.3@ea9fcb57/ubuntu"},"svcEndpoints":{"svcDeplId":"v011"},"tankLvl":100,"timezone":"America/New_York","tls":{"tzbChk":1,"privKType":2,"lcCiphers":[0,0,0,0,0,0,0,0,50380848,50331708]},"twoPass":false,"tz":{"events":[{"dt":1625140800,"off":-240},{"dt":1636264801,"off":-300},{"dt":1647154801,"off":-240}],"ver":11},"vacHigh":false,"netinfo":{"dhcp":true,"addr":"192.168.4.23","mask":"255.255.252.0","gw":"192.168.4.1","dns1":"192.168.4.1","dns2":"0.0.0.0","bssid":"5c:a5:bc:94:70:e5","sec":4},"signal":{"rssi":-59,"snr":18,"noise":-77},"wifistat":{"cloud":14,"wifi":1,"uap":false},"wlcfg":{"sec":4,"ssid":"424D4A"}} [23/09/2021, 08:03:05] [Braava Jet m6] DEBUG: Leaving Roomba instance with 2 ongoing requests [23/09/2021, 08:03:29] [Braava Jet m6] DEBUG: Timeout waiting for full state from Roomba ({}ms). Last state received was: 60030 {"batPct":100,"batteryType":"F12432784","batInfo":{"mDate":"2020-10-15","mName":"Panasonic","mDaySerial":823,"mData":"303030393034303200000000000000000000000000","mLife":"0BE10B3510080C36337A000903BDF5E3006FFED01F0E000000000E1200000000","cCount":27,"afCount":0},"batAuthEnable":true,"bbchg":{"nChatters":0,"nKnockoffs":2,"nLithF":0,"nChgOk":105,"aborts":[0,0,0],"chgErr":[0,0,0,0,0],"smberr":0,"nChgErr":0},"bbchg3":{"estCap":1810,"nAvail":197,"hOnDock":3408,"avgMin":64},"bbmssn":{"aCycleM":80,"nMssnF":18,"nMssnC":27,"nMssnOk":69,"aMssnM":97,"nMssn":118},"bbnav":{"aMtrack":0,"nGoodLmrks":62,"aGain":6,"aExpo":31},"bbpause":{"pauses":[18,17,19,6,18,46,18,17,9,9]},"bbrstinfo":{"nNavRst":45,"nMapLoadRst":0,"nSafRst":3,"nMobRst":6,"safCauses":[21,21,18,17,0,0,0,0,0,0]},"bbrun":{"nCBump":2,"nWStll":1,"nPanics":322,"nOvertemps":0,"nPicks":73,"sqft":153,"min":41,"nStuck":29,"hr":98,"nCliffsF":2081,"nCliffsR":0},"bbswitch":{"nBumper":198466,"nDrops":197,"nDock":0,"nSpot":0,"nClean":15},"bbsys":{"min":35,"hr":3618},"behaviorFwk":true,"cap":{"oMode":4,"edge":0,"maps":3,"pmaps":5,"tHold":1,"tLine":2,"area":1,"eco":1,"multiPass":2,"pose":1,"team":1,"pp":0,"lang":2,"5ghz":1,"prov":3,"sched":1,"svcConf":1,"ota":2,"log":2,"langOta":0,"tileScan":1},"carpetBoost":false,"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":0,"expireTm":0,"rechrgTm":0,"mssnStrtTm":1632355743,"operatingMode":0,"initiator":"team","nMssn":118,"missionId":"0001GMQHCZ0000000000000000"},"cleanSchedule2":[],"cloudEnv":"prod","connected":true,"country":"US","deploymentState":0,"detectedPad":"reusableWet","dock":{"known":true},"ecoCharge":false,"featureFlags":{"quietNav":false,"clearHaz":true,"hibLed":0,"covPlan":0,"ros2SptLvl":true},"hwPartsRev":{"mobBrd":11,"mobBlid":"63D3BFD85811FECD90316864E59C162E","imuPartNo":"BMI055","navSerialNo":"CD00C11LR","wlan0HwAddr":"50:14:79:75:54:74","NavBrd":1},"hwDbgr":null,"langs2":{"sVer":"1.0","dLangs":{"ver":"0.24","langs":["ar-SA","cs-CZ","da-DK","de-DE","en-GB","en-US","es-ES","es-XL","fi-FI","fr-CA","fr-FR","he-IL","it-IT","ja-JP","ko-KR","nb-NO","nl-NL","pl-PL","pt-BR","pt-PT","ru-RU","sv-SE","zh-CN","zh-HK","zh-TW"]},"sLang":"en-US","aSlots":0},"lastCommand":{"command":"dock","initiator":"rmtApp","time":1632360812,"ordered":null,"user_pmapv_id":null,"pmap_id":null,"regions":null,"params":null},"lastDisconnect":2,"mapUploadAllowed":true,"missionTelemetry":{"aux_comms":1,"bat_stats":1,"behaviors_report":1,"camera_settings":1,"coverage_report":1,"map_hypotheses":1,"map_load":1,"map_save":1,"pmap_navigability":1,"sensor_stats":1,"tumor_classifier_report":1,"vital_stats":1,"vslam_report":1},"mopReady":{"tankPresent":true,"lidClosed":true},"mssnNavStats":{"nMssn":118,"missionId":"0001GMQHCZ0000000000000000","gLmk":62,"lmk":11,"reLc":0,"plnErr":"none","mTrk":0,"kdp":1,"sfkdp":0,"nmc":1,"nmmc":2,"nrmc":1,"mpSt":"idle","l_drift":0,"h_drift":0,"l_squal":100,"h_squal":0},"name":"Braava Jet M6","noAutoPasses":false,"noPP":false,"openOnly":false,"padWetness":{"disposable":2,"reusable":2},"pmapLearningAllowed":true,"pmaps":[{"cM66c7XyQwWp_gcKxWdyJw":"210923T013621"}],"pmapCL":true,"pmapFmt":"3","pmapShare":{"copy":[3]},"rankOverlap":67,"reflexSettings":{"rlWheelDrop":{"enabled":0}},"sceneRecog":1,"schedHold":false,"secureBoot":{"log":2,"flip":0,"sbl1Ver":"B3.2.02_PPUB","stublVer":"B3.2.02_PPUB","efuse":1,"blType":1,"enforce":2,"lastRst":"200000001","recov":"linux+3.8.6.1+sanmarino-release-121+20","idSwitch":0,"permReq":0,"perm":"none"},"sku":"m611220","softwareVer":"sanmarino+3.18.11+sanmarino-release-rt321+12","subModSwVer":{"nav":"sanmarino-nav+3.18.11+ubuntu-HEAD-c0da6db4870+12","mob":"3.18.11+ubuntu-HEAD-c0da6db4870+12","pwr":"0.3.0+ubuntu-HEAD-c0da6db4870+12","sft":"1.4.0+ubuntu-HEAD-9a9a5d0c891+29","mobBtl":"4.3","linux":"linux+3.9.8.2-adb-hf+sanmarino-release-rt321+12","con":"3.10.0.3-tags/release-3.10.0.3@ea9fcb57/ubuntu"},"svcEndpoints":{"svcDeplId":"v011"},"tankLvl":100,"timezone":"America/New_York","tls":{"tzbChk":1,"privKType":2,"lcCiphers":[0,0,0,0,0,0,0,0,50380848,50331708]},"twoPass":false,"tz":{"events":[{"dt":1625140800,"off":-240},{"dt":1636264801,"off":-300},{"dt":1647154801,"off":-240}],"ver":11},"vacHigh":false,"netinfo":{"dhcp":true,"addr":"192.168.4.23","mask":"255.255.252.0","gw":"192.168.4.1","dns1":"192.168.4.1","dns2":"0.0.0.0","bssid":"5c:a5:bc:94:70:e5","sec":4},"signal":{"rssi":-59,"snr":18,"noise":-77},"wifistat":{"cloud":14,"wifi":1,"uap":false},"wlcfg":{"sec":4,"ssid":"424D4A"}} [23/09/2021, 08:03:29] [Braava Jet m6] DEBUG: Leaving Roomba instance with 1 ongoing requests [23/09/2021, 08:03:29] [Braava Jet m6] DEBUG: Refreshing Roomba's status (repeating in 30s, idle timeout in 509s) [23/09/2021, 08:03:29] [Braava Jet m6] DEBUG: Reusing connected Roomba [23/09/2021, 08:03:59] [Braava Jet m6] DEBUG: Refreshing Roomba's status (repeating in 30s, idle timeout in 479s) [23/09/2021, 08:03:59] [Braava Jet m6] DEBUG: Reusing connected Roomba [23/09/2021, 08:04:29] [Braava Jet m6] DEBUG: Timeout waiting for full state from Roomba ({}ms). Last state received was: 60001 {"batPct":100,"batteryType":"F12432784","batInfo":{"mDate":"2020-10-15","mName":"Panasonic","mDaySerial":823,"mData":"303030393034303200000000000000000000000000","mLife":"0BE10B3510080C36337A000903BDF5E3006FFED01F0E000000000E1200000000","cCount":27,"afCount":0},"batAuthEnable":true,"bbchg":{"nChatters":0,"nKnockoffs":2,"nLithF":0,"nChgOk":105,"aborts":[0,0,0],"chgErr":[0,0,0,0,0],"smberr":0,"nChgErr":0},"bbchg3":{"estCap":1810,"nAvail":197,"hOnDock":3408,"avgMin":64},"bbmssn":{"aCycleM":80,"nMssnF":18,"nMssnC":27,"nMssnOk":69,"aMssnM":97,"nMssn":118},"bbnav":{"aMtrack":0,"nGoodLmrks":62,"aGain":6,"aExpo":31},"bbpause":{"pauses":[18,17,19,6,18,46,18,17,9,9]},"bbrstinfo":{"nNavRst":45,"nMapLoadRst":0,"nSafRst":3,"nMobRst":6,"safCauses":[21,21,18,17,0,0,0,0,0,0]},"bbrun":{"nCBump":2,"nWStll":1,"nPanics":322,"nOvertemps":0,"nPicks":73,"sqft":153,"min":41,"nStuck":29,"hr":98,"nCliffsF":2081,"nCliffsR":0},"bbswitch":{"nBumper":198466,"nDrops":197,"nDock":0,"nSpot":0,"nClean":15},"bbsys":{"min":35,"hr":3618},"behaviorFwk":true,"cap":{"oMode":4,"edge":0,"maps":3,"pmaps":5,"tHold":1,"tLine":2,"area":1,"eco":1,"multiPass":2,"pose":1,"team":1,"pp":0,"lang":2,"5ghz":1,"prov":3,"sched":1,"svcConf":1,"ota":2,"log":2,"langOta":0,"tileScan":1},"carpetBoost":false,"cleanMissionStatus":{"cycle":"none","phase":"charge","expireM":0,"rechrgM":0,"error":0,"notReady":0,"mssnM":0,"expireTm":0,"rechrgTm":0,"mssnStrtTm":1632355743,"operatingMode":0,"initiator":"team","nMssn":118,"missionId":"0001GMQHCZ0000000000000000"},"cleanSchedule2":[],"cloudEnv":"prod","connected":true,"country":"US","deploymentState":0,"detectedPad":"reusableWet","dock":{"known":true},"ecoCharge":false,"featureFlags":{"quietNav":false,"clearHaz":true,"hibLed":0,"covPlan":0,"ros2SptLvl":true},"hwPartsRev":{"mobBrd":11,"mobBlid":"63D3BFD85811FECD90316864E59C162E","imuPartNo":"BMI055","navSerialNo":"CD00C11LR","wlan0HwAddr":"50:14:79:75:54:74","NavBrd":1},"hwDbgr":null,"langs2":{"sVer":"1.0","dLangs":{"ver":"0.24","langs":["ar-SA","cs-CZ","da-DK","de-DE","en-GB","en-US","es-ES","es-XL","fi-FI","fr-CA","fr-FR","he-IL","it-IT","ja-JP","ko-KR","nb-NO","nl-NL","pl-PL","pt-BR","pt-PT","ru-RU","sv-SE","zh-CN","zh-HK","zh-TW"]},"sLang":"en-US","aSlots":0},"lastCommand":{"command":"dock","initiator":"rmtApp","time":1632360812,"ordered":null,"user_pmapv_id":null,"pmap_id":null,"regions":null,"params":null},"lastDisconnect":2,"mapUploadAllowed":true,"missionTelemetry":{"aux_comms":1,"bat_stats":1,"behaviors_report":1,"camera_settings":1,"coverage_report":1,"map_hypotheses":1,"map_load":1,"map_save":1,"pmap_navigability":1,"sensor_stats":1,"tumor_classifier_report":1,"vital_stats":1,"vslam_report":1},"mopReady":{"tankPresent":true,"lidClosed":true},"mssnNavStats":{"nMssn":118,"missionId":"0001GMQHCZ0000000000000000","gLmk":62,"lmk":11,"reLc":0,"plnErr":"none","mTrk":0,"kdp":1,"sfkdp":0,"nmc":1,"nmmc":2,"nrmc":1,"mpSt":"idle","l_drift":0,"h_drift":0,"l_squal":100,"h_squal":0},"name":"Braava Jet M6","noAutoPasses":false,"noPP":false,"openOnly":false,"padWetness":{"disposable":2,"reusable":2},"pmapLearningAllowed":true,"pmaps":[{"cM66c7XyQwWp_gcKxWdyJw":"210923T013621"}],"pmapCL":true,"pmapFmt":"3","pmapShare":{"copy":[3]},"rankOverlap":67,"reflexSettings":{"rlWheelDrop":{"enabled":0}},"sceneRecog":1,"schedHold":false,"secureBoot":{"log":2,"flip":0,"sbl1Ver":"B3.2.02_PPUB","stublVer":"B3.2.02_PPUB","efuse":1,"blType":1,"enforce":2,"lastRst":"200000001","recov":"linux+3.8.6.1+sanmarino-release-121+20","idSwitch":0,"permReq":0,"perm":"none"},"sku":"m611220","softwareVer":"sanmarino+3.18.11+sanmarino-release-rt321+12","subModSwVer":{"nav":"sanmarino-nav+3.18.11+ubuntu-HEAD-c0da6db4870+12","mob":"3.18.11+ubuntu-HEAD-c0da6db4870+12","pwr":"0.3.0+ubuntu-HEAD-c0da6db4870+12","sft":"1.4.0+ubuntu-HEAD-9a9a5d0c891+29","mobBtl":"4.3","linux":"linux+3.9.8.2-adb-hf+sanmarino-release-rt321+12","con":"3.10.0.3-tags/release-3.10.0.3@ea9fcb57/ubuntu"},"svcEndpoints":{"svcDeplId":"v011"},"tankLvl":100,"timezone":"America/New_York","tls":{"tzbChk":1,"privKType":2,"lcCiphers":[0,0,0,0,0,0,0,0,50380848,50331708]},"twoPass":false,"tz":{"events":[{"dt":1625140800,"off":-240},{"dt":1636264801,"off":-300},{"dt":1647154801,"off":-240}],"ver":11},"vacHigh":false,"netinfo":{"dhcp":true,"addr":"192.168.4.23","mask":"255.255.252.0","gw":"192.168.4.1","dns1":"192.168.4.1","dns2":"0.0.0.0","bssid":"5c:a5:bc:94:70:e5","sec":4},"signal":{"rssi":-59,"snr":17,"noise":-76},"wifistat":{"cloud":14,"wifi":1,"uap":false},"wlcfg":{"sec":4,"ssid":"424D4A"}} [23/09/2021, 08:04:29] [Braava Jet m6] DEBUG: Leaving Roomba instance with 1 ongoing requests

redeemer666 commented 2 years ago

I also have the same issue. My roomba s9+ works without hassle but on my braava jet m6 I keep getting the error "unable to determine state of roomba" and on home app it appears "not responding" (switch and contact sensors). Maybe the plug-in cannot determine the braava statuses(like no mop installed, or dry and wet mop) since they are different from roomba?

karlvr commented 2 years ago

@redeemer666 have you updated to the latest beta as above?

karlvr commented 2 years ago

A nicely formatted version of the JSON from the M6:

{
    "batAuthEnable": true,
    "batInfo": {
        "afCount": 0,
        "cCount": 27,
        "mData": "303030393034303200000000000000000000000000",
        "mDate": "2020-10-15",
        "mDaySerial": 823,
        "mLife": "0BE10B3510080C36337A000903BDF5E3006FFED01F0E000000000E1200000000",
        "mName": "Panasonic"
    },
    "batPct": 100,
    "batteryType": "F12432784",
    "bbchg": {
        "aborts": [
            0,
            0,
            0
        ],
        "chgErr": [
            0,
            0,
            0,
            0,
            0
        ],
        "nChatters": 0,
        "nChgErr": 0,
        "nChgOk": 105,
        "nKnockoffs": 2,
        "nLithF": 0,
        "smberr": 0
    },
    "bbchg3": {
        "avgMin": 64,
        "estCap": 1810,
        "hOnDock": 3408,
        "nAvail": 197
    },
    "bbmssn": {
        "aCycleM": 80,
        "aMssnM": 97,
        "nMssn": 118,
        "nMssnC": 27,
        "nMssnF": 18,
        "nMssnOk": 69
    },
    "bbnav": {
        "aExpo": 31,
        "aGain": 6,
        "aMtrack": 0,
        "nGoodLmrks": 62
    },
    "bbpause": {
        "pauses": [
            18,
            17,
            19,
            6,
            18,
            46,
            18,
            17,
            9,
            9
        ]
    },
    "bbrstinfo": {
        "nMapLoadRst": 0,
        "nMobRst": 6,
        "nNavRst": 45,
        "nSafRst": 3,
        "safCauses": [
            21,
            21,
            18,
            17,
            0,
            0,
            0,
            0,
            0,
            0
        ]
    },
    "bbrun": {
        "hr": 98,
        "min": 41,
        "nCBump": 2,
        "nCliffsF": 2081,
        "nCliffsR": 0,
        "nOvertemps": 0,
        "nPanics": 322,
        "nPicks": 73,
        "nStuck": 29,
        "nWStll": 1,
        "sqft": 153
    },
    "bbswitch": {
        "nBumper": 198466,
        "nClean": 15,
        "nDock": 0,
        "nDrops": 197,
        "nSpot": 0
    },
    "bbsys": {
        "hr": 3618,
        "min": 35
    },
    "behaviorFwk": true,
    "cap": {
        "5ghz": 1,
        "area": 1,
        "eco": 1,
        "edge": 0,
        "lang": 2,
        "langOta": 0,
        "log": 2,
        "maps": 3,
        "multiPass": 2,
        "oMode": 4,
        "ota": 2,
        "pmaps": 5,
        "pose": 1,
        "pp": 0,
        "prov": 3,
        "sched": 1,
        "svcConf": 1,
        "tHold": 1,
        "tLine": 2,
        "team": 1,
        "tileScan": 1
    },
    "carpetBoost": false,
    "cleanMissionStatus": {
        "cycle": "none",
        "error": 0,
        "expireM": 0,
        "expireTm": 0,
        "initiator": "team",
        "missionId": "0001GMQHCZ0000000000000000",
        "mssnM": 0,
        "mssnStrtTm": 1632355743,
        "nMssn": 118,
        "notReady": 0,
        "operatingMode": 0,
        "phase": "charge",
        "rechrgM": 0,
        "rechrgTm": 0
    },
    "cleanSchedule2": [],
    "cloudEnv": "prod",
    "connected": true,
    "country": "US",
    "deploymentState": 0,
    "detectedPad": "reusableWet",
    "dock": {
        "known": true
    },
    "ecoCharge": false,
    "featureFlags": {
        "clearHaz": true,
        "covPlan": 0,
        "hibLed": 0,
        "quietNav": false,
        "ros2SptLvl": true
    },
    "hwDbgr": null,
    "hwPartsRev": {
        "NavBrd": 1,
        "imuPartNo": "BMI055",
        "mobBlid": "63D3BFD85811FECD90316864E59C162E",
        "mobBrd": 11,
        "navSerialNo": "CD00C11LR",
        "wlan0HwAddr": "50:14:79:75:54:74"
    },
    "langs2": {
        "aSlots": 0,
        "dLangs": {
            "langs": [
                "ar-SA",
                "cs-CZ",
                "da-DK",
                "de-DE",
                "en-GB",
                "en-US",
                "es-ES",
                "es-XL",
                "fi-FI",
                "fr-CA",
                "fr-FR",
                "he-IL",
                "it-IT",
                "ja-JP",
                "ko-KR",
                "nb-NO",
                "nl-NL",
                "pl-PL",
                "pt-BR",
                "pt-PT",
                "ru-RU",
                "sv-SE",
                "zh-CN",
                "zh-HK",
                "zh-TW"
            ],
            "ver": "0.24"
        },
        "sLang": "en-US",
        "sVer": "1.0"
    },
    "lastCommand": {
        "command": "dock",
        "initiator": "rmtApp",
        "ordered": null,
        "params": null,
        "pmap_id": null,
        "regions": null,
        "time": 1632360812,
        "user_pmapv_id": null
    },
    "lastDisconnect": 2,
    "mapUploadAllowed": true,
    "missionTelemetry": {
        "aux_comms": 1,
        "bat_stats": 1,
        "behaviors_report": 1,
        "camera_settings": 1,
        "coverage_report": 1,
        "map_hypotheses": 1,
        "map_load": 1,
        "map_save": 1,
        "pmap_navigability": 1,
        "sensor_stats": 1,
        "tumor_classifier_report": 1,
        "vital_stats": 1,
        "vslam_report": 1
    },
    "mopReady": {
        "lidClosed": true,
        "tankPresent": true
    },
    "mssnNavStats": {
        "gLmk": 62,
        "h_drift": 0,
        "h_squal": 0,
        "kdp": 1,
        "l_drift": 0,
        "l_squal": 100,
        "lmk": 11,
        "mTrk": 0,
        "missionId": "0001GMQHCZ0000000000000000",
        "mpSt": "idle",
        "nMssn": 118,
        "nmc": 1,
        "nmmc": 2,
        "nrmc": 1,
        "plnErr": "none",
        "reLc": 0,
        "sfkdp": 0
    },
    "name": "Braava Jet M6",
    "netinfo": {
        "addr": "192.168.4.23",
        "bssid": "5c:a5:bc:94:70:e5",
        "dhcp": true,
        "dns1": "192.168.4.1",
        "dns2": "0.0.0.0",
        "gw": "192.168.4.1",
        "mask": "255.255.252.0",
        "sec": 4
    },
    "noAutoPasses": false,
    "noPP": false,
    "openOnly": false,
    "padWetness": {
        "disposable": 2,
        "reusable": 2
    },
    "pmapCL": true,
    "pmapFmt": "3",
    "pmapLearningAllowed": true,
    "pmapShare": {
        "copy": [
            3
        ]
    },
    "pmaps": [
        {
            "cM66c7XyQwWp_gcKxWdyJw": "210923T013621"
        }
    ],
    "rankOverlap": 67,
    "reflexSettings": {
        "rlWheelDrop": {
            "enabled": 0
        }
    },
    "sceneRecog": 1,
    "schedHold": false,
    "secureBoot": {
        "blType": 1,
        "efuse": 1,
        "enforce": 2,
        "flip": 0,
        "idSwitch": 0,
        "lastRst": "200000001",
        "log": 2,
        "perm": "none",
        "permReq": 0,
        "recov": "linux+3.8.6.1+sanmarino-release-121+20",
        "sbl1Ver": "B3.2.02_PPUB",
        "stublVer": "B3.2.02_PPUB"
    },
    "signal": {
        "noise": -77,
        "rssi": -59,
        "snr": 18
    },
    "sku": "m611220",
    "softwareVer": "sanmarino+3.18.11+sanmarino-release-rt321+12",
    "subModSwVer": {
        "con": "3.10.0.3-tags/release-3.10.0.3@ea9fcb57/ubuntu",
        "linux": "linux+3.9.8.2-adb-hf+sanmarino-release-rt321+12",
        "mob": "3.18.11+ubuntu-HEAD-c0da6db4870+12",
        "mobBtl": "4.3",
        "nav": "sanmarino-nav+3.18.11+ubuntu-HEAD-c0da6db4870+12",
        "pwr": "0.3.0+ubuntu-HEAD-c0da6db4870+12",
        "sft": "1.4.0+ubuntu-HEAD-9a9a5d0c891+29"
    },
    "svcEndpoints": {
        "svcDeplId": "v011"
    },
    "tankLvl": 100,
    "timezone": "America/New_York",
    "tls": {
        "lcCiphers": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            50380848,
            50331708
        ],
        "privKType": 2,
        "tzbChk": 1
    },
    "twoPass": false,
    "tz": {
        "events": [
            {
                "dt": 1625140800,
                "off": -240
            },
            {
                "dt": 1636264801,
                "off": -300
            },
            {
                "dt": 1647154801,
                "off": -240
            }
        ],
        "ver": 11
    },
    "vacHigh": false,
    "wifistat": {
        "cloud": 14,
        "uap": false,
        "wifi": 1
    },
    "wlcfg": {
        "sec": 4,
        "ssid": "424D4A"
    }
}
karlvr commented 2 years ago

@jdgorelick is there a status for the M6 that corresponds to the Bin Full status on the vacuum Roomba? Something you might want to show to say "Needs changing" or something?

jdgorelick commented 2 years ago

Yeah you would want to know when the liquid reservoir is empty. When it runs out it returns to the dock and waits very similar to when the bin is full on a roomba

karlvr commented 2 years ago

@jdgorelick great, looks like that might be tankLvl eh? Could you watch that value in the JSON over the course of a run to see that it goes down? I am guessing yours is at 100% now and will go down to 0.

redeemer666 commented 2 years ago

@redeemer666 have you updated to the latest beta as above?

Hi Karl, not yet, I'm with the latest "stable" version. Will try to update it today and update this thread

redeemer666 commented 2 years ago

Here I am again. OK with the latest beta it appears correctly on Home App (no errors), but in Homebridge Logs appears the warning “Leaving Roomba instances with 2 (or sometimes 1) ongoing request”. Maybe this is because of the difference between Roomba and Bravia status reports?

karlvr commented 2 years ago

@redeemer666 great that it's working better. I implemented connection sharing, so those messages aren't necessarily bad. Do you sometimes see Releasing connection and a message about closing?

redeemer666 commented 2 years ago

@karlvr yeah it happens from time to time (mainly from roomba, less from braava) "Releasing Roomba instance" and "Connection close received from old connection", but it looks like it doesn't cause any trouble inside the Home app.

jdgorelick commented 2 years ago

@karlvr running it right now. My tanklvl is at 100 right now. I'm guessing it will read that until it actually completely runs out of fluid and returns to the dock. I don't think it can actually measure an amount left, so I'd assume it's really a boolean measure. I'll try and keep a run going until it runs out and see if it changes

jdgorelick commented 2 years ago

Can confirm, tanklvl goes to 0 when the braava runs out of fluid and redocks

karlvr commented 2 years ago

@redeemer666 great. I think you can ignore those. There's a lot of debug messaging in the beta version so we can understand the details of the plugin behaviour. Sounds like it's working as expected!

karlvr commented 2 years ago

@jdgorelick hah, well I'm a little disappointed that it can't measure its tank level constantly. It really went from 100 to 0 in one step? I guess they're preparing for a future when it can.

We could definitely add a contact sensor for tank level.

jdgorelick commented 2 years ago

@karlvr Yeah guess so. A contact sensor would be great. Thanks!

jessfraz commented 2 years ago

This is great :) I have an m6 as well! (sorry I know this is likely spam but loved seeing this thread)

sundar2012 commented 2 years ago

FWIW, I installed the latest beta of this plugin and my Brava is working well. note: I only tested on/off and the running / docking contact sensors.

keithws commented 2 years ago

Thanks @jdgorelick and @karlvr! I installed v1.3.0-beta10 and my Braava Jet m6 is working!

Manouchehri commented 2 years ago

Had the same issue with Unable to determine state of Roomba on my Braava jet m6, but v1.3.0-beta.11 fixed it!

image

image

image

ZachBovard commented 2 years ago

8A309BA6-FBB3-4705-AC3B-4E4995701BE7 Had the same exact issue beta 11 fixed it

theRansoms commented 1 year ago

Hello All

New to Homebridge but finding my way around... A little bit late to this m6 party too by the looks of things. I have same or a very similar issue with my m6.

[2/3/2023, 1:58:39 PM] [Braava Jet] Failed to refresh Roomba's state: Connect timed out

I have put my m6 on a fixed IP, am running v1.4.0 of the plugin and still having fun :). I managed to get the plid and pword using a Windows laptop which was a lot simpler than the OSX process that I came across.

Any suggestions or guidance on how to best diagnose and resolve would be much appreciated.

Simon