Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does Braava use the same API as Roomba? #105

Closed
thorazine-12 opened this issue Jan 6, 2020 · 2 comments
Closed

Does Braava use the same API as Roomba? #105

thorazine-12 opened this issue Jan 6, 2020 · 2 comments

Comments

@thorazine-12
Copy link

I have I7+ and want to buy Braava m6, but don't know if Braava uses the same API?
Is it possible to use dorita980 to control Braava too (clean, stop, dock etc. - only basic commands)?
Thanks for any help with this!

@thorazine-12
Copy link
Author

thorazine-12 commented Jan 10, 2020

Guys, just let you know that Braava can be operated with dorita with no problem! :)
Some commands, statuses etc. are different but it was the same with i7+ compared to previous model.
Below copy of braava m6 config:

connected
{
  "cmd": "publish",
  "retain": false,
  "qos": 0,
  "dup": false,
  "length": 3680,
  "topic": "$aws/things/2A3E5707267245C9A7D29312A651B874/shadow/update",
  "payload": {
    "state": {
      "reported": {
        "batPct": 100,
        "batteryType": "F12432784",
        "bbchg": {
          "nChatters": 0,
          "nKnockoffs": 0,
          "nLithF": 2,
          "nChgOk": 1,
          "aborts": [
            0,
            16,
            5
          ],
          "smberr": 57344
        },
        "bbchg3": {
          "estCap": 1925,
          "nAvail": 6,
          "hOnDock": 2,
          "avgMin": 43
        },
        "bbmssn": {
          "aCycleM": 84,
          "nMssnF": 0,
          "nMssnC": 0,
          "nMssnOk": 1,
          "aMssnM": 243,
          "nMssn": 1
        },
        "bbnav": {
          "aMtrack": 0,
          "nGoodLmrks": 116,
          "aGain": 16,
          "aExpo": 46
        },
        "bbpause": {
          "pauses": [
            101,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        "bbrstinfo": {
          "nNavRst": 0,
          "nMobRst": 0,
          "causes": "0000",
          "nSafRst": 0,
          "safCauses": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0
          ]
        },
        "bbrun": {
          "nOvertemps": 0,
          "nCBump": 0,
          "nWStll": 0,
          "nPanics": 0,
          "nStuck": 1,
          "nPicks": 5,
          "sqft": 8,
          "min": 48,
          "hr": 2,
          "nCliffsF": 295,
          "nCliffsR": 0
        },
        "bbswitch": {
          "nBumper": 4287,
          "nDrops": 26,
          "nDock": 0,
          "nSpot": 0,
          "nClean": 2
        },
        "bbsys": {
          "min": 43,
          "hr": 6
        },
        "cap": {
          "maps": 3,
          "edge": 0,
          "pmaps": 2,
          "tLine": 2,
          "area": 1,
          "eco": 1,
          "multiPass": 2,
          "pose": 1,
          "team": 1,
          "pp": 0,
          "5ghz": 1,
          "prov": 3,
          "sched": 1,
          "svcConf": 1,
          "ota": 2,
          "log": 2
        },
        "carpetBoost": false,
        "cleanMissionStatus": {
          "cycle": "none",
          "phase": "charge",
          "expireM": 0,
          "rechrgM": 0,
          "error": 0,
          "notReady": 0,
          "mssnM": 243,
          "sqft": 872,
          "initiator": "localApp",
          "nMssn": 1
        },
        "cleanSchedule2": [],
        "cloudEnv": "prod",
        "connected": true,
        "country": "PL",
        "deploymentState": 0,
        "detectedPad": "reusableDry",
        "dock": {
          "known": true
        },
        "ecoCharge": false,
        "hwPartsRev": {
          "mobBrd": 9,
          "mobBlid": "6976CD055A3F85701F69EA6ABBF7147C",
          "navSerialNo": "CD0950XAD",
          "wlan0HwAddr": "50:14:79:11:db:a9",
          "NavBrd": 1
        },
        "langs": [
          {
            "cs-CZ": 0
          },
          {
            "da-DK": 1
          },
          {
            "de-DE": 2
          },
          {
            "en-GB": 3
          },
          {
            "en-US": 4
          },
          {
            "es-ES": 5
          },
          {
            "es-XL": 6
          },
          {
            "fi-FI": 7
          },
          {
            "fr-CA": 8
          },
          {
            "fr-FR": 9
          },
          {
            "he-IL": 10
          },
          {
            "it-IT": 11
          },
          {
            "ja-JP": 12
          },
          {
            "nb-NO": 13
          },
          {
            "nl-NL": 14
          },
          {
            "pl-PL": 15
          },
          {
            "pt-BR": 16
          },
          {
            "pt-PT": 17
          },
          {
            "ru-RU": 18
          },
          {
            "sv-SE": 19
          },
          {
            "zh-CN": 20
          },
          {
            "zh-HK": 21
          },
          {
            "zh-TW": 22
          }
        ],
        "language": 15,
        "lastCommand": {
          "command": "addrobotdone",
          "initiator": null,
          "time": null
        },
        "lastDisconnect": 3,
        "mapUploadAllowed": true,
        "mopReady": {
          "tankPresent": false,
          "lidClosed": true
        },
        "mssnNavStats": {
          "nMssn": 1,
          "gLmk": 116,
          "lmk": 178,
          "reLc": 5,
          "plnErr": "none",
          "mTrk": 0,
          "kdp": 0,
          "sfkdp": 0,
          "nmc": 1,
          "nmmc": 0,
          "nrmc": 1,
          "mpSt": "idle",
          "l_drift": 0,
          "h_drift": 0,
          "l_squal": 100,
          "h_squal": 0
        },
        "name": "Braava",
        "noAutoPasses": false,
        "noPP": false,
        "openOnly": false,
        "padWetness": {
          "disposable": 2,
          "reusable": 2
        },
        "pmapLearningAllowed": true,
        "pmaps": [
          {
            "1lHG_7bGROmxe5Tcg8U1qQ": "200110T203452"
          }
        ],
        "rankOverlap": 67,
        "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+2.0.5+sanmarino-pp-branch+17",
          "idSwitch": 0
        },
        "sku": "m613840",
        "softwareVer": "sanmarino+3.2.5+sanmarino-release-rt419+8",
        "subModSwVer": {
          "nav": "sanmarino-nav+3.2.5-EPMF+build-HEAD-0a29e86b42e+8",
          "mob": "3.2.5-XX+build-HEAD-0a29e86b42e+8",
          "bmp": "",
          "pwr": "0.2.7+build-HEAD-0a29e86b42e+8",
          "sft": "1.1.0+SanMarino-Builds/SanMarino-Certified-Safety/sanmarino-safety-bbbe81f2c82+13",
          "mobBtl": "4.2",
          "linux": "linux+2.1.6+sanmarino-release-rt419+8",
          "con": "2.1.6-tags/release-2.1.6@c6b6585a/build"
        },
        "svcEndpoints": {
          "svcDeplId": "v011"
        },
        "tankLvl": 0,
        "timezone": "Europe/Warsaw",
        "tls": {
          "tzbChk": 1,
          "privKType": 2,
          "lcCiphers": [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            50380848,
            50380847
          ]
        },
        "twoPass": false,
        "tz": {
          "ver": 7,
          "events": [
            {
              "dt": 1564675200,
              "off": 120
            },
            {
              "dt": 1572138001,
              "off": 60
            },
            {
              "dt": 1585443601,
              "off": 120
            }
          ]
        },
        "vacHigh": false
      }
    }
  }
}

EDIT:
Braava makes its own maps, has its own schedule settings and also has its own training cycles. So integration between roomba and brava is far from optimal. But thanks to dorita it can be better ;)

@koalazak
Copy link
Owner

hey @thorazine-12 can you test this PR with all your robots?
#103

It would be very helpful! thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants