Never Play Metal

    node-red-contrib-roomba980

    0.0.9 • Public • Published

    node-red-contrib-roomba980

    Roomba 980 support for nodered

    Credit goes to dorita980.

    You can look up either git to find information on setup and how to get the BLID and Password for you Roomba: https://github.com/koalazak/dorita980#how-to-get-your-usernameblid-and-password

    alt tag

    Commands implemented from Dorita980 ( https://github.com/koalazak/dorita98 )

    Succesfull response

    A successfull response return an object with ok property and the internal request id:

    { ok: null, id: 2 }

    Error response

    An error response return an object with err property and error number:

    { err: -32600 }

    Methods

    getTime()

    {"ok":{"d":"sat","h":13,"m":8},"id":8}

    getBbrun()

    {"ok":{"hr":103,"min":10,"sqft":251,"nStuck":8,"nScrubs":62,"nPicks":280,"nPanics":97,"nCliffsF":518,"nCliffsR":1005,"nMBStll":0,"nWStll":1,"nCBump":0},"id":9}

    getLangs()

    { ok: { total: 5, iterIndex: 2, iterName: 'en-US' }, id: 2 }

    getSys()

    { ok:
       { umi: 2,
         pid: 2,
         blid: 1,2,3,4,5,6,6,8],
         sw: 'v1.6.6',
         cfg: 0,
         boot: 3580,
         main: 4313,
         wifi: 517,
         nav: '01.09.08',
         ui: 2996,
         audio: 31,
         bat: 'lith' },
      id: 2 }

    getWirelessLastStat()

    { ok: { softap: 0, station: 1, cloud: 3, strssi: 47, diagflags: 0 }, id: 2 }

    getWeek()

    Monday disable and every day start at 10:30am

    { ok:
       { cycle: [ 'start', 'none', 'start', 'start', 'start', 'start', 'start' ],
         h: [ 10, 10, 10, 10, 10, 10, 10 ],
         m: [ 30, 30, 30, 30, 30, 30, 30 ] },
      id: 2 }

    getPreferences(autoDecodeFlags)

    { ok:
       { flags: 1024, // See Cleaning Preferences table.
         lang: 2,
         timezone: 'America/Buenos_Aires',
         name: 'myRobotName',
         cleaningPreferences: {
            carpetBoost: 'auto', // 'auto', 'performance', 'eco'
            edgeClean: true,
            cleaningPasses: '1', // '1', '2', 'auto'
            alwaysFinish: true 
          }
        },
     id: 2 }

    getMission()

    With this you can draw a map :)

    { ok:
       { flags: 0,
         cycle: 'none',
         phase: 'charge',
         pos: { theta: 179, point: {x: 102, y: -13} },
         batPct: 99,
         expireM: 0,
         rechrgM: 0,
         error: 0,
         notReady: 0,
         mssnM: 0,
         sqft: 0 },
      id: 2 }

    getWirelessStatus()

    { ok:
       { softap: 0,
         station: 1,
         strssi: 45,
         dhcp: 1,
         addr: 1744939200,
         mask: 16777215,
         gtwy: 16885952,
         dns1: 16885952,
         dns2: 0,
         bssid: [ 123, 23, 23, 123, 23, 123 ],
         sec: 4 },
      id: 2 }

    getCloudConfig()

    { ok: { cloudconfig: 'https://irobot-connect.axeda.com/ammp/' },
      id: 2 }

    start()

    {"ok":null,"id":293}

    pause()

    {"ok":null,"id":293}

    stop()

    {"ok":null,"id":293}

    resume()

    {"ok":null,"id":293}

    dock()

    {"ok":null,"id":293}

    Simplifications to set Cleaning Preferences:

    This methods use setPreferences() with the correct flags for each setting.

    setCarpetBoostAuto()

    {"ok":null,"id":293}

    setCarpetBoostPerformance()

    {"ok":null,"id":293}

    setCarpetBoostEco()

    {"ok":null,"id":293}

    setEdgeCleanOn()

    {"ok":null,"id":293}

    setEdgeCleanOff()

    {"ok":null,"id":293}

    setCleaningPassesAuto()

    {"ok":null,"id":293}

    setCleaningPassesOne()

    {"ok":null,"id":293}

    setCleaningPassesTwo()

    {"ok":null,"id":293}

    setAlwaysFinishOn()

    {"ok":null,"id":293}

    setAlwaysFinishOff()

    {"ok":null,"id":293}

    Install

    npm i node-red-contrib-roomba980

    DownloadsWeekly Downloads

    7

    Version

    0.0.9

    License

    Apache-2.0

    Last publish

    Collaborators

    • somebuddy87